从Harness Engineering角度对比Claude Code CLI与OpenClaw
从Harness Engineering角度对比Claude Code CLI与OpenClaw
最近openClaw的热度刚有所销退,Claude Code CLI的源代码在网上泄露引起关注,同时harness engineering的概念也已经兴起,作为技术从业者,这些新的框架和产品,和harness engineering究竟是什么关系,特地咨询了AI,总结分享给大家学习。
一、三个概念的核心定位
1. Claude Code CLI
定位:Anthropic 官方出品的 AI 命令行编程助手,约 1900 个源码文件,是一个生产级别的垂直领域专业 Agent。
Claude Code 的核心设计哲学是 「以模型为中心」 的主动探索系统。其 System Prompt 体系经过精密设计,通过分段构建、缓存边界优化等手段精准控制模型行为[reference:0]。在路由机制上,Claude Code 将决策权交还给模型本身:模型基于意图在 API 层显式输出工具调用,由框架被动响应——「模型决定需要什么,主动请求加载」,换来极高的通用灵活性与跨技能组合能力[reference:1]。这种设计的代价是偶尔会出现模型忘记调用技能的幻觉,但换来的是模型可以自由探索、组合多个技能[reference:2]。作为生产级产品,Claude Code 还构建了多层配置、权限分类器、Hooks 扩展等完善的工程化基础设施[reference:3]。
2. OpenClaw(俗称“养虾”)
定位:开源 AI 智能体网关平台,原名 Clawdbot / Moltbot,定位是通用跨平台自动化 Agent 操作系统。
OpenClaw 的核心设计哲学是 「以系统为中心」 的自动编排。它采用 Headless 架构——本身只是一个后台守护进程,没有自己的前端,通过已有的接口接入 WhatsApp、Telegram、Discord 等渠道[reference:4]。在路由机制上,OpenClaw 将「选技能」的决策权从模型收归框架:核心引擎在后台基于任务上下文执行确定性的规则匹配或启发式检索,隐式地将技能注入上下文,模型只负责依据手头的原子工具干活[reference:5]。其 Hub-and-Spoke 架构以 Gateway 为核心枢纽,连接用户输入端与 Agent Runtime,实现 IO 层与执行层的完全解耦[reference:6]。OpenClaw 强调「本地优先」的数据主权,所有数据本地存储,支持多 Agent 隔离部署,每个 Agent 拥有专属工作区、人设、技能与模型配置[reference:7]。
3. Harness Engineering(驾驭工程)
定位:一种 AI Agent 开发的工程范式和方法论,而非具体产品。
LangChain 给出的定义是:Harness Engineering 是围绕模型构建工具基础设施,以优化任务性能、Token 效率和延迟等目标的系统工程[reference:8]。更形象的说法是——Harness 是包裹在 AI 模型周围的「马具」:马本身有力量能跑能拉车,马具不提供动力,它只负责管方向、管节奏、管安全,保证马在极速奔跑时不翻车[reference:9]。
Harness Engineering 的内涵包括 System Prompt、工具选择、执行流程、Hooks/Middleware、Skills、子 Agent 委派、记忆系统等多个设计维度[reference:10]。OpenAI 将其内部实践总结为:通过设计一套环境让智能体能够可靠、自主且大规模地执行软件开发生命周期的约束架构和反馈回路[reference:11]。业界普遍认为,Harness Engineering 是继提示词工程、上下文工程之后的最新范式进化,核心是为 AI 智能体构建完整的运行环境、约束规则与反馈闭环[reference:12]。
二、技术维度对比矩阵
| 对比维度 | Claude Code CLI | OpenClaw | Harness Engineering |
|---|---|---|---|
| 本质类型 | 具体产品 | 具体产品/开源项目 | 工程范式/方法论 |
| 开源状态 | 闭源(源码因意外泄露) | 开源(Apache 协议) | 方法论,非代码产品 |
| 交互入口 | CLI 终端 | WhatsApp/Telegram/微信/飞书等多渠道 | N/A(设计原则) |
| 运行模式 | 按需调用,执行后退出 | 常驻后台守护进程,事件驱动 | N/A |
| 知识路由权 | 以模型为中心(模型主动选择技能) | 以系统为中心(框架自动编排) | N/A(元方法论) |
| 记忆架构 | Session memory + CLAUDE.md 多层记忆 | 本地文件系统 + Markdown 白盒存储 | 方法论层面包含记忆系统设计 |
| 多 Agent 支持 | 内置 Explore/Plan/Verification 等 Agent | 单 Gateway 管理多 Agent,工作区完全隔离 | 方法论层面包含子 Agent 委派 |
| 核心约束机制 | System Prompt + 权限分类器 + Hooks | 白名单工具 + 本地沙箱 + WebSocket 控制平面 | 系统化约束环境 + 反馈闭环 |
三、核心差异深度剖析
差异一:知识路由权的归属——「模型主导」vs「系统编排」
这是 Claude Code 与 OpenClaw 之间最本质的架构分野。
Claude Code 的「模型主导」模式:将模型视为通用规划者。系统启动时只注入轻量级技能元数据(仅 name 和 description),模型先做抽象的元决策(「我要先调取技能包,再干活」),再显式调用加载技能。这种设计下,模型拥有完整的路由权,能够自由探索、组合多技能,但代价是偶尔出现「忘记调用」的幻觉[reference:13]。
OpenClaw 的「系统编排」模式:模型压根没有「选技能」这个动作。系统启动时直接向模型注入 25 个底层原子 Tool 的完整定义,模型一上来就拥有改造世界的全套工具集。当用户请求到来时,OpenClaw 的核心引擎在后台基于任务上下文执行确定性的规则匹配,隐式地将技能注入[reference:14]。这种设计剥离了模型的心智负担,换来极高的执行确定性,但牺牲了泛化探索能力——「在预设的专业场景下表现出色,但跨领域组合能力不如 Claude Code」[reference:15]。
从 Harness Engineering的视角看,这两种模式代表了 Harness 设计中 「路由权分配」 的不同策略——究竟是让模型承担更多的决策负担以换取灵活性,还是用系统规则来「驾驭」模型以换取稳定性。LangChain 的实践表明,这种 Harness 层面的调整可以带来显著的性能提升(Terminal Bench 2.0 通过率从 52.8% 提升到 66.5%)[reference:16]。
差异二:交互范式——「主动调用」vs「常驻后台」
Claude Code 是典型的 CLI 工具范式:用户打开终端,输入命令调用,AI 执行完毕后退出。它的生命周期与用户的一次对话紧密绑定,不存在「后台常驻」的概念。
OpenClaw 则采用了 事件驱动的后台服务范式:它作为守护进程持续运行在 127.0.0.1:18789 端口,等待来自各渠道的消息触发[reference:17]。用户通过 WhatsApp、微信等日常通讯工具发送指令,OpenClaw 接收后异步执行并返回结果。这种设计使 Agent 真正融入了用户的日常信息流中[reference:18]。
这两种范式本质上是为不同场景设计的:Claude Code 服务于需要深度交互的开发工作流,OpenClaw 服务于需要长期运行的自动化任务。两者甚至可以互补使用——Claude Code 生成代码,OpenClaw 自动化部署与执行[reference:19]。
差异三:记忆架构——「分层记忆」vs「白盒记忆」
Claude Code 的记忆系统是多层架构:Session memory 管理当前会话的上下文,CLAUDE.md 等文件承载项目级长期记忆,还支持 memdir/auto-memory 等机制,agent memory 在运行时动态装配[reference:20]。这是一种典型的分层、可组合的工程化设计。
OpenClaw 在记忆上走了反主流的路线:不是依赖 RAG 和向量数据库,而是把长期记忆重新放回了本地文件系统。Agent 的记忆是一组清晰可见的 Markdown 文件——摘要、日志、用户画像都以结构化文本形式存储在磁盘上,向量索引最多只是检索加速层[reference:21]。这种「白盒存储」为用户提供了可查看、可修正的信任基础,也天然支持自我演化——Agent 可以从已有记录中提炼经验、调整 Skill 使用方式。
从 Harness Engineering 的视角看,记忆系统的设计是 Harness 的核心组件之一[reference:22]。两种记忆方案反映了不同的设计权衡:Claude Code 追求的是高效和可扩展,OpenClaw 追求的是透明和可控。
差异四:安全与约束——「产品化安全」vs「架构级安全」
Claude Code 的安全体系是产品化的多层防御:Permission mode 定义不同安全级别,规则链和 classifier 动态判断权限,Hooks 系统允许用 Shell 命令扩展安全边界[reference:23]。
OpenClaw 的安全设计是架构级的:默认绑定本地地址 127.0.0.1 缩小攻击面,所有工具调用都在白名单内,执行平面和控制平面通过 WebSocket 分离[reference:24][reference:25]。但 OpenClaw 的安全挑战更为严峻——它面临「致命三连」:接触不受信任的外部内容、访问私有数据、具备对外通信能力,三者同时存在时构成结构性安全风险,且「自然语言无法承担安全边界的角色」[reference:26]。
四、三者的层级关系
这三个概念不是并列关系,而是处于不同的抽象层次:
┌─────────────────────────────────────────────────────────────┐
│ Harness Engineering │
│ (工程范式 / 方法论) │
│ "为 AI Agent 构建可靠运行环境与约束反馈闭环" │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────────┐ ┌──────────────────┐ │
│ │ Claude Code │ │ OpenClaw │ │
│ │(垂直专业Agent) │ │(通用Agent OS) │ │
│ │ │ │ │ │
│ │ 产品化实现 │ │ 产品化实现 │ │
│ │ Harness Engineering │ │ Harness Engineering │ │
│ └──────────────────┘ └──────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
-
Harness Engineering 是元方法论:它定义了「如何为 AI Agent 构建可靠的运行环境」,是比具体产品更高层次的工程思想。LangChain 将其核心要素概括为 System Prompt、工具选择、执行流程、Hooks/Middleware、Skills、子 Agent 委派、记忆系统等[reference:27]。
-
Claude Code 和 OpenClaw 是 Harness Engineering 的两种产品化实例:两者都实现了 Harness 的核心要素——都有 System Prompt 工程、工具系统、上下文管理、记忆系统。但它们在不同的设计哲学下做出了截然不同的技术选择——Claude Code 选择「模型主导」的路由策略,OpenClaw 选择「系统编排」的路由策略。
-
两者是互补而非竞争关系:Claude Code 专注于编程开发场景,OpenClaw 专注于跨平台自动化场景。业界分析认为两者分别代表了「即插即用的产品化路径」和「系统级 Agent 架构」两条技术路线,各有适用边界[reference:28]。
五、对大家的启示
作为技术人员,以下可能是最值得关注的工程实践要点:
1. Harness Engineering 的核心是「系统设计」而非「模型调优」
LangChain 的实践已经证明:保持模型不变、只优化 Harness 架构,Terminal Bench 2.0 通过率可以从 52.8% 提升到 66.5%[reference:29]。这意味着在 AI Agent 开发中,工程架构的投入回报可能远高于模型选型。Harness 的核心设计维度包括 System Prompt、工具选择、执行流程、Hooks/Middleware、Skills、子 Agent 委派、记忆系统等[reference:30],这是一个完整的工程化体系。
2. 两种路由模式各有适用场景,不是非此即彼
Claude Code 的「模型主导」模式适合需要探索性、灵活性的场景,如代码生成与调试;OpenClaw 的「系统编排」模式适合需要确定性、可预测性的场景,如企业自动化流程。在构建 Agent 系统时,可以根据任务特性在两者之间选择,甚至设计混合模式。
3. 安全与约束是 Agent 落地的第一道门槛
OpenClaw 的「致命三连」警示——当 Agent 同时具备文件访问、外部输入接收和网络通信能力时,单纯依赖提示词约束是无效的[reference:31]。Claude Code 的权限系统设计(Permission mode、规则链、classifier)提供了可参考的产品化安全方案[reference:32]。
4. 从源码学习是最快的路径
Claude Code 约 1900 个源码文件覆盖了从 System Prompt 工程、多 Agent 编排到终端 UI 渲染的完整技术栈[reference:33]。对这份源码的深度拆解,可以系统性地学习一个生产级 AI Agent 的全貌。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)