Codex加密提示词,用密文推理
速览
Codex(OpenAI的代码生成模型)开始对用户输入提示进行加密,并在推理过程中直接使用密文进行计算,避免明文暴露。这一做法旨在提升用户隐私保护,防止敏感代码或数据泄露。但也可能带来额外的计算开销,影响推理效率。这是OpenAI在AI安全领域的一次重要尝试。
AI 深度解读
背景
Codex CLI 是一个面向开发者的 AI 编程助手命令行工具,支持多代理协作(MultiAgentV2)以完成复杂任务。近期,Codex 团队合并了 PR #26210(“Encrypt multi-agent v2 message payloads”),该更改对 MultiAgentV2 模式下的代理间通信负载进行了加密,旨在增强隐私保护,防止敏感任务内容在传输或存储中被明文暴露。然而,这一隐私加固措施引入了新的回归问题:加密后的消息在本地回滚历史、痕迹缩减以及父代理的审计/调试界面上,彻底丢失了人类可读的任务描述文本,导致开发者无法追踪和审查代理间的任务委派。
核心内容
该 issue(编号 #28058)报告了一个回归行为:在包含 #26210 变更且启用 MultiAgentV2 的 Codex CLI 版本(0.137.0 后)中,代理间的 spawn_agent、send_message 和 followup_task 消息处理会将模型面对的消息参数标记为加密状态。具体表现是:系统只存储 InterAgentCommunication.encrypted_content,而 InterAgentCommunication.content 字段被留空。
这意味着加密交付路径虽然实现了隐私加固,但同时从以下位置移除了人类可读的任务/消息文本:
- 本地回滚历史(rollout history)
- 痕迹缩减(trace reduction)
- 父代理侧的审计/调试界面
开发者因此无法回答基本问题,例如:
- 父代理通过
spawn_agent调用给子代理的具体任务是什么? - 向子代理发送了什么消息?
- 事后审查回滚时,子线程为何存在?
该 issue 与另一个 schema 验证问题 #26753 不同:#26753 报告的是加密工具 schema 导致请求验证失败(返回 400 错误),而本 issue 关注的是加密 schema 被接受后,审计性和可调试性的缺失。
复现步骤:
- 使用包含 #26210 且启用 MultiAgentV2 的构建版本。
- 让模型调用
spawn_agent、send_message或followup_task。 - 检查父代理的回滚/历史/痕迹中关于子代理任务的信息。
- 发现任务/消息内容被密文隐藏,没有可读的审计文本。
预期行为:
Codex 应在保持加密交付给接收模型的同时,保留一份人类可读的结构化审计副本。可能的解决方案是:保留原有的加密 message 字段用于模型交付,同时新增一个独立的非加密审计字段(audit),用于存放可读的任务文本。该审计字段应持久化保存在回滚/历史/痕迹元数据中,使用户和维护者无需解密模型交付密文即可检查被委派的任务。
关键要点
- 加密措施:PR #26210 对 MultiAgentV2 消息负载进行了加密,仅存储
encrypted_content,清空content字段。 - 审计丢失:加密导致本地后端无法记录人类可读的任务描述,回滚历史、痕迹缩减和父代理调试界面均失去可读性。
- 影响场景:开发者在事后审查代理间委派时,无法得知子代理被分配的具体任务、消息内容或线程产生的原因。
- 与另一 issue 的区别:#26753 关注加密 schema 导致请求验证失败;#28058 关注加密 schema 被接受后审计追踪的缺失。
- 预期修复方向:在保持加密交付的同时,增加一个独立的非加密审计字段,将可读任务文本持久化到元数据中,而不需要解密原始密文。
- 隐私与调试平衡:用户并不要求回滚加密交付本身,而是担心完全移除本地人类可审计性,希望 Codex 在隐私和可调试性之间取得平衡。
意义与影响
- 对开发者体验的冲击:加密本意是保护敏感数据,但完全移除审计信息会严重削弱开发者的调试和回滚能力。对于复杂的多代理工作流,无法查看子任务详情意味着定位问题的难度急剧上升,甚至可能导致开发者对系统行为失去掌控。
- 隐私与可追溯性的平衡挑战:这一回归凸显了隐私加固与系统可观测性之间的典型矛盾。加密存储使得数据在存储和传输中安全,但如果完全阻断人类可读审计路径,会降低系统对故障排查、合规审查和安全审计的支撑能力。Codex 的预期修复(增加单独审计字段)是一种合理的折中方案。
- 对类似系统的参考价值:许多 AI 工具和平台都面临同样的问题——在引入端到端加密或隐私保护机制时,需要预先设计好审计和调试通道的替代方案。这个案例为其他团队(如 OpenAI、Anthropic 的协作式代理系统)提供了重要的经验教训:隐私加固不应以完全牺牲可调试性为代价。
- 社区反馈与迭代方向:该 issue 表明社区对透明度和控制权的重视。Codex 后续版本很可能采纳新增审计字段的方案,这将是隐私与可用性之间一个务实的改善,也为用户提供了一种“可选加密但保留本地审计”的模式。
