LAYER 01 · 建立全局直觉

Harness 到底是什么?

模型负责生成下一步,Harness 负责让下一步成为可控、可恢复的真实行动

12 min2 处源码锚点upstream@47f9438
模型 + 上下文 + 工具 + 状态 + 控制 + 表面
本章要解决的问题

为什么同一个模型放进不同 Agent 产品,表现会像完全不同的系统?

先建立直觉

把模型想成一位很聪明的新飞行员。Harness 不是飞机上的某个按钮,而是机身、仪表、飞行手册、空管、黑匣子和维修制度的总和。飞行员决定下一步动作,整套系统决定动作能否被执行、被观察、被撤销。

MECHANISM

机制拆解

DeepSeek Harness 把模型调用之外的复杂度拆成插件拥有的能力:会话日志保存事实,系统提示词组装请求,工具注册表执行动作,策略与沙箱限制动作,客户端表面呈现结果。

真正的设计目标不是让模型“更聪明”,而是让模型可替换、运行可回放、能力可组合、失败可收敛。

第 1 步 / 共 4 步

接收意图

Web、CLI、ACP 或 SDK 送入同一种 Agent 输入。

INVARIANTS

无论怎么扩展,都不能破坏

  • 模型可见的事实必须可从日志重建
  • 外部动作必须经过 Harness 拥有的能力边界
  • 任何可替换能力都不应迫使 Agent Loop 认识具体提供方
FAILURE MODES

最容易踩中的坑

  • ×把“会调用工具”误当成“已经是生产级 Agent”
  • ×把所有状态塞进 messages 数组
  • ×用模型提示词代替真实权限与沙箱
VERIFY IN SOURCE

不要相信结论,去源码里复核

以下链接固定到官方 deepseek-harness@47f9438;查看当前上游时请留意后续 breaking changes。

KNOWLEDGE CHECK

先停十秒,再揭晓答案

模型与 Harness 的责任边界是什么?

为什么下一章紧接在这里

下一章会解释 DeepSeek Harness 为什么用“Everything is a Plugin”来组织这些责任,而不是继续扩大主循环。

Learn DeepSeek Harness

独立教学项目。解释力来自源码,判断边界以官方仓库为准。