2025年7月28日

技能机制

技能是把一段可复用的任务能力封装成“触发条件 + 操作说明 + 所需上下文 / 工具”的模块,让 Agent 能在合适时机按需加载能力包,而不是每次从零规划。

知识库大模型智能体与工具调用agentskillstool-use

技能机制

先说结论

技能是把一段可复用的任务能力封装成“触发条件 + 操作说明 + 所需上下文 / 工具”的模块,让 Agent 能在合适时机按需加载能力包,而不是每次从零规划。

为什么我会单独记这一篇

纯靠大模型临场推理,会遇到几个问题:

  1. 高频任务重复规划,成本高且不稳定。
  2. 工具使用方式不一致,容易误调用。
  3. 经验难以沉淀,团队协作难复用。

技能机制的目标是把稳定任务抽象成可复用能力,使复杂 Agent 更像“会装配能力”的系统。

核心机制

一个技能通常包含四层:

  • 能力声明:我能解决什么问题。
  • 触发机制:什么时候应该被选中。
  • 执行指导:步骤、约束、边界条件。
  • 依赖绑定:需要哪些工具、资源、模板。

常见实现形态有三种:

  • Prompt skill:一段专门任务说明。
  • Tool bundle:围绕某任务打包的一组工具。
  • Workflow skill:一条可复用的执行图或子图。

典型运行流程:

  1. 用户目标进入。
  2. 路由器判断是否命中某技能。
  3. 装载技能上下文。
  4. 执行单技能或多技能组合。
  5. 输出结果并回写经验。

与相邻概念的区别

  • 技能 vs 工具:工具是最小动作单元;技能是面向任务的能力封装,可能组合多个工具。
  • 技能 vs Agent:Agent 有自主规划能力;技能更像 Agent 可装载的能力包。
  • 技能 vs 工作流:工作流强调路径,技能强调能力复用与触发条件;一个技能内部完全可以是一条工作流。

设计时真正要权衡什么

  • 技能边界宽 vs 窄:太宽会互相冲突,太窄会失去复用价值。
  • 静态触发 vs 动态路由:静态易控,动态更灵活。
  • 技能内聚 vs 技能组合:内聚高更稳定,组合强更灵活但也更复杂。

容易踩的坑

  • 技能定义太宽,多个技能都觉得“我能做”。
  • 技能说明过长,模型理解成本高于直接推理。
  • 把本该是工具的原子能力硬做成技能。
  • 没有“何时不要使用我”的负面提示,导致误触发。
  • 技能之间缺少输入输出契约,串联后格式不兼容。

工程落地时我会怎么做

  • 每个技能只服务一个稳定任务边界,如“写 SQL”“读设计稿”“生成周报”。
  • 明确写清楚:何时使用、何时不要使用、输入要求、输出格式、依赖工具。
  • 技能描述尽量短,保留关键判定信号词。
  • 高频复杂任务做成技能,低频简单任务留给主 Agent 临场推理。
  • 如果技能依赖外部资源,优先通过 MCP 的 prompts / resources / tools 暴露。

如果要对外讲,可以怎么概括

“技能机制本质上是在 Agent 系统里做能力模块化。它解决的是高频任务重复规划和经验难沉淀的问题。一个好的技能不是写很长的 prompt,而是把触发条件、执行边界、输入输出契约和依赖工具都讲清楚,让 Agent 能够稳定调用。”

最后记几条

  1. 技能是任务级能力封装,不是原子工具。
  2. 一个技能至少要包含触发条件和执行边界。
  3. 技能边界过宽会造成路由冲突。
  4. 高频复杂任务最适合做成技能。
  5. 技能和 MCP 结合后更容易跨宿主复用。

参考资料

延伸阅读