同樣是 Agent Skill,Claude 和 OpenAI 實作方式大不同
在 AI 代理(Agent)發展的早期,開發者總是試圖讓模型變得「無所不能」。我們塞給它長達數千行的 System Prompt,或是串接幾十個 API 工具。然而,這種做法很快就遇到了瓶頸:模型開始變得混亂、指令遵循度下降,且 Token 成本居高不下。Agent Skill 機制因此應運而生。
什麼是 Agent Skill?
簡單來說,Agent Skill 是一種封裝好的、模組化的能力包。它不單純只是一個「功能(Function)」,而是一個包含特定指令(Instructions)、專業知識(References)與自動化腳本(Scripts)的完整單元。
如果把大模型比喻成一個具備極高智商但不具備專業經驗的「社會新鮮人」,那麼:
傳統 Tools、MCP 像是給他一隻扳手或一台電腦,但他不一定知道該怎麼用。
Agent Skills 則是給他一套「高級技工培訓手冊」加「專用工具箱」,讓他能瞬間變身成特定領域的專家。
為什麼 Agent Skill 的重要性在今日大幅增加?
隨著 Claude 與 OpenAI 相繼推出標準化的技能規格,我們可以看到這項技術正成為 AI 應用的核心,主要源於以下四個痛點的突破:
1. 破解「上下文(Context)膨脹」的詛咒
目前的模型雖然上下文視窗越來越大,但隨之而來的是「資訊迷失(Lost in the middle)」的問題。將所有專業指令都塞在系統提示詞中,會導致模型反應遲鈍且精準度下降。
解決方案:Skill 機制採用 「漸進式揭露(Progressive Disclosure)」。只有當 Agent 識別出任務需求時,才會動態載入該技能的完整指令。這讓 Agent 保持輕巧,同時在關鍵時刻具備深度。
2. 從「通用行為」轉向「專家決策」
通用的模型往往只能給出中規中矩的回答。但在專業應用(如程式碼審查、法律分析)中,需要的是極度精確的作業規範。
解決方案:Skill 允許開發者定義嚴格的 SKILL.md,引導 Agent 在特定場景下遵循專業的邏輯鏈條,從而大幅提升輸出的品質與專業度。
3. 安全與權限的「最小化原則」
給予 Agent 永久的 Bash 權限或檔案寫入權限是非常危險的。
解決方案:透過 Skill 的 執行上下文修改(Execution Context Modification),權限可以被限制在技能啟動的當下。例如:只有在「部署專案技能」被啟動時,Agent 才能獲得執行伺服器指令的權限,任務結束即收回。
4. 跨平台的標準化生態
OpenAI 與 Claude 在 SKILL.md 的格式上展現了高度共識,這意味著:
資產化:開發者撰寫一次技能,就能在不同的 Agent 環境中無縫遷移。
社群共享:未來將會出現類似 npm 的 Skill Hub,開發者可以直接下載「專業會計技能」或「資安稽核技能」裝載到自己的系統中。
實作機制比對:Claude vs. OpenAI
當我們深入剖析 Han Lee 對 Claude 的底層拆解以及 OpenAI Codex PR #7412 的程式碼變動時,我們會發現兩家巨頭正試圖解決同一個問題:如何在不讓系統提示詞(System Prompt)爆炸的前提下,賦予 Agent 專家級的處理能力。
以下是針對兩者實作細節的深度強化比對:
1. 技能觸發機制:LLM 推理 vs. 指令安裝
這是兩者在「如何啟動技能」上的根本差異。
Claude 的「元工具(Meta-tool)」派發: Claude 實作了一個名為 Skill(大寫 S)的虛擬工具。系統會將所有可用技能的名稱與簡短描述,動態地塞進這個 Skill 工具的 description 中。這裡沒有傳統的關鍵字比對或向量搜尋。系統是直接利用 LLM 的推理能力,讓 Claude 自己從工具清單中判斷:「現在的情況適合調用 pdf 技能」。這是一種推理驅動的觸發方式。
OpenAI 的「套件管理」模式: OpenAI 在 PR #7412 中展現了更接近開發者習慣的作法。他們引入了 $skill-installer 的概念,類似於 npm install。OpenAI 傾向於讓技能成為系統環境的一部分。透過明確的安裝機制,將技能與 MCP(模型上下文協定)連結。這讓技能的啟動更具預測性,且更容易在不同的 CLI 環境中進行靜態管理。
2. 訊息流與 UI 透明度:雙軌通訊的精妙設計
如何讓 Agent 讀取五千字的「技能說明」,卻又不讓用戶的聊天視窗被洗版?
Claude 的 isMeta: true 隱藏層: 根據 Han Lee 的拆解,Claude 在啟用技能時會發送兩條 User 訊息:
訊息 A (Visible): 包含 標籤,顯示給用戶看(例如:「正在載入 PDF 處理技能」)。
- 訊息 B (Hidden): 標記為 isMeta: true。這條訊息包含完整的 SKILL.md 指令內容。它會被送往 API 讓模型閱讀,但在用戶端會被前端完全過濾掉。這解決了「專業指令冗長」與「介面簡潔」之間的衝突。
OpenAI 的系統級整合: OpenAI 則傾向於將技能內容直接整合進系統對話的上下文。雖然其 PR 中對隱藏訊息的實作細節較少提及,但其重點在於如何透過**標準化的腳本(scripts/)**來產出確定性的結果,而非單純依賴長篇大論的提示詞。
3. 執行上下文(Execution Context)的動態修改
這是實作中最高階的部分:Agent 在使用技能時,它的「權限」會改變嗎?
Claude 的權限限時放寬: 當 Claude 呼叫某個技能時,Skill 工具會回傳一個 contextModifier。這個修改器會暫時改變 Agent 的運作參數。例如,原本禁用的 Bash 工具,在執行 code-review 技能期間,會被暫時允許調用特定目錄下的腳本。任務一旦結束,權限即刻收回。這落實了權限最小化的安全原則。
OpenAI 的環境邊界定義: OpenAI 在 YAML 前言(Frontmatter)中定義權限邊界,並與 MCP server 聯動。它的實作更強調環境的隔離性,確保技能在執行腳本時,是在一個預先定義好的、受控的沙盒環境中運作。
4. 品質保證:提示詞工程 vs. 自動化評測 (Evals)
當技能更新後,如何確保 Agent 不會變笨?
Claude:依賴高品質的引導指令。 Claude 的風格是透過極其細膩的 Markdown 結構(如 Purpose, Instructions, Error Handling 段落)來約束模型行為。它信任模型的強大理解力。
OpenAI:強調 evals/ 測試框架。 OpenAI 的 PR 中最醒目的細節在於強制性或建議性的測試目錄。他們提倡為每個技能撰寫評測腳本(輕量級端到端測試)。當開發者修改了技能提示詞,系統會自動跑過一遍測試案例,驗證 Agent 的輸出 JSON 或行為是否依然符合預期。這是將 AI 開發軟體工程化的極致展現。
兩家公司實作 Agent Skills 的系統運作方式比較
這兩家公司雖然都採用 SKILL.md 作為標準規範,但其系統架構的「核心驅動方式」有顯著差異。以下為你將兩者的運作邏輯做詳細說明。
Claude (Anthropic) 的架構:元工具與動態注入
Claude 的設計核心在於「元工具(Meta-tool)」機制。它將所有的技能視為一個巨大的工具箱,並透過對話過程中的推理來決定加載哪一個專家模組。
運作流程解析:
Skill Tool (Meta-tool): 在 API 請求中,系統會帶入一個名為 Skill 的工具。其描述(Description)會動態生成一份所有可用技能的簡短清單。
LLM 推理決策: 模型閱讀「清單」後,判斷用戶意圖,並決定呼叫 Skill 工具(例如:command: "pdf")。
雙軌訊息注入:
User Message (Visible): 告知用戶技能加載狀態。
User Message (Hidden/isMeta): 將數千字的 SKILL.md 指令注入對話。
執行上下文修改(Context Modifier): 暫時放寬工具權限(如 Bash 權限),讓 Agent 具備執行技能腳本的能力。
OpenAI (Codex) 的架構:可以被安裝、管理的軟體包
OpenAI 的設計更強調「生命週期管理(Lifecycle Management)」。它將技能視為可以被安裝、管理且必須通過自動化測試的軟體包。
運作流程解析:
Skill Installer: 透過類似套件管理(npm)的機制將技能安裝到系統環境中。
MCP Bridge: 技能與模型上下文協定(Model Context Protocol)連結,使技能能跨代理伺服器(Agent Servers)共享。
標準化目錄執行: 嚴格遵循 scripts/、references/ 目錄執行確定性任務。
Evals 測試框架: 每個技能修改後,必須通過 evals/ 目錄中的自動化測試案例,確保指令變更後行為依然正確。
總結比對表:實作細節一覽
技術維度 Claude (Anthropic Style) OpenAI (Codex Style) 分配者架構 透過 Skill 元工具動態分配 透過 installer 進行靜態安裝 訊息注入 雙訊息機制 (isMeta 隱藏層) 系統提示詞動態組裝 環境控制 執行時動態修改權限 (Runtime Modifier) 預定義的沙盒與 MCP 節點 維護重點 Markdown 指令的細膩度與引導 自動化評測架構 (evals/) 的嚴謹度 跨平台標準 SKILL.md 規格發起者 agentskills.io 規格推動者
參考資料: