01 / OVERVIEW
AI AGENT 工程调研 · 2026.07.17

Harness

把裸模型变成生产可用 Agent 的那整套周边基础设施——循环控制、上下文工程、工具接入、护栏、人类在环、编排与评测。

Agent = Model + Harness 七层架构全景 精简版 · 14 页
02 / DEFINITION
定义

模型只会"接着说",
Harness 让它"会干活"。

模型本身只会 predict the next token。一旦要稳定调用工具、保持记忆、可被观测、可与人协作,就需要在模型外面套上一层 harness:循环控制、上下文编排、安全护栏、状态持久、评测反馈。

ENGINE

模型

只负责"接着说"——预测下一个 token

+
CHASSIS · WHEEL · BRAKE

Harness

循环、记忆、工具、护栏、人机协作

=
FULL VEHICLE

Agent

能稳定完成真实任务的系统

03 / EQUATION
核心观点

Harness = Agent − Model

AGENT=MODEL+HARNESS

"If you're not the model, you're the harness."

01

智能与落地分离

模型负责推理与决策,harness 负责把智能落地成真实动作。

02

修复方向反转

Agent 不靠谱时,真正的修复几乎总在 harness 里,而非换更大的模型。

03

解释模型趋同

原始能力逐渐收敛,harness 越来越成为决定系统表现的那一半。

04 / EVIDENCE
证据

一个把这句话砸实的数据点

6.7% 68.3%
6.7% · baseline68.3% · 改 edit-tool 输出格式后
Grok Code Fast 1 · SWE-bench
仅仅改了 edit-tool 的输出格式,模型权重一个字节没动。
OPENAI CODEX 团队复盘

"早期进展比预期慢,不是因为 Codex 不行,而是因为环境(environment)描述得不够充分。"

05 / MOTIVATION
动机

裸模型的局限,逐条对应 Harness 的方案

单次一问一答,没有多步循环Agent Loop(思考-行动-观察)
记不住上一次干了什么记忆系统(短期/长期/情景/语义)
不能操作真实世界工具调用 + MCP 接入外部系统
输出格式不可控结构化输出 / 类型约束
幻觉、越狱、泄露护栏(guardrails)
跑一半挂了就没了持久化执行 + 人类审批(HITL)

Anthropic 的共识:能用简单链路解决的事,别上来就用 agent。

06 / ARCHITECTURE
架构全景

从模型向外看,Harness 的七层

评测与可观测LLM-as-Judge · 追踪 · 监控 · 成本
编排层单 Agent / 多 Agent / Routing / Handoff
人类在环 HITL审批 / 中断 / 回退
护栏层输入校验 / 工具沙箱 / 输出过滤 / PII
工具层Function Calling / MCP / 沙箱执行
记忆与上下文工程工作记忆 / 情景记忆 / 语义记忆
循环控制层Think → Act → Observe
模型predict the next token
07 / LOOP + CONTEXT
循环与上下文

循环控制权在 Harness,不在模型

THINK

模型读上下文,决定下一步

ACT

输出结构化动作 tool_use

OBSERVE

Harness 执行并把结果塞回上下文

模型只输出动作,真正"跑循环"的是 harness。LangGraph 把循环建模成图上的边,天然支持条件跳转、并行、循环。

CONTEXT ENGINEERING > PROMPT ENGINEERING
工作记忆上下文窗口 + 滑动压缩
情景记忆向量数据库 + RAG
语义记忆知识图谱 / 嵌入 / 稳定提示
程序记忆微调模式 / 提示库 / 工具经验
08 / TOOLS + MCP
工具层 & MCP

让模型能"动手"

01 / 定义

工具定义

用 JSON Schema / Function Calling 描述工具的名字、参数、用途。

02 / 执行

工具执行

Harness 拿到 tool_use 调用真实 API / 数据库 / 沙箱,并把结果 observe 回去。

03 / 标准化

MCP

Anthropic 推出的开放标准,把"能不能接外部系统"变成统一协议。

Host(AI 应用)ClientServer ·Tools / Resources / Prompts·JSON-RPC 2.0 通信
09 / GUARDRAILS + HITL
护栏 & 人类在环

护栏贯穿全链路,危险动作要审批

GUARDRAILS01
  • 输入护栏 — PII 检测、越狱拦截、意图分类
  • 工具调用护栏 — 沙箱执行、参数校验、权限白名单
  • 输出护栏 — 格式校验、事实性接地、内容审核
  • 上下文护栏 — 防止记忆跨会话泄露敏感数据
HUMAN-IN-THE-LOOP02
  • 中断 — 危险动作前暂停,等人确认
  • 审批流 — LangGraph interrupt / Pydantic AI 钩子
  • 回退与纠正 — 人可以接管、改方向、补充信息
10 / ORCHESTRATION
编排、持久化与评测

从单 Agent 到可恢复、可评测的系统

Prompt Chaining Routing Parallelization Orchestrator-Workers Evaluator-Optimizer

持久化执行

状态 checkpoint · 可恢复执行 · 时间旅行(time travel)

评测与可观测性

任务完成率 · 安全合规 · 上下文效率 · 延迟与成本 · LLM-as-Judge

11 / HARNESS TURN
行业拐点

2024 起,一次"Harness 转向"

制约 agent 可靠性的瓶颈不再是模型质量,而是基础设施质量。Harness 从"一堆孤立模块"升级为一个完整的研究对象——harness 不是被动的执行管道,而是 agent 能力的共同决定者。

STEP 01

Prompt Engineering

问什么

STEP 02 · 2025

Context Engineering

该让模型看到什么

STEP 03 · 2026

Harness Engineering

整套周边基础设施

12 / METHODOLOGY
方法论

从"想要的行为"反推 Harness 该提供什么

持久存储、跨会话保留成果文件系统抽象 + fs 工具
不用人预设工具就能自主解题Bash + 代码执行工具
能执行并自我验证工作沙箱 + 预装运行时 / 测试器 / 浏览器
持续学习、跨会话积累知识记忆文件标准(AGENTS.md)+ Web/MCP 检索
对抗 Context Rot(上下文腐烂)Compaction / 工具输出卸载 / Skills 渐进式披露

"Harnesses today are largely delivery mechanisms for good context engineering."

13 / PRINCIPLES
设计原则

8 条设计原则

01

把"会说话"变成"会干活"

02

循环控制权在 harness,不在模型

03

Context Engineering > Prompt Engineering

04

工具接入标准化(MCP)

05

护栏要铺满整条管道

06

人要在环,可审批可纠正

07

可评测、可观测

08

从简开始,按需加复杂度

主流实现速览
LangGraph
图 = 循环;持久化、HITL、memory
Pydantic AI
类型安全输出、依赖注入、Handoff
Claude Agent SDK
原生工具、子 agent、MCP 集成
LlamaIndex / CrewAI
应用层封装,自带 RAG、多角色
14 / CLOSING
结语

把模型这一项减掉,
剩下的差距,就是 harness 工程的全部战场。

当你在评估、调试、或对比两个 agent 时——Harness = Agent − Model 不只是一个定义,它是一个诊断工具。

核心来源 LangChain · Martin Fowler · Anthropic · OpenAI · 学术综述 · MCP
01 / 14
← → / SPACE 翻页 · T 打开调节

LIVE TWEAKS