📐 Harness 工程 · 中文翻译

附录 A 详细对比表

本附录汇集正文引用的最密集的逐系统对比表:11 个系统提示词的修辞内容(表 16)、高级 API 特性矩阵(表 17),以及 Claude Code 与 Codex 的正面对比管线比较(表 18)。

表 16:11 个系统提示词的修辞内容(2026 年 7 月)。
系统 冗长规则 反过度打磨 提交策略 表情符号规则 强调风格
Claude Code 量化(≤25/100\leq 25/100 词;内部 A/B) 显式 未被要求不提交 有条件 IMPORTANT:/NEVER 标签
Codex 定性(5.2);人格驱动(5.6) 显式(5.2);删除(5.6) 不提交(5.2);特性开关(5.6) 无 NEVER 标签
Gemini CLI 经片段门控 隐式 隐式 无 特性门控的分节
Mistral Vibe 严格(<150<\!150 词) 显式 反转:预期提交,带签名尾注 严格禁止 可覆盖性契约(结构性的)
OpenHands 无 显式(文件后缀) 教授提交;push/PR 受门控 无 XML 角色标签
Aider “几句短句” 隐式 沉默 沉默 格式示例
Mini-SWE-Agent 结构性的(每轮 1 条命令) 沉默 沉默 沉默 <important> XML
Hermes 定性(“以改动开头”) 显式 未被要求不提交/推送/重写 无 MUST/NEVER 加范例对;按模型门控的 XML
Pi 单条要点(“保持简洁”) 沉默(已委托) 沉默(已委托) 沉默 仅 XML 数据标签
OpenCode 量化(<< 4 行;按模型而定) 显式 未被要求不提交 有条件;GPT 提示词禁止 IMPORTANT:/NEVER 加 <system-reminder>
OpenClaw 逐智能体 继承 继承 继承 逐智能体
表 17:各系统使用的高级 API 特性(2026 年 7 月)。
系统 提示词缓存 扩展思考 推理力度 模型路由 WebSocket 视觉 成本跟踪
OpenHands 部分(缓存层级 + 标记) ✓ ✓ ✓(RouterLLM) ✗ ✓ 逐模型
Aider 部分 ✗ ✗ ✗ ✗ 可选 token+$
Claude Code 完整(Blake2b 边界) ✓ ✗ ✗ ✗ ✓ token+$
Codex 部分(thread_id 键) ✗ ✓(至 max/ultra) ✗ ✓ ✓ 逐轮
Gemini CLI ✗(服务端) ✓ ✗ ✓(路由器) ✗ ✓ OTel/token+$
Mistral Vibe 部分 ✓ ✓(5 档) ✗ ✗ ✓ OTel/逐会话
Mini-SWE-Agent 部分 ✗ ✗ ✗ ✗ 可选 litellm
Hermes 完整(供应商无关标记 + 前缀规范化) ✓ ✓(5 档,逐供应商翻译) 仅故障转移链 ✗ ✓ token+$,类型化来源
Pi 完整(断点 + TTL 层级 + 浪费审计) ✓(7 级刻度) ✓(10 种方言) ✗(刻意设计) ✓(Codex 后端) ✓ token+$,分级定价
OpenCode 完整(6 方言扇出 + 会话键) ✓ ✓(按日期门控的变体) 仅小模型选择 实验旗标 ✓ token+$(Decimal)
OpenClaw 部分 ✓ ✗ ✗ ✓ ✓ 逐供应商
表 18:正面对比的管线比较:Claude Code 对 Codex。
阶段 Claude Code Codex
提示词组装 12–15 个具名分节。静态前缀(身份、规则、工具)经 Blake2b 哈希缓存;动态后缀(环境、记忆、MCP)逐轮重算。SYSTEM_PROMPT_DYNAMIC_BOUNDARY 分隔两者。 按模型的提示词作为服务端下发的目录数据(models.jsonbase_instructions,远程刷新并带捆绑回退);人格模板化。AGENTS.md 经根到 cwd 的拼接注入(嵌套内容追加在最后)。
工具暴露 43 个工具,但初始只加载子集。延迟工具经 ToolSearchTool(关键词检索 + select: 语法)按需发现。提示词 token 减少约 ∼\sim40%。 25–30 个内建;schema 经 create_tools_json_for_responses_api() 转换为 OpenAI Function 格式。延迟加载如今成镜像: defer_loading 旗标(默认对 MCP 工具)+ BM25 tool_search。
API 协议 Anthropic Messages API。SSE 流式,带 content_block_{start,delta,stop} 事件。扩展思考经 budget_tokens。 OpenAI Responses API。WebSocket 为主,SSE 回退。连接预热(generate=false)。轮次状态经 x-codex-turn-state 头。推理力度(minimal–xhigh,另有 max/ultra;ultra 加自动委派)。
工具派发 partitionToolCalls():单趟归约按 isConcurrencySafe() 划分。连续的安全工具成批;不安全工具单独执行。信号量上限 10 并发。 FuturesOrdered 经一个专门的 ToolCallRuntime;逐工具 supports_parallel 旗标(默认 false)门控一把执行锁——并发不安全的工具独占执行。
权限 3 层:(1) PreToolUse Hook(静态模式匹配),(2) LLM 风险分类器,(3) 交互对话框。子智能体跳过第 3 层。 4 层:(1) ExecPolicy Starlark 规则,(2) 生命周期 Hook(与 Claude Code 兼容的词汇),(3) Guardian LLM 审批审查器(失败即关闭),(4) 操作系统级沙箱强制。
执行 宿主执行加可选操作系统沙箱(Anthropic sandbox-runtime:Bubblewrap/Seatbelt、网络限制、dangerouslyDisableSandbox 逃生舱);git worktree 做分支隔离。 沙箱内执行。Vendored Bubblewrap(Linux;Landlock 旧版回退)、Seatbelt(macOS)、受限令牌(Windows)。
压缩 剩余上下文低于 AUTOCOMPACT_BUFFER_TOKENS(13K)时触发,另有环境变量可覆盖的百分比阈值。图片剥离、按 API 轮次的消息分组、LLM 摘要、SystemCompactBoundaryMessage。压缩后清理:恢复 5 个文件(50K token 预算)。 model_auto_compact_token_limit 可配置。本地或云端压缩经 /responses/compact;rollout token 预算带轮次中止。