EPISODE · May 11, 2026 · 4 MIN
@neural_avb:Skill Curation for Self-Evolving Agents,清晰解析 Google 最新的論文介紹了 SkillOS,這是一個旨在透過…
from EasyVibeCoding Podcast · host AVB
Skill Curation for Self-Evolving Agents,清晰解析 Google 最新的論文介紹了 SkillOS,這是一個旨在透過學習管理自身「記憶」(以可重複使用的技能形式存在)來幫助 LLM Agent 進化的框架。 也就是說:自動化地經歷 經驗 -> 記憶 -> 技能 的過程。 SkillOS 將技能管理視為作業系統(OS)。 它處理檔案,並組織與優化一個持久化的 SkillRepo。這個方法中最有趣的部分在於如何使用一個稱為 Curator(策展人)的可訓練模組來發現技能。(劇透:他們使用了 RL) 本文解釋了 Google 的這篇 SkillOS 新論文。由 AVB(本人)撰寫,並在 Paper Breakdown harness 中獲得 GPT-5.5 的協助。 你應該知道的 3 件事…… Agent Executor(凍結):這只是一個「執行者」LLM,負責從 SkillRepo 中檢索技能來解決任務。它在訓練期間是「凍結」的,這意味著我們完全不會更新它的權重。它的效能提升純粹是因為為它提供了更好的技能。 Skill Curator(可訓練):這是另一個 LLM,負責觀察 Executor 的軌跡並決定如何更新 SkillRepo。它可以執行諸如 Insert(新增技能)、Update(優化現有技能)或 Delete(刪除冗餘或無用技能)等操作。 SkillRepo:一個以結構化 Markdown 檔案儲存的技能儲存庫。每個技能都包含名稱、描述、程式碼片段和使用指南,讓 Executor 易於理解與應用。 你可能已經知道什麼是技能了。 如果不知道,你可以從這篇 Anthropic 的原始文章了解技能:https://anthropic.skilljar.com/introduction-to-agent-skills/434525 從最基本的意義上來說,技能只是延遲載入的 Prompt。 它只是一個包含標題和描述的 YAML 或 MD 檔案。看起來像這樣: `markdown --- name: frontend-design description: techniques and instructions to write good UI code --- instructions: ` 想像一個目錄裡裝滿了這些涵蓋各種主題(frontend-design、programming-patterns、marketing-skills 等)的技能檔案。每個技能都寫在不同的 Markdown 檔案中,且每個技能都在標頭中包含名稱和描述。 ` (cmd) ➜ tree ~/.agents/skills ~/.agents/skills ├── copywriting │ ├── references │ │ ├── copy-frameworks.md │ │ └── natural-transitions.md │ └── SKILL.md ├── programming-patterns │ └── SKILL.md ├── frontend-design │ └── SKILL.md ├── marketing-psychology │ └── SKILL.md └── web-design-guidelines └── SKILL.md ` 你的 Agent harness(Claude Code、Codex 等)會在系統 Prompt 的頂部接收一份可用技能清單。當你要求它執行特定任務(例如「幫我為這個網頁建立 UI」)時,它會推斷在繼續處理你的請求之前,應該先完整閱讀 frontend-design 技能。接著 Agent 會執行檔案讀取操作(~/.AGENTS/skills/frontend-design/SKILL.md)並將完整的指令載入到它的 context 中。 這篇論文的目標在於技能建立階段。產生清晰且可執行的指令,以提升 Agent 在特定任務中的效能。Curator LLM 負責執行維護技能儲存庫的任務。 Executor Agent 被刻意保持簡單。它的表現與任何其他 harness 一樣——接收技能標頭作為輸入、任務請求,並透過工具呼叫讀取一個或多個技能。Google 對 Executor Agent 沒有任何貢獻——全部的重點都在於 Curator 和技能儲存庫。 請注意,原始的 Anthropic 技能架構還包括資源檔案和可執行程式碼等內容。這些並非 Google SkillOS 工作的一部分,儘管他們確實提到未來有可能朝該方向發展。SkillOS 只學習技能中的文字/敘述部分。 技能是如何有機地被發現的 SkillOS 透過探索來學習技能/指令。廣義來說,LLM Agent 會進入環境中進行探索,然後我們將它的經驗提煉成指令和技能。 讓我們拆解每個步驟,以清楚理解它是如何運作的。 階段 1:Agent Executor 執行 在建立任何技能之前,凍結的 Agent Executor 必須先嘗試解決任務 x。它透過以下方式進行: 透過 BM25 關鍵字匹配 YAML 描述,從 SkillRepo 中檢索前 k 個最相關的現有技能。 執行它與環境的多步驟互動,產生一條軌跡:軌跡是一系列觀察和動作的序列。 在軌跡結束時,一個 LLM-as-a-Judge(一個獨立的 Qwen3-32B 模型)會判斷任務是否成功完成,並發出正確性訊號。 這條軌跡、正確性訊號以及先前檢索到的技能 St,隨後會被交給 Curator。 階段 2:Curator 輸入 Skill Curator 接收一個包含四個關鍵資訊的結構化 Prompt: 任務描述:Agent 試圖完成什麼。 過去的技能:執行期間可用的先前檢索到的相關技能清單(名稱 + 內容)。 Agent 軌跡:顯示發生了什麼的完整逐步追蹤。 結果:Agent 是成功還是失敗。 正如其系統 Prompt 中明確指出的,Curator 的角色是: 「將 Agent 執行任務的過去經驗轉換為可重複使用、通用的技能,以便它們能造福並啟發未來的任務。」 階段 3:Curator 輸出 Curator 隨後會產生一系列結構化的函式呼叫。它是一個 ReAct(推理與行動模組),包含以下工具: newskillinsert 建立一個全新的技能。Curator 提供: skill_name (string):人類可讀的識別碼 content (string):技能的完整 Markdown 本體 當軌跡揭示了一種尚未在 SkillRepo 中呈現的通用策略時,就會用到這個!在訓練初期,當儲存庫為空時特別有用。 skill_update 修改現有技能。Curator 提供: skill_name:要更新的技能的確切名稱(必須完全匹配!) new_name:如果需要重新命名 new_content:完整的替換內容 skill_delete 透過 skill_name 刪除現有技能。 當技能冗餘、誤導或已被取代時很有用。 這是 Curator 的完整系統 Prompt 每個技能都遵循簡單的格式: YAML Frontmatter(強制) `markdown --- name: <人類可讀的技能名稱> description: <一句話總結什麼/何時/為什麼/如何,簡潔且可執行> --- ` description 欄位至關重要,因為它在檢索時被 BM25 用於將任務與技能進行匹配。它必須簡潔且可執行! Markdown 本體 緊接在 frontmatter 之後。建議的章節包括: Workflow(工作流程):逐步指令 When NOT to use(何時不該使用):避免錯誤應用的負面條件 其他章節,如實作範例、公式或邊緣案例 這是一個技能範例。 Curator 被明確指示要遵守這些規則: 無特定細節:移除特定的數字/名稱,替換為變數/概念 無幻覺:僅包含實際軌跡所支持的事實 原子化與模組化:每個技能必須是獨立的,且能單獨重複使用 可執行:本體必須提供具體指導,而非模糊的建議 這很好,但我們該如何提升技能呢? 這就是 RL 發揮作用的地方。我們透過在成功的技能上給予獎勵,來訓練 Curator 編寫更好的技能。 Curator 的訓練迴圈是 SkillOS 技術上最複雜的部分。它解決了一個本質上困難的 RL 問題:你如何透過另一…
Embed this episode
Ready to play
@neural_avb:Skill Curation for Self-Evolving Agents,清晰解析 Google 最新的論文介紹了 SkillOS,這是一個旨在透過…
No transcript for this episode yet
Similar Episodes
No similar episodes found.
Similar Podcasts
No similar podcasts found.