← 所有文章

代理需要监督界面

OpenAI现在将Codex应用描述为一个命令中心,用于管理多个代理、并行运行任务,并在整个软件生命周期中监督协同团队。1这一产品方向确认了界面层面的转变:难题已经从“代理能否行动?”变成了“人类能否大规模监督这些行动?”

代理需要监督界面:人在这里查看状态、审查风险、审批敏感工具、检查追踪、从失败中恢复,并用证据签署结果。更好的聊天有助于表达意图。监督界面负责治理工作。

简要概览

聊天仍然适合表达意图。但如果把它作为自主工作的唯一界面,就会失效,因为代理运行中包含工具调用、权限、追踪、记忆、失败分支和完成声明。OpenAI的Codex云文档描述了沙箱环境中的后台任务、实时进度监控、终端日志引用和测试输出证据。2OpenAI Agents SDK提供了人工介入审批,以及对工具调用、交接、护栏和自定义事件的内置追踪。34Anthropic的Claude Code钩子暴露了PreToolUsePostToolUsePermissionRequestStop等生命周期节点。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会在权限对话框出现时触发。PostToolUsePostToolUseFailure会在工具成功或失败后触发,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连接的工具越多,行动面就越大。更大的行动面需要更好的监督,而不是更多信任。

设计标准应保持简单:代理产品不应最大化自主行动,而应最大化可问责进展。

如何开始构建?

从最小可用的监督界面开始:

  1. 运行列表:每个活跃代理一行,包含阶段、耗时、阻塞项和下一项决策。
  2. 审批队列:每个敏感工具调用一个对象,包含参数、目标、风险,以及批准/拒绝/延后控件。
  3. 追踪表:每个有意义事件一行,可按读取、写入、shell、浏览器、来源、测试、部署和审阅过滤。
  4. 证据面板:最终结果的声明到证明表。
  5. 恢复菜单:从失败事件处执行暂停、继续、重试、分叉和带缺口关闭。

第一版可以看起来很普通。表格、过滤器、徽标和可展开行,胜过一个隐藏风险的优雅聊天记录。品味问题要在信息架构诚实之后再处理:减少噪音,谨慎使用警示色,归组低风险事件,暴露高风险载荷,并让最终签署始终绑定证据。

代理式设计就是控制界面设计。 代理界面就是操作层。 HTML可以保留Markdown丢失的空间信息。监督界面结合了这些框架:它们把自主工作转化为可检查、有空间结构且可问责的操作。

快速总结

代理需要的不是更好的聊天记录,而是监督界面。严肃的代理界面需要运行队列、审批队列、追踪时间线、证据面板和恢复控件。OpenAI、Anthropic、Microsoft、NIST和MCP的文档都指向同一种产品形态:自主系统需要可见状态、工具治理、可审阅追踪,以及处于正确层级的人工决策。1345678

聊天可以继续作为委派通道。监督必须成为工作界面。

FAQ

什么是代理监督界面?

代理监督界面是用于监控和控制自主代理工作的UI。它展示运行状态、待审批项、工具追踪、证据、失败和恢复控件。聊天收集意图。监督界面帮助操作者决定代理下一步可以做什么,以及结果是否值得签署。

为什么聊天不足以支持AI代理?

聊天是顺序式、追加式的。代理工作需要随机访问状态、风险、审批、追踪、差异、测试输出和未解决缺口。聊天记录可以记录这些事件,但无法按风险对它们排序,也无法在并行代理之间路由人工注意力。

团队应该先构建什么?

团队应先构建运行队列和审批队列。这两个界面会立即暴露被阻塞的工作和敏感操作。接下来添加追踪表,因为证据、恢复和最终审阅都依赖事件记录。

监督界面与可观测性有什么不同?

可观测性帮助构建者调试系统。监督帮助操作者在工作发生时治理工作。两者共享数据,但服务于不同用户。生产追踪既可以为开发者调试视图供数,也可以为人工审批界面供数。

每个代理都需要人工审批吗?

不需要。每个代理都需要校准得当的监督。低风险读取可以静默运行。中等风险变更可以批量审阅。高风险操作应暂停等待审批。公开发布、破坏性命令、影响客户的操作和资金流动,都应有更强的关口。


参考资料


  1. OpenAI,“Introducing the Codex app,”OpenAI,2026年2月2日,2026年3月4日更新。来源用于说明Codex应用作为多代理命令中心、并行代理工作流、隔离代码副本、skills、Automations、审阅队列、沙箱、权限请求和监督框架。 

  2. OpenAI,“Codex web,”OpenAI Developers。来源用于说明Codex作为编码代理,可以在后台云任务中读取、编辑并运行代码,包括在自身云环境中并行工作。 

  3. OpenAI,“Human-in-the-loop,”OpenAI Agents SDK。来源用于说明会暂停执行的审批流程、作为中断返回的待处理审批、RunState的序列化与恢复,以及跨函数工具、shell工具、apply-patch工具、MCP服务器、托管MCP工具和嵌套代理工具的审批支持。 

  4. OpenAI,“Tracing,”OpenAI Agents SDK。来源用于说明对LLM生成、工具调用、交接、护栏、自定义事件、traces、spans以及开发或生产监控的内置追踪。 

  5. Anthropic,“Hooks reference,”Claude Code Docs。来源用于说明Claude Code生命周期钩子,包括PreToolUsePermissionRequestPostToolUsePostToolUseFailurePostToolBatch、子代理事件和Stop。 

  6. Saleema Amershi等,“Guidelines for Human-AI Interaction,”Microsoft Research,CHI 2019。来源用于说明18条通用人机AI交互指南,以及由49名从业者参与的验证研究。 

  7. National Institute of Standards and Technology,“AI Risk Management Framework,”NIST。来源用于说明在AI产品、服务和系统的设计、开发、使用和评估中纳入可信度考量。 

  8. Model Context Protocol,“What is the Model Context Protocol?”来源用于说明MCP作为开源标准,将AI应用连接到外部系统,包括本地文件、数据库、工具和工作流。 

相关文章

代理界面就是代理框架

代理界面设计是运行层:权限、记忆、追踪、证据、恢复与品味,共同决定自主AI代理能否赢得信任。

1 分钟阅读

代理式设计是控制界面设计

代理式设计不是更漂亮的聊天框。它是一种控制界面,让自主软件变得可见、可中断、可审计,并值得信任。

1 分钟阅读

Ralph循环:我如何在夜间运行自主AI代理

我构建了一个使用停止钩子、生成预算和文件系统记忆的自主代理系统。以下是失败经验以及真正能交付代码的方法。

3 分钟阅读