在 issue #430 落地之后,Keel 的技能系统在业界处于什么位置——只讲事实,附来源,并诚实区分「已交付」与「计划中」。
本文描述的是 Keel 在公开设计(issue #430)中已承诺的技能运行时,以及 Keel 当前已交付的部分。它不声称下面每一项能力都已经合并。
- 当前已交付: 项目级
.agents/skills/<name>/SKILL.md、严格校验、惰性纯文本加载(加载时不执行任何代码)、通过--skill//skill显式绑定、按会话持久化。 - 已承诺的设计(issue #430,以垂直 PR 分片交付): 元数据目录、按需模型激活、多作用域 + 冲突安全的身份标识、权限/原子性/安全契约、固定版本安装、路由与边际价值评测。
计划中的能力会标注 (计划中),其余均为已上线。
Keel 是一个从零构建的 AI 编码 agent,只优化一件事:同一模型下、可度量的 per-task 执行质量——而不是功能广度。技能系统就是围绕这个目标设计的,不为逐项对齐竞品。
- 通用层(格式、渐进披露、显式 + 模型激活、多作用域、目录预算):与第一梯队持平。
- 治理、安全、可度量(技能只承载知识、绝不承载权限;目录/正文原子性;冲突 fail-closed;可复现 resume;把路由质量做成受回归守护的 eval 指标):领先业界——这一层没有别家把它做成契约。
- 生态与高级执行(marketplace、网络效应、sub-agent/forked 执行):v1 有意不参与竞争。
一句话:大多数工具把技能做成一份「能力清单」;Keel 在把技能做成一个可度量、按证据启用、且在结构上无法给自己提权的运行时。
一个技能就是一个包含 SKILL.md 的文件夹——YAML frontmatter(name、description,可选打包 scripts/、references/、assets/)加上 Markdown 指令正文。Anthropic 在 2025 年 10 月提出该格式,并于 2025 年 12 月在 agentskills.io 发布为开放标准。
其核心思想是渐进披露:路由时上下文里只放每个技能的 name + description;正文只在技能被选中时加载;打包资源只在需要时加载。这让上百个技能在 token 上仍然可负担。
该格式已被生态广泛采用(Claude Code、OpenAI Codex、Gemini CLI 等)。Keel 读取同一套标准格式,因此技能是可移植的。
来源:Anthropic — Equipping agents with Agent Skills · 开放规范 · Simon Willison 的分析
下表基于各主流 agent 的公开文档行为与 Keel 的已承诺设计:
| 维度 | 业界(Claude Code、Codex、Kimi、opencode、Pi) | Keel(已交付 + 计划中) |
|---|---|---|
SKILL.md 开放格式 |
有 | 有(严格校验) |
| 渐进披露 | 有 | 有 |
| 显式调用 | 有 | 有(--skill、/skill、$skill) |
| 模型自动激活 | 有 | 有 (计划中) |
| 多作用域(repo/user/system) | 有 | 有 (计划中) |
| 目录 token 预算 | 有(如上下文的 1–2%) | 有,且由 eval 校准 (计划中) |
| 技能无法扩大工具权限 | 不一,多数非硬契约 | 硬不变量 (计划中) |
| 加载时零代码执行 | 业界不保证 | 保证(已交付) |
| 目录/正文原子性(读不到正文就绝不登目录) | 未一致强制 | 强制 (计划中) |
| 命名冲突 fail-closed | 常见 last-wins / 静默优先级 | fail-closed,列出候选 (计划中) |
| 可复现 resume(快照 + digest) | 常静默重读被改动的文件 | 快照 + changed_on_disk 信号 (计划中) |
| 把技能路由做成受回归守护的 eval | 无人交付 | 有 (计划中) |
| Marketplace / 网络效应 | 部分有(插件市场、远程拉取) | v1 不做 |
| sub-agent / forked 技能执行 | 部分有 | v1 不做 |
在已承诺设计落地后,Keel 在通用层追平第一梯队:开放 SKILL.md 格式、渐进披露、显式与模型两种激活、repo/user/system 作用域、带预算的目录。按开放标准编写的技能能在 Keel 里用,Keel 的技能也遵循同一标准。
这是入场券——必要,但不是 Keel 想赢的地方。
以下都是生态里有据可查的薄弱点。Keel 的设计把每一条都变成显式契约。
1. 技能承载知识,不承载权限。
技能可以建议一次工具调用,但绝不能授予、预批或绕过它。有效权限永远等于当前会话策略——技能无法扩大它,allowed-tools 只能收窄工具集,绝不能扩大。
为什么重要:安全研究发现相当比例的公开技能带有安全缺陷(多份独立审计给出 26–37% 的区间),OWASP 也新增了「Agentic Skills Top 10」。一个被广泛报道的具体漏洞是加载时执行——某些 agent 会在模型或其护栏看到技能之前就运行技能里内嵌的 shell,于是「克隆一个仓库」就足以触发。Keel 在加载时不运行任何东西;技能自带的脚本只经由 Keel 常规的工具审批路径执行。 来源:Datadog Security Labs · Cloud Security Alliance · SkillSpector(同行评审的发布前管控)
2. 目录与正文原子;降级要响亮。
读不到并校验通过技能的确切正文,就绝不把它登入目录。当目录超出 token 预算时,Keel 会(在 doctor、keel skills、机器可读报告里)报告被省略了哪些,而不是静默丢弃。这正对两个已被报道的失败模式:目录元数据与挂载正文不一致,以及技能因某个未公开的预算而悄悄消失。
来源:claude-code #26254(元数据已注册,正文未挂载) · 静默按预算丢弃的分析
3. 冲突 fail-closed。 若某个非限定技能名在多个作用域间有歧义,Keel 会拒绝并列出限定候选,而不是静默挑一个。业界相关失败:递归发现会注册嵌套技能,制造嘈杂、含糊的路由。 来源:codex #22275(递归注册嵌套技能)
4. resume 可复现。
resume 或 fork 出的会话,从它记录的已激活正文 + 内容 digest 继续,而不是从文件此刻恰好的内容继续。若文件在磁盘上变了,Keel 会给出 changed_on_disk 信号,而不是在任务中途悄悄换掉指令。
5. 路由质量是测出来的,不是断言的。 这是差异化所在。描述驱动的自动激活在业界并不可靠:一项 650 次试验的研究发现,默认技能描述的激活率大约在 37–77%,只有命令式描述才接近可靠激活。没有任何主流 agent 为技能交付 per-task 质量套件,于是团队只能靠感觉调描述。
Keel 已经交付了 keel eval——一个确定性的 per-task 评测框架。技能设计把激活 precision/recall 与**「有技能 vs. 无技能」的成对任务结果**做成带回归门的 eval 指标。一个技能只有在相对无技能基线可度量地提升成功率、减少人工干预或改善效率时,才会被启用为模型可自动激活。
这有当下研究支撑,而非拍脑袋:
- SkillsBench:curated 技能在 7 个 agent-模型配置上把平均通过率提升 +16.2 个百分点——但 2–3 个技能的聚焦组合提升最大(+18.6pp),4 个以上只有 +5.9pp,而「大而全」的文档反而倒退(−2.9pp)。多不等于好。
- SWE-Skills-Bench:多数被评测的公开技能没有带来提升,有些还让结果倒退——装上一个技能不等于从中受益。
- Skill Coverage:「技能被加载了」不是质量信号,约束层面的行为覆盖率才是。
这个说法的诚实边界: eval 基础设施让 Keel 能测量并防止路由回归,它并不会在同一模型上魔法般比别的 agent 路由得更准——~50% 的激活难题是整个业界共享的模型/描述层问题。Keel 的优势在于:它是唯一把这个问题变得可见且可设门槛的,而这恰好对齐它的执行质量目标。
明确写出来,因为一份藏着短板的宣传文档不叫「基于事实」:
- 没有 marketplace 或网络效应。 别家有插件市场和远程技能仓库,已经有大量现成技能。Keel v1 只支持 Git 固定版本安装(不可变 commit SHA + 内容 digest + 审计记录)——出处更干净,但没有生态先发优势。技能系统一半的价值来自「已经有多少好技能可装」,这一点 Keel 从零起步。
- 没有 sub-agent / forked 技能执行。 在隔离的 sub-agent 上下文里跑技能,需要一个 sub-agent 运行时——那是独立且更晚的能力。v1 明确非目标。
- 没有 per-skill 的 model/effort 选择、路径条件激活、嵌套子技能、目录 token 别名压缩这些个别竞品提供的特性。它们是低优先、无硬前置依赖的后续项,等真实需求出现再做。
- 不隐式扫描其他工具的技能目录。 Keel 不会静默加载
.claude/.codex技能目录(安全选择),因此不像那些会自动导入的工具那样「开箱兼容别人的技能库」。
在 issue #430 落地之后,Keel 的技能系统位置清晰:
- 通用能力: 与第一梯队持平。
- 治理、安全、可复现、可度量: 业界最强——因为 Keel 把生态里有据可查的失败模式(加载时执行、目录静默漂移、含糊冲突、未度量的路由)都当成硬性设计约束。
- 生态与高级执行: 第二梯队,出于主动取舍。
这个取舍本身就是重点。Keel 不追求技能最多或功能最全,它追求的是一个你可以信任的技能运行时:不会提权、不会静默失败、且只有在数据说它有用时才启用一个技能。
格式与概念:Anthropic Agent Skills · 开放规范 · Willison 激活可靠性:650 次试验的激活研究 · 路由深度剖析 安全:Datadog Security Labs · Cloud Security Alliance · SkillSpector 可度量的价值:SkillsBench · SWE-Skills-Bench · Skill Coverage · Agent Workflow Memory 业界失败模式:claude-code #26254 · codex #22275 · 按预算丢弃的分析 Keel 设计:issue #430
对比基于截至 2026 年 7 月的公开文档行为与已发表研究。竞品行为会随时间变化,请对照当前来源核实。