Z

self-improving-agent

作者 zhaono1

self-improving-agent 是一個用於 Agent Orchestration 的後設技能,能記錄任務結果、萃取可重複使用的模式,並透過記憶、範本、hooks 與可選的 PR 審查流程來傳遞更新。

Stars0
收藏0
評論0
加入時間2026年3月31日
分類Agent 編排
安裝指令
npx skills add zhaono1/agent-playbook --skill self-improving-agent
編輯評分

這個技能的評分為 68/100,代表可以列入目錄,但安裝前應抱持務實預期。此 repository 展現出相當完整的工作流程設計,也提供具體的 memory/templates/hooks 檔案,以及明確的自動觸發中繼資料,因此比一般泛用 prompt 更具實際操作價值。不過,系統中的關鍵部分仍多停留在概念描述層面;從現有證據來看,除了記錄、模式儲存與建議的整合切入點之外,尚不足以完整證明代理能穩定地執行端對端的自我改進。

68/100
亮點
  • 觸發設計完整:`SKILL.md` 明確定義了以 hook 為基礎的 before_start、after_complete 與 on_error 行為,並附有清楚的觸發模式與條件。
  • 包含實際工作流程資產:提供 hooks scripts、memory schema/example data,以及 correction/pattern/validation templates,可降低代理自行猜測的空間。
  • 有助於安裝判斷:`README` 說明了 memory 佈局、安裝 symlink、可選 hooks,以及預期中的回饋循環。
注意事項
  • 操作上的閉環有一部分仍屬推定而非實作完成;目前附帶的 hook scripts 主要仍以事件記錄為主,因此程式碼尚未充分證明其自動學習/更新行為。
  • 這個技能的企圖心高、適用範圍也很廣,但從 repository 摘要可見,對於何時該萃取模式、更新技能,或避免不良自我修改,仍缺乏足夠具體的決策規則。
總覽

self-improving-agent skill 概覽

self-improving-agent 實際上在做什麼

self-improving-agent skill 是一種用於 Agent Orchestration 的後設技能:它不是直接幫你完成單一任務,而是協助 agent 從已完成的任務、錯誤與反覆出現的模式中學習,再把這些學習結果回饋到 skills 與 memory。就這個 repository 來看,它結合了以 hook 為基礎的觸發機制、多層 memory 設計,以及用於修正與驗證的 templates。

誰適合安裝這個 skill

如果你正在執行可重複使用的 agent workflow,而且會跨多個 sessions、skills 或 repositories 反覆使用,那麼 self-improving-agent skill 很值得評估。它特別適合想讓 agent stack 能隨時間累積模式、減少重複犯錯,並把一次性的修正轉成可重用指引的人。

它真正要解決的工作是什麼

多數使用者需要的不是另一個泛泛而談的「反思並改進」prompt,而是一套可重複執行的機制,能夠:

  • 察覺某次任務是否產出了有價值的模式,
  • 把那個模式記錄到可持續保存的位置,
  • 驗證那個模式是否真的值得保留,
  • 並在需要時更新相關 skills 或開出 PR 供審查。

這就是 self-improving-agent 的實際價值:它把任務後的學習,從模糊習慣變成可操作的 workflow。

它和一般 prompt 有什麼不同

主要差異在結構,不在措辭:

  • 透過 hook metadata 在 session 開始、完成與錯誤記錄時自動觸發,
  • 將 memory 模型拆分為 semantic、episodic 與 working memory,
  • 提供 correction、pattern extraction 與 validation 的 templates,
  • repository 結構也明確暗示:改進應該做成可審查的變更,而不是埋在聊天紀錄裡。

什麼情況下它很適合

當你已經同時在使用多個 skills,並且希望跨 skill 學習時,就很適合使用 self-improving-agent for Agent Orchestration。它更適合持續運作中的系統,而不是單回合任務。如果你最大的痛點是「agent 一直在重學同一件事」,這個 skill 就很值得納入評估。

什麼情況下不適合安裝

如果你只想要一個輕量的個人 prompt、不打算持久化 memory,或不願意審查自動產生的改進內容,就可以略過 self-improving-agent install。這個 skill 的價值來自流程紀律;少了這一層,它就只會變成額外負擔。

如何使用 self-improving-agent skill

安裝 self-improving-agent skill

repository 的 README 提供的是以 symlink 為主的安裝方式:

ln -s ~/path/to/agent-playbook/skills/self-improving-agent ~/.claude/skills/self-improving-agent

如果你使用的是其他 skills manager,請依照你的環境調整路徑。重點是 skill 資料夾本身要完整保留,因為 hooks、templates、memory 範例與 references 都是這個 skill 使用模型的一部分。

第一次使用前先理解啟動模型

SKILL.md 的 metadata 顯示了三個重要的 hook 時機:

  • before_start:記錄 session context,
  • after_complete:記錄完成結果,若 skill 有變動,還可以用 ask_first 方式觸發 create-pr
  • on_error:只記錄錯誤,刻意避免遞迴式自我修復迴圈。

最後這點很重要。這種 self-improving-agent usage 不是「每次失敗都自動修到底」。它的設計重點是安全地擷取與傳遞學習,而不是讓自己無限重試。

建議先讀這些檔案

如果你想快速判斷值不值得裝,建議依照這個順序看:

  1. skills/self-improving-agent/SKILL.md
  2. skills/self-improving-agent/README.md
  3. skills/self-improving-agent/references/appendix.md
  4. skills/self-improving-agent/memory/semantic-patterns.json
  5. skills/self-improving-agent/templates/correction-template.md
  6. skills/self-improving-agent/templates/validation-template.md
  7. skills/self-improving-agent/hooks/pre-tool.sh
  8. skills/self-improving-agent/hooks/post-bash.sh
  9. skills/self-improving-agent/hooks/session-end.sh

照這條路徑閱讀,比起隨便掃一遍 repo,更快判斷這個 skill 到底是可落地的 workflow 元件,還只是概念說明。

這個 skill 要吃哪些輸入才會表現得好

self-improving-agent skill 需要的不只是「improve yourself」這種模糊指令。你最好提供:

  • 剛剛執行的是哪個 task 或 skill,
  • 哪些地方成功、哪些地方失敗,
  • 可供檢查的 artifacts,例如 outputs、diffs 或 logs,
  • 你要的是 memory update、skill update、validation,還是 PR preparation,
  • 以及它可以編輯哪些檔案的安全邊界。

如果沒有來自真實執行過程的具體證據,這個 skill 往往只會產出很弱的抽象結論。

怎麼把模糊需求變成有效的呼叫方式

較弱的 prompt:

  • 「Use self-improving-agent to learn from this.」

較強的 prompt:

  • 「Run self-improving-agent on the last debugger session. Inspect the final diff, failed command output, and user correction. Extract one reusable semantic pattern, record one episodic summary, and propose updates only if the guidance would help future debugger runs. Do not edit production code; limit changes to skill docs, templates, or memory artifacts.」

這種寫法效果更好,因為它明確定義了證據來源、輸出類型、更新範圍,以及判斷是否需要更新的邊界。

實用的 self-improving-agent 使用流程

一個穩健的 workflow 可以長這樣:

  1. 先執行一般 task skill。
  2. 收集結果 artifacts:logs、errors、edits、user feedback。
  3. 呼叫 self-improving-agent
  4. 要求它明確區分:
    • 哪些是單次事件,
    • 哪些應該提升成可重用模式,
    • 哪些在可信任之前還需要 validation。
  5. 審查所有提議的 skill 變更。
  6. 視需要觸發 create-pr,把更新變成可審查的修改。

這種區分就是最核心的品質過濾器。不是每一次成功修好問題,都值得升級成共享指引。

memory 模型如何影響實際使用

這個 repo 的 memory 設計,是它最有實務價值的概念之一:

  • semantic memory 儲存可重用模式與最佳實務,
  • episodic memory 儲存具體事件與 sessions,
  • working memory 儲存當前 session 狀態,例如最近發生的錯誤。

self-improving-agent usage 中,這代表你要先判斷某個觀察屬於:

  • 可長期保存的規則,
  • 一個案例紀錄,
  • 還是暫時性的上下文。

把這些類型混在一起,是自我改進系統變得雜訊很多的常見原因。

範例 pattern 檔案透露了什麼

memory/semantic-patterns.json 很有參考價值,因為它展示了「學到的 pattern」應該長什麼樣:problem、solution structure、quality rules、target skills,以及 confidence。這比像「PRDs should be clearer」這種鬆散備註可操作得多。

實際使用 self-improving-agent 時,也建議要求輸出維持同樣的結構,這樣 pattern 才會容易攜帶、審查與複用。

hook 檔案反映了目前自動化的深度

這個 skill 裡的 hook scripts 本身相當輕量,主要是在輸出 context,像是 tool input、tool output、exit code 與 session end。這表示目前的實作更像是整合用的 scaffold,而不是一個完全自主的改進引擎。

這對安裝判斷很重要:self-improving-agent 提供的是 workflow architecture,但你仍然可能需要把它接進你更大的 orchestration stack 才能真正發揮作用。

提高品質的 prompt 寫法

一次請這個 skill 做一到兩件事,通常效果最好,例如:

  • 萃取一個帶 confidence 的可重用 pattern,
  • 撰寫 correction report,
  • 起草 validation report,
  • 判斷哪些相關 skills 應該更新,
  • 準備給人工審查的 PR 摘要。

如果你在沒有充分證據的情況下,想一次要它全部做完,品質通常會明顯下降。需求越聚焦,memory entries 通常越好。

開放編輯前先設好邊界

在開啟寫入權限前,請先明確指定:

  • 允許編輯的 file paths,
  • memory files 是否只能 append-only,
  • 既有 patterns 是否可以 merge,
  • 以及在 confidence 不高時,更新是否只能停留在 proposal 階段。

如果是團隊環境,建議要求共享 skill docs 的修改一定要經過 review。會自我改進的系統如果太自由地改寫指引,擴散錯誤的速度可能比修正錯誤還快。

self-improving-agent skill 常見問題

self-improving-agent 對新手有用嗎

有,但更適合作為 review 與 learning 的輔助層,而不是你的第一個 skill。新手可以用它整理哪裡出錯、哪些內容值得記住;不過它的完整價值,通常要在你已經反覆使用多個 skills 之後才會真正顯現。

它比一般 reflection prompt 好在哪裡

一般 prompt 也能產出 retrospective,但如果你要的是結構化 memory、跨 skill 複用、validation,以及可選的 workflow hooks,self-improving-agent 就更有優勢。差別在於持久化與整合能力,而不只是措辭寫得比較漂亮。

self-improving-agent 會自動修正錯誤嗎

單靠它本身,不會以完全自主的方式自動修好所有錯誤。metadata 已經明確避免在 on_error 上形成無限遞迴,並且依賴 logging,再搭配 debugging 或 code review 之類的其他 skills 協同處理。比較準確的定位是:它是學習與改進的協調者,不是魔法修復迴圈。

self-improving-agent 只適合 Claude 風格的本地 skill 環境嗎

範例確實是以 ~/.claude/skills/~/.claude/memory/ 為主,所以這個 repository 很明顯是朝那種環境設計的。不過,只要你能在其他 agent framework 中重建相同概念:hooks、memory tiers、templates 與 gated updates,這套設計思路依然能移植。

導入時最大的風險是什麼

最主要的風險包括:

  • 存進了品質不佳的 patterns,
  • 把一次性事件誤當成通則,
  • 讓 skill 在沒有 review 的情況下直接改寫指引,
  • 以及預期它的自動化程度高於目前 hook scripts 真正提供的能力。

什麼情況下不該用 self-improving-agent for Agent Orchestration

如果你的 workflow 大多是臨時性的、任務差異太大而難以形成穩定模式,或團隊還沒有準備好維持 memory hygiene,就不適合使用 self-improving-agent for Agent Orchestration。在這些情況下,一個簡單的 retrospective prompt 可能就已經足夠。

如何改進 self-improving-agent skill

先改善證據品質,不要先拉高企圖心

想提升 self-improving-agent 的輸出品質,最快的方法不是叫它做更多,而是給它更好的來源材料:

  • 精確的 user corrections,
  • before/after diffs,
  • failed commands,
  • 最終被接受的 solution,
  • 以及是哪個 skill 產生了這個結果。

比起抽象地說「我們在這裡學到了一些東西」,更完整的證據才能產出更強的 patterns。

強制區分 episode 與 pattern

常見失敗模式之一,就是把單一事件直接升格成全域指引。要改善 self-improving-agent,可以直接明確要求它回答:

  • 「哪些內容只能放進 episodic memory?」
  • 「哪些內容已經強到足以進 semantic memory?」
  • 「哪些內容還需要 validation?」

光是這個區分,就能大幅減少 memory pollution。

要求保留 confidence 與 target-skill 欄位

範例 semantic memory 內含 confidence 與 target skill 資訊,這點不要拿掉。好的 self-improving-agent guide 不該只描述一個 pattern,還應該說明它有多可靠、適用在哪些地方。這會讓後續的修剪與 review 容易非常多。

優先使用 templates,不要放任自由發揮

templates/ 裡的 templates 是這個 skill 最實用的資產之一。如果輸出品質偏弱,就直接要求 agent 填寫:

  • templates/correction-template.md
  • templates/pattern-template.md
  • templates/validation-template.md

結構化輸出會更容易審查、比較,也更容易淘汰掉不好的更新。

升格前先做 validation

reference appendix 裡已經包含 validation report template,檢查項目包括:

  • 範例是否能 compile 或執行,
  • checklists 是否仍符合 repo 慣例,
  • external references 是否有效,
  • 是否存在重複或互相衝突的指引。

如果你想讓 self-improving-agent 的結果更可靠,在改動共享 skill instructions 前,應該先要求 validation。

逐步改善 repository integration

如果你決定採用這個 skill,不要一開始就讓它重寫所有內容。更安全的 rollout 方式是:

  1. 只做 logging,
  2. 先產出 proposal drafts,
  3. 再進一步更新 memory,
  4. 接著修改經 review 的 skill-doc,
  5. 最後才視需要啟用 PR creation。

這種分階段導入能維持信任,也比較容易追查失敗原因。

留意 semantic memory 是否變得吵雜或過時

當 semantic memory 變成雜物抽屜時,self-improving-agent 的效果就會下滑。建議定期清理這些 patterns:

  • 從來沒有被重用過,
  • confidence 很低,
  • 和較新的 patterns 重複,
  • 或寫死了已經改變的 repository 慣例。

memory 保持精選,這個 skill 的品質才會持續提升。

要求具體的更新範圍

不要只說「improve the skill」,而是直接指定:

  • 「update one checklist item in SKILL.md」、
  • 「draft a correction note using the template」、
  • 「append a new semantic pattern with confidence justification」、
  • 或「prepare a validation report only」。

範圍越窄,越容易審查,也越能降低不小心改太多的風險。

self-improving-agent 搭配人工審查習慣

repository 已經透過 ask_first 模式下的 create-pr,以及 appendix 中 human-in-the-loop 的說明,暗示了這種做法。請把這個紀律保留下來。最好的 self-improving-agent skill 不是無限制的自治,而是在明確 review gate 下快速學習。

如果結果太泛,先改 prompt 結構

輸出太 generic,通常代表 prompt 缺少了:

  • 一個來源 session,
  • 一組具體 artifacts,
  • 一個目標更新位置,
  • 或對「什麼算是可持久保留的學習」的判定規則。

更好的 self-improving-agent usage prompt 會把這四項都講清楚。通常這比微調字句本身,帶來更明顯的品質提升。

評分與評論

尚無評分
分享你的評論
登入後即可為這項技能評分並留言。
G
0/10000
最新評論
儲存中...