AI Agent 交互协议持续演进。
在模型上下文协议(MCP)为Agent提供了标准化的工具调用机制,以及Google Agent2Agent(A2A)协议开始探索Agent间互操作性的背景下,又一个问题出现,当前碎片化的Agent交互形式,是否也有必要形成一种统一协议,简化实现,提升Agent与用户的交互效率吗?
近日,以此为目标的一个项目(AG-UI)诞生,该项目是由copilotkit发起的,专注构建开放、轻量级、基于事件的Agent-用户交互(Agent-User Interaction)标准化协议,其核心目标是标准化AI Agent连接到前端应用的方式。与关注Agent间通信或工具调用的协议不同,AG-UI更侧重于Agent如何在前端呈现、接收用户输入并进行交互。

关键设计原则包括:
-
事件驱动:在Agent执行过程中,Agent后端会发出符合AG-UI定义的16种标准事件类型之一的事件。前端应用根据这些事件进行响应。 -
简单的输入机制:Agent后端可以接受几种简单的、与AG-UI兼容的输入作为参数。 -
灵活的中间件层:AG-UI包含一个中间件层,旨在确保在不同事件传输环境下(如SSE, WebSockets, webhooks等)的兼容性,并允许宽松的事件格式匹配,以支持广泛的Agent和应用互操作性。 -
参考实现:AG-UI提供了一个HTTP参考实现和默认连接器,以帮助开发团队快速开始。
基于AG-UI协议的Agent可以支持以下交互功能:
-
Agentic Chat实时流式传输:支持流畅的对话式交互。 -
双向状态同步:确保聊天内外状态的一致性。 -
生成式UI和结构化消息(支持增量流):Agent可以不仅仅返回文本,还能驱动前端生成动态UI组件。 -
实时上下文丰富:动态地为Agent提供交互所需的上下文信息。 -
前端工具调用 (Tool Calls):允许Agent调用在前端定义的工具或函数。 -
人机协作 (Human-in-the-loop / Human-on-the-loop):支持人类用户在Agent执行过程中进行干预或协作。
目前该协议已获得LangGraph, Mastra, CrewAI, AG2等框架兼容已支持AG-UI,同时也将兼容适配OpenAI Agent SDK,Google ADK,Vercel等主流的Agent开发框架。
小结
虽然,AG-UI协议不管是发起方以及协议意义相较于MCP和A2A协议都有一定的差距,但是,UI标准化本身是有意义的,这可以进一步的加速分工,并提升开发效率,哪怕不直接使用,也能将其作为非常值得参考的设计原则和技术参考。
项目:https://github.com/ag-ui-protocol/ag-ui
Demo:https://agui-demo.vercel.app/

(文:AI工程化)