技能系統 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 描述、檔案即定義、學習閉環可改寫。它與工具的關係:工具是技能流程裡呼叫的原子,技能是「怎麼組合工具完成一類任務」的知識。技能的演化機制見學習閉環。