Agent 知识体系全景:为什么 2026 年的护城河不在模型,而在 Harness
一份基于 197 章、86 主题的系统性梳理,回答一个问题:AI 从"能说"到"能做"再到"可靠地做",工程上到底发生了什么。
一、一个公式定全局:Agent = Model + Harness
整个 Agent 领域的讨论再多,归根结底只围着一件事:怎么让 AI 从"能说"变成"能做",而且"做得可靠"。
答案就是这个公式:
Agent = Model + Harness- Model:LLM,负责"聪明"——思考、推理、决策。买来的,决定上限。
- Harness:模型之外的一切,负责"可靠"——工具、记忆、权限、反馈回路、错误恢复。自己建的,决定下限,也是护城河。
Agent 领域所有概念,都能归到这两侧之一:
| 归属 | 涵盖 |
|---|---|
| Model 侧 | Token / System Prompt / Temperature / 幻觉、预训练-SFT-RLHF-LoRA、量化-蒸馏-Transformer-Attention、Prompt 工程、RAG |
| Harness 侧 | 四大工程范式、Harness 六大组件、Agent Loop、工具系统、记忆系统、安全护栏、可观测性、成本优化、评估体系、框架生态、设计模式 |
| 桥接层 | Context 工程(Model ↔ Harness 之间的信息流)、FDE(把 Harness 装进真实业务的人) |
二、五层范式嵌套:瓶颈随模型变强而外移
文档的主脉络是五大工程范式的层层包含:
L5 Environment Engineering(环境工程) ← AI 在动态世界里自主进化 └─ L4 Loop Engineering(循环工程) ← 系统持续自动运转 └─ L3 Harness Engineering(套具工程) ← AI 安全可控地执行 └─ L2 Context Engineering(上下文工程) ← 给 AI 正确信息 └─ L1 Prompt Engineering(提示词工程) ← 跟 AI 说清楚关键规律:模型每强一截,瓶颈就往外移一层。新层不取代旧层,而是把旧层吃进去当零件:
- Prompt 被吃进 Context(Prompt 只是上下文的一部分)
- Context 被吃进 Harness(上下文管理是 Harness 的一个组件)
- Harness 被吃进 Loop(Harness 是 Loop 的运行环境)
- Loop 被吃进 Environment(Loop 是环境中的执行单元)
用开餐厅类比(文档原版):
- L1 = 厨师学会按菜谱做菜
- L2 = 采购把对的食材备好放台面
- L3 = 餐厅操作规范(刀具权限、出事处理)
- L4 = 整个餐厅运营系统(订单流转、出品验收)
- L5 = 餐厅所在的商业生态(竞争对手、供应链、顾客偏好变化)
三、Harness 内部:六大组件以文件系统为枢纽环形协作
Harness 是整个体系里最核心的工程实体,六组件的关系可以画成这样:
┌─────────────────────┐ │ 文件系统(枢纽) │ │ 代码 + Git + Progress│ └──────┬──────────────┘ ┌────────────────┼────────────────┐ ┌─────┴─────┐ ┌──────┴──────┐ ┌──────┴──────┐ │ 工具集成层 │ │ 记忆与状态 │ │ 上下文工程 │ │ (手) │ │ (记事本) │ │ (策展) │ └─────┬─────┘ └──────┬──────┘ └──────┬──────┘ │ │ │ ┌─────┴─────┐ ┌──────┴──────┐ ┌──────┴──────┐ │ 规划与任务 │ │ 验证与护栏 │ │ 模块化与 │ │ 分解(大脑) │ │ (安全绳) │ │ 可扩展性 │ └───────────┘ └─────────────┘ └─────────────┘配套的记忆系统是四层递进:
Working Context(CPU 寄存器)→ 当前上下文窗口 Session State(内存) → Progress File,当前会话进度 Long-term Memory(硬盘) → CLAUDE.md / AGENTS.md,跨会话持久 Filesystem(外部存储) → 代码 + Git 历史,天然审计日志四、Agent Loop:Harness 的"心跳"
Loop 五阶段 ↔ Harness 六组件的映射:
| Loop 阶段 | Harness 组件 | 做什么 |
|---|---|---|
| 1. 感知 Perceive | 上下文工程 + 记忆 | 组装上下文,读 Progress File |
| 2. 推理 Reason | Model | LLM 读上下文,决定下一步 |
| 3. 规划 Plan | 规划与任务分解 | Plan-then-Execute 或 ReAct |
| 4. 行动 Act | 工具集成层 | 调工具、执行命令、写文件 |
| 5. 观察 Observe | 验证与护栏 | 拿结果,验证对不对,注入上下文 |
Loop 三大风险点与 Harness 防护:
- 停太早(任务没完就退)→ Feature List JSON 合约 + Ralph Loop 拦截
- 停不下(无限循环)→ max_steps / Token 预算 / 时间预算
- 停错地(自以为成功)→ Maker-Checker 分离 + 外部 Eval
Karpathy 三道护栏(AutoResearch 项目)是具体落地:外部客观尺子、硬性时间预算、一键 git revert。
五、三条子系统:知识、工具、协作
5.1 知识喂养:从"提前给"到"按需取"
Prompt(当场说)→ RAG(提前存库)→ CLAUDE.md(每次注入)→ Skills(按需取) 一次性 可复用 常驻稳定 渐进式披露这里有个反直觉的点:ETH Zurich 实验证明 CLAUDE.md 几乎没用(人写仅 +4%,AI 生成反 -3%),真正管用的是 Hook(硬性拦截)。文档给了一句很狠的总结:
“说明只是请求它别做,Hook 是让它根本做不到”——从"沟通"管住到"设计"管住。
Skills 更颠覆:不是一个 markdown,是一个文件夹,能装可执行脚本。脚本执行不占上下文,只有结果进入。三层渐进披露(目录 ~50 tokens → 正文 → 细节引用),Token 节省 95%。
5.2 工具系统:四层设计
层1 工具接口(AgentTool) → 权限内聚,defaultPermission 是工具自身属性 层2 权限管理(PermissionManager) → 三档 auto/confirm/deny + 命令级签名 层3 安全分类器(两阶段) → 99% 快速过滤 + 1% CoT,只看动作不看 Agent 说的话 层4 协议连接(MCP/CLI) → MCP = USB-C,CLI = 零封装现成用工具不是越多越好,每多一个工具描述就吃掉上下文 Token。15 个核心工具 + Bash 后备是最优配置。
5.3 多 Agent 协作:不是银弹
三种编排:
| 模式 | 控制精度 | 代表 | 适合 |
|---|---|---|---|
| 图编排 | 最高 | LangGraph | 流程确定、需断点续传 |
| 角色编排 | 中 | CrewAI | 角色分工清晰的创意流 |
| 会话编排 | 最低 | AutoGen | 探索性、动态协作 |
判断标准:子任务是否需要共享上下文。大多数场景下,单 Agent + 好工具 > 多 Agent 协作。多 Agent 成本通常是单 Agent 的 3-5 倍。
六、三大保障体系:裹在 Harness 外围的闭环
┌──────────────────────────┐ │ 评估与优化(Eval) │ ← 好不好 │ (Bad Case / Ablation / 灰度) └──────────┬───────────────┘ │ 反馈 ┌──────────▼───────────────┐ ┌─────────┐ │ Agent 系统运行 │ ┌──────────┐ │ 安全护栏 │─────→│ (Model + Harness + Loop) │←─────│ 可观测性 │ └─────────┘ └────────────────────────────┘ │(Trace / │ │ Metrics) │ └──────────┘数据飞轮:评估 → 诊断(可观测性)→ 优化(改 Harness)→ 再评估。
💡 Terminal-Bench 2.0 核心证据:同一模型,默认配置排 30+ 名,优化 Harness 后跳进前 5。决定 Agent 排名的不再是模型,而是 Harness。
七、FDE:把 Harness 装进真实业务的人
Agentic Engineering 三层:
Layer 1: Loop(心脏) → Agent 怎么思考和行动 Layer 2: Harness(骨架) → Agent 能不能稳定运行 Layer 3: FDE(人) → Agent 能不能产生业务价值FDE 三件套:Loop 工程、Harness 工程、Eval 工程(2026 年 FDE 招聘最高频关键词)。
FDE vs 驻场外包的本质区别:
外包的代码是成本(交付即终点);FDE 的代码是侦察情报(交付只是起点,发现十二个客户的共同需求 → 变成产品功能)。“外包驻场是服务交付策略,FDE 是伪装成服务的产品策略。”
八、框架层坍缩:80% 被模型吸收,20% 上移到 Harness
框架过去做的事 ├── 80% 被模型吸收(路由 / 工具选择 / 输出解析 / 重试 → 模型原生就能做) └── 20% 向上转移到 Harness 层(持久化 / 检查点 / 可观测性 / 错误恢复)各框架的新定位:
- LangGraph→ 状态机编排引擎(Channel 语义、Checkpoint、Pregel BSP)
- DeepAgents→ Harness 工程产品化(12+ 层中间件、7 种可插拔后端)
- Claude Code→ Harness 做成产品(50 万行代码验证:最值钱的不是模型是 Harness)
- OpenClaw→ 全能 Local Agent(20+ 渠道适配器、三层安全审计)
框架没有消失,而是要么基础设施化(变成 Harness 的一部分),要么产品化(变成 Harness 的形态)。
九、Claude Code 源码:50 万行的实证
2026 年 3 月泄露的 Claude Code 50 万行代码,把上面所有理论判断挨个验了一遍:
| 理论判断 | 源码验证 |
|---|---|
| Harness 比 Model 值钱 | 50 万行绝大部分是上下文管理 / 危险判断 / 任务切换 / 错误回滚 |
| CLAUDE.md 不如 Hook | buildSystemPrompt 分层注入 + ToolPermissionManager 两阶段分类器 |
| 权限不递归放大 | 子 Agent 只能拿到父 Agent 显式授权的工具子集 |
| 命令级签名 | bash:git status而非bash |
| 记忆路径即相关性 | loadClaudeMd 递归搜索,不用向量 |
| Token 预算感知 | TokenBudgetManager 用自然语言告知剩余预算 |
十、一条主线串起所有内容
整个知识体系其实在答同一个递进问题链:
- AI 能做什么?→ Agent 三件套(规划 / 工具调用 / 观察调整)
- 怎么让 AI 做得好?→ Prompt → Context
- 怎么让 AI 做得可靠?→ Harness(工具 / 记忆 / 权限 / 护栏 / 验证)
- 怎么让 AI 持续做?→ Loop(自动化 / 停止条件 / Eval 尺子)
- 怎么让 AI 在真实世界做?→ FDE + Environment Engineering
- 怎么知道做得对不对?→ 可观测 + 评估 + Change Manifest
- 怎么防止闯祸?→ 护栏 + 权限 + Hook + 成本硬约束
- 怎么不断变好?→ 数据飞轮
一句收尾
2026 年之后,Agent 领域的护城河不在 Model(那是买的),而在 Harness(那是自己建的)。模型决定上限,Harness 决定下限——而下限,才是业务敢不敢上生产线的那道线。