DeepSeek Harness 拆解:一套能拼装的 Agent 架构

核心结论(一句话)

DeepSeek Harness 将 agent loop、模型、工具、会话和 UI 都放入以 Cordis 为中心的插件生命周期;其关键不只是可扩展,而是让每项副作用都携带可执行的逆操作,使热更新、替换和失败清理尽量收敛到插件边界。

分类提炼

知识节点(8 个独立概念)

可逆插件运行时

原文将 Cordis 与普通 DI 或钩子扩展区分开来:重点不是“如何把逻辑挂进去”,而是“如何在依赖变化、HMR 或初始化失败时把它完整拿出来”。插件通过 ctx.effect() 执行副作用并返回清理函数;运行时按照 LIFO 收集和调用,父 Fiber 的释放会级联到子 Fiber。

这使卸载成为与加载对称的一等操作:HMR、运行时装卸、失败中断都可在结构上触发清理。不过运行时只能保证清理函数被调用,不能证明清理函数语义正确。对共享外部资源,需通过 service 封装访问与补偿逻辑,不能把“可逆”外推到所有副作用。

Scope、Code Mode 与工具治理

预设由真实 Cordis scope 承载,而会话到预设采用逻辑绑定,目标是共享已挂载的插件实例。工具可见性按全局层、祖先 scope、限制规则和当前 scope 的直接注册逐层计算;注册工具本身亦被视为 effect,插件退出时应自动撤销。

Code Mode 的设计目标是让模型在一次隔离执行中编排多次工具调用,减少逐轮交互。原文称 DSH 使用 worker_threads 并以消息通道回到统一工具执行内核;它与 Codex V8 isolate 的对比是二手解读,适合作为“隔离模型与运行时取舍”的研究线索,而不是实现事实的直接依据。

采用边界

关联图谱

上游(基于 / 来自)

同级(横向 / 并列)

相关链接