อธิบาย A2UI: โปรโตคอล Agent-to-UI ทำอะไร (และไม่) ทำอะไร
A2UI เป็นโปรโตคอล JSON ที่ประกาศซึ่งช่วยให้เอเจนต์ AI อธิบายอินเทอร์เฟซสำหรับไคลเอ็นต์ในการแสดงผล มันทำงานอย่างไร ตัวเรนเดอร์ตัวไหนที่มีอยู่ และตัวเรนเดอร์ตัวไหนที่ไม่ทำ
หลัก Takeaway
A2UI (Agent to UI) เป็นโปรโตคอล JSON แบบเปิดและประกาศที่สร้างโดย Google เอเจนต์ AI จะส่งคำอธิบายของอินเทอร์เฟซ และไคลเอ็นต์จะเรนเดอร์อินเทอร์เฟซด้วยส่วนประกอบดั้งเดิมของตัวเอง แทนที่จะรันโค้ดจากเอเจนต์ เป็นวิธีการย้ายโครงสร้าง UI และข้อมูลข้ามขอบเขตความน่าเชื่อถือ ไม่ใช่ระบบแอนิเมชัน ไลบรารีส่วนประกอบ หรือตัวเรนเดอร์ที่เสร็จสมบูรณ์ ExodeUI ไม่ใช่ตัวเรนเดอร์ A2UI และไม่มีส่วนเกี่ยวข้องกับ Google
A2UI คืออะไร?
A2UI เป็นโปรโตคอลสำหรับอินเทอร์เฟซที่ขับเคลื่อนโดยเอเจนต์ แทนที่จะส่งคืนกำแพงข้อความหรือดำเนินการโค้ดที่สร้างขึ้น เอเจนต์ AI จะส่งสตรีมข้อความ JSON ที่อธิบาย UI: พื้นผิวใดที่จะสร้าง องค์ประกอบใดในนั้น และข้อมูลใดที่เติมลงในนั้น ลูกค้าได้รับข้อความเหล่านั้นและแสดงผลลัพธ์ด้วยส่วนประกอบที่เชื่อถืออยู่แล้ว A2UI สร้างขึ้นโดย Google และได้รับอนุญาตจาก Apache 2.0 โดยได้รับการสนับสนุนจาก CopilotKit และชุมชนโอเพ่นซอร์ส ณ เดือนตุลาคม 2026 ข้อมูลจำเพาะการผลิตปัจจุบันคือ v0.9.1 และ v1.0 เป็นตัวเลือกการเปิดตัว
ปัญหา A2UI กำลังพยายามแก้ไข
เจ้าหน้าที่เก่งในการสร้างคำตอบที่เป็นประโยชน์ แต่ไม่สามารถส่งคำตอบเป็นอินเทอร์เฟซได้ การตอบกลับด้วยข้อความไม่สามารถแสดงตารางเปรียบเทียบ แบบฟอร์มคำสั่งซื้อ หรือแดชบอร์ดได้ การสร้าง HTML หรือ JavaScript ที่กำหนดเองจะช่วยแก้ปัญหาการนำเสนอและสร้างระบบรักษาความปลอดภัย เนื่องจากขณะนี้ไคลเอ็นต์กำลังเรียกใช้โค้ดที่ยังไม่ได้เขียน A2UI ใช้เส้นทางที่สาม: เอเจนต์อธิบาย UI ในรูปแบบที่จำกัด และไคลเอ็นต์ตัดสินใจว่าจะเรนเดอร์อย่างไร เอเจนต์สามารถใช้ได้เฉพาะส่วนประกอบที่ไคลเอ็นต์อนุมัติเท่านั้น และเอาต์พุตจะเป็นข้อมูลแทนที่จะเป็นโค้ดที่ปฏิบัติการได้
วิธีการสร้างพื้นผิว A2UI
โปรโตคอลใช้ประเภทข้อความชุดเล็กๆ สคีมาที่แน่นอนจะเปลี่ยนไประหว่างเวอร์ชันต่างๆ ดังนั้นโปรดตรวจสอบข้อกำหนดก่อนใช้งาน แต่รูปร่างจะคงที่
- createSurface: บอกให้ตัวเรนเดอร์สร้างพื้นผิวใหม่ ซึ่งเป็นขอบเขตของอินเทอร์เฟซที่เอเจนต์สามารถอัปเดตได้
- updateComponents: เพิ่มหรือเปลี่ยนแปลงคำจำกัดความของส่วนประกอบบนพื้นผิวนั้น
- updateDataModel: เปลี่ยนข้อมูลที่ส่วนประกอบแสดง โดยไม่ต้องส่งโครงสร้างอีกครั้ง
- DeleteSurface: ลบพื้นผิวเมื่อไม่ต้องการใช้อีกต่อไป
การเรนเดอร์และการขนส่ง
A2UI ไม่เชื่อเรื่องการขนส่ง ข้อมูลจำเพาะจะอธิบายข้อความ ไม่ใช่วิธีการเดินทาง โปรเจ็กต์แสดงรายการการใช้งานตัวเรนเดอร์สำหรับ Angular, Flutter, Lit, React และ Markdown และการผูกการขนส่งสำหรับ AG-UI, A2A และ MCP โดยที่ WebSockets, SSE และ REST ก็ใช้งานได้เช่นกัน ความยืดหยุ่นนั้นคือประเด็นสำคัญ: เว็บไคลเอ็นต์ แอปมือถือ หรือแอปพลิเคชันเดสก์ท็อปสามารถแสดงผลการตอบสนองของตัวแทนเดียวกันได้ โดยแต่ละรายการใช้ระบบการออกแบบของตัวเอง
สิ่งที่ A2UI ไม่ได้ทำ
A2UI นั้นง่ายต่อการอ่านมากเกินไป ไม่มีไลบรารีส่วนประกอบที่คุณสามารถใส่ลงในแอปได้ และจะไม่แสดงผลใดๆ ด้วยตัวเอง คุณต้องมีตัวเรนเดอร์และแค็ตตาล็อกส่วนประกอบที่ไคลเอ็นต์ควบคุม ไม่ได้ตัดสินว่า UI จะเคลื่อนไหวอย่างไร ไม่ได้แทนที่ MCP ซึ่งเปิดเผยเครื่องมือและข้อมูลให้กับโมเดล หรือ AG-UI ซึ่งดำเนินเหตุการณ์การโต้ตอบระหว่างตัวแทนและส่วนหน้า และไม่ได้ขจัดความจำเป็นในการตรวจสอบทางวิศวกรรม: อินเทอร์เฟซที่สร้างขึ้นยังคงต้องจัดการกับการโหลด สถานะว่างเปล่าและข้อผิดพลาด การอนุญาต และการเข้าถึง
A2UI กับ AG-UI กับ MCP
ทั้งสามข้อนี้มักถูกกล่าวถึงร่วมกันเนื่องจากสามารถแก้ปัญหาเดียวกันในระดับต่างๆ ได้ ชวเลขที่มีประโยชน์: A2UI อธิบายอินเทอร์เฟซ AG-UI ดำเนินการโต้ตอบ และ MCP มอบเครื่องมือและข้อมูลของตัวแทน เอกสารของ A2UI อธิบาย AG-UI ว่าเป็นการเชื่อมโยงการขนส่งสำหรับ A2UI และ A2UI ยังสามารถเดินทางผ่าน MCP ได้เช่นกัน เป็นสิ่งเสริม ไม่ใช่มาตรฐานการแข่งขัน หากคุณกำลังเลือกการผสานรวม ให้เริ่มจากสิ่งที่ไคลเอ็นต์ของคุณสามารถแสดงผลได้ และการส่งข้อมูลใดที่ไคลเอ็นต์รองรับอยู่แล้ว ไม่ใช่จากโปรโตคอลที่มีแรงผลักดันมากที่สุด
เมื่อภาพเคลื่อนไหวและการโต้ตอบเหมาะสม
A2UI อธิบายโครงสร้างและข้อมูล การเคลื่อนไหวเป็นเรื่องที่ลูกค้ากังวล: ตัวเรนเดอร์จะตัดสินใจว่าพื้นผิวจะปรากฏขึ้นทันที จางลง หรือเปลี่ยนจากสถานะก่อนหน้า นั่นเป็นข่าวดีสำหรับทีมผลิตภัณฑ์ เนื่องจากระบบจะเก็บระบบแอนิเมชั่นไว้ในไคลเอนต์ โดยสามารถเคารพระบบการออกแบบและการตั้งค่าการเข้าถึงได้ นอกจากนี้ยังหมายความว่าการใช้งาน A2UI จะไม่เคลื่อนไหวโดยอัตโนมัติ หากอินเทอร์เฟซที่สร้างขึ้นจำเป็นต้องกดปุ่ม การเปลี่ยนสถานะ หรือปฏิกิริยามาสคอต ลูกค้าจะต้องแสดงพฤติกรรมดังกล่าว ExodeUI สามารถเล่นการเคลื่อนไหวแบบโต้ตอบในไคลเอนต์ได้ และมีเซิร์ฟเวอร์ MCP สำหรับเครื่องมือเข้ารหัส AI แต่ไม่ใช่ตัวเรนเดอร์ A2UI และไม่ควรอธิบายว่าเป็นเซิร์ฟเวอร์เดียว
ตัวอย่างการใช้งานการผลิต
// Simplified shape of an A2UI message stream (schema differs by version).
{ "createSurface": { "surfaceId": "cart" } }
{ "updateComponents": { "surfaceId": "cart", "components": [ /* ... */ ] } }
{ "updateDataModel": { "surfaceId": "cart", "data": { /* ... */ } } }
{ "deleteSurface": { "surfaceId": "cart" } }คีย์ Principles ที่ต้องจำ
- A2UI เป็นโปรโตคอล JSON สำหรับอินเทอร์เฟซที่อธิบายโดยเอเจนต์ สร้างโดย Google และได้รับอนุญาตภายใต้ Apache 2.0
- ไคลเอนต์เรนเดอร์ด้วยส่วนประกอบของตัวเอง ตัวแทนไม่ได้รันโค้ด UI โดยพลการ
- โดยจะกำหนดข้อความและปล่อยให้ตัวเรนเดอร์ การขนส่ง และการเคลื่อนไหวไปยังไคลเอนต์
- ไม่ใช่ระบบแอนิเมชันหรือไลบรารีส่วนประกอบแบบดรอปอิน
- ExodeUI ไม่ใช่ตัวเรนเดอร์ A2UI และไม่มีส่วนเกี่ยวข้องกับ Google