Codex 子代理提示词加密:隐私加固还是审计黑洞
Codex MultiAgentV2 把子代理任务消息标成加密后,本地 rollout 里看不到可读任务文本。本文解释变化原因、调试时丢了什么、以及团队怎么补审计面。

Codex 在 MultiAgentV2 相关改动(社区指向 #26210,议题 #28058)之后,spawn_agent / send_message / followup_task 等路径上的任务内容对本地审计不再明文可见:模型侧参数被标成加密,历史上留下的是密文,人类可读的 content 为空。这是隐私加固,也是调试回归——两者同时成立。
加密到底改了什么
变更意图很好理解:子代理之间传递的任务说明可能含路径、业务规则、甚至误贴的密钥片段,明文落在本地 rollout 有泄露面。
副作用同样具体。复盘一次多代理会话时,你很难直接回答:
- 父代理到底派了什么任务给子代理?
send_message传了哪段指令?- 某个 child thread 为什么存在?
议题标题写得很直白:加密之后,可读的任务审计轨迹被拿掉了。这和“加密 schema 校验失败”类问题(另有议题)不是一回事;这里假设加密路径已成功,问题在事后看不见。
什么时候你会痛
- 多代理编排出 bug,需要对照“派工指令 vs 实际改动”。
- 安全/合规要求保留操作说明,却发现日志只有密文。
- 教学或 code review 想展示 agent 如何拆任务,素材里没有可读任务文本。
若你几乎不用 MultiAgentV2,可能无感。用得越多,审计缺口越大。并行编排实践可对照 Claude Code / Codex 多代理编排。
现在还能怎么审计
在官方恢复“对人可读、对模型可控”的分层展示之前,团队只能自己补一层:
- 派工时外置任务卡:父代理创建子任务前,先把目标写进 issue / 本地
tasks/*.md,会话里只引用文件路径。 - 要求子代理回写摘要:完成后强制产出“做了什么 / 改了哪些文件 / 未完成项”,摘要进 PR,不依赖加密 payload。
- 关键操作走可审计工具:合并、发布、删库等不要只靠子代理私聊完成,用 CI 与人工门禁留痕。
- 密钥永远别进任务文本:加密降低本地明文风险,不等于可以放心把 token 写进 prompt。凭证方案见下文网关思路,以及 AI 代理 GitHub 权限审计。
产品设计上的张力
对厂商:加密降低本地泄露与误分享面。
对使用者:代理系统越强,越需要可解释的任务图。
理想状态是分层:模型传输可加密,本地信任环境仍提供解密后的审计视图(或结构化任务摘要)。在议题仍 open 时,不要假设“日志里一定看得到派工原文”。
常见问题
升级后旧会话的明文任务还在吗?
取决于升级前后是否已按新路径写入。新产生的 MultiAgentV2 消息按加密存储;旧明文是否保留要看本地历史是否被迁移覆盖。重要结论请外置到 PR/文档。
这会不会让子代理更安全?
降低“任务正文躺在明文日志里被顺手复制”的风险,但解决不了工具权限过大、凭证进上下文等问题。加密是传输/存储面,不是权限模型。
和 Claude Code 子代理是一回事吗?
都是多代理协作,实现与日志策略不同。不要把 Codex 的加密行为套到 Claude Code,也不要反向套用。