跳至主要內容

Harness

悟空约 1250 字大约 4 分钟...

翻译一下,Claude Code 是一个智能体编排框架,包裹在 Claude 模型外面。它提供工具、上下文管理和执行环境,把一个语言模型变成一个有能力的编码 Agent。

注意,这个定义里有三个关键词,工具、上下文管理、执行环境。模型本身只会生成文本。是 Harness 给了它读文件的能力、写代码的能力、搜索代码库的能力、在终端执行命令的能力。没有 Harness,Claude 就是一个只会说话的大脑——有智力,没有手脚。

业界对 Harness 的核心共识是:

Agent Harness = 包裹 LLM 的运行时基础设施,管理工具调度、上下文工程、安全执行、状态持久化和会话连续性。LLM 只负责推理决策。

2026 年的关键洞察:竞争差异化的重心已从 Model 转移到 Harness。

下面这张图,把 Harness 的内部结构拆得很清楚。

img
img

Agent = Model + Harness。 图中最核心的位置是 Model——那个蓝色芯片图标,代表 Claude 的大语言模型。但模型本身只是一个推理引擎,它不能独立行动。

真正让它变成 Agent 的,是包裹在它周围的五个 Harness 组件。

Tools(工具),模型的手脚。Read、Write、Edit、Bash、Grep……这些工具赋予模型与文件系统、终端、网络交互的能力。没有工具,模型只能说,不能做。

Context(上下文),模型的记忆加载器。CLAUDE.mdopen in new window、系统提示词、对话历史、工具定义——这些上下文在每一轮循环中被注入模型,决定了模型看到什么、知道什么。上下文管理的精妙之处是,它不仅是被动的信息传递,还包括主动的压缩和重注入策略。

Memory(记忆),模型的长期存储。跨会话的记忆持久化,让模型能“记住”你的偏好、项目规则和历史决策。CLAUDE.mdopen in new window 是显式记忆,自动记忆(~/.claude/memory/)是隐式记忆。没有 Memory,每次对话都从零开始。

Hooks(钩子),模型的神经反射。事件驱动的自动化机制,在工具执行前后触发自定义逻辑。比如每次保存文件前自动格式化,每次提交前自动运行 lint。Hooks 让 Harness 有了“条件反射”的能力——不需要模型主动决策,某些行为会自动发生。

Permissions(权限)——模型的安全围栏。哪些工具可以自由使用,哪些需要人工审批,哪些完全禁止——权限系统是 Harness 的安全底线。它解决了一个核心矛盾:你希望 Agent 足够自主以提高效率,但又不希望它自主到失控。

注意图中的空间关系:Model 在中心,五个组件围绕它排列,整体被一个名为 Harness 的边框包裹。这不是随意的布局,它精确表达了一个架构事实:模型不直接接触外部世界,所有交互都通过 Harness 的组件中转。Harness 是模型和现实之间的唯一接口。

这五个组件也不是孤立的。Tools 的执行结果变成 Context 的一部分;Hooks 在 Tools 执行前后触发;Permissions 决定哪些 Tools 可以被调用;Memory 用于跨会话保留 Context 中的关键信息。它们构成了一个协同运转的系统,少了任何一个,Agent 的能力都会大打折扣。

我们再看看 Harness 在整个系统中的层级位置,如下图所示。

img
img

问题 1、如果你要为自己的团队构建一个定制化的 Harness(比如专门用于数据分析),你会保留 Claude Code 的哪些内置工具,去掉哪些,新增哪些?为什么?

(1)保留 读、执行、搜索工具
(2)去掉代码库、版本控制等工具,对于纯粹的数据分析场景,这些不是核心需求。
(3)去掉写文件、编辑文件,可以通过报表生成工具来生成文件。
新增 SQL 客户端、数据可视化工具、统计分析库工具等。

问题 2、Claude Code 的上下文压缩策略“摘要早期消息 + 重注入 CLAUDE.mdopen in new window”。你能想到这种策略的局限性吗?在什么场景下会出问题?

(1)摘要早期信息的局限性:可能丢失关键信息。
(2)摘要早期信息在什么场景下出问题:长链推理任务,代码审查或调试任务。
(3)重注入 CLAUDE.mdopen in new window”的局限性:无法动态存储和重注入对话过程中产生的、与具体任务紧密相关的瞬态信息。
(4)重注入 CLAUDE.mdopen in new window”在什么场景下出问题:动态变化的项目。

这是 claude code 一种权衡,为了避免 token 过大,就必须采取压缩,所以看后续 claude code 能否个性化压缩,以及动态调整 claude.mdopen in new window

评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v3.3.0