最近 Agent 工程化的热度从「模型能力」滑向「模型怎么在真实环境里不被卡住」。DeepSeek 在 9 月初把这件事做成了开源:把 Agent 拆成 Model + Harness 两层,模型负责想,Harness 负责调用工具、管理会话、对接沙箱、调度子代理。
一切皆插件的 Cordis 内核
Harness 代码已在 GitHub 开源(github.com/deepseek-ai/deepseek-harness),核心是 Cordis 内核——把"插件挂载、卸载、依赖管理"做成基本动作的元框架。每个能力(models、tools、skills、sessions、sandboxes、storage、loops、scheduling、UI)都是 Cordis 插件,通过配置就能换或重组,不用改源码。
学术基础是 arXiv 2608.25512(「A Programming Paradigm for Spatiotemporal Composability」,8 月 26 日提交,92 页),作者包括 DeepSeek-AI 与北大。论文提出两个正交维度:时间可组合(移除组件能完整回滚副作用)和空间可组合(声明并响应组件间依赖),用统一的"上下文类型"做中介,实现组件间安全交错。
四种 Runtime Mode
- Standard:完整 coding agent,文件编辑、shell、Web 搜索、skills、规划、子代理、workflows 全开,是默认形态。
- Code:工具通过 Code Mode SDK 暴露成 TypeScript,模型把多步操作合并成一段代码执行,减少工具往返。
- Minimal:只剩 bash + str_replace_editor 两个工具,给"最小环境 benchmark 模型"用。
- Creator:Standard 之上加运行时检查、插件实验、preset 编辑,给做自定义 Agent 预设的开发者。
四档位是 DeepSeek 对"Agent 应该多复杂"的回答——从 benchmark 用的最小壳,到生产环境的全套工具链,再到给构建者用的元层。
可观测性是隐含卖点
每个 run 进只追加的 session log:系统提示、推理、工具调用、子代理调度、上下文注入,按来源可检索;Trajectory 视图支持在同一份事件流上 resume、fork、搜索、replay。这把 Agent 的"思考—行动"轨迹做成可重放的结构化日志,对调模型行为、做离线评测、做训练数据回灌更友好。
所以呢?
DeepSeek 不是第一个做开源 Agent harness 的(参考 Databricks Omnigent、Anthropic SDK、LangChain 风格框架),但它是少数把 Agent = Model + Harness 这条线喊得最清楚、把"插件组合"做成一等公民、又把可观测性默认开在底层的实现。配合 arXiv 论文对可组合性的形式化,Agent 卡在环境交互层的团队,去看 Cordis 的 effect/coeffect 设计,会比从零搭框架更省力。