Agent = Model + Harness

Agent = Model + Harness

这个公式是 LangChain 工程师对 Agent 本质的一种精炼抽象,把一个复杂的系统拆解成两个正交的关注点。


两个核心组件

🧠 Model(模型)

就是 LLM 本身,负责推理与决策

  • 理解用户意图
  • 规划下一步行动(调用哪个工具、传什么参数)
  • 综合工具返回结果,形成最终答案

Model 是 Agent 的"大脑",但它本身是无状态、无执行能力的 —— 只能接收 token、输出 token。


🔧 Harness(框架/脚手架)

Harness 是套在 Model 外面的执行基础设施,负责把模型的"想法"变成"行动":

Harness 的职责 具体示例
工具注册与调用 搜索、代码执行、数据库查询
状态与记忆管理 对话历史、中间变量、向量记忆
循环控制 ReAct 循环、最大步数限制、终止条件
Prompt 工程 System prompt、Few-shot 示例注入
错误处理与重试 工具调用失败后如何恢复
多 Agent 编排 调度子 Agent、汇总结果

为什么这个拆分有价值?

┌─────────────────────────────────────┐
│              Harness                │
│  ┌─────────┐    ┌─────────────────┐ │
│  │  Tools  │    │  Memory/State   │ │
│  └────┬────┘    └────────┬────────┘ │
│       │                  │          │
│  ┌────▼──────────────────▼────────┐ │
│  │           Model (LLM)          │ │
│  │   推理 → 决策 → 输出 Action    │ │
│  └────────────────────────────────┘ │
│       │                             │
│  ┌────▼────────────────────────┐    │
│  │   Loop Control / Planner    │    │
│  └─────────────────────────────┘    │
└─────────────────────────────────────┘

关注点分离:模型能力和执行基础设施可以独立演进

  • 换一个更强的模型(GPT-4 → Claude 3.7),Harness 不用改
  • 改造工具集或记忆策略,不影响模型本身

解释了 Agent 的上限和瓶颈

  • Agent 表现差 → 先问是 Model 不够聪明,还是 Harness 设计有缺陷
  • 很多"Agent 失败"其实是 Harness 没做好(工具描述不清、循环没有退出条件等)

一个直觉类比

Model = 一个聪明的顾问,只靠大脑思考,但手脚被绑着

Harness = 给顾问配备的办公室:电话、电脑、秘书、会议室、日历……

Agent = 顾问 + 完整的办公室,才能真正把事情做成


实践启示

在构建 Agent 时,这个框架提示你要分别优化两侧:

  • Model 侧:选择推理能力强、工具调用准确的模型;优化 Prompt 引导模型输出结构化 Action
  • Harness 侧:工具描述要精准、记忆要高效检索、循环要有防无限递归机制、错误要可恢复

这也是为什么很多 Agent 框架(LangGraph、AutoGen、CrewAI)的核心竞争力都在 Harness 的设计上,而不是模型本身。

posted @ 2026-03-24 13:08  悠哉大斌  阅读(4)  评论(0)    收藏  举报