AG-UI协议补齐AI生态最后一块拼图 用户交互新标准

去年12月,Anthropic推出的MCP协议引发了广泛关注,其热度持续不减。紧接着上个月,Google的A2A协议问世,再次掀起讨论热潮。这两个协议之所以备受瞩目,背后有着深刻的时代背景。关注行业动态的朋友们或许已经注意到,近年来基础模型的训练呈现出明显的寡头化趋势。除了少数头部科技巨头,真正有能力且愿意投身基础大模型研发的创业公司已屈指可数。尽管AI的未来前景广阔已成为共识,但真正的机遇却隐藏在模型的应用层面而非研发本身。MCP与A2A两种协议,本质上都是为了构建AI应用生态而铺设的基础设施。

AG-UI协议补齐AI生态最后一块拼图 用户交互新标准

AI应用生态的构建可以围绕三个核心角色展开:用户、Agent以及外部世界。要推动这个生态健康发展,首要任务就是解决这些角色之间的互联互通问题。从现有协议的功能来看,MCP主要解决Agent与外部世界的连接问题,而A2A则专注于Agent与Agent之间的协作规范。然而,您是否发现了一个关键缺失?当Agent与自身、外部世界都有了明确的沟通协议后,用户与Agent之间的交互规范却尚未建立。今天,我们将重点介绍的新协议AG-UI,正是针对这一空白而设计的,它为Agent与前端界面之间的连接、交流互动提供了标准化框架。继MCP和A2A之后,AG-UI补齐了AI应用生态发展所需的最后一块关键拼图。

AG-UI协议补齐AI生态最后一块拼图 用户交互新标准

在深入探讨AG-UI之前,让我们先梳理一些必要的背景概念。首先,谈谈Agent的本质。虽然”智能体”是国内常用的翻译,但这个词汇并未完全准确传达Agent的核心内涵。英文中的Agent本意是代理人,指接受授权后为他人、企业或组织完成特定任务的代表。以房屋中介为例,他们代理完成房屋出租或出售工作,使业主无需亲自费心寻找租户或买家。AI Agent的功能与此类似,当用户需要完成某项任务时,它们能够主动采取行动,执行分析拆解、信息获取、工具调用、整合响应等一系列流程。以近期出现的Lovart工具为例,作为首款设计Agent,它只需接收一句提示语,就能自主调用Flux生成分镜图、用TTS模型制作旁白、通过可灵制作分镜视频,最终整合成完整的广告片。理论上,任何具备视频生成能力的模型都能实现类似功能,但与专业设计Agent相比,通用模型生成的效果往往需要反复调整提示词才能达到同等水平,效率远不如专业Agent。

AG-UI协议补齐AI生态最后一块拼图 用户交互新标准

理解了Agent的概念后,MCP和A2A的作用便一目了然。Agent完成任务时,往往需要借助外部资源和工具,而调用工具必然涉及参数传递,如工具名称等基本信息。如果没有统一的协议,众多模型与工具之间将陷入兼容性困境。例如,Function Calling中,OpenAI将工具名放在tools字段,Claude则放在tool_use字段,这种各自为政的做法显然不利于标准化。类似地,Agent之间的协作也需要规范,这就是A2A协议的用武之地。比如在公司内部,HR Agent可以指导IT Agent开通OA账号,同时通知Admin Agent安排工位和门禁。虽然企业内部Agent的协调相对容易实现,但对于全球范围内不同组织开发的各类Agent而言,统一规范至关重要。

AG-UI协议补齐AI生态最后一块拼图 用户交互新标准

接下来,让我们聚焦AG-UI协议要解决的问题。正如前文所述,在Agent出现之前,用户已存在与外部世界的互动。随着Agent的加入,形成了三个新的关系需要协调:Agent与外部世界、Agent与Agent、Agent与用户。MCP和A2A分别解决了前两种关系的协作问题,而AG-UI则致力于填补最后一块空白。根据官方示意图,AG-UI协议嵌入在应用与后端Agent之间。如果没有AG-UI的支持,应用将直接与AI Agent建立连接。那么,为何必须引入AG-UI协议呢?其实与MCP或A2A类似,AG-UI为前端应用与后端Agent之间的沟通提供了标准化范式和基础实现。它就像一个砖厂,让开发者在构建应用时无需从零开始制作砖块,可以直接使用现成的标准化产品,且质量更有保障。

AG-UI协议补齐AI生态最后一块拼图 用户交互新标准

AG-UI采用事件驱动的工作模式。对于非技术背景的读者来说,这个概念可能稍显复杂。让我们详细解析一下。对于应用而言,前端UI面向用户,用户只关心使用体验,并不关心后端Agent的具体实现方式。当AI Agent接收用户输入后,可能需要执行多种任务,如调用大模型生成响应、规划执行步骤、申请调用外部工具等。在这种情况下,用户显然不希望被动等待,而希望前端UI能够实时反馈Agent的状态信息:任务执行进度、工具调用参数、请求状态等。每当后台任务产生进展,就会触发事件信息,前端UI根据这些信息动态调整界面。以官方演示案例——AI文件编辑器为例,当用户让Copilot生成故事时,前端UI会像打字一样逐字更新;当要求修改主人公名字时,UI也会实时展示Copilot的修改过程。这些功能背后的实现机制是前端UI与后端Copilot共享文件状态,Copilot生成内容时实时更新状态,前端UI根据收到的更新即时渲染变化,最终在视觉上呈现完整过程。

AG-UI协议提供了五类事件:生命周期事件(Lifecycle Events)、文本信息事件(Text Message Events)、工具调用事件(Tool Call Events)、状态管理事件(State Management Events)以及特殊事件(Special Events)。我们重点介绍其中几类,完整内容可参考官方文档。以文件编辑器案例为例,它主要使用了状态管理事件,包括STATE_SNAPSHOT、STATE_DELTA和MESSAGES_SNAPSHOT。STATE_SNAPSHOT提供Agent在特定时刻的完整状态,当状态更新时,通过STATE_DELTA传递变更部分。这种设计既保证状态完整性,又提升效率——频繁的小更新无需传输全部数据,仅在必要时按需同步状态快照。生命周期事件包含RUN_STARTED、RUN_FINISHED、RUN_ERROR、STEP_STARTED和STEP_FINISHED五种类型。标准Agent调用以RUN_STARTED开始,中间可能包含多个步骤(用STEP Started/Finished标识),最终以RUNFinished(成功)或RUNError(失败)结束。这种模式使前端能够跟踪Agent执行进度,根据事件触发情况调整UI呈现信息,或在出错时进行针对性处理。

文本信息事件包含TEXT_MESSAGE_START、TEXT_MESSAGE_CONTENT和TEXT_MESSAGE_END三种类型。文本生成与响应是当前大语言模型最普遍的应用模式,AG-UI协议为这一模式提供了标准化支持。当Agent需要生成并传递文本信息时,首先以TEXT_MESSAGE_START事件开始,中间可包含多个TEXT_MESSAGE_CONTENT事件,最后以TEXT_MESSAGE_END结束。之所以允许多个TEXT_MESSAGE_CONTENT事件,是因为前端UI无需等待所有Token生成完毕再一次性传输,而是可以分批处理。基于这一事件驱动流程,前端UI能够实现多种用户体验优化:TEXT_MESSAGE_START触发时弹出”正在加载”提示;TEXT_MESSAGE_END触发时自动取消渲染加载指示,向下翻页显示完整内容等。

总的来说,与MCP和A2A类似,AG-UI并非颠覆性创新,但它统一了Agent与UI的沟通标准,并提供了最佳实践。MCP和A2A曾为行业带来创新浪潮,随着AG-UI补齐最后一块协议拼图,AI应用生态的繁荣互通将更加值得期待。

文章网址:https://www.wpbull.com/ai/29583.html