เมื่อดูเครื่องมืออีเมล AI ที่ออกมาในช่วงนี้ จะเห็นว่ามีจุดร่วมอย่างหนึ่ง
แทนที่จะลดปัญหา กลับเพิ่มสิ่งที่แสดงบนหน้าจอ มีทั้งการ์ดคำแนะนำติดมากับทุกอีเมล หรือป้ายอย่าง “AI แนะนำให้ตอบกลับ” และร่างที่ยังไม่ได้ตรวจทานก็สะสมเพิ่มขึ้นเรื่อย ๆ
แล้วกล่องจดหมายเงียบลงไหม? กลับกัน มันยิ่งวุ่นวายกว่าเดิม
Klorn เลยเริ่มต้นจากอีกมุมหนึ่ง แทนที่จะ “เพิ่ม” อะไรบางอย่างลงในอีเมล มันถูกสร้างขึ้นด้วยแนวทางที่เหลือไว้เพียงอย่างเดียวแล้วตัดอย่างอื่นทิ้งทั้งหมด
อีเมลแต่ละฉบับจะจบลงด้วยผลลัพธ์เพียงหนึ่งเดียวเท่านั้น และจะไม่แสดงข้อมูลอื่นนอกเหนือจากนั้น
วิธีการจัดหมวดหมู่จบอยู่ที่ระบบ 4 tier
- SILENT — เก็บไว้เท่านั้นและไม่แสดงบนหน้าจอเลย (การตลาด, ใบเสร็จ ฯลฯ)
- QUEUE — สะสมอยู่ในคิว แต่ไม่มีการแจ้งเตือน
- PUSH — อีเมลที่ต้องดูตอนนี้ทันที (การแจ้งเตือน / Telegram / โทรศัพท์แบบเลือกได้)
- AUTO — ตอนนี้มีแค่การจัดหมวดหมู่ (จงใจปิดการทำงานไว้)
จุดสำคัญคือ อีเมลทุกฉบับจะต้องถูกจัดให้อยู่ในหนึ่งในนี้เท่านั้น จะไม่ติดสถานะหลายแบบแบบกำกวม
ใน Klorn นั้น LLM ไม่ได้เป็นคน “ตัดสินใจ” แต่จะดูอีเมลแล้วดึงออกมาเป็นตัวเลข 4 อย่างเท่านั้น:
- มั่นใจแค่ไหน
- เชื่อถือผู้ส่งได้มากแค่ไหน
- เป็นสิ่งที่ย้อนกลับได้หรือไม่
- เร่งด่วนแค่ไหน
จากนั้น tier สุดท้ายจะถูกคำนวณจากตัวเลขเหล่านี้ด้วยกฎตายตัว เหตุผลก็ง่ายมาก
เพื่อให้ผลลัพธ์ไม่สั่นคลอนแม้โมเดลจะเปลี่ยนไป ผมคิดว่านี่คือสิ่งที่สำคัญที่สุด
อีกอย่างคือ ต่อให้ LLM ล่มหรือเจอ rate limit ก็ยังมี fallback แบบใช้คีย์เวิร์ดที่สร้างค่า 4 อย่างเดิมได้ เพื่อไม่ให้อีเมลด่วนหลุดไป
ผลการจัดหมวดหมู่ไม่สามารถเปลี่ยนทีหลังได้
อินพุตที่ใช้ตอนจัดหมวดหมู่ (from, subject, snippet เป็นต้น) จะถูกแฮชและเก็บไว้ตามเดิม แล้วเมื่อต้องอ่านอีกครั้งก็จะแฮชแบบเดียวกันเพื่อนำมาเทียบกัน ถ้าค่าต่างกันก็จะล้มเหลวทันที
เมื่อทำแบบนี้ ต่อให้ภายหลังมีอะไรมาเติมหรือแก้ข้อมูล ก็จะไม่เกิดกรณีที่คำตัดสินเก่าถูก “เปลี่ยนแบบเงียบ ๆ”
แอ็กชันที่อันตรายถูกทำให้ใช้งานยากโดยตั้งใจ
จริง ๆ แล้วถ้าคิดดู การกระทำที่เสี่ยงในอีเมลมีอยู่ไม่กี่อย่าง:
- ส่งอีเมล
- ลบถาวร
- ส่งต่อออกไปภายนอก
เพราะพลาดครั้งเดียวก็จบ
ทั้งหมดจึงถูกวางไว้หลังขั้นตอนตรวจสอบอีกชั้น ดังนั้นถ้าไม่กดด้วยตัวเองก็จะไม่เกิดการกระทำจริง
- ตอนอนุมัติจะตรึง payload ไว้
- ตอนรันจะตรวจสอบซ้ำอีกครั้ง
- ถ้าต่างกันแม้เพียงเล็กน้อยก็จะล้มเหลวทันที
แม้แต่การรันอัตโนมัติก็ถูกปิดกั้นไว้เป็นค่าเริ่มต้น เลือกฝั่งที่ “ทำไม่ได้” ไว้ก่อน
มันถูกออกแบบโดยอิงการ self-host เป็นหลัก เป็นโอเพนซอร์สภายใต้ AGPLv3 และถ้าเป็น OpenAI-compatible API ก็เชื่อมต่อได้ทั้งหมด
- ใช้ Ollama / LM Studio / vLLM ได้
- จัดให้ข้อมูลอีเมลไม่ต้องถูกส่งออกไปภายนอกได้
- คีย์คลาวด์เป็นตัวเลือกเท่านั้น
ส่วนการแจ้งเตือนก็ไม่จำเป็นต้องใช้ web push เสมอไป รับผ่าน Telegram อาจจะง่ายกว่า
สถานะปัจจุบันยังอยู่ในช่วงเริ่มต้น แต่ก็ไม่ได้หมายความว่าประสิทธิภาพแย่
เพราะว่า
- จากอีเมลส่วนตัว 50 ฉบับ จัดได้ถูกประมาณ 80% (ทดสอบครั้งเดียว ตามเกณฑ์ของผม)
- ผู้ใช้จริงมีแค่ผมคนเดียว
- การทำงานของ AUTO ถูกปิดไว้โดยตั้งใจ
- UI ยังอยู่ระหว่างจัดระเบียบ
แทนที่จะพูดเกินจริง ผมเขียนตามสภาพปัจจุบันตรง ๆ
ตอนนี้วิธีลองใช้ยังเป็นเดโมอยู่ จึงใช้ Google OAuth test mode (จำกัด 100 คน) ถ้าต้องการใช้งาน ส่งอีเมลมาได้เลย เดี๋ยวผมเพิ่มให้ทันที
วิธีที่เร็วที่สุดคือ self-host ไปเลย
- ใช้ OAuth ส่วนตัวได้
- รันได้ทันทีโดยไม่ต้องมีการยืนยันตัวตนของ Google
2 ความคิดเห็น
ต้องโพสต์ด้วย
showครับแก้ไขไม่ได้ ดังนั้นครั้งหน้าจะโพสต์เป็น
showครับ..