006-1-skills
心智模型
技能(Skills) 是一种让单 Agent 按需加载专业化提示和知识的轻量级模式。它的核心理念是渐进式披露:Agent 启动时只具备通用能力,当任务需要特定领域知识时,通过工具调用动态加载对应的"技能包"来增强自身。技能是提示词驱动的,比完整子代理更简单,不同团队可以独立开发和维护各自的技能。
二级标题及内容
-
【关键特征】Key characteristics
- 提示词驱动:技能主要由专业化提示词定义。
- 渐进式披露:技能根据上下文或用户需求动态变为可用。
- 团队分布式开发:不同团队可独立开发和维护技能。
- 轻量组合:比完整的子代理(Subagent)更简单。
- 资源引用感知:技能可引用脚本、模板等外部资源。
-
【使用时机】When to use 适用于:单个 Agent 需要多种专业化能力、技能间无需强制约束、不同团队需独立开发能力。典型场景包括编程助手(不同语言/任务)、知识库(不同领域)、创意助手(不同格式)。
-
【基础实现】Basic implementation 核心是一个
load_skill工具,接收技能名称,返回对应技能的专业提示词和上下文。Agent 在系统提示中被告知可用技能,需要时调用该工具加载。 -
【扩展模式】Extending the pattern
- 动态工具注册:加载技能时不仅注入上下文,还可注册新工具(如加载"数据库管理"技能时同时注册备份、恢复等工具)。
- 层级技能:技能可定义子技能,形成树状结构。例如加载"数据科学"后可再按需加载"Pandas 专家"、"可视化"等子技能。
- 资源引用感知:技能提示可引用外部资产位置,Agent 在需要时自行读取,进一步限制上下文窗口占用。
最佳实践
- 技能即工具:将技能封装为工具调用,通过
load_skill函数按名称加载,实现渐进式披露。 - 按需而非预先加载:不要把所有技能提示 塞进系统提示,而是在 Agent 判断需要时才加载,节省上下文窗口。
- 层级组织大规模知识:当技能数量多时,用层级结构组织,让 Agent 先加载大类再按需深入子技能。