AI代理审查包是新的最终答复
OpenAI发布Codex的文章称,Codex会通过终端日志和测试输出的引用提供可验证证据,使用户能够追踪任务完成过程中的操作步骤。1这句话点明了产品形态的变化:最终答复已经不够了。
对于代理工作,审查包就是新的最终答复。严肃的代理应当以一组结构化材料收尾,其中包含声明、追踪、审批、差异、测试、来源核查、部署证明,以及尚未解决的缺口。流畅的文字可以概括工作,真正赢得信任的是审查包。
摘要
代理工作现在覆盖规划、工具调用、文件编辑、审批、测试、线上路由、翻译和人工签核。OpenAI的Codex cloud文档介绍了在沙箱化云环境中运行的后台任务;Agents SDK则提供了跨模型生成、工具调用、交接、护栏和自定义事件的追踪能力。23OpenAI的human-in-the-loop文档会为审批决策暂停执行,而Anthropic的Claude Code钩子暴露了PreToolUse、PostToolUse、PermissionRequest和Stop等生命周期事件。45
这些组件共同指向同一种产物:审查包。审查包把代理的最终声明转化为人类可以检查、拒绝、批准,或转交给另一位审查者的对象。
关键要点
面向代理构建者: - 把最终答复视为封面。审查包才应承载证据。 - 将每一条重要声明绑定到文件、命令输出、追踪事件、来源、路由检查、审批决策或未解决缺口。
面向产品设计师: - 把审查包设计成便于扫读的对象,而不是对话记录导出。按用户需要做出的决策来组织证据。 - 将人工审查状态写入审查包。“机器已检查”和“人工已批准”是两种不同状态。
面向采用代理的团队: - 对公开发布、生产变更、翻译工作、安全敏感变更和影响资金的工作,要求提供审查包。 - 如果审查包没有说明哪些内容仍未验证,就不要接受“已完成”。
什么是AI代理审查包?
审查包是面向代理工作的结构化证据集合。
它回答7个问题:
| 问题 | 审查包字段 |
|---|---|
| 用户要求什么? | 目标和范围 |
| 代理改了什么? | 文件、差异、产物、外部状态 |
| 代理运行了什么? | 命令、工具调用、参数、退出状态 |
| 人工批准了什么? | 审批决策和风险说明 |
| 什么证明结果成立? | 测试、来源核查、渲染路由、遥测、截图 |
| 还有什么需要判断? | 审查任务、签核矩阵、未解决声明 |
| 下一步应做什么? | 合并、发布、拒绝、重试或升级处理 |
审查包可以采用Markdown、JSON、数据库行、拉取请求模板,或专用UI对象。格式的重要性低于结构。这个对象必须把证据和叙述分开。
最终答复会说:“我翻译了文章并完成部署。”审查包则会说明哪些语言版本发生了变化、哪个质量关口已经通过、哪些D1行存在、哪个提交完成了部署、哪次CDN清理已经执行、哪些线上路由返回了变更后的文章,以及哪些母语审查仍在等待。后者给了人类一个可以做决策的界面。
为什么最终答复不再够用?
最终答复不再够用,是因为代理现在会在一段时间内持续行动。
聊天机器人回答可以在答案表面被判断。编码或发布代理产生的是一条路径:读取文件、选择来源、调用工具、编辑内容、运行测试、撰写翻译、部署、清理缓存、验证生产环境。最后一段文字只能描述这条路径,不能证明这条路径确实发生过。
OpenAI的Codex文档介绍了云端任务:它们可以在隔离的云环境中读取、编辑并运行代码,也可以并行执行许多后台任务。2并行后台工作会扩大“实际发生了什么”和“最终答复能承载什么”之间的差距。代理做得越多,对话总结就越不配成为证明对象。
OpenAI关于安全运行Codex的文章从安全角度提出了同样的运营问题。文章介绍了沙箱、审批、网络策略、身份、托管配置和代理原生遥测等控制措施;还提到可导出提示、审批决策、工具执行结果、MCP使用情况,以及网络允许或拒绝事件等日志。6这些都是审查包的原料。它们应该出现在审查界面中。
最终答复仍然应该存在,但它应当像执行摘要。审查包则负责承载审计轨迹。
审查包应包含什么?
审查包应按决策来组织证据,而不是按内部事件顺序排列。
| 部分 | 最低证据要求 |
|---|---|
| 目标 | 用户请求、验收标准、范围排除项 |
| 工作摘要 | 已变更文件、生成的产物、触及的外部状态 |
| 追踪 | 有意义的工具调用、命令输出、失败和重试 |
| 审批 | 高风险操作、审批决策、拒绝、延期 |
| 验证 | 测试、来源核查、渲染路由、架构检查、截图 |
| 发布 | 提交、部署状态、缓存清理、线上变更标记 |
| 审查 | 人工签核状态、母语审查状态、未解决缺口 |
这种结构能保持审查包可读。原始追踪可能包含数百个事件。审查包不应把所有事件都倒进主视图。需要时,它可以链接或展开完整追踪;默认视图则应聚焦于决策。
不同领域的证据标准会有所不同:
| 工作类型 | 审查包必须证明 |
|---|---|
| 代码变更 | 差异、测试、受影响调用方、回滚路径 |
| 公开文章 | 来源、声明与来源的一致性、元数据、架构、线上路由 |
| 翻译 | 语言版本缓存、质量关口、D1行、线上路由、母语审查状态 |
| 安全工作 | 威胁、缓解措施、测试、剩余风险、审批记录 |
| 生产部署 | 提交、部署状态、缓存新鲜度、线上变更标记 |
规则始终不变:如果需要人类签署工作,审查包就应包含让这次签署负责任的证据。
追踪和审批如何进入审查包?
追踪和审批构成审查包的骨架。
OpenAI的Agents SDK追踪文档围绕一次代理运行定义追踪和跨度,覆盖LLM生成、工具调用、交接、护栏和自定义事件。3这些数据告诉审查包发生了什么。OpenAI的human-in-the-loop文档展示了执行如何为工具审批而暂停、如何把待处理审批作为中断返回、如何序列化运行状态,以及如何在审批决策之后恢复执行。4这些数据告诉审查包谁允许了高风险操作。
Anthropic的Claude Code钩子也暴露出类似的生命周期形态:钩子可以在工具调用前、工具调用后、权限请求时,以及Claude停止时运行。5这些事件之所以重要,是因为它们让代理系统能够把行为转化为可审查的事实。审查包不应依赖模型回忆一次运行。执行环境应在相关事件发生时记录它们。
差别很关键:
| 薄弱完成说法 | 审查包式完成 |
|---|---|
| “测试通过。” | 命令、退出码、输出摘要,如有失败则列出失败测试 |
| “来源已检查。” | 来源URL、状态、声明对齐情况、被阻止URL |
| “部署成功。” | 部署ID、执行环境健康状态、缓存清理、线上路由冒烟检查 |
| “翻译完成。” | 语言版本列表、质量关口结果、D1行、母语审查状态 |
| “我批准了命令。” | 审批对象、理由、风险等级、执行者、时间戳 |
审查包消除歧义。代理仍然可以写简洁摘要,但证据应存在于叙述之外。
人工审查状态应如何工作?
人工审查状态应作为独立字段出现,而不是作为形容词点缀。
机器关口可以证明结构、路由健康、架构存在、来源可访问,以及许多对等性检查。机器关口不能证明一篇本地化文章已经由流利的母语者审查。审查包应把两件事都说清楚:
| 状态 | 含义 |
|---|---|
| 机器通过 | 自动化关口已经通过 |
| 人工待处理 | 必需的人工审查尚未发生 |
| 人工已批准 | 已记录审查者、日期、语言版本或范围,以及决策 |
| 已拒绝 | 审查者发现阻塞性问题 |
| 不需要 | 该范围的工作流不要求人工签核 |
同样的规则也适用于翻译之外的场景。安全关口可以通过,但法律审查仍在等待。测试套件可以通过,但产品审查可以拒绝该行为。部署可以成功,但CDN仍然可能提供过期内容。审查状态应描述尚未完成的决策,而不是装饰代理的信心。
NIST的AI Risk Management Framework把可信性定义为团队应纳入AI系统设计、开发、使用和评估全过程的事项。7审查包让这个框架落地。它把评估转化为可见产物,而不是最终答复中的一句声明。
最小审查包是什么样?
从小处开始:
# Review Packet: <work item>
## Decision
Status: ready for review | blocked | approved | rejected
Owner: <human or team>
## Goal
- User request:
- Acceptance criteria:
- Scope exclusions:
## Changes
- Files:
- Artifacts:
- External state:
## Evidence
| Claim | Proof | Result |
|---|---|---|
| Tests ran | `<command>` output | pass/fail |
| Public route works | `<url>` smoke | pass/fail |
| Sources support claims | source list | pass/fail |
## Approvals
| Action | Risk | Decision | Notes |
|---|---|---|---|
## Remaining Gaps
- <unverified work>
审查包一开始应该保持朴素。表格、链接和简短状态字段,比一个漂亮但隐藏证据的产物更有效。结构跑通后,设计可以让它更容易扫读:严重程度、分组、过滤器、折叠追踪和明确的下一步操作。
关键的产品决策是:审查包会成为其他系统能够读取的产物。拉取请求可以链接到它。发布说明可以概括它。母语审查者可以签署它。未来的代理可以从它继续工作。
这会如何改变代理界面?
监督界面在代理工作过程中显示哪些事项需要关注。证据关口在结束时拦下薄弱完成。审查包则持久化结果。三者共同形成一个闭环:
- 操作者委派一个目标。
- 代理在审批和追踪控制下行动。
- 系统在事件发生时记录证据。
- 代理总结工作。
- 审查包将每条声明绑定到证明。
- 人类批准、拒绝,或把工作退回。
这个闭环也会改变代理的写作标准。最终答复不应假装自己就是证明。它应该说明证明在哪里、哪些已经通过、哪些仍然开放。当任务涉及公开内容、客户数据、资金、安全、生产环境或翻译时,审查包应比聊天记录存在得更久。
快速总结
对于严肃的代理工作,审查包应取代最终答复,成为可信的完成产物。OpenAI Codex已经指向可验证的终端日志、测试输出、审批、遥测和云任务追踪。12346Anthropic的钩子生命周期从另一套代理栈展示了同样的执行环境形态。5NIST提供了信任框架:评估应存在于AI产品、服务和系统的设计、开发、使用和评估之中,而不只是模型行为之中。7
实际做法很简单:最终答复保持简短,审查包必须真实存在。
FAQ
什么是AI代理工作的审查包?
审查包是一组结构化证据,记录代理被要求做什么、发生了哪些变更、运行了哪些命令和工具、进行了哪些审批、哪些检查已经通过,以及哪些内容仍未验证。它为人工审查者提供一个决策对象,而不是只有文字形式的完成声明。
为什么最终答复不够?
最终答复会概括工作,但不能证明工作确实发生过。代理任务现在包含工具调用、文件编辑、测试、部署、翻译、审批和缓存状态。这些事实需要附带证据。最终答复可以指向审查包;审查包才应承载证明。
审查包首先应包含什么?
先放入目标、已变更文件、命令和测试证据、来源核查、审批决策、部署或路由证明,以及未解决缺口。当工作涉及公开页面、生产环境、安全、资金或客户影响面时,再加入完整追踪、截图、母语审查签核和风险说明。
每个代理任务都需要审查包吗?
不需要。低风险的探索性任务可以用普通摘要收尾。审查包适用于人类需要签署、合并、发布、部署、支出、批准,或日后依赖结果的场景。审查包应随风险扩展。
审查包和追踪有什么关系?
追踪记录一次代理运行中发生了什么。审查包选择对决策有意义的追踪事件,并把它们绑定到声明上。追踪是原始记录,审查包是审查对象。
参考文献
-
OpenAI,“Introducing Codex,” OpenAI,2025年5月16日。来源用于说明Codex是基于云的软件工程代理,并支持“Codex通过终端日志和测试输出引用,为操作提供可验证证据”这一说法。 ↩↩
-
OpenAI,“Codex cloud,” OpenAI Developers。来源用于说明Codex云任务会在沙箱化云容器中读取、修改并运行代码,包括后台任务和并行任务执行。 ↩↩↩
-
OpenAI,“Tracing,” OpenAI Agents SDK。来源用于说明代理运行、跨度、LLM生成、工具调用、交接、护栏和自定义事件的内置追踪。 ↩↩↩
-
OpenAI,“Human-in-the-loop,” OpenAI Agents SDK。来源用于说明审批中断、待处理审批、序列化
RunState,以及审批决策后的恢复执行。 ↩↩↩ -
Anthropic,“Hooks reference,” Claude Code Docs。来源用于说明Claude Code生命周期事件,例如
PreToolUse、PostToolUse、PermissionRequest和Stop。 ↩↩↩ -
OpenAI,“Running Codex safely at OpenAI,” OpenAI,2026年5月8日。来源用于说明OpenAI所描述的Codex控制措施,包括沙箱、审批、网络策略、身份、托管配置、OpenTelemetry日志导出、合规日志和代理原生遥测。 ↩↩
-
National Institute of Standards and Technology,“AI Risk Management Framework,” NIST。来源用于说明应将可信性考量纳入AI产品、服务和系统的设计、开发、使用和评估之中。 ↩↩