AG-UI:当Agent不再躲在对话框里——人机交互层的2026进化
现状之痛:你的Agent能力很强——查数据、写报告、发邮件全都会。但它只活在一个对话框里:你问它答,你不问它不动。用户看不到它的过程,只能等它的结果,交互体验还是「聊天机器人」那套。
读完你将:理解AG-UI(Agent User Interface)——2026年Agent互联三协议的最后一块,以及为什么交互层决定Agent能不能被「商用」。
〇、三协议全景回顾:我们走到了哪
前两篇我们讲了MCP和A2A,现在三协议凑齐了:
| 协议 | 解决 | 上一篇 |
|---|---|---|
| MCP | Agent ↔ 工具(USB) | ✅ D1已讲 |
| A2A | Agent ↔ Agent(电话) | ✅ D2已讲 |
| AG-UI | Agent ↔ 人类(屏幕) | 本篇 |
为什么AG-UI是「最后一块拼图」?
因为前两个协议解决的是「Agent内部怎么运转」,而AG-UI解决的是「Agent怎么和人打交道」。而人,才是最终买单的那个。
一个Agent工具用得再好、Agent之间协作得再顺,如果人类用户看不明白、用不顺手,它依然无法商用。
一、问题:对话框不是Agent的最终形态
 *对话框 vs 结构化界面*
过去两年,我们习惯了「Agent = 对话框」。
用户:帮我分析一下这个月的物流成本
Agent:好的,正在分析...
Agent:本月物流成本 12.8万元,环比上升23%,主要原因是...
(结束)
这个交互有什么问题?
- 过程不可见:用户不知道Agent查了哪些数据、跳过了哪些步骤——只能盲信结果
- 信息密度低:12.8万、23%、主要原因……一堆数据挤在一段文字里,用户要自己「读」
- 无法操作:用户看到异常数据,想下钻看明细——做不到,只能重新问
- 无法干预:Agent分析到一半跑偏了,用户没法中途喊停、纠正方向
核心洞察:对话框是最低效的Agent交互界面。它把多维信息压扁成线性文字,把「过程」和「操作」全丢了。
二、AG-UI是什么:Agent的「显示+交互」标准
 *AG-UI三层:Display/Interaction/State*
AG-UI(Agent User Interface)定义的是Agent如何向人类展示信息、接收指令、呈现过程的标准。
它关注三个层面:
| 层面 | 解决 | 类比 |
|---|---|---|
| 展示(Display) | Agent怎么把过程/结果呈现给人 | 仪表盘 |
| 交互(Interaction) | 人怎么给Agent指令、纠正、下钻 | 遥控器 |
| 状态(State) | Agent当前在干什么、到哪一步了 | 进度条 |
关键转变:Agent的交互从「纯文字对话」进化为「结构化界面」——数据用图表、过程用进度、操作用按钮。
三、我的实践:从「对话框」到「轻量界面」
我没上AG-UI SDK(规模未到),但把它的核心思想用在了和Agent的交互上——给Agent配了三个「界面」。
3.1 过程可视化:Agent的「进度看板」
之前Agent干活是黑箱,现在我让它每步都「报进度」:
# Agent执行时主动上报状态(模仿AG-UI的State层)
class AgentUI:
def __init__(self):
self.steps = []
def report(self, step: str, status: str, detail: str = ""):
"""每一步都向界面汇报"""
self.steps.append({
"step": step,
"status": status, # running / done / failed
"detail": detail,
"time": datetime.now().isoformat(),
})
self.render() # 更新看板
# 使用:Agent每完成一步,用户都能看到
ui = AgentUI()
ui.report("查运费", "running", "查询SH→NY 100kg")
ui.report("查运费", "done", "结果: $3.5/kg")
ui.report("生成报价", "done", "报价单已生成")
用户不再「盲等」,而是能看到Agent每一步在干什么——信任感完全不同。
3.2 数据可视化:结果用「看」不用「读」
之前报告是一坨文字,现在输出结构化数据,用户直接看图:
# 输出结构化结果(模仿AG-UI的Display层)
result = {
"type": "report",
"title": "本月物流成本分析",
"summary": "12.8万元,环比+23%",
"metrics": [
{"name": "海运", "value": 6.2, "unit": "万", "trend": "up", "pct": 15},
{"name": "空运", "value": 4.1, "unit": "万", "trend": "up", "pct": 38},
{"name": "陆运", "value": 2.5, "unit": "万", "trend": "down", "pct": -8},
],
"actions": [ # 可操作项
{"label": "查看海运明细", "action": "drilldown", "target": "shipping"},
{"label": "导出完整报表", "action": "export"},
],
}
用户看到的不再是「12.8万、23%、海运6.2万、空运4.1万……」这种线性文字,而是一张能下钻、能操作的结构化卡片。
3.3 可干预:Agent跑偏了,人能喊停
# 提供「暂停/纠正」接口(模仿AG-UI的Interaction层)
class AgentSession:
def pause(self): ... # 用户喊停
def redirect(self, instruction: str): ... # 用户纠正方向
def resume(self): ... # 继续
Agent在长任务中途,用户发现方向不对,直接「纠正」——而不是等它跑完再说。
四、收益:从「聊天」到「界面」
 *对话框 vs 界面收益对比*
| 维度 | 对话框 | 轻量界面 |
|---|---|---|
| 过程可见性 | ❌ 黑箱 | ✅ 逐步可见 |
| 信息密度 | 低(线性文字) | 高(结构化图表) |
| 可操作性 | ❌ 只能问 | ✅ 可下钻/导出 |
| 可干预性 | ❌ 只能等 | ✅ 可暂停/纠正 |
| 信任感 | 低(盲信) | 高(过程透明) |
实践结论:交互层决定Agent的「商用感」。同样的能力,对话框里是「工具」,界面上是「产品」。
五、何时上真AG-UI
如果Agent只是你自己用,上面这套「界面思想」够用。需要真AG-UI的场景:
- 面向终端用户的产品——你的Agent要卖给客户,客户需要「看得懂、用得惯」
- 复杂任务的长流程——用户需要随时知道进度、随时干预
- 多Agent协作的汇总展示——一群Agent干活,需要一个统一的界面让用户看到全景
六、此刻的你
此刻的你,已经完整走过了2026年Agent互联的三大协议:
- MCP:Agent用工具(D1)
- A2A:Agent协作(D2)
- AG-UI:Agent与人交互(D3)
这三块拼在一起,就是一个完整的Agent基础设施认知。
记住:工具是Agent的手,协作是Agent的团队,界面是Agent的脸。三者齐全,Agent才能真正站在用户面前。
️ 实体:AG-UI, AgentUI, 过程可视化, 结构化界面 价值:交互体验提升, 过程透明, 商用感增强 认知:从「对话框」到「界面」——交互层决定Agent的商用形态

浙公网安备 33010602011771号