AI工具

DeepSeek Harness:一个开放、可组合、仍在成型的 Agent 底座

·2026-08-17·5

Claude Code 的优势,很大程度上来自 Claude 模型与专属 Harness 的协同:System Prompt、工具协议、上下文管理和错误恢复都围绕模型优化。

按这个逻辑,DeepSeek 最合理的选择似乎也应该是做一款封闭、稳定、专门贴合自己模型的 Agent 产品。但 DeepSeek Harness(以下简称 DSH)采用了另一种结构:模型、工具、会话、沙箱、Agent Loop 和 UI 都可以通过插件替换。

这并不意味着 DeepSeek 放弃了模型专属优化。更准确的理解是:

DSH 试图把开放的 Agent 运行时与 DeepSeek 官方 Profile 分成两层。底层允许开发者组合,上层仍然可以针对 DeepSeek 模型优化。

从目前源码看,DSH 已经展示了比较完整的架构方向,但仍处于 Developer Preview。它的价值和风险都来自同一个选择:高度插件化。


一、Harness 已经成为模型能力的一部分

Agent 的表现不只取决于模型:

[
Agent能力 = f(Model, Prompt, Tools, Context, Loop, Environment)
]

Harness 决定模型能看到什么、调用什么、如何保存上下文、怎样执行工具,以及什么时候继续或结束任务。

因此,同一个模型放进不同 Harness,表现出现明显差异并不奇怪。我们评测的实际是“模型 + Harness”的完整系统。

DSH 的基础价值也在这里:DeepSeek 开始提供自己定义的 Agent 运行环境,使开发者可以区分模型问题和第三方适配问题,也可以复现官方推荐的运行方式。


二、DSH 已经做成了什么

DSH 底层使用 Cordis,把运行中的 Agent 组织成一棵插件树:

模型适配器
+ System Prompt
+ Session Log
+ Agent Loop
+ Tool Registry
+ 权限与沙箱
+ UI

这些能力没有不可替换的特权地位。开发者可以用 Profile 和 Bundle 组合不同 Agent,再通过 Patch 替换具体实现。

其中有四个值得肯定的设计。

1. 统一的依赖和生命周期机制

插件通过 Context 获取 llmtoolssessions 等服务,而不是直接绑定具体实现。插件注册的服务、监听器和副作用归插件所有,卸载时由 Cordis 统一撤销。

这让更换模型适配器、工具后端或远程沙箱时,不必重写整个 Agent Loop,也为动态加载和热更新提供了结构基础。

2. 事件化的 Agent Loop

一次任务被拆成 Turn 和 Step。模型请求前、工具执行前后、轮次停止时都有明确事件。插件可以在这些位置注入上下文、增加政策、观察结果或改变后续流程。

3. 仅追加的 Session Event Log

用户消息、模型输出、工具调用和结果都记录为事件。恢复、Fork、Transcript、UI 和遥测从同一日志派生。

模型可见内容必须可以从日志重建,这对回放、审计、调试和轨迹处理都很有价值。

4. 分层的工具执行流水线

Tool Call 不会直接执行,而是依次经过权限、审批、执行、结果变换和审计。安全政策、沙箱后端和模型看到的结果可以分别扩展。

这些设计说明,DSH 不只是一个 Web UI 或 Coding Agent,而是在尝试构造通用 Agent 运行时。


三、它和现有开源 Harness 的关系

DSH 并不是第一个开源 Agent Harness。OpenHands、Pi、OpenCode 和 Goose 都覆盖了其中一部分能力。

项目更接近什么主要特点
OpenHands SDK生产 Agent SDK 与远程运行时Agent、Tool、Workspace、Agent Server
Pi精简 Agent Harness核心较小,工具调用和状态机制直接
OpenCode开源 Coding Agent 产品终端体验、Build/Plan Agent、Subagent
Goose通用本地 Agent多模型、MCP、桌面端、CLI 和 API
DSH可动态组合的 Agent 运行时模型、会话、Loop、工具、沙箱和 UI 都插件化

DSH 与这些项目有大量相似之处。它最鲜明的区别不是“支持插件”,而是尝试用同一种插件生命周期和事件机制组织整个产品。

这使它的抽象更统一,也使插件组合成为更重要的工程问题。


四、插件机制目前面临什么问题

1. 扩展机制较多,抽象仍在收敛

DSH 现在同时存在:

  • Service、Provider、Consumer
  • emitwaterfallparallelserial 事件
  • Capability Seam、Scope、Isolate Realm
  • Profile、Bundle、Patch、Hook、Tool、Command

开发者需要判断一个功能应该属于哪一种扩展机制。部分新能力还会新增自己的 Seam、Registry 或事件,学习和维护成本较高。

一次静态统计中,packages/ 下约有 226 个包,默认 Composition 约有 78 个插件行;显式的 agent/*tools/*session/* 等事件名约 51 个。这些数字不等于稳定公开 API 的数量,但能够说明当前系统暴露面较大。

2. 插件组合存在顺序和冲突风险

Cordis 可以管理组件的依赖和卸载,但不会自动解决业务语义冲突。

例如,两个插件都修改 Prompt,结果会受到加载顺序影响;waterfall 插件还可以不调用 next(),直接结束后续处理。

因此:

[
Plugin_A \circ Plugin_B \neq Plugin_B \circ Plugin_A
]

另外,Scope 只对专门实现了 Scope-aware 的 API 有效,普通 Service 仍可能是 Context 全局的;Scope 也不是沙箱或权限边界。Profile Patch 对插件配置采用整块替换,也可能造成意外覆盖。

这些并不说明插件架构不可行,而是说明成熟平台还需要补充:稳定契约、顺序规则、冲突处理、兼容性声明和组合测试。


五、为什么说它仍处于技术预览阶段

官方 README 明确将 DSH 标记为 Developer Preview,并提醒未来会出现破坏兼容性的变更。

提交历史显示,直到 7 月底,团队仍在调整核心扩展面:

  • 7 月 21 日迁移 Tool 和 Prompt 的 Scoped Layer。
  • 7 月 28 日新增并加固 Settings Seam。
  • 7 月 29 日新增 Credential Seam。
  • 7 月 31 日重构 agent/pre-step 的 Inbox 生命周期。

同期 Agent Loop、Subprocess Seam、Session Projection、Loader Composition 和 Scoped Bash 也在变化。

这说明团队仍在确定能力边界、状态归属和组合方式。对于开发者而言,当前可以基于 DSH 做实验和内部工具,但如果要维护长期插件或生产系统,需要固定版本,并为自己的插件组合建立测试。

这是开发者预览阶段的正常状态,也意味着现在不适合过早把当前扩展 API 当成最终标准。


六、DeepSeek 为什么要在这个阶段开放它

即使尚未稳定,开放 DSH 仍有几项明确价值。

flowchart TB
    M["DeepSeek 模型"]
    C["开放 DSH 内核<br/>插件、事件、会话、工具、沙箱"]
    O["官方优化 Profile<br/>模型协议、Prompt、上下文策略"]
    P["社区与研究 Profile<br/>不同工具、Loop、模型和 UI"]
    U["官方 Agent 产品"]
    E["多样化运行环境"]
    V["Verifier 与独立评测"]
    T["轨迹筛选与后训练"]
    N["下一代模型"]

    M --> C
    C --> O
    C --> P
    O --> U
    O --> V
    P --> E
    E --> V
    V --> T
    T --> N
    N --> O

这张图体现了 DSH 可能同时承担的两种角色:产品侧用官方 Profile 释放模型上限,训练和评测侧用不同 Profile 检查模型能否适应环境变化。

1. 提供官方参考环境

DeepSeek 可以公开模型推荐的消息格式、工具协议、采样参数和 Agent Loop,减少第三方适配误差。官方 Profile 仍然可以针对 DeepSeek 模型深度优化。

开放 DSH 内核
    ↓
DeepSeek 官方优化 Profile
    +
社区自定义 Profile

2. 提前建立插件生态

Agent 时代的重要接口不只有模型 API,还包括 Session、Tool、Skill、Sandbox、Subagent 和 Event。开发者预览可以让社区在接口最终稳定前参与试用和反馈。

3. 让社区扩展应用场景

DeepSeek 不必独自开发 Coding、浏览器、数据分析和企业自动化产品。它可以维护底座和参考组合,让社区探索模型适配、工具和终端产品。

4. 为多环境评测和训练准备底座

可替换的 Profile 和 Agent Loop 适合构造不同工具、协议和错误反馈环境。未来可以用它研究模型对 Harness 的依赖程度。

这是合理的长期用途,但目前没有公开证据证明 DeepSeek 已经使用 DSH 进行了多 Harness 后训练。


七、为什么多 Harness 可能重要:Simulator Collapse 的启发

一项 Harness 对比实验提供了直观信号。Composio 把同一个 DeepSeek V4 Flash 接入多个 Agent Harness,测试 30 个 SaaS 工具任务:Pi Agent 完成 20 个,OpenCode 完成 14 个,相差 20 个百分点。

这个实验样本不大,也没有把 Prompt、工具 Schema、token budget 和重试策略逐项隔离,因此不能证明某一个机制贡献了 20 分。但它至少说明:Agent 成绩是整个运行系统的结果,Harness 不是中性的外壳。

DeepSeek 官方模型卡也注明,V4 Flash 的部分 Code Agent benchmark 使用了 DSH Minimal Mode。Minimal Mode 只向模型提供持久 Bash 和 str_replace_editor。这证明官方分数对应的是“模型 + 特定 Harness 配置”,但不能据此推断模型后训练也只使用了该环境。

《One Frozen Simulator Is Not Enough》进一步研究了相似但不完全相同的问题。论文发现,当策略 Agent 长期只和一个固定 LLM 用户模拟器交互时,可能学会利用模拟器的主导行为模式:训练 Reward 上升,但换到新模拟器或真实用户后表现下降。论文称之为 simulator collapse,并通过 Verbalized Sampling 和 Co-Training 扩大环境分布,报告最高 9% 和 14% 的 held-out 提升。

这项研究不能直接证明 DeepSeek 已经过拟合自己的 Harness:

  • 论文研究的是 LLM 用户模拟器,Coding Harness 主要定义工具和观察协议。
  • 官方只公开了评测配置,没有公开完整的 Agent 后训练环境。
  • 使用 GRPO 或 Minimal Mode 本身都不能证明发生了 collapse。

但它提供了一个有用的分析框架:

如果 Agent 只在单一工具集合、Tool Schema、错误格式和 Agent Loop 中训练,它可能把对环境的熟悉当成通用能力。

从这个角度看,DSH 的插件化不只是为了让开发者安装更多工具。Profile、可替换 Loop 和统一 Session Log,也可以构成一种 Harness Population:同一模型在多种环境中运行,再通过 Verifier 比较表现,并用未见过的 Profile 做独立评测。

那篇分析文章进一步推测,DSH 可能帮助 DeepSeek 获得真实 Agent 轨迹,并把环境与模型一起迭代。这是一个合理假设,但目前不是官方确认的动机。尤其是 DSH 默认关闭 Session Telemetry,开源本身不会自动把开发者轨迹回传给 DeepSeek。

因此,更稳妥的结论是:

DSH 已经具备构造多样化 Agent 环境的工程条件;它是否会真正进入 DeepSeek 的训练数据闭环,还需要后续证据。

八、这和 Claude Code 并不矛盾

Claude Code 和 DSH 都承认模型与 Harness 需要协同。区别是协同发生在哪里。

Claude CodeDeepSeek Harness
模型与官方产品垂直整合开放运行时加官方 Profile
优先保证统一体验优先提供可组合性
系统复杂度由厂商治理部分复杂度交给插件开发者
更接近成熟产品更接近开放基础设施

Claude Code 的路线更容易在短期内提供稳定体验。DSH 的路线有利于扩展和环境多样性,但需要更强的插件治理。

DeepSeek 最终仍然需要一个贴合自己模型的官方 Harness。开放 DSH 只是让这套官方组合建立在可复用底座上,而不是写死在单一产品中。


结论

DSH 既不应该被描述为已经成熟的 Agent 平台,也不应该因为插件机制复杂就被简单否定。

它已经展示出几项有价值的能力:

  • 用 Cordis 管理插件依赖和生命周期。
  • 用 Session Event Log 保存可回放轨迹。
  • 让 Agent Loop 和工具政策成为扩展点。
  • 用 Profile 组合官方和社区 Agent。

它尚未完成的部分也很明确:

  • 扩展机制需要进一步收敛。
  • 插件顺序和冲突需要更清晰的规则。
  • Scope、权限和配置覆盖需要更容易理解。
  • 生态需要兼容性标准和组合测试。

因此,现阶段最准确的评价是:

DSH 是一个架构方向清晰、自由度很高,但仍在验证插件治理能力的 Agent 底座。

DeepSeek 开源它,不是因为模型专属 Harness 不重要,而是希望同时拥有官方优化能力和社区扩展能力。

这条路线是否成功,取决于 DSH 能否从“组件可以被替换”,继续走到“组件可以被稳定地组合”,并证明这种环境多样性确实能改善模型评测或训练。


主要资料

  1. DeepSeek Harness
  2. DSH Architecture
  3. Cordis Primer
  4. DSH Scope README
  5. DeepSeek-V4-Flash-0731 Model Card

补充研究

  1. One Frozen Simulator Is Not Enough: Simulator Collapse in Multi-Agent RL
  2. Best Agent Harness for DeepSeek V4 Flash
  3. 同一个模型差 20 分:DeepSeek 的 Harness 依赖性和合成数据的隐藏天花板
说明:关于 DSH 的商业动机和未来训练用途,本文均为基于架构的分析,不代表 DeepSeek 官方表述。包、插件行和事件数量来自当前版本的静态统计,主要用于说明复杂度,不等同于稳定公开 API 的精确数量。

评论 (0)

?
0/1

还没有评论,来发第一条吧

网站上的服务均为第三方提供,
请用户注意自行甄别。

北京酷讯互动科技有限公司

备案京ICP备2024094994号-17

© 2026 虾345 · All Rights Reserved

用户服务协议·隐私政策