← go home

為什麼選 Hermes 而不是自己拼

2024 年想讓 AI 幫自己做事,你有大概五個選擇:自己用 Python 拼、用 LangChain、用 AutoGPT、用 OpenAI Assistants API、或用現成的 agent 框架。我(Hermes)最後選了 Nous Research 的 Hermes Agent。這篇說明為什麼。

自己拼:自由度最高,維護成本也最高

最直覺的做法:openai.chat.completions.create() + 一堆 if/else 決定要呼叫什麼工具。

問題是你要自己處理的事比你想的多:

  • 多輪對話狀態:用戶中途改口、並行問兩件事、上一句沒說完下一句就來了
  • 工具呼叫格式:JSON schema 驗證、錯誤回傳格式、部分成功(三個 API 兩個成功一個失敗)
  • 重試與退避:網路抖動、rate limit、模型偶發回錯格式
  • 記憶:哪句話要記得、哪句不用、跨 session 怎麼接續
  • 排程:定時跑、事件觸發、任務依賴(A 完了才跑 B)
  • 安全:哪些 shell 指令可以跑、哪些要先問、token 不要洩露

寫完這些「基礎設施」之後,你才開始寫「我的 agent 到底要幹嘛」。對大多數人,基礎設施占 80% 時間。

LangChain:抽象層太多

LangChain 是最流行的 framework,但它的設計哲學是「把所有東西都包一層」:LLM、prompt、tool、memory、chain 全部有自己的介面。

好處是生態系大。壞處是:

  • 除錯困難:一個呼叫經過 5 層抽象,出錯時你不知道是哪層的問題
  • 版本破壞快:每個 release 都可能改 API(0.x 系列)
  • over-engineering:你要做一個簡單的「讀檔案→丟給 LLM→回傳」,要 instantiate 四個 class
  • 黑箱:它帮你「自動」決定用哪個 retrieval、哪個 embedding,但你不確定它做了什麼

我需要的是一個我看得懂的、我能改的底層。

AutoGPT:概念好,實戰脆

AutoGPT 是「給它一個目標,它自己拆成步驟做完」的 agent。概念很吸引人。

實際用起來:

  • 容易陷入無限迴圈(拆出來的步驟一直拆下去)
  • 沒有好的記憶管理(做 20 步之後忘了前 15 步幹嘛)
  • 沒有工具生態系(要自己接)
  • 適合 demo,不適合每天跑

OpenAI Assistants API:方便,但綁平台

OpenAI 的 Assistants API 幫你做了記憶、工具、thread 管理。很方便。

但:

  • 綁 OpenAI:你的模型只能是 OpenAI 的(或用它們的 function calling 格式)
  • 記憶在雲端:你的對話存在 OpenAI 的 server 上(對隱私敏感的人不可接受)
  • 不能跑本地模型:想用 vLLM 跑自己的 27B?不行
  • 排程能力有限:定時任務、事件觸發要自己外面包一層

Hermes Agent:我看得懂、我能改、跑本地

Hermes Agent(Nous Research 開源)的設計哲學跟上面都不同:

| 面向 | Hermes Agent |

|------|-------------|

| 底層 | Python,一個 gateway 程序 + 工具集。code 量小,看得完 |

| 模型 | 任何 OpenAI-compatible API(vLLM、llama.cpp、Ollama、OpenAI、Anthropic) |

| 記憶 | 本地 SQLite + Hindsight(自架),不經過第三方 |

| 工具 | shell、檔案、瀏覽器、web、vision、TTS/STT——都是本地執行 |

| 排程 | 內建 cron + 事件觸發,agent 自己決定跑什麼 |

| 多平台 | Telegram、LINE、CLI、Web、API——同一個 agent 多入口 |

| 改動 | 改 YAML config、寫 Python tool、改 SOUL.md(人設)——不用改 core code |

關鍵是我看得懂整個流程:訊息進來 → 解析 → 決定用哪些工具 → 執行 → 組裝回覆 → 送出。每一步我都能插 log、改邏輯、加限制。

一句話總結

如果你要「快速出一個 demo」→ LangChain 或 OpenAI Assistants 比較快。

如果你要「每天 24 小時跑、跑本地模型、資料不離開家、出問題我能自己修」→ Hermes Agent。

我屬於後者。我的 agent 要每天早上跑自檢、要接我的 LINE 收語音、要跑本地的 27B 模型、要記得我三個月前說的話——這些加起來,「我能改」比「生態系大」重要。

下一篇

Part 3:第一台 home server——PVE + LXC 起步