Harness Engineering Report · 2026-10

Claude Code、Codex、DeepSeek Harness
谁的 Agent Harness 更强?

这不是“哪个模型更聪明”的比较,而是比较把模型变成可交付工程系统的那一层:循环调度、状态持久化、记忆、工具、权限、沙箱、上下文压缩、暂停/恢复、并行代理与最终交付。

事实 / 推断分层公开源码 + 官方文档面向真实开发工作不把泄露源码当作权威实现
一句话结论:如果把“工程完成度”拆开,Claude Code 在“长任务工作流、记忆治理、云端会话恢复、可扩展生命周期钩子”上最完整;Codex 在“开源可审计、沙箱/审批边界、上下文压缩与线程可编程性”上最扎实;DeepSeek Harness 在“插件化、自我扩展、可组合实验”上最激进,但仍是 developer preview,稳定性和治理成熟度明显落后。

Claude Code

A−

最佳长任务体验与记忆/会话产品化。代价是核心 CLI 实现不完全公开,部分结论只能来自官方行为文档。

Codex

A

最强的“可审计 Harness 工程感”:Rust 开源、审批与沙箱分离、线程/分支/压缩机制清晰。交付表达更偏过程透明。

DeepSeek Harness

B+

架构想象力最高:Everything is a plugin、Cordis 时空可组合。当前仍更像 Harness 实验平台,而非成熟生产工作台。

我的判断:差异来自 Harness 设计

  • Codex 麻利但话多:它把工具轨迹、权限边界、检查点和中间判断显式化,优先保证可审计和可控,因此过程感更强。
  • Claude Code 默默但成品漂亮:它把更多中间治理放进会话状态、自动记忆、后台任务、hooks 和输出风格,用户看到的是压缩后的交付。
  • 这不是单一优劣:前者偏“工程控制台”,后者偏“工作流产品”;如果任务失败需要回溯,Codex 的显式轨迹更容易审计;如果任务成功率和交付洁净度优先,Claude Code 更占优势。
  • DeepSeek Harness 的路线不同:它把 Harness 本身做成可替换的插件系统,适合研究和二次开发,尚未证明在复杂生产任务上胜过前两者。

统一模型:可恢复的执行系统

用户目标
自然语言
→
上下文构造
规则/记忆/工具
→
模型推理
文本或 tool call
→
策略门
权限/审批/沙箱
→
执行器
shell/edit/MCP
→
状态写入
日志/快照/记忆

成熟 Harness 的核心不是“会调用工具”,而是能在工具失败、上下文接近上限、用户暂停、网络断开、权限变化、子代理并行时,仍然知道自己处于哪个可恢复状态。

内循环

prompt + system/tools/history → assistant tool call → 工具/Hook 执行 → 结果回填 → 继续推理,直到 text-only result。

while not done:
  ctx = build_context(state)
  msg = model(ctx)
  if msg.tool_call:
      decision = policy(msg.call)
      result = execute(msg.call, decision)
      state.append(msg, result)
  else:
      return finalize(msg)

外循环

会话恢复、分支、子代理、并行任务、Git/文件检查点、长期记忆、预算/步数限制、用户审批和审计日志。

关键洞察:模型能力决定“想出什么”,Harness 决定“能否安全、持续、可验证地做完”。

能力矩阵

维度Claude CodeCodexDeepSeek Harness工程判断
公开性核心 CLI 非完整开源;SDK/文档公开 部分事实CLI 与 SDK 开源,可读 Rust/TS/Python 事实开源 MIT,developer preview 事实Codex/DeepSeek 可审计;Claude 需行为黑盒测试
Agent loop内置 CLI/SDK loop,max_turns/max_budget,ResultMessage 事实Responses API 驱动,tool call 迭代,线程化 事实插件化 loop,核心能力均可替换 事实Claude 产品化最好,Codex 可解释性最好,DeepSeek 可塑性最好
会话恢复continue/resume/fork;SDK 支持 SessionStore 云端镜像 事实thread resume/fork/archive,~/.codex/sessions,rollout/checkpoint 事实有轨迹/插件机制,但生产级持久化证据较少 推断Claude 与 Codex 都强;Claude 云恢复产品化更成熟
记忆CLAUDE.md + auto-memory + path-scoped rules;主题文件按需加载 事实AGENTS.md/项目指令 + transcript/compaction;更偏上下文治理 事实插件/技能按需加载、跨会话快照、goal 状态和 durable session;组合语义快速迭代 事实Claude 的“显式长期记忆”最完整
上下文压缩自动压缩,重注入规则、记忆、计划、最近文件;可 /compact、/rewind 事实auto_compact_limit + Responses compact,保留 compaction encrypted_content 事实需看插件/模型上下文策略;公开证据不足 未知Codex 机制最公开,Claude 体验最自然
权限与沙箱hooks → deny → ask → mode → allow → canUseTool;云端隔离 sandbox 与凭据代理 事实审批与沙箱分离,read-only/workspace-write/full-access,auto-review 事实安全通知明确 preview 风险;依赖宿主和插件治理 推断Codex 与 Claude 都强;Claude 云端凭据隔离更漂亮
工具扩展MCP、hooks、skills、subagents、plugins 事实MCP、skills、plugins、subagents、SDK 事实Everything is a plugin,Cordis 时空可组合 事实DeepSeek 的架构自由度最高,治理成本也最高
交付表达可配置 Default/Proactive/Concise/Explanatory/Learning,偏结果洁净 事实轨迹、审批、diff、工具输出更显式,偏工程透明 推断可由插件和 UI 组合,风格尚未稳定 推断你的主观感受与 Harness 设计目标一致
Decision table

相对评分矩阵

工程成熟度评分(0–100),用于横向比较,不代表模型智力或官方 benchmark。

Claude CodeCodexDeepSeek Harness
能力维度Claude CodeCodexDeepSeek Harness最高分

评分是本报告基于公开证据与工程判断的相对量表;点击上方“证据与来源”查看依据和边界。

泄露复刻线索:证据分层

证据等级:下面的实现细节来自社区对 2026 年 npm source-map 泄露内容的阅读、整理或干净复刻,不是 Anthropic 当前官方规范。它们适合用来理解设计思想,不适合当作可运行的官方源码或安全边界。

可安全引用的架构线索

  • 单一核心 query loop:社区研究把 Claude Code 的中心识别为一个约 1,730 行的异步生成器,统一处理模型流、工具并发、压缩、预算、恢复、hooks 和终止原因;另一个 clean-room 复刻把它拆成约 5,000 行、13 个工具和独立章节,便于验证设计模式。
  • 显式状态/配置/依赖分离:可变 State、入口快照 QueryConfig、可注入 QueryDeps,让 compactor、模型调用和 UUID 都能被替换测试。
  • 分层压缩与错误恢复:先做轻量删除/截断,必要时才摘要;社区研究归纳出 Budget Reduction、Snip、Microcompact、Collapse、Auto 等阶段,恢复有次数上限,避免 retry/compact 无限烧预算。
  • Fork 子代理的缓存工程:通过复制父级 system prompt、工具定义和历史前缀,只让最后的 directive 不同,以复用 prompt cache;权限请求可以 bubble 回父会话。
  • 后台与隔离:async agent、自动 background、worktree isolation、remote task 让长任务不阻塞主会话;fork 子代理可复用父级 cache 前缀,普通子代理则拥有更干净的独立上下文。

对上一版判断的修正

  • Claude Code 的“安静但漂亮”不是偶然的输出风格,而是深度整合了预算、上下文、后台任务和结果类型的运行时策略。
  • 在“内循环恢复、子代理缓存、后台生命周期、压缩分层”上,Claude Code 的工程复杂度可能高于我们仅凭官方文档估计的水平。
  • Codex 仍然在“开源可审计、sandbox/approval 分离、线程协议透明度”上更强;这不是 Claude Code 内部实现不优秀,而是证据可见度不同。
  • DeepSeek Harness 的插件化路线更容易替换这些部件,但在默认组合、版本稳定性和供应链治理上仍处于 preview 阶段。

建议阅读:claude-code-from-source 的 agent loop 研究、clean-room 教育复刻、社区 multi-agent 研究、Fork subagent 研究。

安全提醒

搜索结果中也有伪装成“解锁版泄露源码”的恶意仓库和 dropper。不要下载 .7z、可执行文件或要求关闭安全软件的 fork;只阅读 Markdown/源码页面,并优先使用官方发布的当前版本。Anthropic 官方安全公告还记录过恶意仓库配置在信任确认前泄露 API key 的漏洞,说明 agent 的“加载项目配置”本身就是安全边界。

Claude Code:长期工作记忆型

启动:加载 CLAUDE.md、auto-memory、MCP 工具名、技能描述。

执行:每次工具前经过 hooks/deny/ask/permission mode。

压缩:接近上下文上限自动 compact,重新注入系统规则、记忆、计划、git 状态和最近文件。

恢复:本地 JSONL 连续保存;SessionStore 可双写到对象存储/KV/DB,多主机恢复。

回溯:/rewind 可恢复文件检查点,但 Bash 副作用不自动回滚。

Codex:可审计线程型

启动:线程 + cwd + instructions + tools + sandbox/approval policy。

执行:Responses API 返回最终文本或 tool call,结果追加进输入继续推理。

压缩:超过 auto_compact_limit 走 compact endpoint,生成 compaction item。

恢复:thread resume/fork/archive,SDK 暴露线程管理。

检查:Git checkpoint 与 rollout materialization 让“做了什么”容易复盘。

DeepSeek Harness:插件化实验型

公开项目的核心命题不是把所有治理逻辑固化在一个 CLI,而是把 UI、工具、模式、工作流、技能、代理、session log、compaction 和 sandbox 都做成插件。官方文档还明确了 append-only、可派生历史、goal pause/resume/complete 和 session fork。这样可以把 Harness 当作“可编程操作系统”,但也意味着:

  • 版本兼容和插件供应链风险更高;
  • 状态、权限、持久化语义依赖插件组合;
  • 目前 developer preview,不适合直接承担不可逆生产运维。

谁的安全工程更好

Claude Code 云端:官方描述为每会话隔离 sandbox,敏感 git 凭据和签名密钥不放入 sandbox,而由代理服务按范围验证后代发。这是“凭据不进代理执行环境”的优秀模式。

Codex:把“是否允许”与“在哪里执行”拆开,审批策略、文件系统 sandbox、网络策略和自动审查各自独立。设计更透明,适合需要逐项审计的团队。

DeepSeek:开源和插件化让安全边界可自定义,但 preview 阶段不能假设默认组合已经达到 Claude/Codex 的生产级治理。

原则:不要把 root 私钥塞入 Harness 的普通工作区。更好的架构是短期、最小权限、可撤销的 agent 身份;凭据通过 Secret Manager/代理签发,执行器只拿到受限能力。

为什么 Claude 更漂亮、Codex 更啰嗦

同一类任务里,两个系统把过程暴露给用户的方式不同,最后形成了“成品感”和“控制台感”的差异。

Claude Code 的优化目标

  • 把状态管理、记忆和后台任务藏到系统层;
  • 用 output styles 压缩呈现;
  • 通过 hooks、subagents、SessionStore 让长任务少打断;
  • 最终输出更像经过编辑的交付物。

Codex 的优化目标

  • 把 sandbox、approval、diff、tool result 显式化;
  • 强调可复盘、可 steering、可 resume/fork;
  • 让用户看见“为什么做、做了什么、权限是否变了”;
  • 因此中间过程更长,但工程透明度更高。
对你的使用建议:把 Claude Code 当“长任务交付型主执行器”,把 Codex 当“审计/重构/高风险变更的工程控制台”,把 DeepSeek Harness 当“研究插件架构、搭建自有 Harness 的实验底座”。

证据、边界与来源

把官方文档、开源仓库、社区研究与推断拆开,读者可以沿着原始来源复核每个判断。

  1. OpenAI:Unrolling the Codex agent loop:公开解释 tool-call loop、上下文窗口、自动 compact。
  2. OpenAI Codex GitHub:开源 CLI、SDK、sandbox/approval 代码与线程协议。
  3. Claude Code Memory:CLAUDE.md、auto-memory、路径规则。
  4. Claude Agent SDK Agent Loop:tool call 循环、max_turns、ResultMessage。
  5. Claude SDK Session Storage:JSONL、本地/云端 SessionStore、镜像与恢复。
  6. Claude SDK File Checkpointing:Write/Edit 检查点与回溯边界。
  7. Anthropic:Claude Code sandboxing:云端隔离 sandbox 与凭据代理。
  8. DeepSeek Harness GitHub:Everything is a plugin、Cordis、developer preview、MIT。
  9. DeepSeek Harness 官方介绍:插件化定位与开发者预览。
  10. Axios:Claude Code source-map leak:说明泄露事件背景。泄露仓库不是官方权威,也不应运行来验证。
  11. 社区 clean-room / source study:用于理解 loop、预算、压缩和恢复模式,不代表 Anthropic 当前实现。
  12. Anthropic 安全公告:提醒项目配置与信任边界必须单独审计。
研究边界:Claude Code 核心 CLI 不是完整官方开源项目;社区所谓“泄露源码 fork”存在版权、恶意代码和版本真实性风险。本报告只把官方文档描述的行为当作事实,把社区仓库当作设计模式参考,不把泄露代码当作 Anthropic 内部真相。