🔌 Agent ที่ตอบได้อย่างเดียวไม่พอ ถ้า UI ยังรับ “สถานะระหว่าง…
🔌 Agent ที่ตอบได้อย่างเดียวไม่พอ ถ้า UI ยังรับ “สถานะระหว่างทาง” ไม่ได้
Pydantic AI v2.31.0 ออก release ใหม่พร้อมการปรับ UIEventStream และ AGUIEventStream ให้สร้างได้โดยไม่ต้องมี run_input และให้ AG-UI stream มี thread_id / run_id ของตัวเอง
ความเปลี่ยนแปลงนี้ดูเล็กใน changelog แต่สำคัญกับระบบที่ต้องแสดงข้อความ, tool call และ state update แบบ real-time เพราะ frontend ไม่ควรต้องเดา lifecycle ของ agent จากข้อความสุดท้ายเพียงอย่างเดียว
กลไกคือ backend แปลง event ภายในของ agent เป็น protocol event ที่ UI เข้าใจได้ แล้วส่งต่อผ่าน adapter; เอกสารของ Pydantic AI รองรับทั้ง AG-UI และ Vercel AI Data Stream และใช้กับ FastAPI/Starlette ได้
สิ่งที่ควรสังเกต:
• thread_id และ run_id ช่วยแยก conversation กับ execution ได้ชัดขึ้น
• stream ไม่ต้องผูกกับ input object เดิมทุกกรณี จึง compose กับ workflow ได้ง่ายขึ้น
• fallback model spans ถูกระบุไปยัง model ที่ล้มเหลวจริง ทำให้ trace อ่านง่ายกว่าเดิม
• AG-UI เหมาะกับ UI ที่ต้องการ streaming, tool events และ shared state แต่ยังต้องออกแบบ trust boundary ของ input จาก client
ความหมายเชิงปฏิบัติคือ ทีมไม่ควรเริ่มจาก “ทำให้ agent ตอบได้” แล้วค่อยต่อ UI ภายหลัง ควรออกแบบ event contract, run identity และ error tracing ตั้งแต่ต้น ไม่เช่นนั้นระบบจะดูเหมือน real-time แต่ debug ยากเมื่อมีหลาย tool หรือ fallback หลายชั้น
เหมาะกับทีม Python ที่ทำ agent dashboard, human-in-the-loop หรือ FastAPI service และต้องการต่อกับ frontend protocol ที่ชัดเจน ข้อจำกัดคือ release นี้เป็น incremental change ไม่ใช่ framework ใหม่ และยังต้องทดสอบ compatibility ระหว่างเวอร์ชันของ AG-UI, frontend และ adapter ให้ครบ
ลิงก์อยู่ในคอมเมนต์แรก — SynapTech AI จะช่วยแปลงข่าวเทคนิคให้เป็นมุมใช้งานจริงที่ทีมเอาไป review ต่อได้
คุณให้ความสำคัญกับ run_id หรือ trace ของ model ที่ fallback มากกว่ากันเวลา debug agent?
#SynapTech #AIAgents #Python #DeveloperTools #SynapTechAI
📖 อ่านบทความเต็มบน Facebook | 🔔 ติดตาม SynapTech
รับข่าว AI และบทความใหม่ก่อนผู้อื่น ส่งตรงถึง inbox
บทความแนะนำ
ถ้าชอบเนื้อหาแบบนี้
กดติดตาม SynapTech บน Facebook