第 01 章 · 第一性原理:Agent = Model + Harness

本篇目标:把任意一个 Agent 系统,干净地拆成「模型」与「非模型」两半。


1.1 一个公式,两个盒子

官方 DeepSeek 官网首页把产品定位写成一行:

Agent = Model + Harness

社区 LangChain 的 Vivek Trivedy 在 The Anatomy of an Agent Harness(2026-03-10)给出等价的强表述:

"If you're not the model, you're the harness. A harness is every piece of code, configuration, and execution logic that isn't the model itself."

这个公式的价值不在简洁,在它强迫你做二分类:

组件 是模型吗 归类
权重、推理、采样 是 Model
系统提示词 / AGENTS.md 否 Harness
工具定义、工具 schema 描述 否 Harness(且是提示词的一部分)
MCP Server / Skills / 插件 否 Harness
文件系统、沙箱、浏览器 否 Harness
Agent Loop、重试、停止条件 否 Harness
子 Agent 派发、模型路由、handoff 否 Harness
上下文压缩、hooks、中间件 否 Harness
会话日志、Trajectory、回放 否 Harness
审批、权限预设、告警、审计 否 Harness

判据 1:答不上来「它是模型吗」的,都是 Harness。

推论:当你说「这个模型不行」时,有极大概率你在描述一个 Harness 缺陷。第 06 章会给出可操作的判别流程。


1.2 一个更硬的类比:Harness 是操作系统

社区 Beren Millidge(Scaffolded LLMs as Natural Language Computers, 2023)把原始 LLM 类比为没有内存、没有硬盘、没有 I/O 的 CPU。补全这张表:

冯·诺依曼部件 Agent 系统对应 由谁提供
CPU LLM 权重与推理 模型厂商
RAM 上下文窗口(快、小、易失) Harness
磁盘 文件、向量库、会话日志(大、慢、持久) Harness
设备驱动 工具 / MCP / API Harness
系统调用 tool call 协议与执行流水线 Harness
中断与调度 审批、超时、取消、子 Agent 派发 Harness
操作系统 Harness 你

这个类比给出一个直接可用的设计原则:

判据 2(能力上限):Harness 不能提升模型的推理上限,但能决定这个上限有多少比例被稳定兑现。提示词写得再狠,也换不来不存在的推理能力;但环境设计错了,会把已有的能力成片浪费掉。

原文那句「门槛不在安装,在心智模型」,工程含义就是:把优化对象从模型权重切换到环境。


1.3 三次演进:不是替代,是包含

社区 2022–2026 年 AI 工程的重心迁移,主流梳理为三到五个层次。下表合并 Nicolas Neira 的三时代与 Heym 的五层划分:

层次 回答的问题 作用对象 工作单元 典型产物 修复的失败
Prompt Engineering 我怎么告诉模型 一次请求 一条消息 提示词模板 模型误解任务
Context Engineering 模型每轮看到什么 上下文窗口 一轮输入 检索、记忆、压缩策略 缺信息 / 信息淹没
Loop Engineering Agent 怎么迭代 一次运行 plan-act-check-retry 循环与停止条件 早停 / 死循环
Spec-Driven Development 「做完」是什么 一个功能 spec + 验收条件 可验证规格 做错了东西
Harness Engineering 模型在什么环境里工作 整个环境,跨时间 一次失败 规则、测试、闸门、告警 同一个错误重复发生

关键差异 社区:

"A context engineer asks what the model was missing. A harness engineer asks what in the environment allowed the mistake, and what would catch it next time without a person."

Harness engineering 增加的唯一新维度是时间:不是把这一轮做对,是把环境改到这个错误在类上永久消失。第 07 章整章讲这个 ratchet。


1.4 六个要素:Harness 的最小完备集

社区 一个可运行的 Agent Harness 至少包含六部分。右列给出 DSH 中的对应实现 官方:

# 要素 职责 DSH 对应(ctx 键)
1 The loop 调模型 → 执行工具 → 回填结果 → 判断停止 core/agent-loop、ctx.agentLoop
2 Tools 函数定义 / MCP / Skills,含模型读到的描述 core/tools、ctx.tools
3 State & memory 跨步骤、跨会话存活的状态 core/session、ctx.sessions(append-only 事件日志)
4 Context management 每轮进窗口的内容与压缩策略 core/system-prompt、subsystems/compaction
5 Sandbox 生成代码与命令的隔离执行 subsystems/sandbox、审批策略
6 Guardrails & gates 权限范围、审批、限制、监控 subsystems/approval、permission-presets

docs/architecture.md 的核心包表还给出更细的接缝:ctx.llm(模型适配器)、ctx.agents(Agent 注册表)、core/scope(按 Agent 隔离注册)。这些在第 03、11 章展开。

判据 3(完备性):评审一个 Harness,逐个问「这六件事谁负责」。答不出来的那一格,就是线上事故的入口。


1.5 Inner / Outer:哪一半真正属于你

社区 Birgitta Böckeler(martinfowler.com, 2026-04-02)把 Harness 切成两层:

Inner Harness Outer / User Harness
谁构建 工具厂商 你
内容 loop、内置工具、权限模型、压缩策略 AGENTS.md / CLAUDE.md、hooks、skills、MCP、测试套件
例子 Claude Code、Codex、Cursor、DSH 标准模式 你仓库里的规则文件与 CI
能否改 只能配置或换厂商 可版本化、可 review、可 diff

DSH 的特殊性在于它把 inner/outer 的边界主动拆掉了。官方 架构文档原句:

"There is no privileged core to patch: you extend dsh by mounting a plugin beside the others, and registrations are effects that unwind when their plugin unloads."

即:模型适配器、工具注册表、会话日志、Agent Loop 本身全是插件,配置层可替换。这是「一切皆插件」的工程含义,也是本系列选它做主解剖对象的原因——它把通常不可见的 inner harness 变成了可读、可改、可复盘的教材。


1.6 为什么这件事值得系统学:三组证据

证据 数值 / 结论 等级
LangChain 仅改 Harness、模型不变 Terminal Bench 2.0 排名 top 30 → top 5 社区
DSH 原文 PTC 实测 输入 520 万 → 150 万 token,耗时 33 → 26 分钟,质量三组最好 实测
DSH 标准模式说「你好」 上下文开销约 1 万+ token;极简模式约 1 千+ 实测

第二、三组数字来自原文,本教程未独立复现,只用于说明量级,不作为性能承诺。但它们共同指向一个非直觉的结论:

工具越多,每次对话的固定成本越高。 二十多个工具的说明书会写进系统提示词,你每一次交互都在为它们付费。Harness 设计里存在一条明确的「能力—开销」帕累托前沿,第 09 章量化它。

以及一条评测纪律 原文:

一个 benchmark 分数,部分反映测试时使用的 Harness,而不仅是模型。

所以第 15 章要求:固定 Harness 才能比模型,固定模型才能比 Harness。 混着比得出的结论无效。


1.7 本章产出与验收

核心产出:一张你自己系统的「组件归类清单」——把当前项目里每个模块标成 Model / Harness,并标注它属于六要素中的哪一格。

验收点:

  • 能指着任意一个组件,在 3 秒内判定 Model / Harness
  • 能说出六要素各自在你系统里的责任模块;说不出的记为缺口
  • 能区分 inner / outer,并指出哪些文件已经进了 git、哪些还只存在某个人的脑子里
  • 能解释「写得更狠 ≠ 写得更准」在概率采样意义下的原因

最后一问:你现在的 AGENTS.md 里,有多少行能追溯到一次具体的线上失败?答不上来,就去第 07 章。


延伸阅读

来源 URL 等级
DeepSeek Harness 官网(公式与四种模式) https://www.deepseek.com/harness/zh/ 官方
LangChain, The Anatomy of an Agent Harness https://www.langchain.com/blog/the-anatomy-of-an-agent-harness 社区
Böckeler, Harness engineering for coding agent users https://martinfowler.com/articles/harness-engineering.html 社区
Hashimoto, My AI Adoption Journey https://mitchellh.com/writing/my-ai-adoption-journey 社区
DSH 架构文档 https://github.com/deepseek-ai/deepseek-harness/blob/master/docs/architecture.md 官方
原文(枪手AI) https://mp.weixin.qq.com/s/rsfp0Kie5xlDOKDsE3Fqvw 原文
本系列为本站原创教程,基线为微信公众号《DeepSeek Harness 最新高阶指南》(2026-11-05),并汇总 DeepSeek 官方仓库与文档站、Cordis / arXiv:2608.25512、以及 OpenAI / Anthropic / LangChain / Martin Fowler 等一手资料。每条引用均标证据等级,完整清单见 附录 B;未定位到一手来源的线索单列,未编造补位。DeepSeek Harness 为 developer preview,官方 SAFETY.md 明确「未经过安全审计、不得视为生产就绪」,命令与配置键可能随版本失效。资料截止 2026-11-06。姊妹篇:《FDE 入门到精通》。