Claude 推出 Skills 功能,及 Agent Skills 開髮指南

現在,Claude 可以新增「技能」了!

Anthropic 剛剛為 Claude 推出了 Skills 功能,這個新能力讓 Claude 能夠動態載入專門的指令、指令碼和資源,從通用 AI 助手變身為各領域的專業助手。

此次的功能升級,將進一步改變我們定製 AI 的方式

什麼是 Agent Skills?

Skills 本質上是一個包含指令、指令碼和資源的資料夾,Claude 可以在需要時動態發現並載入它們來完成特定任務。

想像一下,這就像給新員工準備入職指南:

你不再需要為每個用例建構零散的、定製化的 Agent,現在,任何人都可以通過捕獲和分享他們的程序性知識,用可組合的能力來專門化他們的 Agent。

核心特性

Skills 具有幾個關鍵特點:

可組合:Skills 能夠堆疊在一起,Claude 會自動識別需要那些 Skills 並協調它們的使用。

可移植:使用相同的格式,一次建構,就能在 Claude 應用、Claude Code 和 API 中使用。

高效:只在需要時載入需要的內容。

強大:可以包含可執行程式碼,用於那些傳統程式設計比 token 生成更可靠的任務。

工作原理

讓我們通過一個真實的例子來看看 Skills 是如何工作的:支援 Claude 最近推出的文件編輯能力的 PDF 技能。

技能的結構

最簡單的 Skill 是一個包含 SKILL.md 檔案的目錄。

這個檔案必須以包含必需中繼資料的 YAML frontmatter 開頭:name 和 description。在啟動時,Agent 會將每個已安裝技能的名稱和描述預載入到系統提示中。

這個中繼資料是漸進式披露的第一層:它提供了足夠的資訊讓 Claude 知道每個技能何時應該被使用,而不需要將所有內容載入到上下文中。

檔案的實際內容是第二層細節。

如果 Claude 認為該技能與當前任務相關,它會通過將完整的 SKILL.md 讀入上下文來載入該技能。

隨著技能變得更加複雜,它們可能包含太多上下文無法放入單個 SKILL.md,或者只在特定場景中相關的上下文。在這些情況下,技能可以在技能目錄中捆綁額外的檔案,並從 SKILL.md 中按名稱引用它們。

在 PDF 技能中,SKILL.md 引用了兩個額外的檔案(reference.md 和 forms.md),技能作者選擇將它們與核心 SKILL.md 一起捆綁。

通過將表單填寫指令移到單獨的檔案(forms.md),技能作者能夠保持核心技能的精簡,相信 Claude 只會在填寫表單時才讀取 forms.md

漸進式披露設計

漸進式披露是讓 Agent Skills 靈活且可擴展的核心設計原則。

就像一本組織良好的手冊從目錄開始,然後是具體章節,最後是詳細的附錄,Skills 讓 Claude 只在需要時載入資訊:

擁有檔案系統和程式碼執行工具的 Agent 在處理特定任務時不需要將技能的全部內容讀入其上下文窗口。

也就是說,可以捆綁到技能中的上下文量實際上是無限的

Skills 與上下文窗口

下圖展示了當使用者消息觸發技能時,上下文窗口是如何變化的:

操作序列如下:開始時,上下文窗口包含核心系統提示和每個已安裝技能的中繼資料,以及使用者的初始消息;Claude 通過呼叫 Bash 工具讀取 pdf/SKILL.md 的內容來觸發 PDF 技能;Claude 選擇讀取與技能捆綁的 forms.md 檔案;最後,Claude 在從 PDF 技能載入了相關指令後繼續執行使用者的任務。

Skills 與程式碼執行

Skills 還可以包含供 Claude 自行決定執行的程式碼作為工具。

大型語言模型在許多工上表現出色,但某些操作更適合傳統的程式碼執行。例如,通過 token 生成對列表進行排序比簡單運行排序演算法要昂貴得多。

除了效率問題,許多應用程式需要只有程式碼才能提供的確定性可靠性。

在該例子中,PDF 技能包括一個預編寫的 Python 指令碼,用於讀取 PDF 並提取所有表單欄位。

Claude 可以運行此指令碼,而無需將指令碼或 PDF 載入到上下文中。由於程式碼是確定性的,這個工作流程是一致且可重複的。

開發和評估 Skills

Anthropic 提供了一些開發和測試 Skills 的實用指南:

從評估開始

通過在代表性任務上運行 Agent 並觀察它們在那裡遇到困難或需要額外上下文,識別 Agent 能力中的具體差距。然後逐步建構技能來解決這些不足。

為規模而結構化

當 SKILL.md 檔案變得難以管理時,將其內容拆分為單獨的檔案並引用它們。如果某些上下文是互斥的或很少一起使用,保持路徑分離將減少 token 使用。程式碼可以同時作為可執行工具和文件。應該清楚 Claude 是應該直接運行指令碼還是將它們作為參考讀入上下文。

從 Claude 的角度思考

監控 Claude 在實際場景中如何使用你的技能,並根據觀察進行迭代:注意意外的軌跡或對某些上下文的過度依賴。特別注意你的技能的 name 和 description。Claude 將在決定是否觸發技能以響應其當前任務時使用這些。

與 Claude 一起迭代

當你與 Claude 一起工作時,要求 Claude 將其成功的方法和常見錯誤捕獲到技能中的可重用上下文和程式碼中。如果它在使用技能完成任務時偏離軌道,要求它自我反思出了什麼問題。這個過程將幫助你發現 Claude 實際需要什麼上下文,而不是試圖提前預測。

安全考慮

Skills 通過指令和程式碼為 Claude 提供新能力。

雖然這使它們強大,但也意味著惡意技能可能在使用它們的環境中引入漏洞,或指示 Claude 洩露資料並採取意外行動。

Anthropic 建議只從可信來源安裝技能。當從不太可信的來源安裝技能時,使用前要徹底稽核。首先閱讀技能中捆綁檔案的內容以瞭解它的功能,特別注意程式碼依賴項和捆綁的資源,如圖像或指令碼。

同樣,注意技能中指示 Claude 連接到潛在不受信任的外部網路源的指令或程式碼。

全平台支援

Claude 應用

Skills 現在對 Pro、Max、Team 和 Enterprise 使用者可用。

Anthropic 為常見任務提供技能,如文件建立、可以自訂的示例,以及建立自己的自訂技能的能力。

Claude 根據你的任務自動呼叫相關技能,而無需手動選擇。你甚至可以在 Claude 工作時看到它的思維鏈中的技能。

要建立技能,則很簡單:

Anthropic 提供的「skill-creator」技能可以進行互動式的建立指導:Claude 會詢問你的工作流程,生成資料夾結構,格式化 SKILL.md 檔案,並捆綁你需要的資源。

無需手動編輯檔案,動嘴就可。

Claude 開發者平台(API)

Agent Skills 現在可以加入到 Messages API 請求中,新的 /v1/skills 端點讓開發者對自訂技能版本控制和管理有程序化控制。

Skills 需要 Code Execution Tool beta,它提供了運行所需的安全環境。

使用 Anthropic 建立的技能讓 Claude 讀取和生成帶有公式的專業 Excel 電子表格、PowerPoint 簡報、Word 文件和可填寫的 PDF。

開發者可以建立自訂 Skills 來擴展 Claude 的能力以滿足他們的特定用例。

Claude Code

當然,還有 Claude Code

Skills 可以讓你用團隊的專業知識和工作流程來擴展 Claude Code。

通過 anthropics/skills 市場的外掛安裝技能,Claude 在相關時自動載入它們。通過版本控制與你的團隊共享技能。你也可以通過將技能加入到 ~/.claude/skills 來手動安裝技能。

Claude Agent SDK 為建構自訂 Agent 提供相同的 Agent Skills 支援。

使用者反響

Satvik(@satvikmaker)評論:

使用資料夾和檔案建構專門的 Agent 是一個遊戲規則改變者。繼續加油 Anthropic 團隊。🔥👑

Carlos Lebron(@carlosml)笑稱:

Agent Skills 聽起來很酷。終於有辦法讓 Claude 幫我洗衣服了

Vijay Krishna S(@vjk_2k5)指出:

Claude 剛剛在暴力訓練方法上加倍下注,並在編碼方面擊敗了其他所有 AI 公司,這太瘋狂了。

企業應用前景

多家企業已經開始探索 Skills 的應用潛力:

Box

Skills 教會 Claude 如何處理 Box 內容。使用者可以將儲存的檔案轉換為遵循其組織標準的 PowerPoint 簡報、Excel 電子表格和 Word 文件,從而節省數小時的工作。

Notion

有了 Skills,Claude 與 Notion 無縫協作,讓使用者從問題到行動更快。在複雜任務上減少提示詞的糾結,獲得更可預測的結果。

Canva

利用 Skills 來定製 Agent 並擴展它們的能力。這解鎖了將 Canva 更深入地帶入 Agent 工作流程的新方法,幫助團隊捕獲他們獨特的上下文並輕鬆建立令人驚嘆的高品質設計。

Rakuten

Skills 簡化了我們的管理會計和財務工作流程。Claude 處理多個電子表格,捕獲關鍵異常,並使用我們的程序生成報告。曾經需要一天的工作,我們現在可以在一小時內完成。

未來

Anthropic 正在努力實現簡化的技能建立工作流程和企業範圍的部署能力,使組織更容易在團隊間分發技能。

在未來幾周,他們將繼續加入支援建立、編輯、發現、共享和使用 Skills 的完整生命周期的功能。他們特別期待 Skills 幫助組織和個人與 Claude 共享他們的上下文和工作流程的機會。

他們還將探索 Skills 如何通過教授 Agent 涉及外部工具和軟體的更複雜工作流程來補充 Model Context Protocol(MCP)伺服器。

而展望更遠的未來,Anthropic 甚至希望讓 Agent 能夠自主建立、編輯和評估 Skills,讓它們將自己的行為模式編碼為可重用的能力。

Skills 是一個簡單的概念,具有相應簡單的格式。而這種簡單性,則使組織、開發者和終端使用者更容易建構定製的 Agent 並賦予它們新能力。 (AGI Hunt)