标准模式是完整编程 agent,也是正确的默认值。Code 模式能力相同,但工具通过 Code Mode SDK 暴露,模型写一段 TypeScript 程序替代多轮工具往返——它的官方中文名就是 PTC 模式。极简模式只留 bash 和 str_replace_editor。Creator 模式加了运行时自省,专门用来写自定义预设。
harness 不是单一的东西。同一个模型套上不同的工具面,用起来像是两个产品——而 DeepSeek Harness 自带 四套。选错是笔隐性开销:要么为用不上的能力买单,要么跟一个没那个能力的 agent 死磕。
下面是每种模式实际暴露了什么。
标准模式
完整编程 agent。文件编辑、shell、文件与网页搜索、skills、计划、目标、子 agent、workflow,全部对模型 开放。
大多数人说「这个 harness」时指的就是它。它也是另外三种的描述基准——Code 和 Creator 都被定义为 标准模式 + 某样东西,极简则是标准模式砍到几乎不剩。
适用: 基本上所有正经活。多文件改动、调试、重构,任何你希望 agent 先看一圈再动手的场景。
Code 模式(即 PTC 模式)
能力和标准模式一样,但工具是通过 Code Mode SDK 暴露的。模型不再是「发一个工具调用、读结果、再发 下一个」、每步烧一次模型往返,而是写一段 TypeScript 程序,把多步操作组合起来一次跑完。
看过中文材料的话,你见过的名字是 PTC 模式。这不是社区起的外号:自带的预设目录名是 code,
而它自己的 preset.yml 里把中文显示名设成了 PTC 模式。两个名字都是官方的,只是分属不同语言。
这个命名分裂值得记住:搜其中一个词,找不到另一个词下面的讨论。
它的经济性是结构性的,不是玄学。每次工具往返都要花一次模型推理,还会往上下文里塞一段模型未必需要留着 的结果。三步的任务感觉不出来。三十步的——在一个包里重命名符号、审所有调用点、跑 codemod、再看 diff ——开销就被这部分主导了,压成一段程序在延迟和上下文上都是实打实的赚。
适用: 步骤事先可知的长链条机械任务。
别用在探索性任务上。如果每一步的结果真的决定了下一步该干什么,那提前写程序就是提前写错,你得为一 个失败的程序外加回退再付一次钱。
极简模式
两个工具的 agent:常驻 bash 加 str_replace_editor。就这些。
这是刻意的清苦。没有搜索工具、没有 planner、没有子 agent——模型和 shell 之间几乎没有东西。结果是 agent 做成的任何事都能归到模型头上,因为没剩多少 harness 可以分功劳。
适用: 诚实地给模型跑分,以及教学。演示时,丰富的 harness 会把模型在干什么藏在脚手架后面;极简模式 让推理过程可见,因为每个动作都是一条你能读懂的 shell 命令。
别用来干生产活。你会把时间花在补 harness 本来会自己搜集的上下文上。
Creator 模式
标准模式的完整能力,外加运行时自省和插件实验。它只为一件事存在:编写自定义 agent 预设。
它的预设目录名是 cordis,等于直接把底牌亮了——这就是那个带 cordis_* 运行时工具、
让 agent 能检视并在活的组装里定义插件的模式。
因为 harness 里一切皆插件、由 Cordis 内核解析,「模式」并不是被特判的代码——它就是一组特定的插件行 组合。Creator 模式让 agent 能看见这份活的组合,从而提出、试验并保存一个新的。典型用法是用大白话描述 你要什么——一个只能读文件、永远不能写的 review agent——然后让它起草、校验、存成预设。
适用: 发现四个默认档都差一点意思之后,把你真正想要的那个模式造出来。
怎么选
| 场景 | 模式 |
|---|---|
| 默认,任何情况 | 标准 |
| 仓库里三十处高度相似的改动 | Code |
| 公平对比两个模型 | 极简 |
| 给人讲清楚 agent 是什么 | 极简 |
| 「要是有个模式能……就好了」 | Creator |
| 探索性调试、根因未知 | 标准 |
模式就是预设
这四种模式不是被特判的代码路径。它们是随 CLI 自带的四个 agent 预设目录——standard、code、
minimal、cordis——每个目录里有一个组装该 agent 的 agent.cordis.yml,外加一个装着显示名和排序的
preset.yml。
这也是「造第五种」现实可行的原因:你复制一个就行。机制见 agent 预设,包括「只能在 agent 还什么都没产出时切换」这条规则。
跨模式都成立的那部分
不管你启的哪个模式,模型看到的一切都写进一份只追加的 session log。resume、fork、search、replay 全部基于这条事件流,trajectory 视图还能按来源检视一次会话。
这件事比听上去重要。选模式是在赌哪套工具面配得上任务,而你有时会赌输。因为 session 是事件日志而不是 聊天记录,赌输是可恢复的——你可以从出问题的那个点 fork,而不是从头再来。
常见问题
PTC 模式和 Code 模式是一回事吗?
是,而且两个名字都是官方的。自带预设目录名是 code,它的 preset.yml 把中文显示名设成 PTC 模式。同一个预设,每种语言一个名字。
应该从哪个模式开始?
标准模式。它是全能力档,其它三个都是拿它当基准描述的。有具体理由再切。
极简模式会让模型变差吗?
它砍掉了脚手架,任务成功率通常会降,但结果可以归因到模型而不是 harness。这正是它存在的意义——用来跑分和教学,不是用来干活。
怎么切换模式?
模式就是 agent 预设。四种以预设目录 standard、code、minimal、cordis 的形式自带,会话指定自己跑哪个预设。切换只允许在 agent 还什么都没产出时进行,否则网关会回 agent-preset-locked。
能自己造第五种模式吗?
能——复制一个预设。创作是「只能复制」的:dsh 把某个已有预设的整个目录复制到用户根目录下,你再改副本里的文件。创造模式(cordis 预设)就是来帮你干这件事的。