Technical Guide

10. Skills 原理:把经验沉淀成可复用能力

理解 Skill 的定位:它不是更长的 prompt,而是把稳定工作方法、约束和工具策略沉淀下来。

Skill 不是更长的 prompt

prompt 更像临时指令。

Skill 更像一套可复用的工作方法。

比如“写研究报告”这件事,不只是告诉模型“请写得专业”。它需要流程:先收集资料,再确认来源,再整理证据,再写报告,最后检查文件产物。

这类流程就适合沉淀成 Skill。

Skill 解决什么问题

Agent 每次运行都靠临时 prompt,会有几个问题:

同类任务输出不稳定
质量约束容易漏
工具使用方式不一致
失败经验无法复用

Skill 解决的是复用和约束。

DeerFlow 的 Skill 目录

相关代码在:

backend/packages/harness/deerflow/skills/

能看到:

installer.py
parser.py
permissions.py
security_scanner.py
tool_policy.py
validation.py
storage/

这些名字说明 Skill 不只是文本文件。它涉及安装、解析、权限、安全扫描、工具策略和校验。

Skill 和 Tool 的区别

Tool:执行一个动作
Skill:指导一类任务怎么做

一个研究报告 Skill 可以要求 Agent 使用搜索工具、抓取工具、文件工具,但 Skill 本身不是工具调用。

这一篇你要记住

Skill 的价值不在“写得长”。

它的价值在于把已经验证过的做事方法固定下来,让 Agent 每次处理类似任务时少走弯路。

Skill 应该写到什么程度

Skill 不要写成大而全的规章制度。

比较好的粒度是:一个 Skill 对应一类稳定任务。

例如:

写研究报告
做代码评审
整理会议纪要
生成技术教程

每个 Skill 里只保留真正会反复用到的流程和约束。

判断一个 Skill 是否有用

可以看它是否解决了这几个问题:

同类任务是否更稳定?
输出质量是否更一致?
工具使用是否更少跑偏?
失败经验是否能复用?

如果只是把 prompt 换了个地方保存,那它还不是一个好 Skill。

什么时候不该写 Skill

一次性任务不需要 Skill。

还没验证过的方法也不要急着沉淀。先手工跑几次,确认流程真的有效,再把它写成 Skill。