乐于分享
好东西不私藏

通过 Claude Code 源码,来分析 Anthropic 是如何使用 Harness 让 Agent 可以稳定长时间运行?

通过 Claude Code 源码,来分析 Anthropic 是如何使用 Harness 让 Agent 可以稳定长时间运行?

一场意外的”公开课”

前两天, Claude Code 的源码泄露了。史诗级“被动开源”:Claude Code 50万行源码泄露,大模型巨头的底牌全被看光了?

全球开发者社区开始狂欢了。

不仅仅是拿到了源码,而是因为终于能看到 Anthropic 是怎么让 AI 写代码这么稳定的了,了解它底层实现逻辑

说实话,很多人以为 AI 写代码靠的是”模型聪明”或者”神奇的 Prompt”。

看完源码,才发现——完全不是这么回事

真正让 Claude Code 稳定运行的,是一套厚重的工程结构,叫 Harness (Agent 治具)

今天我就用大白话,给你拆解一下这套系统。


Harness 是什么

Harness(Agent Harness)是 AI Agent 技术栈中的一个层级概念。要理解它,需要先区分三层架构:

Framework → Runtime → Harness

LangChain 团队提出了这个分层:LangChain 是 Agent Framework(提供抽象和构建模块),LangGraph 是 Agent Runtime(提供持久化执行、流式传输、人在回路等基础设施),而 DeepAgents 是 Agent Harness(在框架之上进一步封装,自带默认 prompt、工具处理、规划能力、文件系统访问等,开箱即用)。

简单说:Harness 是一个管理不确定性的系统

大语言模型( LLM )有个致命问题:不稳定

上下文太长,会忘事
任务太复杂,会失焦
规则太多,会遗漏

Harness 的任务,就是把不稳定的模型,变成可预期、可管理的产品。

因为这个词本身带有”马具/缰绳”的隐喻——LLM 就像一匹强壮的马,能力强大但没有方向感和边界意识,Harness 就是缰绳和马具,控制它的方向和行为。

没有 Harness ,模型就是一台失控的野马。


核心 1 :三层记忆架构

问题: AI 容易忘事

你跟 AI 聊着聊着,它突然问你:”我们刚才在说什么?”

这就是上下文太长,模型”注意力”分散了。

Claude Code 的解决方案:状态外部化

不把对话当唯一载体,而是把任务状态写到文件里

比如: – feature-list.md – 功能清单 – progress-log.md – 进度记录 – CLAUDE.md – 项目说明

每次 AI 重新进场,先读这些文件,直接知道当前状态,不用盲猜

三层记忆架构

记忆层
内容
作用
绘画记忆
当前对话
短期记忆
持久记忆
MD 文件记录
中期记忆
团队记忆
共享文档
长期记忆

核心思想:不要指望模型记得住,而是帮它”记笔记”


核心 2 :四层上下文压缩

问题:对话太长, AI 会忘

你跟 AI 聊了 100 轮,它还记得第 1 轮说什么吗?

记不住。

Claude Code 的解决方案:压缩旧内容

关键原则:能用规则,就不用模型

压缩层
方法
示例
V 压缩
纯规则
清理工具输出,只保留意图
自动压缩
规则+轻量模型
总结旧对话
传统压缩
滑动窗口
截断超长内容
Session Memory 压缩
提取关键信息
写入持久记忆

目标:保证长对话下,记忆依然清晰


核心 3 :确定性控制下沉

问题: Prompt 不靠谱

很多人把规则写在 Prompt 里:”你一定要记得 XXX”。

但 AI 会忘,尤其是上下文太长的时候。

Claude Code 的解决方案:下沉到系统层

把”必须遵守的规则”写到代码里,而不是 Prompt 里

比如: – “编辑后必须格式化” → 系统自动执行 – “配置改动必须记录” → Hook 自动拦截 – “危险操作必须审批” → 权限系统强制执行

不要期待模型乖乖听话,而是用系统强制保证


核心 4 :三段式权限设计

问题: AI 太危险

AI 能改文件、跑命令、连网络,这很危险。

但如果每次都要人工审批,用户会烦,然后盲目点”同意”。

Claude Code 的解决方案:三段式中介层

权限段
操作类型
处理方式
自动放行
读文件、低风险修改
无需审批
条件式自动
格式化、特定测试
限定范围自动
高风险拦截
Shell 命令、外网传输
分类器判断或人工审批

目标:减少无意义的审批,聚焦真正危险的操作


核心 5 :上下文防火墙

问题:主对话被污染

AI 在调试代码时,会输出大量报错信息、失败尝试。

这些东西都堆在主对话里,会把上下文撑爆。

Claude Code 的解决方案:多 Agent 架构

主控 Agent 只负责规划和决策

具体任务交给子 Agent (如 generator 、 evaluator )处理

子 Agent 完成后,只回传结论和产出,不回传中间的调试、报错、失败尝试

这就是”上下文防火墙”:隔离噪音,保护主对话


核心 6 :验证回路

问题: AI 生成 ≠ 正确

AI 能生成代码,但不代表代码是对的。

Claude Code 的解决方案:验证比生成更重要

让 AI “看到执行后的世界”

验证方式
作用
运行测试
检查功能是否正确
查看日志
确认执行过程
端到端检查
验证整体流程
Reviewer Agent
独立审查代码

只有具备验证回路, AI 才能从”代码生成器”变成”可靠交付系统”


总结: Claude Code 的工程哲学

看完这套系统,我总结了一个核心思想:

不要指望单一模型解决所有问题

把模型当引擎,用 Harness 兜底

模型负责
Harness 负责
理解需求
状态管理
生成代码
权限控制
做决策
验证回路

这才是让 AI Agent 长时间稳定运行的真正秘密


这对你意味着什么

如果你是开发者

1.

学习 Harness 思想    – 不要只靠 Prompt ,要设计系统    – 把规则下沉到代码层

2.

参考这套架构    – 状态外部化    – 上下文压缩    – 权限分层    – 验证回路

3.

关注 AI Agent 开发    – LangChain 、 Dify 等框架    – 多 Agent 协作模式

如果你是产品经理

1.

理解 AI 的局限性    – AI 不稳定,需要系统兜底    – 不要指望 AI 一次做对

2.

设计 AI 产品时考虑 Harness    – 权限控制    – 状态管理    – 验证机制

3.

降低用户预期    – AI 不是万能的    – 需要人工审核和兜底


最后说一句

这次源码泄露,其实全球开发者来说都是件好事。

它让我们看到: AI 产品的成功,不只是模型的能力,更是工程的智慧

现在 AI 产品能稳定运行很久,不只是”模型聪明”,更是后面的产品能力。

要夸的是背后的 Harness 设计

这才是真正的功臣。

AI 的未来,不只是模型,更是系统。