学 AI 产品 · 专业 AI 产品经理播客第 4 章 · T4 解剖 DeepSeek Harness:一切皆插件的 Agent 底座 · EP 22
第 4 章 · EP 22

终章:五种工程观,我们该抄什么

时长 15:32音色 云健 · 男声

同步字幕

章节导航(点击跳转)

0:00开场 · 五家摆在一张桌上,我们到底抄什么2:01
2:01一 · 真源维度:权威副本放在哪1:31
3:33二 · 扩展维度:第三方怎么加能力1:32
5:05三 · 安全维度:防出事靠什么1:46
6:51四 · 最小可抄清单 · 这五件随便搬2:04
8:56五 · 体量陷阱 · 看着眼馋千万别抄的三件1:56
10:53六 · 它自己没做完的部分同样诚实1:19
12:13七 · 极简模式 · 一台用来测量模型的仪器1:43
13:56八 · 可带走的设计原则1:35
解读全文

ep54 · 终章:五种工程观,我们该抄什么 · 解读与音频稿件

  • 模块:T4 解剖 DeepSeek Harness:一切皆插件的 Agent 底座
  • 集页:https://xueai-podcast.pages.dev/t/dsh22/
  • 来源:xueai.miyang.cn(小山学堂 · 洛小山《学 AI 产品,从入门到精通》)
  • 说明:本页为音频的文字稿与延展解读,音频为二次演绎配音版,内容以源课程素材为准。

本集解决什么工程问题

别人的最佳实践,凭什么到你这儿就变成了负债?

这是本专题的收官课。前面把 DeepSeek Harness 的每一层都拆开看过,这一集不做新拆解,做一次收拢,回答三个问题:

  1. 五家 Agent 底座在真源 / 扩展 / 安全三个维度上各站在哪里?
  2. 三十来个机制里,有哪五件不用它的框架也能抄走?
  3. 哪些设计看着眼馋,但没有专职团队千万别碰?

唯一必须记住的判断标准:删掉框架还成立的设计,才值得抄。


能力地图

维度判据本集的用法
真源权威副本放哪,能不能恢复 / 分叉 / 检索 / 回放先问「出事时我拿哪份东西当证据」
扩展第三方怎么加能力,走几条路回答「一个新能力上线要过几道审批」
安全防出事靠劝还是靠机制回答「系统会不会有没人盯着的时间段」
可抄性是接口语义还是基础设施五件可抄 vs 三件陷阱的分水岭
成熟度敢不敢把未完成写进仓库根目录读任何新项目先看这一张表
动机这套工程最终替谁产生价值决定了可复现与好用谁优先

五家工程观 · 一张总表

产品真源扩展模型安全依靠一句话立场
DSHappend-only 事件日志(zstd 压缩 JSONL),恢复 / 分叉 / 检索 / 回放共用一份一切皆插件:219 个包、49 个分组,树外 bundle 安装机制层:运行时断言、类型边界、溯源鉴权、单调证明运行时优先,可证明性压倒交付速度
Claude CodeJSONL 会话文件(事后记录型),支撑恢复与查看hooks + MCP + 子代理与插件权限确认框 + 生产监控回馈(断路器阈值来自真实账单数据)产品单体,数据驱动止损
Grok Build内存对话为主,异步落盘为从,落盘失败不打断对话70 多个 crate 静态组合(本地快照统计),编译期定形Rust 类型系统 + 确认流程,模板编译期固定性能与静态确定性优先
Codex CLIJSONL 会话 rollout 文件MCP 为主的外接能力审批模式分级 + OS 级沙箱(Seatbelt / Landlock)沙箱优先,默认不信任执行环境
OpenCode本地文件存储的会话数据Provider 抽象 + 插件,多模型接入权限确认为主开源 TUI 优先,模型可换是第一需求
证据边界: DSH、Claude Code(还原源码与官方材料)、Grok Build 三列基于本地仓库逐行核对;Codex CLI 与 OpenCode 两列基于已公开资料整理,未逐行核对,取舍时请自行验证。表中 Codex 一列成文较早,其 Rust 源码后来另开一章逐行拆解,结论以那一章为准。

表看完先记住一件事:五家没有对错,只有立场。 DSH 的特殊在于它把可证明排在了好用前面——这是运行时的立场,也是它文档和测试体量的根源。


最小可抄清单 · 不要 Cordis 也能落地的五件

这五件的共同点:都是接口语义层面的决定,跟语言、框架无关。一个周末能搭出毛坯。

  1. 事件日志真源。 对话状态只存一份 append-only 事件序列,消息数组永远从它派生。一个 JSONL 文件加一个 fold 函数就是最小实现,恢复和回放白送(详见 Model-visible ⟺ logged 那一课)。
  2. 三种输入语义。 用户在 agent 干活时发来的消息,明确分成排队、插话、打断三种命运,写成显式接口语义。没有这一层,输入时机就是薛定谔的状态。
  3. 双路径压缩。 主动测压和被动溢出恢复分开挂,事件不同、条件不同、失败语义不同(详见 Compaction 双路径那一课)。
  4. 溯源鉴权。 每段进入上下文的内容都带来源标签,高权限操作只认可信来源。工具结果里藏的指令冒充不了用户。
  5. 单调 Guard。 重试、恢复这类危险放行,一律要求出示单调递增的证据(世代号、计数器),不认插件的口供。

为什么好抄: 它们都不要求引入任何基础设施。事件日志是一个文本文件加一个函数,输入语义是三个枚举值,双路径压缩是两个触发条件,溯源鉴权是给每段内容贴标签,单调 Guard 是放行前比一下数字。没有一样需要团队扩编。


体量陷阱清单 · 看着眼馋,千万别抄的三件

陷阱真实成本个人 / 小团队替代方案
219 个包的插件树每个能力都要切出 Service Definition / Provider / Consumer 三角色,配齐 README、测试、文档配对;DSH 有 49 个包分组、268 份 README一个 plugins/ 文件夹 + 一条约定
双语三文件文档配对英文 + 中文 + 记录两侧 blob hash 的 .i18n.yaml,改一侧不重新确认配对就 CI 红;每次文档改动双倍起步先写一种语言,翻译留给需要时
per-file 100% 覆盖率门禁DSH 自己都写了 2026-06-11-mutation-testing 笔记承认覆盖率只证明代码被执行过关键路径高覆盖 + 整体阈值,别定 100%

抄机制不抄框架。判断标准:这个设计删掉框架还成立吗?成立就能抄。


约束说明

对这张总表和两份清单,有四条使用约束:

  1. 立场必须自洽。 真源、扩展、安全三个维度的答案要互相支撑。同时抄五家各自的优点,得到的是三套互相打架的假设。
  2. 证据等级要分层。 逐行核对过的三列与公开资料整理的两列,不能同等引用。
  3. 体量既是成本也是自证。 1.8 万行文档、684 篇活跃与归档笔记、逐文件覆盖门禁,养这些的前提是有 AI 产能加专人管门禁。它证明的与其说是必要性,不如说是投入。
  4. 版本会漂移。 表中任何一列都可能被后来的一章推翻,遇到分歧时以更新的拆解为准。

DSH 自己没做完的事 · 白纸黑字

它是开发者预览版,根 AGENTS.md 开头第二节就写着预发布立场(第 5-7 行,核对日期 2026-08-13):

Remove this section at the first tagged release. With no external consumers, prefer the correct foundation over compatibility shims: rename or repackage freely and update every reference together. Backends reject old on-disk formats. SQLite uses monotonic SCHEMA_VERSION; dsh-session keeps SESSION_FORMAT_VERSION at 0 with no compatibility promise.

大意:第一个正式版本发布时删掉本节。当前没有外部使用者,宁要正确的地基也不做兼容垫片;后端直接拒绝旧的磁盘格式,会话格式版本停在 0,不做任何兼容承诺。

另有两处明确延后:

  • MCP 只桥了 Tools 一种能力。 packages/mcp/mcp-client/README.md 第 111 行原文:「Tools are the only bridged MCP capability — Resources and Prompts have no harness consumer and are deferred.」
  • 没有交互式 TUI。 apps/ 下只有 cli 与 web 两个应用。

这三条不算黑点,算取舍:地基没干透之前不浇二楼。


极简模式 · harness 作为模型的测量仪

四种产品模式 = 四份 preset 配置文件。极简模式核心配置(apps/cli/config/agent-presets/minimal/agent.cordis.yml 第 1-13 行):


# The `minimal` agent preset: a fixed-prompt, two-tool coding-agent composition.
# The persona is the complete system prompt, so global identity, Web orientation,
# tool guidance, and later assembly listeners cannot add prompt text. Runtime
# context snapshots are suppressed for this preset, and the model composes only
# persistent `bash` and `str_replace_editor`. Context compaction is absent.
- id: persona
  name: '@deepseek-ai/dsh-persona'
  config:
    text: You are a helpful software engineer assistant.
    complete: true
    includeRuntimeContext: false

读一下这份配置在做什么:

  • 系统提示词就一句话,且声明 complete——任何插件都加不了字;
  • 运行时上下文被抑制;
  • 工具只有 bash 和 str_replace_editor;
  • 压缩功能缺席。

根目录 BENCHMARK.md 推荐用 Python SDK 跑这个 minimal 变体做基准测试,每个任务独立 workspace 和会话。

动机解释: 模型厂商需要一台标准化、可复现、无压缩干扰的测量仪来评自家模型,顺手把它做成了通用运行时。Anthropic 做 Claude Code 是为了让模型服务产品;DeepSeek 做 DSH 有一半是为了测量模型本身。立场不同,工程观自然不同。

往后看,agentic RL 训练和模型评测对这种可回放、可证明的 harness 只会更饥渴——这可能是这套重机制路线最先兑现价值的地方。


审查清单 · 给自己项目做一次架构评审

回到演示卡片,按手头真实项目的现状勾选:已有的机制勾上,没有的留空。然后:

  1. 右边清单里的红色警告,找出至少一条缺依赖的组合(典型:有重试逻辑,但没有任何单调证据)。
  2. 回答:补上缺的那块,最小要写多少代码?
  3. 如果答案超过一周,说明你该先抄的是更底下那层。
  4. 三个维度各抄一家的优点了吗?如果是,先把立场统一。
  5. 抄之前问三件事:引完要不要加人维护、一年后还在不在人手里、它现在是在解决问题还是在解决引入它所带来问题。

提示一 · 用「删掉框架还成立吗」过滤一切最佳实践

这是本集唯一的通用判据。操作方式很简单:看到一个精巧设计,先在脑子里把它的框架依赖全部剥掉,看剩下的是不是一条独立成立的规则。

  • 事件日志真源 → 剥掉框架,剩下「只存一份,其余派生」。成立,能抄。
  • 219 包插件树 → 剥掉框架,剩下「每个能力切三角色」。没有框架支撑,这条规则没有意义。不能抄。

所以五件可抄的都是接口语义,三件陷阱都是基础设施。

提示二 · 先问「出事时我拿哪份东西当证据」

评估真源方案时,别问用什么格式存,问审计时拿什么出来。

  • 答案是事件日志 → 你把真源当资产,恢复 / 分叉 / 回放 / 检索都从它派生;
  • 答案是事后记录文件 → 你把真源当日志,能看不能演;
  • 答案是内存投影 → 落盘失败就丢,对话连续性优先于持久性。

三种都能跑,但在审计和回放上的能力差着一个数量级。这个差会在你第一次需要向客户解释「当时到底发生了什么」的时候一次性兑现。

提示三 · 靠确认框的安全,会在无人值守时退化成自动同意

安全维度的选择,本质是回答一个问题:这个系统会不会有没人盯着的时间段?

  • 会 → 别把保命的东西放在人的注意力上。确认框在无人值守时退化成一个自动点同意的按钮,而且退化是静默的。
  • 不会 → 确认框足够,且便宜得多。

机制层路线(运行时断言、类型边界、溯源鉴权、单调证明)没有这个退化点,代价是前期投入肉眼可见地贵。这不是技术先进与否的问题,是系统运行形态的问题。

提示四 · 把「未完成」写进仓库根目录

看一个项目的成熟度,先看它敢不敢列这张表。敢写未完成的,通常也敢写 bug。

落地建议:把这张表放在 AGENTS.md 这类人和模型都会第一眼读到的文件里,与给人看的文档并列。在这里写清楚哪些没承诺兼容,比在文档站写十页免责声明都管用。

延伸建议: 你自己的项目同样该有一张,哪怕只有三行。它对外是预期管理,对内是范围护栏。


一句话 Takeaway

五家 harness 没有对错,只有立场:产品单体、静态组合、沙箱优先、多模型开放、可证明运行时。抄的时候认机制不认框架:事件日志真源、三种输入语义、双路径压缩、溯源鉴权、单调 Guard 五件随便搬;219 包插件树、双语文档配对、逐文件全覆盖三件没有专职团队别碰。判断标准一句话:删掉框架还成立的设计才值得抄。


本页内容整理自 xueai.miyang.cn(小山学堂 · 洛小山《学 AI 产品,从入门到精通》),音频为二次演绎配音版,文字稿与解读部分由本站在原课程内容基础上整理与延展。