所有節目›AI Engineer Europe 2026| World's Fair 2026完整場次線上軌AI in HealthcareSoftware Factories
How I deleted 95% of my agent skills and got better results在 YouTube 看這一場

AI Engineer Europe 2026 · 演講 · 2026-05-30 · 18 分

刪掉 95% 的 skills 反而更準

How I deleted 95% of my agent skills and got better results · Nick Nisi,WorkOS

Nick Nisi 分享自己替 WorkOS 做的兩套 agent 系統:對內的 Case 靠狀態機逼 agent 交出證據,對外的 CLI 則用評估發現大量 skills 反而拖累結果。

關卡與 harnessskill 份量看原片 ↗

概要

  • 一個人顧二十幾個 repoNick Nisi 是 WorkOS 的 DX 工程師,說自己同時照顧 20 個以上的 repo、八種語言,大約八個月沒有自己寫過程式碼,靠 agent 做事、自己負責審查與下指令。
  • Case 用狀態機把關Case 一開始是 Claude 的 skill,流程變複雜後 agent 開始漏做、跳步,Nick 改在 Pi 上用 TypeScript 狀態機重做。裡面有 implementer、verifier、reviewer、closer、retro 五個 agent,真正重要的是它們之間的關卡。
  • 要它證明,不要只叮嚀agent 曾經只建一個標記檔就宣稱跑過測試。Nick 改成把測試輸出做 SHA-256 存進去驗證,說 agent 不再說謊,是因為老實做比造假更省事。
  • 10,000 多行 skills 比不用還差照文件產出超過 10,000 行 skills,跑一輪評估要 68 分鐘。改成只寫 553 行常見陷阱後,每輪約六分鐘,其中一個 skill 載入時答對率 77%、不載入是 97%。
  • 失敗要回頭修 harness每次出錯都視為 harness 的 bug。Case 的 retro agent 會讀執行紀錄,把心得寫進分專案的 markdown 記憶檔,下次少走冤枉路。
  • 替 agent 設計產品先找出 agent 對你的產品反覆答錯的地方,只針對那些寫 skill,再用評估量測,並把 agent 當成另一種開發者來看待。

原話

  • “They would just lie to me all the time.”

    它們動不動就對我說謊

    ▶ 04:53
  • “I was actively making it worse”

    我其實在讓它變差

    ▶ 09:44
  • “Basically, you want to enforce things. Don't instruct.”

    要強制,不要只是叮嚀

    ▶ 10:33
  • “Fix the harness so that it can fix the mistakes.”

    修 harness,讓它去修那些錯誤;Nick 接著說 Ryan Lopopolo 的團隊就是這樣做

    ▶ 12:56
  • “Your job was never really about writing code.”

    你的工作從來不只是寫程式

    ▶ 17:06

延伸

  • Nick 提到 Claude 的 auto dream 功能可以隨時間修剪記憶,打算作為 Case 的下一個功能。
  • Nick 也說 Claude 有一個產生評估的 skill,能輸出並排對照的 HTML 結果,可用來比較有無載入 skill 的差異。

章節

點時碼直接跳到原片的那一段。

  1. 自稱瓶頸的工程師Nick Nisi 說自己維護 20 個以上 repo、八種語言的 SDK 與開源專案,已經大約八個月沒親手寫程式。
  2. 單一 agent 的切換成本一次帶一個 agent 要不斷切換情境,每次還得花約 10 分鐘把 issue、ticket、Slack 討論的背景交代給它。
  3. 兩個 AI 原生的方向對內要用 agent 加速自己的工作,對外則要讓 agent 成為開發者接觸 WorkOS 的管道。
  4. Case:交出證據才停手Case 是依 harness engineering 的想法做的,丟給它 issue、PR 或 Slack 討論,它自己找脈絡,直到產出附證據的 PR。
  5. 改用 Pi 與狀態機skill 版本會遺忘、跳過任務,所以改成 Pi 加 TypeScript 狀態機,五個 agent 之間以關卡管控,retro agent 負責回顧並更新記憶。
  6. 讓它無法謊稱跑過測試標記檔會被 agent 直接建出來充數,改成存測試輸出的 SHA-256 來驗證。
  7. WorkOS CLI 的安裝功能對外的 CLI 能判斷專案類型、替換掉 Auth0,五分鐘內裝好 AuthKit,沒有帳號還會先代開。
  8. 照文件生出 10,000 行 skills為了解決 TanStack Start 的安裝錯誤,Nick 依文件產出超過 10,000 行 skills,跑一輪評估要 68 分鐘且常失敗。
  9. 手寫 553 行陷阱清單只留常見 gotchas 後每輪約六分鐘,其中一個 skill 載入時答對率 77%、不載入反而 97%。
  10. 三條心得要強制而不是叮嚀、要引導而不是規定、要量測而不是假設有效。
  11. 用影片當證據UI 錯誤要錄下修正前後的操作影片附在 PR,證明有效後 Nick 才願意花時間審程式碼。
  12. 失敗變成下一輪的資料出錯時修 harness 而不是修產出,retro agent 讀紀錄找出重複呼叫與卡住的循環,寫進分專案的記憶檔。
  13. 替 agent 設計產品先找出 agent 對產品反覆答錯的地方,只針對這些寫 skill,並用評估量測,也要想想頁面載入對 agent 的影響。
  14. 以證據取代信任結論是用程式碼而非 prompt 來強制,每次失敗都是 harness 的 bug,工作從來不只是寫程式。

名詞

Case
Nick Nisi 做的內部 harness,丟給它 issue、PR 或 Slack 討論,它會做到產出附證據的 PR 為止
Pi
Case 改版後的底層,搭配 TypeScript 狀態機一步步驅動各個 agent
Harness Engineering
Ryan Lopopolo 的做法,Case 照它的想法做;Nick 轉述他的團隊只改 harness、不直接改程式碼
WorkOS CLI
WorkOS 給客戶用的工具,主打自動判斷專案並裝好 AuthKit
AuthKit
WorkOS 的產品,CLI 的安裝功能就是在替專案裝它
TanStack Start
還在 RC 階段的框架,其 start.ts 有隱含的格式約定,CLI 曾因此改壞
gotchas
Nick 手寫的常見陷阱清單,取代照文件大量產生的 skills
retro agent
Case 中的回顧 agent,讀執行紀錄並更新自己的記憶檔

相關影片 同屬「關卡與 harness」「skill 份量」