跳到主要內容

Hermes Agent「Curator」功能全解析:AI 代理的技能生命週期與自我維護

深度解析 Hermes Agent Curator:AI 代理的自我維護與技能生命週期管理

在構建與研究 AI Agent(如 Claude Code、OpenClaw 等)的自動化工作流時,代理的「長期記憶」與「技能維護」一直是一大挑戰。Nous Research 為 Hermes Agent 推出的 v0.12.0「Curator」更新,正式補齊了技能生命週期管理系統的最後一塊拼圖。

本文將詳細解析 Curator 的核心能力、解決的痛點、實作方式、目前的社群回饋,以及未來可改進的方向。

為什麼需要 Curator?(解決的核心痛點)

在 Curator 推出之前,Hermes Agent 擁有強大的自我改進迴圈(Self-improvement loop):當代理成功解決複雜任務或修正錯誤後,會自動將經驗寫成「技能(Skills)」保存下來。然而,這個機制存在一個致命缺陷——技能只會單向增加,缺乏「遺忘」或「淘汰」機制

隨著自動化工作流的持續運行,這會帶來以下嚴重問題:

  1. Token 消耗與上下文污染:社群用戶回報,當代理累積了上百個技能後,系統提示詞(System Prompts)的體積會暴增,每次對話可能白白消耗掉 4,000 多個 Token。
  2. 技能碎片化與衝突:代理可能會為了微小的差異,生成數十個高度相似的狹隘技能,導致代理在選擇工具時產生混淆。
  3. 習得性無助(Learned Helplessness):如果代理在某次任務中因為暫時性的網路或環境問題失敗,它可能會記錄下「這個工具不能用」的過時經驗,並長久受到這個錯誤的負面規則影響。

Curator 可以做什麼?他做到了什麼事情?

Curator 是一個作為背景守護行程(Background Maintenance Pass)運作的自主代理。它會在不干擾主要對話的情況下,定期幫代理「打理」工具箱。

1. 雙階段的技能淘汰與封存機制(確定性狀態機)

Curator 會追蹤每個代理生成技能的使用數據(包含讀取、使用、修改次數與最後使用時間),並執行無 LLM 介入的自動轉換:

  • Stale(過期):超過 30 天未使用的技能,將被標記為過期,降低其在提示詞中的優先級。
  • Archived(封存):超過 90 天未使用的技能,將被移出運作目錄並歸檔至 .archive/。最重要的是,Curator 從不自動永久刪除技能,所有動作皆可復原。

2. LLM 智能審查與技能整合

當系統閒置超過 2 小時,且距離上次執行超過 7 天時,Curator 會生成一個獨立的代理分支(Fork)。這個輔助模型會閱讀現有的技能庫,決定哪些技能需要保留修補(Patch),或是將功能重疊的技能進行合併(Consolidate)

3. 嚴格的安全與防護網

  • 來源隔離:Curator 絕對不會觸碰官方內建(Bundled)或從市集(Hub)下載的技能,只會管理「代理自行撰寫」的技能。
  • 自動快照與回滾:在進行任何修改前,Curator 會自動將技能庫打包成 .tar.gz 快照。若審查結果不符合預期,可隨時一鍵回滾(Rollback)。
  • 釘選保護(Pinning):支援硬性保護機制,一旦將技能 Pin 起來,Curator 與代理自身都無法再去修改該技能。

項目的使用方式

Curator 在最新版本中預設為啟用。你可以透過修改 config.yaml 或使用 CLI 指令來進行管理:

1. 基礎配置 (config.yaml): 為了節省 API 費用,強烈建議將背景審查任務交給較便宜的模型(如 Gemini 1.5 Flash 或 Claude 3.5 Haiku):

curator:
  enabled: true
  interval_hours: 168 # 預設 7 天執行一次
  stale_after_days: 30
  archive_after_days: 90

auxiliary:
  curator:
    provider: openrouter
    model: google/gemini-3-flash-preview # 指定用於 Curator 審查的模型

2. 常用 CLI 指令:

  • hermes curator status:查看上次執行狀態,以及最少使用的 5 個技能列表(預測下次可能被淘汰的對象)。
  • hermes curator run --dry-run強烈建議首次執行前使用。這會產出審查報告(包含合併或封存建議),但不會實際修改任何檔案。
  • hermes curator pin <skill_name>:釘選你手動撰寫或認為極度關鍵的核心工作流技能,防止被修改。
  • hermes curator rollback:若自動整理搞砸了,一鍵還原到整理前的狀態。
  • hermes curator restore <skill_name>:將被封存的技能重新移回啟動狀態。

社群網路上的聲音與目前回饋

在 Reddit(如 r/LocalLLaMA、r/AIGuild)與 X (Twitter) 上,Curator 的推出獲得了高度評價:

  • 「真正的長期代理」:社群普遍認為這是 Hermes Agent 的一次巨大升級。開發者表示,終於有一個框架認真對待「記憶的維護與遺忘」,而非只是無腦堆疊向量資料庫。
  • 知識庫的完美編輯:許多進階使用者將 Hermes 與 Obsidian 等知識庫結合。他們不把 Hermes 當成單純的對話機器人,而是作為一個「Wiki 編輯與策展人(Curator)」,利用這個機制定期清理、編譯並維護他們個人的本地知識庫。
  • 成本與效能的雙贏:因為有效清除了死氣沉沉的冗餘技能,使用者反饋提示詞變得極度乾淨,不僅省下了可觀的 Token 費用,也發現代理在調用工具時的準確率有顯著提升。

可以改進什麼事情?(未來展望)

儘管 Curator 解決了許多痛點,但根據 GitHub 的討論與實務應用,該機制仍有可改進的空間:

  1. 「罕見但關鍵」技能的誤判風險: 目前區分「過時」與「不常用」的啟發式規則主要是基於「時間(30/90天)」。一些極少使用但具有關鍵災難復原價值的自動化腳本,如果使用者忘記手動 pin,仍會被放入封存庫。未來可能需要引入基於「影響力」或「標籤」的評分權重機制。
  2. 負面環境依賴的重新驗證(Revalidation): 如果代理記錄下「命令 X 在這個環境中不可用」的技能,但隨後開發者修復了環境,目前 Curator 缺乏主動重新驗證(TTL)這類負面聲明的機制。未來若能加入定期自動測試這類假設的功能,將能徹底解決代理的「習得性無助」。
  3. 更精細的外部目錄同步(Merge Reconciliation): 目前 Curator 對於從外部(External Directories)掛載的技能是唯讀的。對於想要建立跨裝置、跨專案共享技能庫的開發者來說,未來若能處理外部更新與本地代理修改之間的差異合併(Diff/Merge),將能大幅提升多代理協作的潛力。

留言

這個網誌中的熱門文章

Vibe Coding:為什麼 Junior 更快上手?Senior 要如何追趕?

現象層面(市場觀察) 最近有篇文章討論 junior & senior 開發者在 AI 時代的角色轉變,非常熱門。 身為 Cympack 產品開發團隊 ,我們也一直關注這個議題,在閱讀這篇文章時觀察到一些有趣的現象,對我們來說,這正好反映出 AI 正在改變開發生態,junior 借力 AI 快速成長、senior 則需要在 「架構思維」 與 「多 agent 協作」 中找到新定位,其中有些啟發(insight) 可以跟大家分享。 為什麼 Junior 更容易上手 vibe coding? 心智負擔低 → Junior 沒有太多傳統 code workflow 的框架包袱 敢於嘗鮮 → Gen Z / 年輕工程師天生習慣用 prompt-based 工具、跟 LLM 互動 少「優雅程式設計」的束縛 → 不太糾結「這樣寫會不會不夠優雅」,反而 embrace 快速迭代、快速出成果 反觀 Senior: 熟悉大型系統設計 有豐富的「工程正統流程」知識(架構設計、測試策略、效能優化、設計模式) 對 AI 生成 code 的品質 / 維護性通常比較保留 部分 10+ 年資深工程師,對 prompt engineering 沒那麼熟練,還在觀望 技能面(未來的關鍵能力) Vibe coding 本質上 = prompt engineering + AI co-pilot 管理能力 能力項目 誰目前比較有優勢? Prompt 撰寫 / AI 互動 Junior 較強(熟悉 chat-based 流程) 系統設計 / 架構把關 Senior 較強 AI 生成 code 驗證 / Bug 察覺能力 Senior 較強(能看出潛在問題) 快速疊代 / Hackathon 式開發 Junior 較強 長期維護性 / 穩定性 Senior 較強 總結 Junior 確實更快適應 vibe coding,並且更習慣以 「chat-based coding」 的工作流開發。 Senior 擁有驗證 AI 產物與系統設計的深度能力,但若不主動練習 vibe coding,長期會逐漸落後於新一波開發潮流。 就如同在 GAI 技術年會分享,希望帶給各位的感受, 『與 AI 協...

Vibe Coding 協作到自建 Dev Agent?從 Claude / Codex 到 OpenHands

過去一年,越來越多工程師開始 把 AI 真正帶進工作流程 。從一開始用 ChatGPT、Claude 來問語法問題,到後來很多人愛上 Cursor,直接在編輯器裡讓 AI 幫忙改 code、補 test case、甚至自動整理 PR。這樣的開發體驗,已經大大改變了我們寫程式的方式。 更現實的是,在很多企業內部、政府單位、或涉及機密資料的專案裡, 其實根本不能直接用 Cursor 或雲端 LLM 工具。   畢竟這些服務通常會把資料傳到雲端模型做處理,萬一專案裡有未公開的技術、敏感客戶資料,或是受限於法規 (像金融、醫療、政府標案) ,直接用雲端 AI 工具就會踩 紅線 。  因此,許多團隊反而更希望 「自己架一套 Dev Agent」 ,可以在內網執行,資料完全掌握在自己手上,該整合的內部工具、該讀的私有 repo、該串的 CI/CD pipeline,全部客製化、安全可控。 這時候,像 OpenHands 這樣的開源 Dev Agent 框架就特別有價值。它的出發點不是單純的 AI 助手,而是讓你能夠打造出一個真的可以跑在自己環境裡、可以理解整個開發流程的 AI 工程師。從建置到部署,從 CLI 操作到瀏覽器查詢, 從多檔案編輯到自動測試,全部都能自己完成,甚至還能針對不同專案調整專屬的工作流。 對很多開始探索 AI 協作開發的團隊來說,這是一條 從 「AI 幫你寫一段程式」,走向「AI 幫你解決一整個任務」 的進化路徑。而且,還是在可控、可自定義、安全的環境裡完成的。 🧩 主要概述 OpenHands 是由 All‑Hands AI 開發的開源「軟體開發代理人平台」,能模仿人類工程師從建立程式、修改程式碼、執行指令,到瀏覽網頁、呼叫 API……等一整套開發流程 它提供雲端(OpenHands Cloud)與本地 Docker 運行版本,用戶能配置 LLM(如 Claude、OpenAI、Gemini…) 📚 核心特性與怎麼使用 代理人的工具能力 支援代碼編輯、命令行、執行環境、網頁瀏覽、API 呼叫—接近人類開發者完整技能。其中 OpenHands Cloud 版本提供 $50 試用額度讓大家方便使用,又或者如果自己本機有 docker 的話,可以自己Local 版本透過 Docker 自架環境。 ...

Google Gemini 全端 AI Agent 快速入門 - 打造「思考」的 AI 助理

一套從搜尋、反思到輸出的全端 AI 代理人範例,讓你看懂什麼叫 Research Agent 在 AI 工具百家爭鳴的今天,大家都在問一個問題: 「我能不能不只問 AI 答案,而是讓它像一位助理一樣,有流程、有反思、還有出處,真正幫我完成一件事?」 Google 最近釋出了一個相當具有指標意義的開源專案 gemini-fullstack-langgraph-quickstart ,正是為了解這個問題而誕生。 這套系統到底是什麼? 這個範例不是傳統 Chatbot,而是展示一個完整的 AI research agent : 它會根據使用者的提問,自動發想搜尋關鍵字、查資料、整合重點,最後給出答案還附上引用來源。背後的邏輯設計得非常扎實,不只是能跑,更是具備可讀性、可擴展性與可商用性。 它的流程大致如下:  1. 使用者輸入問題(例如:「抖音是否影響台灣選舉?」)  2. Gemini LLM 幫你想出關鍵字(不只是照抄問題)  3. 呼叫 Google Search API 抓資料   4. LangGraph 控制流程 → 判斷資料夠不夠 → 若不足,自動補查  5. 整合最終答案,並產生 citation(來源說明) 你可以想像這就像一位實習助理幫你寫報告, 不只輸出一段內容,而是會 去查、會判斷、會補資料,而且說明「我為什麼這樣說」 。 LangGraph 是什麼角色? LangGraph 就是整個 Agent 背後的控制系統 。 用白話講,它幫你定義 AI 每一步要幹嘛、遇到什麼狀況該走哪條路、要不要反思、要不要再查,甚至可以定義條件邏輯與資料流動。 這就不像寫一個單純的 Chat API,而是比較像「把一個流程圖變成可以跑的程式」。 對工程師來說,它提供了從 prompt 到流程控制的設計彈性;對產品設計來說,它讓 AI 有了 「多步驟任務執行」 的能力。 技術架構與使用方式 這整套系統是 Fullstack 架構,前後端都幫你整好了,技術選型也非常實用:   前端:Vite + React + TailwindCSS + Shadcn UI  後端:FastAPI + LangGraph...