AI Engineer onepage/ Skill Engineering
Paul Bakaus · 約 1:02:20
這支影片在講:Skill 不是 prompt 包,而是可執行的 harness
模型會被訓練資料的「平均值」拉回去。想做出有品味、可重複、不能被跳過的 agent workflow,核心不是加長指令,而是把角色、資料、隨機性、檢查與阻擋機制接進執行環境。
Published: 2026-09-21Video ID: SQMCtZX3trg
01 / 問題
禁令不會帶來原創
禁用一種濫用字體或風格,只會讓模型跳到 latent space 裡最近的替代品;slop 的中心會移動,卻不會消失。
02 / 反轉
文字不是唯一控制面
一段精心 prose 很難對抗模型的中位數偏好。技能要能叫出腳本、分離角色、注入未知值,甚至阻止錯誤寫入。
03 / 解法
把規則接上執行路徑
用盲測子 agent、deterministic linter、stdout 指令、hooks 和 eval harness,把「應該做」變成「不做就過不了」。
Signals
這場 workshop 的四個關鍵訊號
Technique count
9 種
每一種都針對 prose 本身難以保證的控制能力。
Blind review
2 agents
設計總監與 deterministic linter 彼此不看答案,再交由第三方整合。
Weakest link
弱模型
skill 不應只為最佳模型調校;可跳過的 gate 終究會被跳過。
Control surface
Hooks
在寫入之前阻擋錯誤,比在事後用語言抱怨可靠。
Core story
把 prompt 升級成 harness 的三個轉變
轉變 1
讓不同角色互相制衡,而不是同一條線自評
同一個 thread 既產生又評分,通常會說自己做得很好。把設計判斷與機械檢查拆給互盲的 sub agents,再讓 synthesis 收斂,才會建立真正的對抗面。
轉變 2
刻意製造模型無法預測的分歧
先列出最安全的三個字體,然後全部丟掉;或讓 script 提供模型無法猜到的 random seed。重點不是隨機本身,而是讓模型離開最高機率的舒適區。
轉變 3
把建議變成可執行、可攔截的系統行為
stdout 輸出的指令往往比埋在 prose 裡更容易被遵循;hooks 則能在錯誤發生前阻擋 write。代價是可能失去 prompt cache,但換回可驗證的流程。
Nine techniques
九種技法,按它們解決的問題重新分組
角色分離:讓它辯論、做盲測一個 agent 提案、另一個 agent 扮演設計總監或 linter;避免單線工作流把主觀判斷偽裝成通過驗證。
強迫分歧:丟棄安全預測、注入 seed把最容易被模型選上的選項排除,並讓外部腳本提供未知輸入,改變每次生成的起點。
專長路由與 skill memory像 mixture of experts 一樣把任務導向合適子流程,並保存可回收的經驗,避免每次都從空白 prompt 重來。
腳本與 hooks:讓環境說話、出手阻擋將判斷交給可重複執行的程式;hook 不只告知規則,而是在必要時拒絕不合格輸出。
Live browser wiring 與「只在我機器可用」把真實介面與執行環境納入 loop,讓 skill 接觸可觀察狀態;同時把本機假設顯性化並測試。
為最弱模型設計,並用 eval harness 收尾不同模型各自過擬合;用最低可靠能力做 gate 的基準,再用 eval 驗證「有沒有品味」這種主觀目標是否可操作。
Use this checklist
如果你正在維護 agent skills,先做這五件事
找出只靠 prose 無法保證的要求例如格式、寫入前檢查、資料來源、工具順序;這些應移到 script、hook 或 deterministic validation。
將「產生」與「評分」拆開至少安排獨立角色或不同 context 來挑錯,避免 generator 對自己的輸出產生確認偏誤。
為創意輸出設計可控的 divergence列出預期的安全答案並排除它們,或從外部引入 seed;但要同時保留品質 gate。
檢查 gate 是否真的不可跳過若規則只是一句建議,模型或後續流程終究可能略過它。把關鍵 gate 放到 write path 上。
用最弱的目標模型跑 eval不要只在最強模型上看起來漂亮;跨模型驗證才能辨別 skill 是否依賴某一個模型的特殊習慣。
Source video