提示詞訓練/Michael 教學筆記
Michael 教學筆記

SkillOpt:把提示詞工程變成可訓練的 Skill 系統

這份教材把 SkillOpt 拆成一個工程問題:技能 不再只是手工 提示詞,而是 權重凍結代理 的外部可訓練狀態,能用 試跑、驗證集、受控編輯與部署產物來管理。

課程定位

這堂課要回答的不是「提示詞 要怎麼寫更漂亮」,而是「技能 能不能像模型一樣被訓練、驗證、版本化」。

SkillOpt 的突破點在於:它不去碰模型權重,而是把 技能 文件本身當成可優化對象。對實務團隊 這種會長期維護教學 HTML、研究報告、Codex SOP 與多 代理 流程的團隊來說,這件事的價值比單次 提示詞 技巧更大。

52 / 52最佳或並列最佳測試格
+23.5GPT-5.5 direct chat 平均提升
+24.8Codex 執行框架 平均提升
+19.1Claude Code 執行框架 平均提升

SkillOpt 重新定義的,不是修辭,而是 提示詞 的治理方式

傳統 提示詞 engineering 的問題不是完全沒效,而是太依賴個人經驗。你可以寫出一份能跑的 提示詞,但很難知道它是不是已經接近最佳、是不是可穩定重複、是不是可以移轉到另一個 執行框架。SkillOpt 的回答是:把 技能 文件當成 代理 的外部狀態,像訓練模型那樣去優化它。

一句話定義
微調 解決的是權重怎麼變;SkillOpt 解決的是在權重不變的前提下,工作協議怎麼變得更強。
核心觀點:不要再把 技能 當成一段寫完就算的提示詞,而要把它當成一個有評估集、有版本、有最佳產物的可訓練元件。
SkillOpt teaching thumbnail
這個主題聚焦在同一個轉向:寫 提示詞 不再只是經驗活,而是開始有 試跑、驗證關卡、學習率預算 與 best_skill.md 這種訓練語彙。

先把舊世界講清楚:為什麼手工 技能 會很快碰到天花板

舊做法

靠直覺寫

人或大模型憑感覺起草一份 技能,跑幾次不壞就收工。

核心缺陷

沒有優化方向

你不知道哪一句規則真的有用,也不知道哪一段只是看起來合理。

結果

可跑不等於夠好

同一任務可能 A 寫法 60 分、B 寫法 85 分,但傳統做法很少真的把兩者拉上驗證集比較。

SkillOpt 的解法

把 技能 變成訓練目標

重點不再是「這份 提示詞 能不能跑」,而是「這份 技能 能不能在 保留集驗證關卡 上穩定變強」。

核心迴圈:試跑、反思、編輯、驗證關卡

SkillOpt 的 loop 刻意模仿深度學習。目標模型 與 執行框架 固定不動,只有 技能 文件會變。每一輪先用當前 技能 跑任務,蒐集成功與失敗軌跡,再由 最佳化模型 提出小幅編輯,最後用 保留集驗證 決定要不要接受。

SkillOpt 訓練迴圈 1. 執行試驗 固定 目標模型 跑任務、收軌跡、打分 2. 反思 拆成功與失敗 小批次 找可重用規則與錯誤模式 3. 編輯 新增/刪除/取代 受 學習率預算 約束 4. 關卡檢查 只在 保留集分數 提升時 候選 技能 才被接受
重點不是讓 最佳化器 每次整份重寫。SkillOpt 的穩定性來自「受控小改」,不是來自「一次大翻修」。

真正讓它像訓練而不是像亂改 提示詞 的,是這些控制項

文字學習率

論文把 編輯預算 視為文字空間的 學習率。一次只允許有限次 新增/刪除/取代,避免把本來有效的規則一起洗掉。

被拒修改緩衝區

被 驗證關卡 擋下的候選編輯不直接消失,而是變成負面經驗,讓下一輪 最佳化器 避開類似失敗方向。

慢速/後設更新

除了步進式 編輯,還保留較長週期的總結與穩定規律,避免 技能 只會追逐短期 增益。

獨立的最佳化模型

寫 技能 的模型與執行任務的 目標模型 分工,讓「反思怎麼改」與「照規則執行」這兩種能力不要互相干擾。

工程上的意思很直接:如果沒有受控步長、沒有 拒絕紀錄記憶、沒有 驗證關卡,你做的就不是訓練,而比較像高級版 提示詞 瞎猜。

結果不是小修小補,而是把 技能 這層證明成有效的 領域調適

設定SkillOpt 觀察你應該怎麼解讀
7 個 目標模型 包含 frontier-scale GPT 與小型 Qwen 這不是只對單一超大模型有效的技巧。
6 個 評測集 問答、試算表、文件、數學、具身任務 技能 優化不是只對一種任務型別有幫助。
3 種 執行框架 直接聊天、Codex、Claude Code 對我們最重要,因為這證明 代理 執行環境也吃得到 技能 訓練成果。
52/52 格 最佳或並列最佳 不是少數 評測集 撐起平均,而是整體表現很整齊。
直接聊天

+23.5

GPT-5.5 從 無技能基準 到 SkillOpt 技能 的平均增幅。

Codex

+24.8

相同方法搬進 代理程式執行框架 仍成立,不是只對 聊天介面 有效。

Claude Code

+19.1

這代表同一種訓練思路,已經足以影響 Claude Code 這類工具鏈工作流。

最有營運價值的地方:best_skill.md 可以轉移

論文與專案頁都強調,部署時 目標模型 不需要帶 最佳化器記憶,只需要最終的 best_skill.md。而且這份 技能 不只對原本的 目標模型 有用,還能跨模型尺寸、跨 Codex / Claude Code 執行框架、甚至對相近 評測集 帶來正向效果。

對企業的意義

  • 可以集中在較強算力環境做 技能 訓練。
  • 訓練好後,把產物分發到不同 代理 與不同模型。
  • 不用每個場景都重新 微調 或重新手寫 提示詞。

對個人的意義

  • 你維護的不再是很多段 提示詞,而是一組經過驗證的 技能 資產。
  • 真正值錢的能力會慢慢從「很會寫 提示詞」轉向「很會設 評測集、很會做 驗證關卡」。
  • 代理工程 開始更像 ML engineering。

對實務團隊 最直接的落地方式

場景現在常見做法SkillOpt 思路下應改成什麼
教學 HTML 產線 每次重寫 提示詞,靠人工看順不順 固定 課程摘要 結構、版面規則、禁用詞與 手機驗證關卡,定期用評估樣本訓練教學 技能
Codex/Claude Code SOP 手工維護長指令,靠記憶提醒 把任務拆成可評測 技能,量化成功率、回合數、工具失敗率與格式一致性
研究報告 每篇報告都重講來源標準與保守語氣 把引用規則、可信度排序、禁止過度結論化等行為封裝成可驗證 技能
PM/分流 靠人手判斷 優先級 與 負責人 把分類標準、缺資訊時的追問、不可自動派工條件放進 技能,再用 保留測試案例 做驗證
如果只是把更多規則塞進 提示詞,這還不叫 SkillOpt。真正的改變是:你開始有驗證集、接受條件、被拒絕的編輯記錄,以及可以分發的最佳 技能 產物。

一句話比較:SkillOpt 改的是 提示詞 的生命週期

傳統 提示詞 engineering

人寫 prompt
人試幾次
覺得順就上
失敗再改
經驗留在個人腦中

SkillOpt 思路

定義任務與評估集
rollout 收集軌跡
optimizer 提出小幅 edits
held-out gate 決定是否接受
輸出可部署的 best_skill.md
對使用者來說,這代表未來你可能不需要一直手調 提示詞;對團隊來說,這代表真正要投資的是 技能 設計、評估樣本與驗證流程。

如果你要在自己的 代理 系統借鏡 SkillOpt,先過這張清單

  1. 先挑一個高重複、可評分的工作流。
    例如教學 HTML、資料整理、任務票分流、PR 審核。不要一開始就選超開放、沒有驗收標準的任務。
  2. 先定義評估集,不要先堆 提示詞。
    SkillOpt 成立的前提,是你知道什麼叫成功、什麼叫退步。
  3. 把 技能 當外部狀態,而不是把所有希望寄託在模型本身。
    模型可以固定,技能 可以迭代,這正是成本與可控性的關鍵。
  4. 限制每輪修改幅度。
    大改容易把既有有效規則一起改壞,小步編輯比較適合長期收斂。
  5. 保留 被拒絕編輯 與驗證紀錄。
    這些不是失敗垃圾,而是之後避免重犯的負面樣本。
  6. 部署時只帶最佳產物,不要把訓練過程一起背上線。
    best_skill.md 應該是乾淨、可稽核、可分發的最終協議。

來源