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 中大量能力都是接缝:
| 接缝 | Definition | Provider 示例 |
|---|---|---|
| 模型接入 | ctx.llm | dsh-llm-deepseek、dsh-llm-pi-ai |
| 工具注册 | ctx.tools | 各类工具插件 |
| 会话持久化 | SessionPersistence | JSONL、数据库 |
| 沙箱 | ctx.sandbox | 本地后端、SSH 远端后端 |
| 压缩 | ctx.compaction | 基础压缩后端 |
| 遥测 | ctx.sessionTelemetry | OpenTelemetry |
| 子 Agent | subagent provider | 进程内、Claude Code、Codex、SDK |
换一个 Provider,整个产品的行为就变了,而使用方代码不动。
设计要点
- 接口要稳定,实现可替换:接口的稳定性决定了替换成本。
- 接缝要有明确词汇:接口不只是函数签名,还包含语义约定。
- Provider 注册要可逆:卸载时接口应恢复原状,见第 08 讲。
- 不为了接缝而接缝:只有一个实现且不会替换的能力,做成接缝是过度设计。
相关
- 第 08 讲 Skill 与插件体系
- 插件生命周期(可逆注册) — 接缝的 Provider 需要可逆注册
- Harness Engineering(代理治理工程) — 接缝是 Harness 可替换性的实现机制
互链
链接来自概念卡正文里的双链,编译时能解到本期词条集的才成为站内链接。
反链(2)
- 插件生命周期(可逆注册)相关概念
- Waterfall(瀑布式事件)相关概念
出处
路径是本地知识库(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日。词条由知识库编译而来, 修正要回到概念卡改,再重新编译。