一句話理解
SkillOpt 是 Microsoft 的開源研究與工具專案。它不微調模型權重,而是把供 Agent 使用的自然語言技能文件,例如 Markdown 流程指引,當作可訓練的外部狀態。系統在固定的目標模型、後端與執行框架下,根據任務執行軌跡和評分,反覆改進這份技能文件。
它解決甚麼問題?
Agent 的提示詞與技能文件常靠人工撰寫,或只做一次性自動生成,未必能在有回饋的任務上穩定改善。SkillOpt 嘗試借用深度學習訓練概念,把技能文件迭代變成可評估的優化流程。模型保持凍結,改變的是指引 Agent 如何搜集證據、使用工具、驗證結果與輸出答案的程序。
核心循環:Rollout、Reflect、Edit、Gate
- Rollout 執行:目標 Agent 依現有技能完成一批任務,留下訊息、工具呼叫、驗證回饋與分數等軌跡。
- Reflect 反思:另一個 optimizer 模型分析成功與失敗案例,尋找可重用的流程修正。
- Edit 修改:它提出對技能文件的新增、刪除或取代修改,並受修改數量與文字預算限制。
- Gate 驗證閘門:候選版本須在保留的驗證資料上表現更好,才會被接受;否則維持原版。
專案把這些步驟對應到深度學習隱喻:技能文件相當於模型權重、Rollout 類似前向執行、反思產生的文字修改類似更新,而驗證集用來減少只對訓練案例過度擬合的風險。
產物與部署方式
優化完成後,部署物是一份精簡的 best_skill.md。依官方 README,典型大小約為 300 至 2,000 tokens;它配合原本未改動的目標模型使用,因此正式推理時不需要額外加入優化器模型呼叫。這種做法適合把已驗證的工作程序沉澱成可攜、可版本控制的 Agent 技能。
官方列出的支援範圍
- 研究引擎:
skillopt、skillopt-train、skillopt-eval,用於明確 benchmark split 的訓練與評估。 - SkillOpt-Sleep 預覽版:
skillopt-sleep,用於檢視部分 coding-agent 工作階段、整理候選記憶與技能更新,供人手採納。 - 內建 benchmark:DocVQA、ALFWorld、OfficeQA、SearchQA、LiveMathematicianBench、SpreadsheetBench。
- 整合方向:官方 README 列出 OpenAI、Azure、Claude、Qwen、MiniMax 等聊天後端,以及 Codex CLI、Claude Code CLI 等執行框架;實際可用組合和認證設定應以當前版本文件為準。
結果應如何解讀?
專案頁面與 README 報告,在六個 benchmark、七個目標模型及多個執行框架的 52 個評估設定中,SkillOpt 為最佳或並列最佳。README 亦報告在 GPT-5.5 的特定實驗中,相比無技能基線有明顯平均準確率提升。這些數字屬於專案作者的實驗結果,應按論文設定、資料切分、模型版本與重現條件理解,不能直接視作所有實際工作流程都會得到同樣幅度的提升。
實務上值得借鏡的地方
- 把好提示詞改為可測試的技能版本,而非只憑感覺改寫。
- 把成功與失敗軌跡一起保留,讓修正針對重複出現的問題。
- 設定修改上限與驗證閘門,避免技能文件越寫越長、越改越偏。
- 將通過驗證的程序輸出為 Markdown,方便審閱、版本控制與跨 Agent 框架移植。
使用前注意
SkillOpt 的研究訓練流程需要任務資料、評分方式及模型供應商設定。不要把包含密碼、客戶資料或私人對話的原始 session 不經清理地交給任何自動化反思流程。若要使用 SkillOpt-Sleep,先閱讀其資料邊界與人手採納機制,並以非敏感、可驗證的工作紀錄試行。
來源與查核範圍
本文按 SkillOpt 官方專案頁、Microsoft GitHub README 與版本化文件整理;未自行執行訓練或重現 benchmark。功能、支援後端、版本與實驗數字或會隨專案更新。
留言
暫時未有公開留言。
登入後可以留言。