2.1 Claude Code 与 Codex 的公开设计


2.1 Claude Code 与 Codex 的公开设计

本节摘要:两个被使用得最广的终端编码智能体,恰好代表了两种可研究性:Claude Code 闭源但系统提示词与权限设计有大量公开泄露资料(社区),Codex CLI 直接开源(官方)。本节按六组件模板逐格填写:Claude Code 的工具表(Read/Write/Edit/Bash/Grep 等十件套)、三级权限判定(ask/allow/deny)与 hooks 挂载点、项目级上下文文件与压缩策略;Codex CLI 的沙箱模式分级(read-only / workspace-write / danger-full-access)与审批策略。两相对照能看到同骨架下的两种取舍:Claude Code 把功夫下在权限粒度与 hooks 生态,Codex 把功夫下在隔离与可审计。资料口径声明:本节内容基于公开泄露资料与官方文档整理(社区),产品演进很快,细节以各家官方文档为准。

学习目标

阅读完本节,你应当能够:

  1. 列出 Claude Code 公开工具表的主体工具及其分工。
  2. 描述 ask/allow/deny 三级权限判定与 hooks 的主要挂载点。
  3. 说出 Codex CLI 三档沙箱模式各自的承诺。
  4. 对比两者在"权限粒度 vs 隔离强度"上的不同侧重。

一、为什么解剖这两个

选样本的标准是"可研究性"与"代表性":Claude Code 是终端编码智能体的标杆,其系统提示词、工具定义、权限设计有完整的公开泄露资料(社区整理,《System Prompts Leaks:系统提示词泄露库》有汇编)——相当于拿到一份工业级 harness 的"设计图纸";Codex CLI 整个开源(官方),可以直接读源码验证。两者都跑在工程师的终端里、干同一类活,差异 therefore 全部来自 harness 设计——是绝佳的对照样本。

二、Claude Code:把权限做成品格

以下按六组件模板填写(资料:公开泄露资料 + 官方文档,社区):

② 工具系统——公开工具表的主干(泄露资料整理):

工具 职责 备注
Read / Write / Edit 读、写、精确编辑文件 Edit 用旧串→新串的替换语义,而非整文件重写
Bash 执行 shell 命令 权限判定的重点对象
Glob / Grep 文件名匹配 / 内容检索 与 Bash 分离:结构化检索不进 shell,天然低危
Task 派生子智能体(受限上下文) 上下文管理手段:脏活外包,结果摘要回流
WebFetch / WebSearch 取网页 / 搜索 网络能力单列,便于权限控制
TodoWrite 维护任务清单 让模型显式管理自己的计划,抗跑偏

💡 注意工具表的两个设计语言:其一,结构化操作与任意执行分离(Grep 与 Bash 分开)——分离才能分级授权;其二,TodoWrite 这种"给模型自己的备忘工具"——上下文工程工具化的例子(第 7 章展开)。

③ 权限门——三级判定 + 作用域匹配(官方文档):每个工具调用按 ask(默认,问人)/ allow(白名单静默放行)/ deny(硬拒)三级判定;allow 列表支持按工具与参数模式配置(如允许 Read、允许特定前缀的 Bash 命令);另有会话级的权限模式切换。这是第 5 章 allowlist 设计的原型。

暗线 Hook——生命周期挂载点(官方):提供 PreToolUse、PostToolUse、会话开始/结束、压缩(compaction)前后等挂载点,用外部脚本在固定时机注入策略或拦截改写——第 8 章的主角在此露脸。

💡 泄露资料里还能看到 skills(可安装的技能包:工具 + 提示词 + 资源的打包分发)与 Task 子智能体的组合使用——前者解决"能力如何被复用与分享",后者解决"脏活如何不污染主上下文"。两者分别预告了第 7 章(上下文)与第 8 章(Hook)的主题。

⑤ 上下文——分层供料(泄露资料 + 官方):系统提示词(身份、环境、风格约束)+ 项目级上下文文件(CLAUDE.md,随仓库走,团队共享约定)+ 会话历史 + 工具结果;窗口将满时自动压缩(compaction):摘要化旧对话、保留关键文件与最近操作。第 7 章展开原理。

三、Codex CLI:把隔离做成承诺

Codex CLI 开源(官方),六组件里最有辨识度的是 ④ 沙箱——它把"模型能碰到什么"做成了显式分档的配置:

沙箱模式 承诺 适用
read-only 只能读文件系统,不写不联网 最高危环境、纯分析任务
workspace-write 只能写工作区目录;网络默认禁,可按需放行 日常开发的主力档位
danger-full-access 无隔离 需要全权操作时的显式自担选项

配套的审批策略决定哪些命令要人点确认、哪些放行自动执行,与沙箱档位正交组合——"隔离强度"与"打断频率"两个旋钮分开拧,用户按场景配对。这套"沙箱分档 + 审批正交"是第 6 章沙箱设计的核心参照。

其余组件(工具、循环、上下文)与 Claude Code 同构,开源仓库可直接阅读源码对照本书第 3、4 章的示意实现(延伸阅读:同站教程库相关精读)。

四、对照:同骨架,两种功夫

维度 Claude Code Codex CLI
可研究性 泄露资料 + 官方文档(社区) 开源(官方)
工具表 结构化检索与执行分离 + 子智能体 + TodoWrite 精简核心集,执行类为主
权限 ask/allow/deny 三级 + 参数级 allowlist,粒度细 审批策略 + 沙箱档位正交组合
隔离 依赖权限门与用户监督(终端环境) 原生沙箱分档,隔离是一等公民
上下文 系统提示词 + CLAUDE.md + compaction 系统提示词 + 仓库引导文件

两条路线没有对错:权限派赌"把每个动作判准",隔离派赌"就算判错也困在沙箱里"。成熟的内部平台通常两者都要——这正是第 5、6 章连续两章的原因:刹车(权限)与防爆舱(沙箱)解决的是同一信任问题的两半。

组合的现实:不少团队在内部平台同时部署两套思路——日常开发走 Codex 式沙箱兜底,需要跨仓库或高权限的任务走 Claude Code 式精细 allowlist;两套的运维成本,就是"既要又要"的代价。

五、把样本经验带进自研

从这两个产品能直接抄走的三条经验(后续章节逐一展开):

  1. 工具要为权限分级而生:把"能分级授权的操作"从 Bash 里拆出来单列(Grep/Glob 模式)——第 4.1 节工具分类学、第 5.1 节作用域设计的出发点。
  2. 打断频率是产品参数:ask/allow/deny 与审批策略都是"每打断一次值多少安全"的不同定价——第 5.2 节的风险 × 可逆性矩阵。
  3. 上下文要有"随仓库走"的层:CLAUDE.md 式项目文件让 harness 的行为可被团队约定——第 7 章上下文分层。
  4. 隔离欠账要显性化:Codex 把沙箱档位摆在配置第一位,等于承认"总会有判错的时刻"——为判错设计兜底,是第 6 章沙箱的立论起点。

解剖的方法论也值得带走:先找资料口径(官方文档 / 开源仓库 / 泄露汇编),再按六组件模板逐格填写,最后才做对照——顺序错了,结论就是 rumor 的排列组合。

本节要点回顾

  1. Claude Code(社区泄露资料 + 官方文档):结构化工具表 + ask/allow/deny 三级权限 + hooks 挂载点 + CLAUDE.md/compaction 上下文分层——权限粒度是其辨识度。
  2. Codex CLI(开源,官方):沙箱三档(read-only / workspace-write / danger-full-access)+ 审批策略正交——隔离强度是其辨识度。
  3. 对照结论:同一副骨架,"权限派"与"隔离派"两种功夫;内部平台通常两者都要。
  4. 可抄走三条:工具为分级而生、打断频率是产品参数、上下文要有随仓库走的层。

终端双雄看完,下一个样本换种形态:一个不吃终端、住在聊天软件里、24 小时在线的 harness——OpenClaw 与开源 harness 家族。


作者与出处
原作者: 灏天文库
整理: 灏天文库整理
本站整理收录,版权归原作者/开源协议所有;欢迎通过原文链接访问源仓库。
发布者: 作者: 灏天文库 转发
评论区 (0)
U