技能

漸進式揭露

編寫技能讓代理只看到當前層級所需的細節。

漸進式揭露

這是什麼

編寫技能讓代理只看到當前層級所需的細節。

白話解釋

博物館的語音導覽只在你對某幅畫按下「告訴我更多」時,才會播放更深層的評論,而不是你一走過去就朗讀完整的策展人文章。一個設計良好的技能以同樣的方式運作:代理預設只看到一行描述,只有在任務實際需要該層級的細節時,才會載入完整的指令——或內部埋藏的參考檔案。

為什麼重要

一個結構良好的 SKILL.md 只向代理顯示與當前操作相關的細節深度——這就是漸進式揭露,與無論相關性如何、將整個程序的完整指令傾倒到每個對話輪次中恰恰相反。這可以防止技能繁重的工作階段因尚未適用的指令而膨脹對話上下文,考慮到上下文建構已經消耗了多少輪次的令牌預算,這一點很重要。技能配置變數通常讓揭露變得更實用,因為一個單一變數可以控制整個章節,直到實際需要时才顯示。

運作方式

skills_list() 函數(tools/skills_tool.py)一次只返回整個庫中每個技能的名稱、描述和類別——對於目前這組技能來說大約總共 3,000 個 token,而不是任何單一技能的完整指令。一旦代理選擇了一個,skill_view(name) 會將該技能的完整 SKILL.md 載入到對話中。如果技能的指令指向一個支援檔案,skill_view(name, file_path=...) 只會擷取那一個檔案——這些 references/templates/scripts/assets/ 資料夾(agent/skill_utils.py)之所以被排除在頂層技能掃描之外,正是因為它們的目的是在需要時才按需載入。