技能系统 Skills
源码版本v2026.7.20
职责
Skill 是比 Tool 更高阶的能力单元:一段可复用的、带 frontmatter 的流程(类似 agentskills.io 规范),按领域归类在 skills/<category>/ 下。与工具的「静态函数」不同,技能可被学习闭环创建、改写、精炼,是 agent「越用越聪明」的载体。技能通过 skills_tool 暴露给主循环调用。
关键文件
skills/ 目录— 按领域分组(apple、computer-use、research、software-development、yuanbao…)skills_tool— 把技能作为工具暴露给主循环skill_manager_tool— 技能管理(列表/查看/启用)skills_hub— 技能中心同步(agentskills.io 兼容)skills_sync— 本地与远端技能同步skill_bundles— 技能束打包,注入到提示skill_preprocessing— 技能内容预处理技能节点与边:125-193—build_skill_nodes/build_edges,把技能组织成学习图
数据流
- 启动期
skill_preprocessing(agent/skill_preprocessing.py)扫描skills/<category>/,读 frontmatter。 skill_bundles(agent/skill_bundles.py)把相关技能打包,经build_turn_context:268注入本轮提示。- provider 决定调用某技能 → tool_call
skills→tools/skills_tool.py加载并执行该技能的流程。 - 执行结果回填主循环。
- 学习闭环在后台审视本轮,可能:
- 创建新技能(
learning_mutations) - 把新技能登记进学习图
agent/learning_graph.py:125 - 通过
tools/skills_sync.py同步到技能中心
- 创建新技能(
小结
技能 = 可演化的高阶流程,frontmatter 描述、文件即定义、学习闭环可改写。它与工具的关系:工具是技能流程里调用的原子,技能是「怎么组合工具完成一类任务」的知识。技能的演化机制见学习闭环。