วงจรชีวิตของเซสชัน

เซสชันคือหน่วยการทำงานหลักใน Whisperer: ช่วงเวลาที่ไคลเอนต์รับฟังการประชุม ถอดเสียงคำพูด และรับคำตอบจาก LLM การเข้าใจวงจรชีวิตจะช่วยให้คุณใช้การเริ่ม/หยุดชั่วคราวได้อย่างถูกต้อง ตีความสถานะต่าง ๆ ในแดชบอร์ด และแก้ไขปัญหาได้

เมื่อใดควรอ่านบทความนี้

อ่านบทความนี้หากคุณต้องการเข้าใจ:

  • สิ่งที่เกิดขึ้นกับข้อมูลของคุณในแต่ละช่วงของการประชุม
  • ทำไมบางครั้งคำตอบถึงล่าช้า และสตริปต์ถูกบันทึกเมื่อใด
  • การเชื่อมต่อระหว่างไคลเอนต์กับเซิร์ฟเวอร์ทำงานอย่างไร

ช่วงต่าง ๆ ของเซสชัน

1. เริ่ม

การกดปุ่ม "เริ่ม" (หรือปุ่มลัดบนแป้นพิมพ์) จะทำให้ไคลเอนต์เข้าสู่โหมดทำงาน:

  1. ไคลเอนต์เปิดการเชื่อมต่อไปยังเซิร์ฟเวอร์และส่งตัวระบุอุปกรณ์พร้อมโทเคน
  2. เซิร์ฟเวอร์ตรวจสอบการสมัครสมาชิกและโควตานาที หากผ่านการตรวจสอบ เซิร์ฟเวอร์จะยืนยันการเริ่มเซสชันและคืนค่าตัวระบุเซสชัน
  3. ไคลเอนต์เปิดใช้งานการรับเสียงและเริ่มบันทึก

2. การบันทึก (สตรีมมิ่ง)

เสียงจะถูกส่งเป็นชิ้นสั้น ๆ ทุก ~0.8 วินาที แต่ละชิ้นจะถูกระบุผู้พูด: ผู้ใช้หรือคู่สนทนา

เซิร์ฟเวอร์จะบัฟเฟอร์ชิ้นเสียงและส่งไปประมวลผลการรู้จำเสียง สตริปต์จะถูกส่งกลับไปยังไคลเอนต์แบบเรียลไทม์และแสดงใน LiveTranscriptStrip

3. คำขอและคำตอบ

เมื่อผู้ใช้กด "ถาม" (หรือปุ่มลัดบนแป้นพิมพ์) ไคลเอนต์จะส่งเฟรม ask พร้อมบริบทของสตริปต์ปัจจุบัน

เซิร์ฟเวอร์จะประกอบ system prompt (role prompt → บริบทผู้ใช้ → RAG จากฐานความรู้) แล้วสอบถามไปยัง LLM คำตอบจะสตรีมเข้ามา: ข้อความจะปรากฏขณะที่ถูกสร้างขึ้นและแสดงทันทีใน AnswerArea พร้อมรองรับ Markdown และการแบ่งหน้า (หากมีหลายคำตอบ)

4. หยุดชั่วคราว

การกด "หยุดชั่วคราว" จะหยุดการรับเสียง แต่การเชื่อมต่อ WebSocket ยังคงเปิดอยู่ ตัวจับเวลาเซสชันจะหยุดชั่วคราว กลับมาทำงานต่อโดยกด "ดำเนินต่อ"

5. สิ้นสุด

การกด "หยุด" หรือปิดไคลเอนต์:

  1. ไคลเอนต์ส่งเฟรม session.end
  2. เซิร์ฟเวอร์เขียนสตริปต์ที่บัฟเฟอร์ไว้และรายการคำตอบที่เสร็จสมบูรณ์ลงในฐานข้อมูล
  3. WebSocket ปิด
  4. ในแดชบอร์ดบนเว็บ เซสชันจะปรากฏในส่วน ประวัติ พร้อมสตริปต์เต็มและการวิเคราะห์

📸 [ภาพหน้าจอ: แผง Whisperer ในโหมดบันทึก — เห็น LiveTranscriptStrip และปุ่มควบคุม]

การจัดเก็บข้อมูล

โดยค่าเริ่มต้น สตริปต์และคำตอบจาก LLM จะถูกบันทึกลงในฐานข้อมูลและสามารถเข้าถึงได้ในแดชบอร์ด หากเปิดใช้ โหมดไม่บันทึกล็อก (no-logs) ข้อมูลจะถูกลบหลังจากเซสชันสิ้นสุด — แต่นาทีที่ใช้ไปจะยังคงถูกนับ

ข้อผิดพลาดที่พบบ่อย

ข้อผิดพลาด สาเหตุ วิธีแก้
เซสชันไม่เริ่ม อีเมลยังไม่ได้รับการยืนยันหรือไม่มีการสมัครสมาชิกที่ใช้งานอยู่ ตรวจสอบสถานะบัญชีและโควตา
"ไม่ได้ยินเสียงอีกฝ่าย" ยังไม่ได้ให้สิทธิ์บันทึกหน้าจอ (macOS) หรือไม่สามารถรับเสียงระบบได้ (Windows) สิทธิ์ macOS / Windows
สตริปต์ไม่ปรากฏ การเชื่อมต่ออินเทอร์เน็ตไม่ดีหรือ WebSocket หลุด ตรวจสอบเครือข่ายของคุณ; เริ่มเซสชันใหม่
คำตอบจาก LLM ใช้เวลานานเกินไป ผู้ให้บริการ AI ทำงานหนักเกินไปหรือเลือกใช้โมเดลที่ช้า เปลี่ยนโมเดลในการตั้งค่า

แนวทางปฏิบัติที่ดีที่สุด

  • หยุดเซสชันอย่างชัดเจน ด้วยปุ่ม "หยุด" — เพื่อรับประกันว่าข้อมูลจะถูกเขียนลงในประวัติ
  • หยุดชั่วคราว ในช่วงพักยาว ๆ ระหว่างการประชุม — ตัวจับเวลาจะหยุดและไม่เสียนาทีไปเปล่า ๆ
  • ใช้โหมดไม่บันทึกล็อก (no-logs) สำหรับการประชุมที่เป็นความลับซึ่งไม่ต้องการให้จัดเก็บสตริปต์

บทความที่เกี่ยวข้อง