โจทย์
คำถามของทีม — เรื่องงานใน Jira อีเมล เอกสาร และสื่อ — เข้ามาตลอดเวลา เป็นภาษาไทย และบ่อยครั้งมาเป็นรูป เสียง หรือคลิปมากกว่าประโยค Anna ตอบบน Discord ทั้งเสียงและข้อความ โดยมีเครื่องมือจริงอยู่เบื้องหลัง และจนถึงสิงหาคม 2026 ยังตอบลูกค้าเรื่องตั๋วจำนำ การชำระเงิน สาขา และการประเมินราคา
สิ่งที่ผมสร้าง
- stack Docker Compose 17 service deploy ขึ้น VPS ผ่าน GitLab CI พร้อม health gate และ rollback อัตโนมัติ ทุกการเรียกโมเดลวิ่งผ่าน gateway 9Router ที่รันเอง แยก combo ตามงานและสลับจาก dashboard ได้โดยไม่ต้อง deploy
- MCP tool server ที่เขียนเองให้ Anna 17 ตัว — Node.js และ Express 11 ตัว, Python 6 ตัว — ตอนนี้รันจริง 9 ตัว ให้โมเดลเรียกระบบจริงได้โดยตรง: อีเมล, เผยแพร่ไฟล์และสร้างเอกสาร, สร้างและตัดต่อภาพและวิดีโอ, ทำความเข้าใจสื่อ, YouTube, โหราศาสตร์ และจัดการเซิร์ฟเวอร์ ตัวยุคลูกค้า (API ชำระเงิน, แค็ตตาล็อกสินค้าบน SQLite FTS5, ประเมินราคาจากรูป, ค้นหาคลังความรู้) ปลดพร้อมช่องทางลูกค้า ส่วน Jira ใช้ mcp-atlassian ที่เป็นโอเพนซอร์ส
- guard plugin ฝั่ง output หนึ่งตัวครอบคลุมการรั่วไหลของข้อมูล, PII และการเปิดเผยตัวตนโมเดล บวกกับด่านตรวจสิทธิ์รายคนและ audit บน Jira, อีเมล และการเรียก tool — ผ่านการ red-team ซ้ำหลายรอบ รอบหนึ่งปิดช่องรั่ว 21 แบบและแก้การบล็อกเกินจำเป็น 14 แบบ
- model router แบบ EASY/HARD ต่อเทิร์น สร้างหลังวัดการใช้ token จริง — ใช้การเรียกจัดประเภทราคาถูกหนึ่งครั้งเลือกโมเดล และคงให้แต่ละเทิร์นอยู่บนโมเดลเดียวเพื่อไม่ให้ prompt cache แตก สร้างและวัดผลแล้ว ปิดไว้ด้วย kill switch
- เสียงภาษาไทยสองทาง: realtime ผ่าน GPT-Live ที่ตอบเร็วเท่าคุยโทรศัพท์และส่งงานที่ต้องใช้ tool ให้ agent ภายใต้งบวันละ $3 และ loop STT, TTS, VAD barge-in แบบเดิมที่ใช้เป็นตัวสำรอง — ซึ่งลดเวลารอเงียบเพื่อจบประโยคจากค่าตายตัว 1.5 วินาที เหลือ 0.9 วินาทีที่ปรับได้ ตัดเวลาคงที่ออก 0.6 วินาทีทุกเทิร์นเสียง
- service ที่รันใน stack
- 17
- MCP server ที่เขียนเองที่รันจริงใน Anna
- 9
- เทสต์ pytest ที่ผ่าน
- 2,300+
- prompt token ที่มาจาก cache ใน 2 สัปดาห์ถึง 13 ส.ค. 2026
- 81.3%
เทคโนโลยี
- Python
- Node.js
- MCP
- 9Router
- OpenAI GPT
- Gemini
- Docker Compose
- GitLab CI
- SQLite FTS5
- Discord
สร้างบนฐาน hermes-agent และวิ่งผ่าน gateway 9Router ซึ่งเป็นโอเพนซอร์สทั้งคู่ ส่วนที่ผมเขียนเองคือ MCP sidecar, guard plugin, model router, compose stack, CI, prompt และชุดประเมินผล — ตัว agent framework และ gateway ไม่ใช่ผลงานผม