欢迎使用 FlowZap,快速、清晰、掌控的绘图应用。

Harness Engineering 以及 Claw Code 如何重塑 AI 智能体架构

2026/4/3

Tags: AI 智能体, Claw Code, 智能体架构, MCP, Harness Engineering, 开源

Jules Kovac

Jules Kovac

Business Analyst, Founder

Harness Engineering 以及 Claw Code 如何重塑 AI 智能体架构

 

改变对话的泄露事件

2026 年 3 月 31 日,开发人员报告 Claude Code v2.1.88 通过 npm 包附带了一个 59.8MB 的 JavaScript source map,暴露了 Anthropic 编码智能体 CLI 的内部结构。围绕这一事件的公开报道和项目文档描述了被暴露的包包含大约 512,000 行 TypeScript,分布在约 1,900 个源文件中,这立即将一个打包错误转化为更广泛开发者社区的设计文档。

这是大多数人错过的部分。真正的故事从来不仅仅是代码泄露;而是泄露让 harness 变得可读。一旦开发人员能够看到各个组成部分,显而易见的是,持久的创新不是"终端中的 LLM",而是将模型转变为操作者的编排层。

 

 

Claude Code 的内部原理

Anthropic 将 Claude Code 描述为一种 agentic 编码工具,它存在于终端中,理解您的代码库,并通过自然语言命令帮助执行日常任务、解释代码和处理 git 工作流程。换句话说,Claude Code 不仅仅是带有更好界面的自动补全;它是一个可以检查文件、决定操作、调用工具、运行命令并持续迭代直到任务完成的运行时。

这种区别很重要,因为用户体验是涌现的。模型生成推理和指令,但 harness 决定加载哪些上下文、允许哪些工具、如何回传输出、何时需要权限、内存如何持久化,以及智能体如何从失败中恢复。这是用户实际感受到的机制。

 

 

Claw-Code 为何迅速走红

Claw Code 将自己定位为 Claude Code harness 架构的洁净室开源重写,使用 Python 和 Rust 从头构建,而不是作为 Anthropic 专有代码库的直接分支。项目页面明确将其框架化为"重新构想的架构",相关仓库材料指出,在仓库所有权变更期间,开发通过社区维护的渠道继续进行。

这种框架是该项目作为文化时刻爆发的原因。Claw-Code 之所以有趣,不仅仅是因为它模仿了一个著名产品;而是因为它将一个以前不透明的类别转变为可检查、可修改和可移植的东西。一旦 harness 可以在开放环境中被重新实现,供应商独家性看起来就不像护城河,而更像是一种临时的包装优势。

 

 

Harness Engineering 解析

Harness engineering 是将模型智能连接到可靠行动的学科。它位于原始 LLM 和现实世界之间,其工作是使智能体有用,同时不使其危险、脆弱或无法调试。

实际上,harness 回答这样的问题:

  • 在一轮开始前组装哪些指令?
  • 哪些内存被加载、压缩或丢弃?
  • 哪些工具存在,它们暴露什么模式?
  • 智能体何时需要显式用户批准?
  • 子进程如何被沙盒化?
  • 流式响应如何渲染回终端?
  • 斜杠命令、会话和提供者切换如何工作?

Claw Code 的公共架构描述直接指向这些层:命令处理、工具插件、模型抽象、查询引擎、任务管理、会话持久化、权限、MCP 集成,以及用于性能关键执行路径的 Rust 运行时。

这就是"harness"这个术语如此重要的原因。Harness 是将前沿模型转变为具有姿态、策略和可重复性的系统的关键。

 

 

核心架构

Claw Code 描述了一种分层设计,其中 Python 处理编排,Rust 处理运行时关键工作。发布的架构概述将 Python 端模块命名为 commands.pytools.pymodels.pyquery_engine.pytask.pymain.py,而 Rust 核心处理底层运行时路径。

这种分层不是风格上的;而是操作上的。

主要角色 为何归属于此
Python 编排 命令注册表、提示组装、模型路由、会话逻辑、任务生命周期。 Python 易于演进、易于检查,且非常适合智能体控制流。
Rust 运行时 性能敏感执行、工具运行时行为、流式处理、权限、协议管道。 Rust 对延迟、隔离、并发和安全性提供更严格的控制。

一个清晰的思考方式是:Python 决定接下来应该做什么,而 Rust 确保它安全、一致且快速地发生。这就是生产级智能体 harness 的本质。

 

 

启动序列

如果您跟踪单个任务从输入到输出的过程,架构会变得更加清晰。

  1. 用户在终端中输入命令。
  2. 会话层加载指令、先前的转录状态和相关上下文。
  3. 提示层为模型组装当前轮次。
  4. 查询引擎发送请求,处理流式传输,并跟踪预算或重试。
  5. 模型返回直接响应或预期操作。
  6. 规划器通过工具系统路由该操作。
  7. 权限层决定操作是被允许、被拒绝还是需要确认。
  8. 运行时在隔离上下文中执行工具并流回观察结果。
  9. 智能体消耗这些观察结果,更新内存,然后结束任务或再次迭代。

这个循环就是产品。模型在循环内部,但循环本身就是真正的软件资产。

 

 

在 FlowZap Code 中查看

下图是基于项目发布的架构概述对 Claw-Code harness 工作流程的概念渲染。它在系统设计级别匹配工作流程,捕获正确的控制循环和正确的层边界,但在实现级别上不完全匹配。

 

User { # User
  n1: circle label="Start"
  n2: rectangle label="Enter CLI command"
  n3: rectangle label="View streamed output"
  n4: circle label="Done"
  n1.handle(right) -> n2.handle(left)
  n2.handle(bottom) -> Python.n5.handle(top) [label="Command"]
  n3.handle(right) -> n4.handle(left)
}
Python { # Python Orchestration
  n5: rectangle label="Load session context"
  n6: rectangle label="Build prompt"
  n7: rectangle label="Call model"
  n8: diamond label="Tool needed?"
  n9: rectangle label="Route tool call"
  n10: rectangle label="Update memory"
  n11: rectangle label="Finalize response"
  n5.handle(right) -> n6.handle(left)
  n6.handle(right) -> n7.handle(left)
  n7.handle(bottom) -> External.n15.handle(top) [label="LLM request"]
  n8.handle(bottom) -> n9.handle(top) [label="Yes"]
  n8.handle(right) -> n11.handle(left) [label="No"]
  n9.handle(bottom) -> Rust.n12.handle(top) [label="Tool call"]
  n10.handle(right) -> n11.handle(left)
  n11.handle(top) -> User.n3.handle(bottom) [label="Answer"]
}
Rust { # Rust Runtime
  n12: diamond label="Permission granted?"
  n13: rectangle label="Execute tool in sandbox"
  n14: rectangle label="Stream tool events"
  n12.handle(right) -> n13.handle(left) [label="Yes"]
  n12.handle(top) -> Python.n11.handle(bottom) [label="Denied"]
  n13.handle(bottom) -> External.n16.handle(top) [label="File access"]
  n13.handle(right) -> n14.handle(left)
  n13.handle(top) -> External.n17.handle(bottom) [label="MCP call"]
  n14.handle(top) -> Python.n10.handle(bottom) [label="Observations"]
  n14.handle(left) -> User.n3.handle(right) [label="Stream"]
}
External { # External Systems
  n15: rectangle label="LLM provider"
  n16: rectangle label="File system"
  n17: rectangle label="MCP server"
  n15.handle(left) -> Python.n8.handle(right) [label="Plan"]
  n16.handle(left) -> Rust.n14.handle(right) [label="File data"]
  n17.handle(left) -> Rust.n14.handle(bottom) [label="Tool data"]
}

 

 

Python 层

根据公共架构概述,Python 工作空间是高级智能体行为所在的地方:命令注册、工具定义、模型抽象、查询编排和任务管理。这是赋予系统灵活性的层,因为提示、策略、会话规则和工作流程语义可以在这里快速更改,而无需重建底层运行时。

您可以将 Python 层视为五个协作的子系统:

  • 命令注册表: 将斜杠命令和终端输入映射到结构化行为。
  • 模型抽象: 让智能体在通用界面后针对不同的提供者。
  • 查询引擎: 处理请求构建、流式传输、重试和轮次级别控制。
  • 任务管理器: 跟踪生命周期、迭代以及任务何时应停止或继续。
  • 内存/会话管理器: 跨轮次保留上下文并在需要时压缩转录。

这也是开源透明性变得强大的地方。当开发人员可以直接检查编排逻辑时,他们可以交换提供者、更改提示、更改默认权限、重写工具路由或构建自定义命令,而无需等待供应商路线图。

 

 

Rust 层

Claw Code 的公共材料描述了用于性能关键运行时路径的 Rust 核心,包括流式传输、协议处理和工具执行问题。同样的材料还提到了多 crate Rust 工作空间以及向更完全原生运行时的活跃迁移路径。

为什么这很重要?因为一旦智能体实际上可以在您的机器上执行操作,运行时质量就变得不可协商。

Rust 层是系统问题倾向于落地的地方:

  • 权限执行: 在危险操作发生之前阻止它们。
  • 执行运行时: 以 tighter 操作保证运行 shell 或工具操作。
  • 流式传输: 将 token 和事件输出推送到终端,没有延迟或状态损坏。
  • 协议适配器: 支持 MCP 传输和 API 客户端行为等外部集成。
  • 安全性和可靠性: 在最热门的执行路径中减少易崩溃的粘合代码。

如果 Python 是编排的"脑干",Rust 就是它下面的骨骼和神经系统。

 

 

工具系统

公共项目描述中最清晰的架构信号之一是对基于插件的工具系统的强调,具有权限门控功能。Claw Code 站点描述了 19 个内置工具,并将每个功能——如文件 I/O、shell 执行、git 操作、web 访问或智能体生成——视为具有显式控制的自包含工具。

这很重要,因为良好的智能体工具不是"给模型 bash 然后祈祷"。成熟的 harness 使工具成为具有以下内容的一等对象:

  • 模式。
  • 名称和目的。
  • 权限语义。
  • 执行边界。
  • 可观察的输出。
  • 错误处理。
  • 下一步推理的清晰返回数据。

这就是 harness 层如此重要的原因之一。工具系统变得越结构化,智能体就越不像自动补全,而越像操作环境。

 

 

权限门控

权限系统不仅仅是一个 UX 功能;它是一个安全模型。Claw Code 的公共材料强调了权限门控工具以及具有多种权限模式、拒绝列表和交互式提示的策略引擎。

这告诉您很多关于严肃的智能体构建者正在优化什么的信息。最安全的架构不是模型"更知道"的架构;而是模型被结构上阻止绕过策略的架构。换句话说,LLM 可以提议操作,但 harness 仍然是最终权威。

这种设计有几个好处:

  • 它将策略保持在模型之外。
  • 它使行为更可审计。
  • 它减少了对提示服从的信任。
  • 它为人工批准创建清晰的检查点。
  • 它降低了幻觉或过度自信工具调用的爆炸半径。

这是整个 Claw-Code 时刻最深层的教训之一:不要依赖模型来监管自己。

 

 

查询引擎和轮次循环

Claw Code 项目页面将查询引擎描述为系统的核心智能,负责 LLM 调用、响应流式传输、缓存、编排、轮次限制和预算控制。这使其成为 harness 的交通控制器,因为它位于提示组装、模型调用和工具驱动迭代之间。

许多用户感知为"模型很聪明"的产品行为通常反而住在这里:

  • 发送多少上下文。
  • 何时压缩先前的转录。
  • 重试如何发生。
  • 系统何时停止循环。
  • 预算如何执行。
  • 流式输出如何向用户展示。

这就是使用相同底层模型的两个工具可能感觉截然不同的原因。查询引擎塑造节奏、纪律和成本。

 

 

内存和会话

公共 Claw Code 材料还强调会话持久化、转录压缩和多层内存。这很重要,因为智能体系统中的内存不是一件事;它通常是具有不同生命周期和目的的多个层。

一个有用的框架方式是:

  • 轮次内存: 模型现在看到的内容。
  • 会话内存: 在当前工作流程中持久化的内容。
  • 压缩内存: 先前交互的摘要版本,用于节省 token。
  • 发现的上下文: 因为当前任务需要而拉取的文件、文档或代码。

一旦您以这种方式看待内存,harness 就变得更容易推理。好的智能体产品不仅仅是"长上下文";它们是有选择性的上下文系统。

 

 

多智能体编排

Claw Code 的项目材料描述了对生成子智能体或"群体"的支持,以在具有共享内存访问模式的隔离上下文中并行化复杂工作。这指向一种更高级的 harness 模型,其中一个父循环可以将研究、代码编辑、验证或分析委派给下属工作者,然后再合并结果。

这比单线程工具调用在架构上迈出了重要一步。一旦引入子智能体,您需要:

  • 隔离。
  • 结果聚合。
  • 共享但有限的上下文。
  • 故障遏制。
  • 用于何时生成、等待、重试或中止的监督逻辑。

这就是为什么多智能体系统成败取决于 harness 质量。随着并发性的增加,编排逻辑变得指数级更重要。

 

 

MCP 和外部系统

公共 Claw Code 站点强调对 MCP 的完整支持,具有多种传输类型,包括 stdio、SSE、HTTP、WebSocket、SDK 和基于代理的访问模式。这很重要,因为 MCP 将 harness 转变为连接层,而不仅仅是本地 CLI 包装器。

一旦 MCP 成为原生,智能体就不再限于本地 shell 和文件操作。它可以通过标准协议插入外部工具服务器、数据系统、内部平台和特定服务的适配器。这就是为什么人们越来越多地将 MCP 描述为智能体生态系统的可移植性层:它为 harness 提供了一种稳定的方式来接触外部世界。

 

 

斜杠命令和 UX 界面

Claw Code 的材料还强调了一个斜杠命令系统,具有用于会话控制、模型选择、权限、成本跟踪、压缩和导出的命令。这很重要,因为智能体 UX 不仅仅是聊天;它是命令语法。

斜杠命令在三个方面做得很好:

  • 它们在不让主交互循环臃肿的情况下暴露强大功能。
  • 它们使会话状态可检查和可控制。
  • 它们通过将元操作转变为显式操作员命令来减少歧义。

换句话说,斜杠命令也是 harness 的一部分。它们是编排引擎的人工控制界面。

 

 

为什么 Python 和 Rust 的组合如此强大

Python-plus-Rust 模式有效,因为它清晰地映射到智能体工具中最难的两个问题:实验和执行。Python 是理想的快速迭代提示、路由逻辑、任务策略和提供者抽象的地方。Rust 是理想的对执行、流式传输、权限和协议正确性进行更严格运行时的地方。

这种分层还有助于团队以不同的速度发展。编排层可以随着产品学习而不断变化,而运行时层可以围绕性能和安全性保证而硬化。对于智能体系统,这通常比将每个关注点强制放入一种语言更好。

 

 

Claw-Code 揭示了什么

Claw-Code 的真正贡献不仅仅是"开源的类似 Claude 的工具"。这是对 harness 本身现在是一个竞争领域的公开演示。人们过去常常忽视的作为粘合代码的架构正在转变为实际的产品层。

这种转变至少在四个方面改变了市场:

  1. 模型变得可替换。 公共项目材料强调与供应商无关的设计,而不是单一供应商锁定。
  2. 权限成为产品功能。 工具门控和策略引擎从实现细节转变为购买标准。
  3. 内存设计成为差异化 UX。 会话持久化、压缩和上下文发现直接影响质量和成本。
  4. 协议支持变得战略化。 原生 MCP 支持将智能体从终端助手转变为生态系统节点。

这就是为什么这一刻感觉比一次泄露或一次重写更重大。它澄清了真正的杠杆所在。

 

 

可操作的要点

如果您正在构建智能体工具:

  • 将编排与执行分开。
  • 使工具系统以模式为先。
  • 将策略放在模型之下,而不是内部。
  • 将查询引擎视为产品界面。
  • 将内存设计为分层基础设施,而不是"只是更多上下文"。
  • 如果外部集成很重要,尽早添加 MCP。
  • 使斜杠命令成为操作员体验的一部分。

如果您正在评估智能体工具:

  • 询问工具层是否受权限保护。
  • 询问会话是否可以持久化和干净地压缩。
  • 询问提供者选择是抽象的还是被锁定的。
  • 询问外部系统是通过 MCP 连接还是通过临时适配器连接。
  • 询问运行时路径是否足够健壮以进行实际执行,而不是演示级自动化。

持久的教训很简单:harness 正在成为 AI 工作的操作系统。Claw-Code 让这一点变得显而易见。

 

 

灵感来源

返回所有博客文章