แผงสถานะเอเจนต์สีเข้มมีเส้นเวลาต่อเนื่อง และการ์ดอำพันหนึ่งใบกำลังรอการอนุมัติ

Persistent agent ต้องมี UX มากกว่า chat history: บทเรียนจากการออกแบบ Grok Bot

พี่โชว์Engineering

chat history ตอบคำถามว่า “คุยอะไรกัน” แต่ persistent agent ต้องตอบเพิ่มว่า “ใครกำลังรับผิดชอบอะไร อยู่สถานะไหน และต้องการการตัดสินใจจากเราหรือไม่” บทความ Designing Grok Bot for a world of persistent agents ของ xAI อธิบายการเปลี่ยนหน่วยหลักจากบทสนทนาเป็น agent ที่มีตัวตน ความจำ runtime และเครื่องมือของตัวเอง

xAI สรุป primitive ที่ผู้ใช้ต้องเข้าใจไว้ห้าตัว: Bots, Chats, Prompts, Tools และ Artifacts แนวคิดนี้น่าสนใจเพราะซ่อนศัพท์ระบบที่ไม่จำเป็นจนกว่าจะมีเหตุให้ผู้ใช้ต้องรู้ ลดภาระการจำว่า session, context, connector และ automation ต่างกันอย่างไร

Presence ไม่ใช่แค่ animation

agent ที่อยู่ต่อเนื่องต้องสื่อสถานะอย่างน้อย idle, thinking, working, waiting, blocked และ done แต่สีหรือ motion อย่างเดียวไม่พอ สถานะควรมีหลักฐานสั้นๆ เช่น อ่านไฟล์ไหน รันเทสต์อะไร เปลี่ยน artifact ใด และกำลังรอ approval เรื่องอะไร มิฉะนั้น “working” อาจแปลว่าเดินหน้าอยู่หรือค้างก็ได้

หลักคิดที่ควรยืมไปใช้คือ progressive disclosure: roster ให้ภาพรวม, task view ให้ timeline, และ audit view ให้ tool input/output ที่จำเป็น ไม่ต้องเททุก token ลงหน้าหลัก แต่ต้องย้อนตรวจเส้นทางการกระทำได้

จุดที่ทีมต้องเติมเอง

บทความเป็น design rationale ของผู้สร้างผลิตภัณฑ์ ไม่ใช่การประเมินอิสระ ทีมที่สร้าง agent ควรกำหนด boundary เพิ่ม: งานใดเริ่มได้เอง งานใดต้องขออนุมัติ, approval หมดอายุเมื่อไร, artifact ไหนเป็น draft และการ revoke tool มีผลกับงานที่กำลังรันอย่างไร

Persistent agent ที่ดีจึงไม่ใช่ chat ที่รันนานขึ้น แต่เป็นระบบงานที่มี ownership, observable state, durable output และ interrupt ที่เชื่อถือได้

Recap

  • ออกแบบรอบ agent/task ไม่ใช่รอบ chat อย่างเดียว
  • แยก waiting ออกจาก blocked และบอกสิ่งที่รอ
  • ให้ทุกสถานะย้อนถึงหลักฐานการทำงานได้
  • กำหนด approval, expiry, revoke และ interrupt เป็น product contract