讓你的 AI Agent 越用越強:Adaptive Agent Skill 開源了
讓 Claude Code 像 Hermes Agent 一樣記憶與自我進化
你的 AI coding agent 每天幫你寫 code、debug、deploy——但它從來不會從錯誤中學習。
上週跑 deploy 失敗的那個 API 變更?下週它還是會踩同樣的坑。你教它的工作流偏好?下次對話就忘了。
這就是我做 Adaptive Agent Skill 的原因。
為什麼做這個?
靈感來自 Nous Research 的 Hermes Agent(https://github.com/NousResearch/hermes-agent)。我之前花了不少時間研究它的原始碼,寫了兩篇深度分析:
- Hermes Agent 深度研究:https://zengineer.blog/blog/deeptech/hermes-agent-deep-dive-nous-research-ai-agents-2026/
- Hermes Agent 記憶系統源碼解析:https://zengineer.blog/blog/deeptech/hermes-agent-memory-system-source-code-analysis/
Hermes Agent 有一套四層記憶架構和完整的狀態管理機制。但問題是:大多數 coding agent(Claude Code、Codex、Gemini CLI、Cursor...)都沒有這套機制。它們有 skills,有 memory,但兩者是割裂的。
所以我的想法很簡單:不動 agent 的架構,純粹用 prompt engineering 和概念層面的設計,讓現有 coding agent 趨近於 Hermes Agent 的能力。
不能完全 cover——L1(外部插件後端)和 L3(跨對話語意搜尋)需要基礎建設改動,做不到。但 L2(陳述性記憶)和 L4(程序性記憶)可以。
兩個核心洞察
這個 project 的價值不在 code 本身,而在兩個概念層面的 insight:
1. Skill 就是 Memory
這是最重要的一點。
大多數 agent 框架把 skill 當成「工具」——一個靜態的指令集。但 Hermes Agent 不是這樣看的。在 Hermes 裡,agent 寫入、使用、修改 skill 的方式,跟它操作 memory 是一樣的。Skill 就是 memory 的一種形式。
差別在於 skill 是程序性記憶(procedural memory)——像人類的肌肉記憶,你不需要「想」就能做。而一般的 memory 是陳述性記憶(declarative memory)——有意識的、你知道你知道的東西。
Hermes 的做法是對的:把兩者當成同一個認知系統的兩面。當 skill 遇到摩擦,教訓應該回流到 skill 本身(肌肉記憶變強)AND 存到 memory(意識層面記住)。當 memory 有相關教訓,應該在 skill 執行前就主動套用。
這不需要改 agent 架構。 只需要在 CLAUDE.md 寫幾條 always-on 規則,agent 就會自動做到。
2. 盡快建立 User Profile 並快速迭代
第二個 insight:agent 應該在第一次對話就建立使用者檔案,並且持續更新。
不只是「記住使用者偏好」這麼簡單。是讓 agent 從「知道怎麼做」升級到「知道怎麼為你做」。一個知道你是資深後端工程師的 agent,解釋前端概念時會用後端的類比。一個知道你偏好 minimal diff 的 agent,不會在修 bug 時順手重構周圍的 code。
這同樣不需要改 agent 架構。 一個 /build-user-profile skill + memory 系統就能做到。
其他部分呢?
老實說,Hermes Agent 的其他組件——tool management、conversation flow、task planning——在大多數 coding agent 裡都已經有了。差別不大。真正的差距就是上面這兩點。
三層架構
┌──────────────────────────────────────────┐
│ CLAUDE.md — Always-On Rules │
│ skill 遇到摩擦 → 自動修補 │
│ 執行前主動查 memory 避坑 │
│ 重複工作流 → 自動建立新 skill │
├──────────────────────────────────────────┤
│ Skills — 程序性記憶 │
│ /skill-review: 審計並改善所有 skills │
│ /build-user-profile: 建立使用者檔案 │
├──────────────────────────────────────────┤
│ Memory — 陳述性記憶 │
│ user_profile.md: 角色、專長、偏好 │
│ 自動載入的記憶檔案 │
└──────────────────────────────────────────┘
實際運作方式
Skill 自我修復
你跑 /deploy → 某一步失敗(API 改了)
→ Agent 修復當下問題
→ Agent 修補 skill 檔案(加上 Gotchas 或更新步驟)
→ Agent 把教訓存到 memory(如果是跨 skill 的)
→ 下次對話:skill 已經內建了修復
Memory → Skill 回流
Memory 裡有:「Zeabur CLI domain create 需要 GraphQL fallback」
你跑 /deploy 包含 Zeabur 步驟
→ Agent 執行前先查 memory
→ 主動套用 workaround
→ 你永遠不會撞到已知問題
Hermes Agent 對照表
| 層級 | Hermes 實作 | 我們的改造 | 可行? |
|---|---|---|---|
| L4: 程序性記憶 | Skills 自動建立+修補 | CLAUDE.md 規則驅動 | Yes |
| L3: 語意記憶 | FTS5 跨對話搜尋 | — | No(架構限制) |
| L2: 陳述性記憶 | MEMORY.md + USER.md | Agent memory 檔案 | Yes |
| L1: 外部插件 | Honcho, mem0 等 | — | No(架構限制) |
關鍵:Opus 4.6 的指令遵循能力可以彌補架構上的不足。一個聰明且可靠遵循行為規則的 agent,等效於一個沒那麼聰明但有內建記憶基礎建設的 agent。
安裝
# skills.sh(支援 Claude Code, Codex, Gemini CLI 等 45+ agents)
npx skills add truenorth-lj/adaptive-agent-skill
# 手動安裝
git clone https://github.com/truenorth-lj/adaptive-agent-skill.git
cp -r adaptive-agent-skill/skills/skill-review ~/.claude/skills/
cp -r adaptive-agent-skill/skills/build-user-profile ~/.claude/skills/
支援 Claude Code、Codex CLI、Gemini CLI、OpenClaw、Cursor。MIT License。
GitHub: https://github.com/truenorth-lj/adaptive-agent-skill
