AG-UI 介绍:代理与用户交互的协议
我很高兴地宣布AG-UI,即代理-用户交互协议,它是连接 AI 代理和现实世界应用程序的简化桥梁。
什么是AG-UI?
AG-UI 是一种开放的轻量级协议,可通过标准 HTTP 或可选的二进制通道传输单个 JSON 事件序列。这些事件(消息、工具调用、状态补丁、生命周期信号)可在代理后端和前端界面之间无缝传输,保持完美的实时同步。
使用我们的 TypeScript 或 Python SDK 以及任何代理后端(OpenAI、Ollama、LangGraph 或自定义代码),几分钟内即可上手。访问docs.ag-ui.com获取规范、快速入门指南和交互式应用场景。
代理-用户交互
如今,AI 代理生态系统日趋成熟。代理正从有趣的病毒式演示走向实际生产应用,其中包括一些全球最大的企业。
然而,生态系统主要专注于后端自动化,即在有限的用户交互下独立运行的流程。工作流程被启动或自动发生,其输出随后被使用。
常见的用例包括数据迁移、研究和总结、表格填写等。
可重复且简单的工作流程,可以确保准确性,或者 80% 的准确率就足够了。
这些已经极大地提高了生产力,使耗时又繁琐的任务自动化。
代理与用户见面的地方
编码工具(Devin 与 Cursor)
在生成式人工智能的整个应用过程中,编码工具就像煤矿里的罐头厂,而 Cursor 就是用户交互代理的最佳示例。它是一种在共享工作空间中与用户并肩工作的人工智能代理。
这与 Devin 形成了鲜明对比,后者承诺打造一个完全自主的代理,实现高级工作的自动化。
对于许多最重要的用例来说,如果代理能够与用户协同工作,那么它们将大有裨益。这意味着用户可以看到代理正在执行的操作,可以协同处理相同的输出,并在共享工作区中轻松地进行迭代。
构建用户交互代理的挑战
创造这些协作体验面临着重大的技术挑战:
-
实时流: LLM 逐步生成令牌;UI 需要立即获取它们,而不会阻塞完整响应。
-
工具编排:现代代理调用函数、运行代码、调用 API。用户界面必须显示进度和结果,有时需要人工批准,然后恢复运行——所有这些都不能丢失上下文。
-
共享可变状态:代理通常会生成逐步演进的计划、表格或代码文件夹。每次发送整个 blob 会浪费带宽;发送 diff 则需要清晰的架构。
-
并发与取消:用户可能会发起多个查询、中途停止查询或切换线程。后端和前端需要线程 ID、运行 ID 以及有序的关闭路径。
-
安全边界:通过 WebSockets 传输任意数据很容易,直到您需要企业签署的 CORS、身份验证令牌和审计日志。
-
框架杂乱无章: LangChain、CrewAI、Mastra、AG2,以及各种自研脚本——它们各自使用着略有不同的“方言”。如果没有统一的标准,每个 UI 都必须重新设计适配器和边缘情况处理。
AG-UI解决方案
AG-UI 通过一种简单但强大的方法解决了这些挑战:
您的客户端向代理端点发送单个 POST 消息,然后监听统一的事件流。每个事件都有一个类型(例如,TEXT_MESSAGE_CONTENT、TOOL_CALL_START、STATE_DELTA)和最小负载。代理会在事件发生时发出事件,UI 会做出相应的响应——显示部分文本、在工具完成时渲染可视化效果,或在状态发生变化时更新界面。
AG-UI 基于标准 HTTP 构建,可与现有基础设施顺利集成,同时为性能关键型应用程序提供可选的二进制序列化器。
这项技术能够实现什么
AG-UI 在代理和界面之间建立一致的契约,消除了自定义 WebSocket 格式和文本解析的黑客攻击。通过此统一协议:
-
组件变得可互换:将 CopilotKit 的 React 组件与任何 AG-UI 源一起使用
-
后端灵活性:无需更改 UI 即可在云和本地模型之间切换
-
多代理协调:通过单一界面协调专门的代理
-
增强开发:通过更丰富的体验和零供应商锁定来更快地构建
AG-UI不仅仅是一个技术规范——它是下一代 AI 增强应用程序的基础,人类和代理可以在其中无缝协作。
请查看入门文档,我期待您尝试一下。
请回复 5 月 16 日的 2 场活动邀请
在 Twitter 上关注 CopilotKit 并打招呼,如果您想构建一些很酷的东西,请加入我们的 Discord。
文章来源:https://dev.to/copilotkit/introducing-ag-ui-the-protocol-where-agents-meet-users-10gp