dshkit

DeepSeek Harness 术语表:turn、step、round、seam、scope、goal

dsh 使用的词汇及其精确含义——turn/step/round 三层循环、capability seam、agent scope 与 shadowing、goal 与 goal round、human command、Ralph 循环。

更新于 2026-08-133 min
一句话结论

step 是一次模型请求加上它的响应引发的工具执行。turn 是一次会话中对已准入输入的一轮排空,在模型和它的工具都停下后结束。round 是包含一个 turn 的外层策略迭代。harness 里其余概念——seam、scope、goal、Ralph——都是相对这套层级定义的。

harness 的文档在术语上罕见地精确,而这种精确是有承重作用的:好几个听起来可以互换的词,其实不能互换。 这一页收集那些真正会改变你使用方式的定义。

三层循环

三个嵌套单位,由小到大:

step——一次模型请求,加上它的响应所引发的工具执行。

turn——一次会话中对已准入输入的一轮排空,在模型和它的工具都停下之后结束。一个 turn 含一个或多个 step。

round——包含一个 turn 的外层策略迭代。

实际影响:看到任何上限或配额时,先确认它数的是哪个单位。「限 round」和「限 step」约束的东西差别很大—— 一个 turn 可以含很多 step,而一个 round 含一个 turn。

Capability seam

seam——一项可替换能力,由三个角色构成:服务定义(拥有 ctx.<key> 的抽象类或具体注册表)、 一个或多个服务提供者、以及注入该服务的消费者

文档还补了一句关键的话:「seam 指的是这项完整能力,从来不是其中某一个角色。」

这就是「一切皆插件」不止是口号的架构理由。一项能力不是「一个你也许会换掉的实现」,而是定义、提供者、 消费者三者合起来看的整体。换掉网页搜索后端,等于替换 ctx.web 背后的一个提供者,而所有消费它的东西 都不需要知道。

Agent scope

scope——工具、提示词这类贡献的按-agent 注册单位,要么全局,要么属于某一个 agent。

scope key——scope 被索引所用的不透明身份,按对象同一性比较。一个活着的 agent 就是它自己的 scope key。

agent context(agent.ctx——该 agent 的 scope 化上下文,其中的注册是 scope 可见、scope 生命期的。

scope carrier——被 scope 过滤的分发所携带的 thisArg,它准入未打标的监听器加上主体自己的。

scoped dispatch——关于某个 agent 活动的事件,会带着该 agent 的 carrier 分发。

shadowing——最具体者胜的名字解析。scope 内的同名项只在该 scope 内替换全局项。

restriction / scope-local 注册——一条 restriction 通过取交集,为某个 scope 过滤全局工具集。

setup window——创建者组装某个 agent 的 scope 化世界的那个创建槽位,发生在发布之前。

lineage——作为数据携带的父子关系事实。文档强调 lineage 「永远不影响可见性」——子级看得到某样东西, 不是因为它是子级,而是因为它的 scope 注册了它。

最后这点值得停一下。很多系统里的委派层级是会渗漏的:子级凭「是子级」就继承父级能力。而这里可见性只 来自 scope,lineage 只是被记录下来的事实。这正是「只读不写的 reviewer」能成为一条可靠限制、而不是一句 但愿被遵守的指令的原因。

Goal

goal——挂在某个已有会话上的一个持久完成目标,带阶段和轮次上限。

goal round——为当前 goal 准入的一次续跑循环。

goal activation——续跑消费者准入下一个 goal round 的进程内许可,状态为 armed 或 disarmed。

三个彼此独立的概念:你想达成什么、朝它推进的一次尝试、以及允许再来一次的那份许可。一个带轮次上限和 显式激活状态的 goal,就是一个有界的自主循环——「有界」是关键词。

Human command

human command——由面向人的适配器解释并执行的斜杠指令,不会变成模型消息

command plane——发现、解析、分发、取消与结果渲染,由 UI 适配器拥有。

goal command——/goal 命令,用于观察或修改当前 goal。

设计要点在「不会变成模型消息」这句。human command 不是一段由模型解释的提示词,而是由适配器执行的东西。 这比多数 agent 界面干净——在那些界面里,斜杠命令不过是加了约定的提示词文本。

Ralph

Ralph loop——面向一个不可变目标的前台 fresh-agent workflow 运行。

Ralph round——该循环中的一个全新子会话,不带父会话的对话种子。

Ralph handoff——从上一个继续中的 round 传给下一个的、规范化的、有界的、结构化报告。

更详细的展开在子 agent 与 workflow,但这三条定义连起来已经把故事 讲完了:目标固定、不继承上下文、靠有界结构化的东西保持连续。

常见问题

turn、step、round 有什么区别?

step 是一次模型请求加上其响应引发的工具执行。turn 是一次会话中对已准入输入的排空,在模型和工具都停下后结束,所以一个 turn 含一个或多个 step。round 是包含一个 turn 的外层策略迭代。

capability seam 是什么?

一项可替换能力,由三个角色构成:拥有 ctx.<key> 的服务定义、一个或多个服务提供者、以及注入该服务的消费者。seam 指的是这项完整能力,从来不是其中某一个角色。

dsh 里的 shadowing 是什么意思?

最具体者胜的名字解析。scope 内的同名项只在该 scope 内替换全局项——这就是一个 agent 能拥有某个工具的不同版本而不影响其它 agent 的机制。

接着看