代理需要监督界面
OpenAI现在将Codex应用描述为一个命令中心,用于管理多个代理、并行运行任务,并在整个软件生命周期中监督协同团队。1这一产品方向确认了界面层面的转变:难题已经从“代理能否行动?”变成了“人类能否大规模监督这些行动?”
代理需要监督界面:人在这里查看状态、审查风险、审批敏感工具、检查追踪、从失败中恢复,并用证据签署结果。更好的聊天有助于表达意图。监督界面负责治理工作。
简要概览
聊天仍然适合表达意图。但如果把它作为自主工作的唯一界面,就会失效,因为代理运行中包含工具调用、权限、追踪、记忆、失败分支和完成声明。OpenAI的Codex云文档描述了沙箱环境中的后台任务、实时进度监控、终端日志引用和测试输出证据。2OpenAI Agents SDK提供了人工介入审批,以及对工具调用、交接、护栏和自定义事件的内置追踪。34Anthropic的Claude Code钩子暴露了PreToolUse、PostToolUse、PermissionRequest和Stop等生命周期节点。5
产品层面的启示是:监督不是最后弹出一个模态框。它是一组伴随代理工作过程存在的界面。
关键要点
面向代理产品团队: - 先构建监督队列,再添加新的聊天润色功能。队列应展示被阻塞的运行、高风险操作、过期证据、失败检查和可审阅产物。 - 将审批、追踪和恢复视为核心UX。用户不应被迫从聊天记录里还原工具状态。
面向设计工程师: - 给每个代理动作设定清晰层级:静默、摘要、打断或阻塞。只读工作不应看起来像生产环境变更。 - 设计审阅对象,而不只是设计消息。审阅对象包含工具载荷、风险原因、差异、证据和下一步操作。
面向采用编码代理的团队: - 衡量操作者能否回答:什么正在运行,什么正在等待,改了什么,哪里失败,什么需要审批,还有什么尚未验证。 - 用聊天进行委派。用监督界面承担责任。
什么是监督界面?
监督界面是用于可问责代理工作的用户界面。
它不试图展示每一个token,而是展示决定代理是否应继续的部分:
| 界面 | 用户问题 |
|---|---|
| 运行队列 | 哪些代理需要关注? |
| 状态面板 | 每个运行处于什么阶段? |
| 审批队列 | 哪些工具调用需要人工决策? |
| 追踪时间线 | 发生了什么,顺序如何? |
| 证据面板 | 什么能证明结果? |
| 恢复控件 | 如何暂停、继续、重试、分叉或回滚? |
| 审阅包 | 什么可以签署、拒绝或退回? |
它与聊天的区别在于随机访问。聊天说的是“读完整段滚动记录”。监督界面说的是“检查高风险部分,然后决策”。
当一个人运行多个代理时,这一点至关重要。单个代理在一段时间内还可以保持对话式。5个长时间运行的代理就变成了运营问题。界面必须能够确定优先级、生成摘要并路由注意力。
为什么聊天不适合作为操作界面?
聊天会失效,因为它的形态不适合持续推进的工作。
代理工作会产生事件:计划、搜索、文件读取、文件写入、shell命令、浏览器操作、API调用、测试运行、被拒绝的路径、失败重试和最终证据。聊天记录可以包含这些事件,但无法按风险、阶段或责任来组织它们。
OpenAI的Codex应用公告直接点明了这一转变。开发者现在会委派工作、并行运行任务,并跨项目监督代理;旧有IDE和终端界面并不适合这种模式。1这句话很重要,因为监督需要的布局不同于提示输入。操作者需要的是看板,而不是长卷轴。
Microsoft在2019年提出的人机AI交互指南仍然提供了基础设计框架:AI系统应传达状态、支持纠正,并在整个交互过程中处理失败。6代理让这些旧指南变成了可操作要求。状态现在意味着“哪个工具调用正在等待?”纠正现在意味着“拒绝并继续这次运行。”失败现在意味着“展示失败命令、变化的假设和修复路径。”
错误在于把监督视为摩擦。糟糕的监督确实会增加摩擦。好的监督会降低认知负担,因为它把决策放在正确的位置。
运行队列应该展示什么?
运行队列应展示需要注意的事项,而不是活动流水。
活动流告诉用户发生过的一切。监督队列告诉用户什么需要判断。队列可以把大多数事件压缩成少数几种状态:
| 运行状态 | 操作者需要什么 |
|---|---|
| 规划中 | 目标、范围、可能使用的工具、验收标准 |
| 执行中 | 当前工具、目标、预期副作用 |
| 等待中 | 审批、凭据、缺失输入、外部阻塞 |
| 验证中 | 测试命令、来源检查、渲染路径、审阅关口 |
| 修复中 | 失败检查、变化的假设、下一次重试 |
| 可审阅 | 产物、差异、证据、未解决缺口 |
| 已阻塞 | 原因、负责人、重启选项 |
OpenAI的Codex云文档描述了可以在后台运行的任务,包括在各自云环境中并行运行。2并行后台工作改变了注意力模型。用户不应逐个轮询线程。系统应把被阻塞、高风险和可审阅的工作路由到同一个地方。
队列应避免制造虚假紧迫感。草稿分支上的lint检查失败,与生产部署不一致,不应拥有同样的视觉权重。界面应把打断保留给不可逆操作、公开发布、安全敏感操作,以及代理缺少足够上下文、无法负责任继续的决策。
审批应该如何工作?
审批应像一组审阅对象构成的队列,而不是一串模态框打断。
OpenAI Agents SDK的人工介入流程会暂停执行,直到有人批准或拒绝敏感工具调用。文档将待处理审批描述为interruptions,并使用RunState在决策后进行序列化和恢复。3同一页面还指出,审批适用于嵌套代理工具和MCP工具,不只适用于当前顶层代理。3
Anthropic的Claude Code钩子文档从另一个角度暴露了相同的设计形态。PreToolUse在工具调用前运行,并且可以阻止调用。PermissionRequest会在权限对话框出现时触发。PostToolUse和PostToolUseFailure会在工具成功或失败后触发,Stop会在Claude完成响应时触发。5
这些基础能力指向了正确的界面:
| 审批字段 | 为什么应出现在UI中 |
|---|---|
| 工具名称 | 标识能力类别 |
| 参数 | 展示代理想做什么 |
| 目标 | 指明文件、数据库、主机、路由、账号或分支 |
| 风险层级 | 决定视觉和流程权重 |
| 代理理由 | 解释该调用为什么属于计划的一部分 |
| 预期副作用 | 区分读取、写入、网络、部署、支出或删除 |
| 决策 | 批准一次、始终批准、拒绝、延后、改写 |
正确的审批界面会让低风险读取静默通过,批量处理中等风险决策,并在高风险变更前打断。用户不应一边读段落一边批准shell命令。用户应审批一个带类型的操作,并获得足够上下文来保持问责。
追踪界面应该证明什么?
追踪界面应证明顺序、原因和后果。
OpenAI Agents SDK追踪文档称,追踪会记录一次运行中的LLM生成、工具调用、交接、护栏和自定义事件,并支持开发和生产环境中的调试、可视化和监控。4这一描述使追踪成为产品原语,而不只是开发者仪表化。
监督追踪应回答5个问题:
| 问题 | 必需追踪细节 |
|---|---|
| 代理看到了什么? | 文件、来源、提示、检索上下文 |
| 它做了什么? | 工具调用、参数、输出、退出状态 |
| 什么发生了变化? | 差异、生成的产物、外部状态 |
| 它为什么改变路线? | 失败检查、被拒权限、新证据 |
| 什么证明已经完成? | 命令、来源链接、实时路由、审阅状态 |
追踪不需要私密推理。它需要操作证据。用户不需要隐藏的思维链来评估一次发布。用户需要命令输出、路由状态、缓存状态、D1行、翻译关口、来源检查,以及仍需母语审阅的缺口。
这个区分同时保护信任和品味。展示过多内部细节会让界面变成噪音。展示过少则会让产品变成表演。
恢复应该如何融入流程?
恢复应放在失败事件旁边。
代理系统在正常工作中会不断失败:安装命令超时,格式化工具修改了无关文件,浏览器冒烟测试发现过期缓存,翻译关口拒绝某个locale,或者来源链接对脚本返回403。好的监督界面会把这些时刻视为预期状态。
恢复控件应保持具体:
| 控件 | 负责任的用法 |
|---|---|
| 暂停 | 在保留状态的同时停止新的副作用 |
| 继续 | 在审批或外部修复后继续 |
| 重试 | 用变化后的输入重复失败步骤 |
| 分叉 | 探索替代计划,同时不覆盖原计划 |
| 回退 | 撤销本地可逆更改 |
| 升级 | 请求人类或另一个代理审阅 |
| 带缺口关闭 | 只有在明确未解决工作时才结束 |
OpenAI的Codex应用公告描述了代理在隔离代码副本中工作,使用户可以探索不同路径,并在某个代理继续工作的同时在本地检出变更。1这种隔离有助于恢复,但界面仍需展示哪条路径胜出、哪条路径失败,以及哪些工作仍不适合合并。
产品绝不应让用户从原始日志中重建恢复过程。失败步骤本身已经知道它的命令、工作目录、输出和目标。界面应把负责任的下一步操作放在该事件上。
什么样的监督界面才算值得?
当监督界面减少工作量却不削弱责任时,它才算值得。
简单版本会添加更多面板。值得的版本会消除疑虑。用户应能更快回答真正重要的问题:
- 哪个运行需要我?
- 哪个操作可能造成损害?
- 哪个结果有证据?
- 哪个结果只有文字说明?
- 哪个分支应被保留?
- 哪个缺口仍未解决?
NIST的AI风险管理框架把可信度视为团队应纳入AI产品和系统设计、开发、使用和评估的内容。7监督界面正位于这个交汇点上。它让设计承载操作风险,让使用产生证据,让评估在用户签署之前可见。
MCP扩展了同一种责任。Model Context Protocol将AI应用连接到外部数据源、工具和工作流,使代理能够访问信息并执行任务。8连接的工具越多,行动面就越大。更大的行动面需要更好的监督,而不是更多信任。
设计标准应保持简单:代理产品不应最大化自主行动,而应最大化可问责进展。
如何开始构建?
从最小可用的监督界面开始:
- 运行列表:每个活跃代理一行,包含阶段、耗时、阻塞项和下一项决策。
- 审批队列:每个敏感工具调用一个对象,包含参数、目标、风险,以及批准/拒绝/延后控件。
- 追踪表:每个有意义事件一行,可按读取、写入、shell、浏览器、来源、测试、部署和审阅过滤。
- 证据面板:最终结果的声明到证明表。
- 恢复菜单:从失败事件处执行暂停、继续、重试、分叉和带缺口关闭。
第一版可以看起来很普通。表格、过滤器、徽标和可展开行,胜过一个隐藏风险的优雅聊天记录。品味问题要在信息架构诚实之后再处理:减少噪音,谨慎使用警示色,归组低风险事件,暴露高风险载荷,并让最终签署始终绑定证据。
代理式设计就是控制界面设计。 代理界面就是操作层。 HTML可以保留Markdown丢失的空间信息。监督界面结合了这些框架:它们把自主工作转化为可检查、有空间结构且可问责的操作。
快速总结
代理需要的不是更好的聊天记录,而是监督界面。严肃的代理界面需要运行队列、审批队列、追踪时间线、证据面板和恢复控件。OpenAI、Anthropic、Microsoft、NIST和MCP的文档都指向同一种产品形态:自主系统需要可见状态、工具治理、可审阅追踪,以及处于正确层级的人工决策。1345678
聊天可以继续作为委派通道。监督必须成为工作界面。
FAQ
什么是代理监督界面?
代理监督界面是用于监控和控制自主代理工作的UI。它展示运行状态、待审批项、工具追踪、证据、失败和恢复控件。聊天收集意图。监督界面帮助操作者决定代理下一步可以做什么,以及结果是否值得签署。
为什么聊天不足以支持AI代理?
聊天是顺序式、追加式的。代理工作需要随机访问状态、风险、审批、追踪、差异、测试输出和未解决缺口。聊天记录可以记录这些事件,但无法按风险对它们排序,也无法在并行代理之间路由人工注意力。
团队应该先构建什么?
团队应先构建运行队列和审批队列。这两个界面会立即暴露被阻塞的工作和敏感操作。接下来添加追踪表,因为证据、恢复和最终审阅都依赖事件记录。
监督界面与可观测性有什么不同?
可观测性帮助构建者调试系统。监督帮助操作者在工作发生时治理工作。两者共享数据,但服务于不同用户。生产追踪既可以为开发者调试视图供数,也可以为人工审批界面供数。
每个代理都需要人工审批吗?
不需要。每个代理都需要校准得当的监督。低风险读取可以静默运行。中等风险变更可以批量审阅。高风险操作应暂停等待审批。公开发布、破坏性命令、影响客户的操作和资金流动,都应有更强的关口。
参考资料
-
OpenAI,“Introducing the Codex app,”OpenAI,2026年2月2日,2026年3月4日更新。来源用于说明Codex应用作为多代理命令中心、并行代理工作流、隔离代码副本、skills、Automations、审阅队列、沙箱、权限请求和监督框架。 ↩↩↩↩
-
OpenAI,“Codex web,”OpenAI Developers。来源用于说明Codex作为编码代理,可以在后台云任务中读取、编辑并运行代码,包括在自身云环境中并行工作。 ↩↩
-
OpenAI,“Human-in-the-loop,”OpenAI Agents SDK。来源用于说明会暂停执行的审批流程、作为中断返回的待处理审批、
RunState的序列化与恢复,以及跨函数工具、shell工具、apply-patch工具、MCP服务器、托管MCP工具和嵌套代理工具的审批支持。 ↩↩↩↩ -
OpenAI,“Tracing,”OpenAI Agents SDK。来源用于说明对LLM生成、工具调用、交接、护栏、自定义事件、traces、spans以及开发或生产监控的内置追踪。 ↩↩↩
-
Anthropic,“Hooks reference,”Claude Code Docs。来源用于说明Claude Code生命周期钩子,包括
PreToolUse、PermissionRequest、PostToolUse、PostToolUseFailure、PostToolBatch、子代理事件和Stop。 ↩↩↩ -
Saleema Amershi等,“Guidelines for Human-AI Interaction,”Microsoft Research,CHI 2019。来源用于说明18条通用人机AI交互指南,以及由49名从业者参与的验证研究。 ↩↩
-
National Institute of Standards and Technology,“AI Risk Management Framework,”NIST。来源用于说明在AI产品、服务和系统的设计、开发、使用和评估中纳入可信度考量。 ↩↩
-
Model Context Protocol,“What is the Model Context Protocol?”来源用于说明MCP作为开源标准,将AI应用连接到外部系统,包括本地文件、数据库、工具和工作流。 ↩↩