จัดกล่องอีเมลแบบ 3 ระดับ | Gemini Spark ฉบับเข้าใจง่าย | Vibe Coding Thailand$ cat 11-inbox.md บทที่ 11จัดกล่องอีเมลแบบ 3 ระดับ
คำสั่งที่ฟังดูธรรมดาอย่าง “ช่วยจัดกล่องอีเมลให้สะอาดเรียบร้อยหน่อย” อาจแฝงการกระทำไว้หลากหลายระดับ ตั้งแต่การสรุปเนื้อหา, การติด Label, การกด Archive ย้ายอีเมลออกจากกล่องขาเข้า ไปจนถึงการคลิกลิงก์เพื่อกดยกเลิกการรับข่าวสาร (Unsubscribe) ซึ่ง Google เองก็ได้ยกตัวอย่างการสรุปหรือ Archive จดหมายข่าว ตลอดจนการ Unsubscribe ว่าเป็นงานที่ Spark สามารถทำได้จริง แต่แทนที่จะมอบสิทธิ์ทั้งหมดให้ AI จัดการในคราวเดียว เราควร แบ่งระดับการจัดการออกเป็น 3 ขั้น เพื่อความปลอดภัยสูงสุด
ในบทนี้เราจะใช้รายการอีเมลสมมุติร่วมกับการค้นหาบน Gmail ด้วยคีย์เวิร์ดที่ไม่มีอยู่จริง โดยเราจะไม่สร้างอีเมล ติด Label หรือ Archive ข้อมูลจริงในบัญชีเพียงเพื่อจะถ่ายภาพเปรียบเทียบ Before/After แต่เป้าหมายสำคัญคือการสร้าง “แผนผังการจัดการที่ตรวจสอบได้” (Action Plan) ขึ้นมาก่อน เพื่อให้เราเป็นผู้เลือกอนุมัติการกระทำในแต่ละระดับผ่าน Task แยกต่างหาก
3 ลำดับขั้นการจัดการ Inbox
ระดับการทำงานที่สูงขึ้นไม่ได้แปลว่าดีกว่าเสมอไป · แต่หมายถึงผลกระทบต่อข้อมูลที่มีมากขึ้น ซึ่งจำเป็นต้องมีหลักฐานตรวจสอบและจุดหยุดความปลอดภัยที่รัดกุมยิ่งขึ้น
ระดับที่ 1 · อ่านและคงสภาพเดิม
ค้นหา สรุป จัดกลุ่ม และประเมินความสำคัญโดยไม่มีการเปลี่ยนแปลงข้อมูลใดๆ ใน Gmail เหมาะสำหรับรอบสำรวจแรกและอีเมลที่ยังต้องรอการตัดสินใจ
ระดับที่ 2 · เสนอการติด Label
Spark มีความสามารถในการติด Label แต่ในรอบแรกควรให้ระบบ “เสนอรายชื่อ Label พร้อมอีเมลที่ตรงเกณฑ์” ขึ้นมาก่อน โดยยังไม่สร้างหรือติด Label จริง เมื่อเราตรวจสอบความถูกต้องแล้ว จึงค่อยแยกสั่ง Task ใหม่เพื่อติด Label เป็นรายกลุ่ม
ระดับที่ 3 · เสนอชื่อเพื่อ Archive หรือ Unsubscribe
คำว่า “เสนอชื่อ (Candidate)” มีความสำคัญมาก เพราะการวิเคราะห์ของ AI ยังไม่ใช่การอนุมัติ การ Archive จะเปลี่ยนตำแหน่งของอีเมลใน Gmail ส่วนการ Unsubscribe อาจต้องเปิดเว็บภายนอกและส่งข้อมูลไปยังผู้ให้บริการอื่น จึงต้องมีจุดหยุด (Stop condition) ให้คนตรวจสอบผู้ส่ง เว็บไซต์ปลายทาง และผลกระทบก่อนเสมอ
ทดสอบแบบ Dry-run จากอีเมลสมมุติ
ข้อมูลตัวอย่างทั้ง 5 ฉบับนี้ ถูกออกแบบให้มีทั้งอีเมลสำหรับอ้างอิง งานที่ต้องตอบกลับ จดหมายข่าวทั่วไป และอีเมลโปรโมชัน:
ในการรันรอบแรก ระบบค้นหา Gmail และตอบว่าไม่พบตามขอบเขตที่สั่งได้อย่างถูกต้อง แต่การสร้างตารางแบบ 7 คอลัมน์ใช้เวลานานและค้างอยู่โดยไม่แสดงผลออกมา หลังจากรอจนมั่นใจว่าไม่มีความคืบหน้า เราจึงกดปุ่ม Stop แล้วส่งคำสั่งใหม่เพื่อปรับลดผลลัพธ์ให้เหลือ 5 คอลัมน์ที่กระชับขึ้น:
ผลลัพธ์หลังการปรับลดขอบเขต
ด้านบนของหน้าต่างผลลัพธ์จะแสดงข้อความแจ้งเตือน You stopped this task ตามด้วยคำสั่งใหม่ใน thread เดิม ตารางจะเริ่มต้นจาก M01 ในระดับที่ 1 ตามด้วย M02–M03 ในระดับที่ 2 พร้อมแสดงเฉพาะชื่อ Label ที่นำเสนอ:
ไม่มี Label ใดถูกสร้างหรือติดจริงในระบบ · ทุกแถวมีคำว่า “เสนอ:” กำกับไว้ข้างหน้าการกระทำเสมอส่วนด้านล่างจะแสดง M04–M05 ในฐานะผู้เสนอชื่อระดับที่ 3 พร้อมระบุชัดเจนว่า “หยุดรอคน” และปิดท้ายด้วยรายงานว่าการค้นหาใน Gmail ไม่พบข้อมูลสมมุติ:
ผลการรันจริงจากรายการตัวอย่างสมมุติ · พับแถบรายการด้านข้างเก็บ และไม่มีข้อมูลอีเมลจริงปรากฏในภาพแผนผังการจัดการที่ได้จากผลลัพธ์:
| ID | ระดับที่เสนอ | Label ที่เสนอ | การกระทำที่ยังไม่เกิดขึ้น | จุดที่คนต้องตัดสินใจ |
|---|
| M01 | 1 · อ่านและคงไว้ | ไม่มี | อ่านและคงสภาพเดิม | ตรวจสอบว่าต้องปิดรับสมัครแล้วหรือยัง |
| M02 | 2 · เสนอ Label | SPARK/Venue | เตรียมติด Label | กำหนดเวลาขนของและตอบกลับสถานที่ |
| M03 | 2 · เสนอ Label | SPARK/Inquiry | เตรียมติด Label | เตรียมข้อมูลคำตอบเรื่องอาหาร |
| M04 | 3 · เสนอ Archive/Unsubscribe | Newsletter | หยุดรอก่อน Archive หรือ Unsubscribe | พิจารณาว่ายังต้องการรับข่าวสารนี้อยู่หรือไม่ |
| M05 | 3 · เสนอ Archive | Promotions | หยุดรอก่อน Archive | ตรวจสอบว่าโปรโมชันนี้เกี่ยวกับงานจริงหรือไม่ |
เปลี่ยนจากแผนผังสู่การลงมือทำจริงทีละระดับ
อย่าอนุมัติคำสั่งทั้งตารางพร้อมกันในคราวเดียว แต่ให้แยกสั่ง Task เป็นรายระดับ:
Task ระดับที่ 2 · การติด Label
หลังจากงานขึ้นสถานะ Complete ให้เปิดเข้าไปตรวจเช็กใน Gmail โดยตรง ไม่ดูเพียงแค่ข้อความรายงานของ AI
Task ระดับที่ 3 · การ Archive
แม้การ Archive จะไม่ใช่การ Delete แต่มันทำให้ตำแหน่งของอีเมลใน Inbox เปลี่ยนไป ซึ่งอาจทำให้เราหาอีเมลไม่เจอ จึงต้องตรวจสอบจำนวนฉบับและ Thread ให้แน่ใจก่อนกดยืนยัน
Task ระดับที่ 3 · การ Unsubscribe
ลิงก์ Unsubscribe มักจะนำทางเราออกจาก Gmail ไปยังเว็บไซต์ภายนอก เราจึงต้องตรวจสอบชื่อโดเมนและรับช่วง (Take over) มาทำต่อด้วยตัวเองก่อนที่จะมีการส่งข้อมูลออกไป
แยกแยะการกระทำแต่ละชนิด ไม่นำมารวมกันในคำสั่งเดียว
คำสั่งประเภท “จัดกล่องข้อความให้สะอาด” มักจะแฝงการกระทำหลายแบบเข้าด้วยกัน:
- การติด Label: ช่วยจัดหมวดหมู่ แต่ไม่ได้ย้ายอีเมลออกจากกล่อง Inbox
- การ Archive: ย้ายอีเมลออกจากกล่อง Inbox ไปยัง All Mail แต่ยังคงค้นหาเจอได้เสมอ
- การ Unsubscribe: เปลี่ยนแปลงสิทธิ์การรับอีเมลในอนาคต และมักต้องเชื่อมต่อไปยังเว็บไซต์ภายนอก
- การ Delete: ลบอีเมลทิ้งอย่างถาวร มีความเสี่ยงสูงสุดและไม่ควรให้ AI ทำงานอัตโนมัติ
การแยก Task ตามระดับการกระทำ จะช่วยให้เราตรวจสอบย้อนหลังได้ชัดเจนว่าใครเป็นผู้อนุมัติ และป้องกันไม่ให้เกิดความเสียหายกับอีเมลสำคัญ
จุดที่ต้องตรวจก่อนปล่อยต่อ
- เริ่มต้นทดสอบจากรายการข้อมูลสมมุติ หรือตัวกรองที่รู้ผลลัพธ์ล่วงหน้าก่อนเสมอ
- ตารางแผนงาน Dry-run ต้องใช้คำว่า “เสนอ:” นำหน้าการกระทำทุกข้อ ห้ามใช้คำเสมือนว่าดำเนินการไปแล้ว
- การติด Label ต้องระบุชื่อ Label ที่แน่นอน และรายชื่ออีเมลที่ตรงตัว
- การ Archive และการ Unsubscribe ต้องแยกสั่งคนละ Task กันเสมอ
- รายการในระดับที่ 3 (เสนอชื่อ Archive / Unsubscribe) ต้องมีจุดหยุดรอการตัดสินใจจากคน
- คำสั่ง Unsubscribe ต้องแสดงชื่อโดเมนและข้อมูลที่จะส่งออกให้ตรวจก่อนยืนยัน
- work panel ไม่มีแอปหรือเว็บไซต์ภายนอกที่อยู่นอกเหนือคำสั่ง
- หลังสั่งแก้ไขใน Gmail ให้เปิดตรวจจำนวน Label และตำแหน่งของอีเมลในแอป Gmail จริง
- ห้ามตั้ง Schedule ให้ทำการ Archive หรือ Unsubscribe แบบอัตโนมัติจนกว่าจะผ่านการทดสอบมาแล้วหลายรอบ
ลองเลย
นำพรอมต์ Dry-run ในบทนี้ไปปรับใช้ โดยเปลี่ยนรายการ M01–M05 ให้เป็นข้อมูลจำลองของงานคุณ จากนั้นสั่งรันเพื่อดูตารางข้อเสนอ ตรวจเช็กว่าทุกแถวขึ้นต้นด้วยคำว่า “เสนอ:” และรายการระดับที่ 3 มีการหยุดรอคนจริง (ห้ามนำไปใช้กับอีเมลจริงจนกว่าจะตรวจสอบตัวกรองด้วยตัวเองจนมั่นใจ)
เมื่อเราสามารถเปลี่ยนกองอีเมลให้กลายเป็นแผนผังการตัดสินใจที่ปลอดภัยได้แล้ว ในสูตรถัดไปเราจะนำบันทึกการประชุมสมมุติมาแปลงเป็นรายการงานที่ต้องทำต่อ ร่างนัดหมายใน Calendar และร่างอีเมลติดตามงาน โดยยังคงวางจุดหยุดความปลอดภัยก่อนส่งหรือแก้ไขข้อมูลจริงทุกจุด
อัปเดตล่าสุด: 21 ส.ค. 2569
ความคิดเห็น
ยังไม่มีความคิดเห็น
เป็นคนแรกได้เลย