從第一原理的深度剖析“Claude Agent Skills” @HanchungLee 這篇對Claude Agent Skills 的講解剖析,非常全面、非常貼近底層原理,強烈建議收藏閱讀。作者從第一原理出發,徹底拆解了這個系統的設計哲學、文件結構、發現機制、調用流程以及與傳統工具的本質差異。 一、技能係統到底在做什麼? 簡單來說,Claude 的「技能」並不是傳統意義上的函數呼叫或程式碼執行工具,而是一套純粹基於提示的元工具系統。它透過向當前對話動態注入一段精心設計的系統級指令,來暫時改變Claude 的行為模式、可用工具集合、甚至預設模型,從而讓同一個Claude 實例「變身」為某個領域的專家或執行特定複雜工作流程。 核心思想可以用一句話概括:技能= 「可按需注入的專業知識+ 預授權的工具權限+ 明確的任務執行指南」。 二、技能與傳統工具的根本差異傳統工具(例如Bash、Read、Write、Computer Use)是同步執行的原子操作:模型發出呼叫→ 外部立刻回傳結果→ 模型繼續思考。 技能則完全不同: · 它不直接執行任何程式碼或外部命令· 它的作用是“改寫上下文”:一旦被調用,就會向對話中插入一段新的、帶有最高優先級的指令· 它本質上是一個異步的“提示擴展器” · 呼叫後,Claude 後續的所有思考和工具使用都必須遵守這套新註入的規則 正因如此,技能自然適合處理需要多步驟推理、狀態管理、領域知識的工作流程,而傳統工具更適合「拿資料」以「寫檔案」這類單一動作。 三、一個技能長什麼樣子? 一個完整的技能就是一個資料夾,核心只有一個檔案:https://t.co/JW8wM9KmBn。 典型結構如下: my-pdf-expert/ ├── SKILL. md ← 最重要的文件├── scripts/ ← 可選,存放輔助Python/js 腳本├── references/ ← 可選,存放供模型閱讀的文檔└── assets/ ← 可選,存放模板、二進制等模板 SKILL. md 分為兩部分: 1. 開頭的YAML 元資料(用--- 包裹) --- name: pdf description: 你是專業的PDF處理專家,能擷取、轉換、分析PDF內容 allowed-tools: "Bash, Read, Write" model: claude-opus-4-20250514 version: 1.2.0 --- 關鍵字段解釋: · name:技能被呼叫的指令名稱(使用者會說「用pdf 技能處理這個檔案」) · description:最重要! Claude 正是透過閱讀所有技能的description 來決定何時呼叫哪個技能,因此必須寫得簡潔、行動導向· allowed-tools:預授權工具列表,支援通配符(如Bash(pdftotext:*)),實現了最小權限原則· model:可強制使用更強模型(如Opus 4) 2. YAML 之後是純Markdown 寫的詳細指令內容通常包含:任務目標、前置條件、詳細步驟、輸出格式規格、錯誤處理策略、具體範例、以及如何使用scripts 和assets 中的資源。 推薦寫法:使用祈使句、編號步驟、明確引用路徑(如Read({baseDir}/scripts/extract_text.py)),總長度控制在5000字以內。 四、技能是如何被發現和召喚的? Claude 內部有一個叫做「Skill」的元工具,專門負責動態產生目前環境裡所有可用技能的清單。 流程如下: 1. 啟動時,Claude 掃描所有技能資料夾,讀取每個SKILL. md 的YAML 頭部 2. 把這些技能包裝成一個結構化的 XML 列表,放在系統提示裡 3. 當使用者提出需求時,Claude 完全靠自然語言理解,從描述中挑出最匹配的技能 4. 發出類似Skill({"command": "pdf"}) 的工具調用 5. Skill 元工具驗證權限後,將對應技能的完整Markdown 內容以user 角色(但標為isMeta: true)注入對話 6. 同時注入一條簡短的可見訊息(isMeta: false),告訴使用者“正在啟用PDF 專家技能…” 五、為什麼說這是「最安全的複雜智能體架構」? 1. 沒有程式碼執行權限:所有邏輯最終還是由Claude 自己推理完成 2. 工具權限可精確控制:技能可以只預先授權pdftotext、grep 等少數指令 3. 純提示驅動:即使技能寫錯了,也只會讓模型表現笨拙,不會引發安全事故 4. 支援熱更新:放一個新技能到資料夾,下次對話立刻可用,無需重啟 六、實際案例:skill-creator 技能本身文章最精彩的部分是用skill-creator 這個技能來示範「技能如何創造技能」。它實現了完整的五步驟嚮導: 1. 瞭解需求→ 2. 制定計畫→ 3. 初始化資料夾與SKILL. md → 4. 讓使用者編輯完善→ 5. 打包驗證 整個過程全部在Claude 內部完成,僅在需要時調用scripts 中的Python 模板,展示了技能係統驚人的自舉能力。 總結:技能係統的核心洞見 1. 專業知識不是模型學出來的,而是「注入」進去的 2. 複雜智能體不一定需要ReAct + 函數調用,純提示+ 上下文改寫同樣強大 3. 安全與能力並不衝突:透過預授權工具+ 清晰指令,Claude 可以在完全可控的前提下處理高度複雜的真實任務 部落格網址:
正在載入線程內容
正在從 X 取得原始推文,整理成清爽的閱讀畫面。
通常只需幾秒鐘,請稍候。
