MUST · 手搓你的 AI Agent · 組件 08

Skills 漸進揭示

書架上 20 份說明書,開場只載入每份的一行描述;你交任務,匹配的那份才整本展開。技能(skill)是中文說明書——你也能寫。

先看整體:三層揭示

組件 04 把「技能(skills)」列為 Harness 的文字部件之一;組件 05 說白板愈滿愈貴。這一頁看 Harness 怎樣讓 20 份說明書不佔白板。

一份 skill 就是一個資料夾,裡面一份 SKILL.md:開頭幾行是名字與一行描述(前置資料,frontmatter),下面是整本說明書(步驟、格式、注意事項),旁邊可以放範例檔與腳本。Harness 開場只把 20 份的描述塞進上下文——像書架上的書脊;你交任務,模型看書脊挑一本,Harness 才把那本整本讀進來。這叫漸進揭示(progressive disclosure)

  1. 第一層:書脊(永遠在白板上)每份的 namedescription,一行。20 份加起來仍很便宜。模型靠這一行決定「要不要翻開」。
  2. 第二層:整本(匹配時才載入)SKILL.md 的正文:怎樣做、用甚麼格式、避開甚麼。只有被挑中的那份才進白板。
  3. 第三層:附件(正文叫到才讀)範例檔、模板、腳本。正文說「請參考 template.md」,Harness 才去讀那個檔。

交一個任務,看哪本被翻開

輸入你自己學科的任務,或按例子。匹配以關鍵詞示意;真實 Harness 由模型讀描述後決定,結果可能不同。

你的任務

上下文白板(開口前已佔多少)

系統提示20 份書脊翻開的整本你的任務

漸進揭示:系統提示 + 書脊 + 翻開的那本 + 任務
對照:系統提示 + 20 本全部 + 任務

書架:20 份 SKILL.md(只載書脊)

    紫色實線=被翻開;紫色雙線=同分未取;橙色=有點像但沒被挑;青色=你寫的。每本的詞元數為整本估算(中文 0.6/字、英文 0.3/字元)。

    寫你的第一份 skill

    不用寫程式。三格:名字、一行描述(給模型挑書用)、正文(給模型照做用)。寫好會放上書架,再交一個任務試試它會不會被翻開。

    存成檔案就是:~/.dsh/skills/<name>/SKILL.md(dsh)或 ~/.claude/skills/<name>/SKILL.md(Claude Code),開頭 --- 之間放 name:description:,下面就是正文。

    重點一

    書脊便宜,整本才貴

    20 份說明書全塞進白板,開口前就先花掉一大截;只放書脊,開場成本降到零頭,翻開哪本再付哪本。這是「遺忘是設計」的另一面:不載入,也是設計

    重點二

    那一行描述決定一切

    模型只憑 description 挑書。寫得太窄,該用時沒被翻開;寫得太寬,不該用時也翻開。好的描述寫清楚做甚麼甚麼時候用,並且放進用戶會說的字眼。

    試試:把你寫的 skill 描述裡的關鍵詞刪掉一個,再交同一個任務——看它還會不會被翻開。
    重點三

    skill 是中文說明書,你也能寫

    skill 不是程式,是你教新同事的那段話寫成檔案。它跟指令檔(AGENTS.mdCLAUDE.md,組件 04 稱記憶檔)的分別:指令檔每次都在,skill 叫到才來。你學科裡任何「每次都要重講一遍的做法」,都值得寫成一份。

    注意:第三方 skill 也是文字,也會被下毒(組件 09)。裝之前先讀。

    想一想

    1. 交任務「幫我寫一封給導師的道歉信」——書架上沒有一本對得上。Agent 會怎樣?沒有 skill 是不是就做不到?
    2. 為甚麼 Harness 不乾脆把 20 本全載入,讓模型「甚麼都知道」?用組件 05 的白板腐化(能見度曲線)回答。
    3. 你學科裡哪一件事,你每次叫 AI 做都要重新解釋一遍格式?那就是你的第一份 skill。它的描述那一行該放哪三個關鍵詞?
    4. 指令檔(AGENTS.mdCLAUDE.md)與 skill 都是中文文字,哪些內容該放指令檔、哪些該做成 skill?
    教師提示(討論後展開)

    第 1 題:沒有匹配時 Agent 照樣用模型的通用能力去做,只是沒有你的格式與做法——skill 是加分,不是門檻。第 2 題:白板愈滿,開頭的指令愈看不見(組件 05 的能見度曲線),而且每一輪都重發,20 本 × 每輪 = 一學期的一大筆費用。第 3 題:找「重複解釋」的痛點;關鍵詞要用學生自己會打出來的字,不是教科書術語。第 4 題:每次都要生效的身份、語氣、禁忌、專案背景 → 指令檔;某一類任務才要的步驟與格式 → skill。判準是「每次都要嗎?」。

    問你的 Agent(動手時間開頭 10 分鐘):叫它「為我的學科寫第一份 skill:名字、一行描述、正文」,存進 skills 資料夾;再問它「你甚麼時候會載入這份 skill?現在白板上有它嗎?」把它的答案跟本頁的三層對一對。

    同一概念、不同名字

    概念dsh(DeepSeek Harness)Claude CodeWorkBuddy
    skill 本體skill(SKILL.md~/.dsh/skills/skill(SKILL.md~/.claude/skills/;也可用 /名字 手動呼叫,不經描述匹配)技能(SKILL.md;技能市集)
    書脊那一行frontmatter namedescriptionfrontmatter namedescription技能描述
    指令檔(每次都在)~/.dsh/AGENTS.mdCLAUDE.md.claude/rules專家(人設+方法論)
    打包分發plugin/profile bundleplugin技能包(zip)