Capability Seam(能力接缝)

一个可替换能力的完整角色定义:接口、实现与使用方三者齐备才构成接缝。

生产方式:人写签发:晓黎学习复核:2026年9月21日被 2 个词条引用

一句话定义

Capability Seam = 一个可替换能力的完整角色定义,由三部分组成:Service Definition(接口)、Service Provider(实现)、Consumer(使用方)。

DeepSeek Harness 的原文定义:

A seam is a swappable capability with three roles: a Service Definition declaring the interface, a Service Provider implementing it, and a Consumer using it.

三个角色

角色职责例子
Service Definition声明接口与词汇ctx.compaction 定义压缩的语义
Service Provider实现接口dsh-compaction-basic 提供具体压缩算法
Consumer使用能力dsh-command-compact 触发压缩

关键规则:一个包可以同时承担多个角色,但单独一个角色不构成接缝。

为什么这个区分重要

很多「看起来可替换」的模块其实无法替换,原因就是缺少完整的三角色定义:

缺失后果
没有 Definition使用方直接依赖具体实现,换不了
没有 Provider 抽象只有一个实现,替换需要改调用方
没有明确的 Consumer接口存在但无人按接口使用

在 Agent Harness 中的体现

DeepSeek Harness 中大量能力都是接缝:

接缝DefinitionProvider 示例
模型接入ctx.llmdsh-llm-deepseek、dsh-llm-pi-ai
工具注册ctx.tools各类工具插件
会话持久化SessionPersistenceJSONL、数据库
沙箱ctx.sandbox本地后端、SSH 远端后端
压缩ctx.compaction基础压缩后端
遥测ctx.sessionTelemetryOpenTelemetry
子 Agentsubagent provider进程内、Claude Code、Codex、SDK

换一个 Provider,整个产品的行为就变了,而使用方代码不动。

设计要点

  1. 接口要稳定,实现可替换:接口的稳定性决定了替换成本。
  2. 接缝要有明确词汇:接口不只是函数签名,还包含语义约定。
  3. Provider 注册要可逆:卸载时接口应恢复原状,见第 08 讲。
  4. 不为了接缝而接缝:只有一个实现且不会替换的能力,做成接缝是过度设计。

相关

互链

链接来自概念卡正文里的双链,编译时能解到本期词条集的才成为站内链接。

反链(2)

出处

路径是本地知识库(Obsidian 库)里的位置,正文与概念卡逐字对应。

  • 概念卡原文Capability Seam(能力接缝)03_RESOURCES/概念/capability-seam.md
  • 所属知识地图栏目概念页索引 · Agent 架构与 Harness 治理03_RESOURCES/概念/Index.md
  • 正文引用的知识库笔记第 08 讲 Skill 与插件体系02_AREAS/AI开发/Harness Engineering/Agent Harness 课程/08-Skill与插件体系:能力如何注册发现与治理.md

编译入库:2026年10月6日。词条由知识库编译而来, 修正要回到概念卡改,再重新编译。