你好,我是 ✨三桥君✨


📌本文介绍📌 >>


一、引言

在智能体(Agent)领域,MCP、A2A、ANP等协议已经规范了Agent与工具、Agent与Agent之间的通信,但Agent与用户之间的交互一直缺乏标准化。你是否曾思考过,如何解决后端Agent和前端UI之间的交互问题? AG - UI协议应运而生,它通过Server - Sent Events (SSE)技术,将后端Agent的状态和动作实时推送给前端,实现了Agent与UI之间的标准化交互

本文三桥君将深入探讨AG - UI协议的诞生背景、核心功能、三大亮点以及实际应用,帮助你全面理解这一标准化交互协议的重要性。AG - UI协议应运而生,它通过Server - Sent Events (SSE)技术,将后端Agent的状态和动作实时推送给前端,实现了Agent与UI之间的标准化交互
@三桥君AI_AG-UI协议:智能体与UI交互的标准化桥梁.png

二、AG - UI协议的诞生背景

1. 智能体开发的痛点

在智能体开发过程中,开发者常常面临以下挑战:

挑战类型具体描述
流式传输LLM响应希望逐字显示回答,但不想搭建复杂的WebSocket服务器。
实时进度显示需要显示工具运行的进度,如“正在生成表格,完成50%”,并允许用户随时暂停或确认。
大块头数据同步需要同步代码或表格等大块头数据,但不想每次都重新发送全部数据。
用户打断与取消操作用户应能随时打断Agent或取消操作,同时保持对话的连贯性。
不同Agent后端的兼容性不同Agent后端(如LangGraph、CrewAI)的调用方式、状态管理逻辑、输出格式各不相同,扩展困难。

2. AG - UI协议的提出

为了解决这些痛点,AG - UI协议应运而生。它通过SSE技术,将后端Agent的状态和动作变成结构化的JSON事件流,实时推送给前端。每个事件都有清晰的“身份标签”,如TEXT_MESSAGE_CONTENTTOOL_CALL_STARTSTATE_DELTAAGENT_HANDOFF等,使得Agent与UI之间的交互变得标准化和高效

三、AG - UI协议的核心功能

1. 流式传输与实时更新

AG - UI协议通过TEXT_MESSAGE_CONTENT事件,逐字显示文本内容,实现流式传输。同时,TOOL_CALL_START事件可以显示工具运行的进度,如“正在生成表格,完成50%”,让用户实时了解任务的进展。

2. 数据同步与状态管理

STATE_DELTA事件只更新变化的部分,如代码改了一行,只发送这一行,从而减少数据传输量,提升系统性能。AGENT_HANDOFF事件则实现了Agent之间的无缝交接任务,确保多步骤工作流的顺畅执行。

3. 用户交互与中断处理

AG - UI协议支持用户随时打断Agent或取消操作,保持对话的连贯性。同时,它提供了TypeScript和Python SDK,开发者可轻松接入不同框架,确保不同Agent后端的兼容性

四、AG - UI协议的三大亮点

亮点名称描述优势
一次开发,到处兼容开发者只需写一套后端逻辑,接上AG - UI协议,即可适配各种框架前端无需为每个框架单独定制逻辑,兼容LangGraph、CrewAI等,大大降低开发成本
UI随心搭,随手换开发者可使用CopilotKit提供的组件快速搭建界面,也可使用自己的React技术栈。即使底层模型从GPT - 4换成Llama - 3,前端代码无需改动确保了UI的灵活性和可扩展性
从聊天机器人到真软件AG - UI协议让Agent应用不再是“会聊天的玩具”,而是能干实事的软件通过更流畅的交互和更强大的功能,真正帮助用户解决问题,提升用户体验

五、AG - UI协议的实际应用

1. 复杂任务处理

在代码生成场景中,Agent可逐字显示生成的代码,用户可随时打断或修改。在数据整理场景中,显示数据整理的进度,用户可随时确认或取消,确保任务的顺利完成。

2. 多步骤工作流

AG - UI协议支持多个Agent之间无缝交接任务,如接力赛跑一样流畅。同时,实时显示每个步骤的进度,用户可随时了解任务状态,确保工作流的透明和可控。

六、总结

三桥君认为,AG - UI协议为Agent应用装上了一套“智能交通系统”,让后端和前端的沟通变得有条不紊。开发者无需为底层通信细节操心,可专注于打造更有价值的业务逻辑。AI不再只是冷冰冰的工具,而是能真正“懂你”的伙伴。
@三桥君AI_AG - UI协议解决Agent与UI交互问题的分析.png

三桥君助力,迈向AGI时代!!!

📚课程专栏📚 >>


  • 《三桥君 | AI赋能传统行业》
  • 《三桥君 | AI产品经理方法论》
  • 《三桥君 | AI智能体落地方法论》
  • 《三桥君 | AI大模型落地方法论》
  • 《三桥君 | AI超级个体方法论》
  • 《三桥君 | 零基础开发扣子机器人》

更多文章⭐ >>

  • 成为CSDN人工智能优质创作者:我的故事和心得

  • AI技术落地方法论–从技术到生态的系统化落地

  • 2024年,搞AI就别卷模型了

  • 掌握这4个绘制技术架构图要点,提升AI产品经理跨团队沟通

  • Prompt:在AI时代,提问比答案更有价值

  • 我为什么决定关闭ChatGPT的记忆功能?

  • 人工智能100个AI术语
    访问三桥君博客:https://blog.csdn.net/weixin_46218781?

@三桥君Nice.png欢迎关注✨ 三桥君AI ✨获取更多AI产品经理与AI落地的分享,赠送AI、DeepSeek学习资料🎁🎁🎁内容仅供学习交流,祝你学有所得,为行业做出更大贡献。三桥君认为,人人都有机会成为AI专家👏👏👏读到这里,若文章对你有所启发,欢迎点赞、收藏、转发、赞赏👍👍👍🥰🥰🥰

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/90929.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/90929.shtml
英文地址,请注明出处:http://en.pswp.cn/web/90929.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面试官:详细说说Kafka rebalance 的策略以及具体过程

hello啊,各位观众姥爷们!!!本baby今天又来报道了!哈哈哈哈哈嗝🐶 程序员各种工具大全 Kafka 的 Rebalance(再平衡) 是消费者组(Consumer Group)在消费者数量…

C++入门自学Day2-- c++类与对象(初识)

一、面向对象和面向过程1、什么是面向过程(Process-Oriented Programming, POP)📌 定义面向过程强调的是 过程(过程函数),即:按照步骤(流程)组织代码。程序结构 数据结构…

DAO组织智能合约开发:从理论到实践

目录 DAO组织智能合约开发:从理论到实践 1. DAO概述:去中心化自治组织 2. DAO核心组件设计 2.1 架构设计 2.2 关键智能合约 3. 治理代币实现 3.1 ERC20扩展合约 4. 提案管理系统实现 4.1 提案状态机 4.2 提案合约实现 5. DAO核心合约实现 5.1 DAO合约架构 5.2 提案类型扩展 6…

Ubuntu系统完整配置教程

Ubuntu系统完整配置教程 目录 配置镜像源安装网络服务虚拟机中安装CUDAPython开发环境配置Java开发环境配置 1. 配置镜像源 1.1 备份原始源文件 sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup1.2 编辑源文件 sudo nano /etc/apt/sources.list1.3 各大镜像源…

【mysql慢查询】

mysql慢查询慢查询慢查询日志配置慢查询 慢查询是指执行时间超过指定阈值的SQL语句。在MySQL中,默认情况下执行时间超过10秒的查询会被认为是慢查询,但这个阈值可以根据需要进行调整。 慢查询日志配置 -- 查看当前慢查询配置 SHOW VARIABLES LIKE slo…

django 按照外键排序

在Django中,使用外键(ForeignKey)进行排序是一种常见的需求,特别是在处理数据库关系时,如用户和订单之间的关系(一个用户有多个订单)。下面是如何在使用Django ORM时进行基于外键的排序。 定义模…

JAVA_EIGHTEEN_特殊文件

目录 Properties属性文件 XML的作用和应用场景 日志技术 Properties属性文件 约束:只能是键值对 键不能重复 文件后缀一般是.properties结尾的 是一个Map集合(键值对集合) 核心作用:Properties是用来代表属性文件的&#…

第二十二节 MATLAB转置向量、MATLAB追加向量

MATLAB中转置操作能够将一个行向量改变成一个列向量,反之亦然。MATLAB中转置操作使用一个单引号()来表示。详细例子在MATLAB中建立一个脚本文件,输入下述代码:r [ 1 2 3 4 ]; tr r; v [1;2;3;4]; tv v; disp(tr); …

window显示驱动开发—Direct3D 11 视频设备驱动程序接口 (DDI)

这些设备驱动程序接口 (DDI) 是新的或针对Windows 8更新的:CalcPrivateCryptoSessionSizeCalcPrivateAuthenticatedChannelSizeCalcPrivateVideoDecoderOutputViewSizeCalcPrivateVideoDecoderSizeCalcPrivateVideoProcessorEnumSizeCalcPrivateVideoProcessorInput…

新手向:用AI破解数据质量难题

用AI破解数据质量难题:从零开始的完整指南数据质量的重要性及其影响数据质量是数据分析、机器学习和业务流程中不可忽视的核心问题。低质量数据会导致一系列严重后果:错误决策:基于不准确或缺失的数据可能导致管理层做出错误判断。例如&#…

用 Python 获取电脑电池电量的各种案例

更多内容请见: python3案例和总结-专栏介绍和目录 文章目录 方法一:使用 `psutil` 库(跨平台) 方法二:Windows 专用方法(使用 `win32api`) 方法三:macOS 专用方法 方法四:Linux 专用方法 方法五:跨平台统一方法 Python 程序案例:检测电池电量并在低于20%时关机 以下…

Linux->自定义shell

目录 引入: 1:shell是什么? 2:命令行提示符是什么? 3:xshell是什么? 一:命令行提示符 二: 获取用户输入 三:分割字符串 四:执行命令 五…

js中出现-8.881784197001252e-16这种(一个极其接近 0 的极小负数)的浮点数精度计数异常问题解决思路

你的代码中出现 -8.881784197001252e-16(一个极其接近 0 的极小负数)的原因是 JavaScript 浮点数精度问题。具体来说,当你反复进行 加法 和 减法 时,由于浮点数在计算机中的存储方式,可能会引入微小的误差。一、问题情…

超详细的 RustDesk 自建中继节点教程

厌倦了商业远程控制软件的会员限制和功能阉割?渴望拥有一个自由掌控、安全可靠的远程连接方案?开源软件 RustDesk 正是你需要的答案! 相信从事互联网工作的你,一定对向日葵和ToDesk等商业远程控制软件并不陌生。然而,…

Spring Boot 2整合Druid的两种方式

一、自定义整合Druid&#xff08;非Starter方式&#xff09;适用于需要完全手动控制配置的场景添加依赖&#xff08;pom.xml&#xff09;<dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.8</ve…

鸿蒙Next-开发版本升级,API升级(例如API12升API16)

鸿蒙更新换代很快的&#xff0c;2025年1月&#xff0c;截至4月就有 DevEco Studio 5.0.2 Release 升级到 DevEco Studio 5.0.3 Release 升级到 DevEco Studio 5.0.4 Release&#xff0c;三次大版本更新。 作者也想在年前创建的项目中体验一下新版本的特性&#xff0c;于是查看了…

树莓派设置时区

查看当前时间 piraspberrypi-CM5:~ $ date Mon 28 Jul 09:22:38 BST 2025BST 指的是 British Summer Time&#xff0c;即英国夏令时&#xff08;UTC1&#xff09;。 所以这是英国&#xff08;伦敦等地&#xff09;在夏令时期间的本地时间&#xff0c;比标准的 UTC 时间快 1 小时…

C Primer Plus 第6版 编程练习——第13章(下)

8.编写一个程序&#xff0c;以一个字符和任意文件名作为命令行参数。如果字符后面没有参数&#xff0c;该程序读取标 淮输入;否则&#xff0c;程序依次打开每个文件并报告每个文件中该字符出现的次数。文件名和字符本身也要一同报告。程序应包含错误检查&#xff0c;以确定参数…

王树森推荐系统公开课

github&#xff1a;https://github.com/wangshusen/RecommenderSystem b站&#xff1a;推荐系统公开课——8小时完整版&#xff0c;讲解工业界真实的推荐系统_哔哩哔哩_bilibili 知乎上一个比较全面的笔记&#xff1a;https://zhuanlan.zhihu.com/p/678664853 我的笔记&…

<RT1176系列11>DMAMUX解读

1、概述DMA&#xff08;直接内存访问&#xff0c;DIrect Memory Access&#xff09;工作原理&#xff1a;DMA控制器直接在内存和外设之间传输数据&#xff0c;而不需要CPU的干预。优点&#xff1a;极大地提高了数据传输效率&#xff0c;释放CPU资源。适合大批量数据传输&#x…