TL;DR:這是系列番外。我這套醫療決策 pipeline 最早不是用 LangGraph 寫的——是用 Hermes Agent CLI(NousResearch 2026 年初開源的自主 agent 框架)。Hermes 很強,但強在「通用對話助理、會自我學習、接 20+ 平台」這個方向;而我要的是「確定性步驟為主、流程要能畫成圖、每一步可審計、出錯要能精準退件」的決策管線。方向不對,再強也是錯的工具。 這篇覆盤這個遷移決策:Hermes 哪裡好、為什麼對我的場景不對、換到 LangGraph 之後解決了什麼。系列 EP6(完結)。
前五篇從 0 教 LangGraph。這篇回頭講「我為什麼選它」——而選型故事最值錢的部分,往往是「我先選錯了什麼」。
📌 目錄
- Hermes Agent CLI 是什麼
- 為什麼我一開始選了 Hermes
- 撞牆:通用 agent 不適合確定性 pipeline
- 換到 LangGraph 解決了什麼
- 選型框架:什麼時候用哪個
- 遷移本身的踩坑
- 常見問題 FAQ
- 延伸資源
Hermes Agent CLI 是什麼
Hermes Agent 是 NousResearch 在 2026 年 2 月開源的自主 AI agent,定位是「會跟著你成長的 agent」。它的賣點很有辨識度:
- 無所不在的 gateway:CLI、Telegram、Discord、Slack、WhatsApp、Email、SMS… 一個 gateway 接 20+ 平台
- 內建學習迴圈:它會從經驗中自己長出 skill、在使用中改進、主動把知識持久化,跨 session 越用越懂你
- tool registry:工具自註冊到中央 registry,import 時就
registry.register(),模型自動拿到 schema - provider 無關:Nous Portal 接 300+ 模型,
/model隨便切
🧠 為什麼我一開始選了 Hermes
很誠實地說:因為它上手快、看起來什麼都能做。
我要做醫療血脂決策,第一直覺是「找一個強的 agent 框架,給它工具、給它規則,叫它出建議就好」。Hermes 的 tool registry 很優雅,self-registering 的設計讓我加工具很爽,內建學習迴圈聽起來像是「它會自己越來越懂臨床規則」。
我花了不少時間把它接起來:把算 BMI、查指引、出建議都包成 tool 註冊進去,讓 agent loop 自己決定要呼叫哪個。demo 階段跑得很好。 問題是 demo 跑得好跟 production 撐得住,是兩回事。
🔥 撞牆:通用 agent 不適合確定性 pipeline
把它往真實場景推,問題一個個冒出來。根因只有一個:我要的根本不是「自主 agent」,是「可控的決策管線」。
問題一:流程不可控,agent 自己決定怎麼走
Hermes 的核心是 agent loop——模型自己決定下一步呼叫哪個 tool。這在開放任務很強,但我的流程是固定的八步:載入 → 補指標 → 載規則 → 組 few-shot → LLM 判斷 → 驗證 → 適配 → 存檔。我不要 agent「自己決定」要不要算 BMI、要不要驗證——這些步驟必須每次都按固定順序跑。讓 agent 自由發揮,等於把確定性流程交給機率性的模型去調度,偶爾它就跳過驗證直接給建議。
問題二:確定性步驟被當成「工具」交給 LLM 調度
算 BMI、跑風險公式這些(EP5 講的確定性步驟),在 Hermes 裡是 tool,要靠 agent loop 決定呼叫。但這些根本不該經過 LLM 的判斷——它們是純數學,該無條件執行。把它們做成「LLM 可選擇呼叫的工具」,等於給了 LLM 一個它不該有的選擇權。
問題三:出錯難以精準退件
醫療場景的硬需求:驗證不過要能乾淨退件、噴明確錯誤碼給上游。Hermes 的 agent loop 出問題時,行為是「再想想、再試試別的 tool」——這對開放任務是優點,對我是災難。我要的是 fail fast、可審計的退件路徑(EP3 的 reject),不是一個會自我修復到「看起來像對」的 agent。
問題四:self-improving 在醫療場景是風險不是優點
Hermes 最酷的「自己長 skill、越用越懂你」,在我的場景變成不可控的行為漂移。醫療決策邏輯必須穩定、可版本控制、可稽核——今天跟昨天用同樣輸入要給同樣結果。一個會自我進化的系統,我沒辦法跟稽核交代「為什麼這個 case 它這樣判」。
⚡ 換到 LangGraph 解決了什麼
把同一套需求用 LangGraph 重寫,前五篇教的東西正好對症:
| Hermes 的問題 | LangGraph 怎麼解 |
|---|---|
| 流程不可控、agent 自己決定 | graph 把流程畫死,八步固定順序,我說了算(EP2) |
| 確定性步驟被 LLM 調度 | 純算步驟就是普通 node,無條件執行,LLM 只是其中一個 node(EP5) |
| 出錯難精準退件 | conditional edge 明確分流 ok/retry/reject,reject 直接 END 噴 422(EP3) |
| self-improving 行為漂移 | graph 結構是寫死的 code,可版本控制、可稽核、行為穩定 |
| 沒有人工審核關卡 | interrupt() 第一級 HITL,高風險建議停下來等醫師(EP5) |
🎯 選型框架:什麼時候用哪個
別誤會——這不是說 Hermes 不好,是工具要配場景。給你一張判斷表:
| 你的需求 | 選 |
|---|---|
| 通用個人助理、多平台對話、要記憶要自我學習 | Hermes Agent CLI |
| 開放式任務、agent 自己探索怎麼解 | Hermes / 標準 agent loop |
| 固定流程、步驟順序要可控 | LangGraph |
| 確定性步驟為主,只有幾步要 AI | LangGraph |
| 要精準錯誤處理 / 退件 / 稽核 | LangGraph |
| 高風險決策要人工審核 | LangGraph |
| 行為必須穩定、可版本控制 | LangGraph |
🔧 遷移本身的踩坑
坑一:想「無痛平移」,結果是重寫
我一開始想把 Hermes 的 tool 函式直接搬過來當 LangGraph 的 node。但兩者的心智模型不同——Hermes 的 tool 是「給 agent 選用的能力」,LangGraph 的 node 是「流程裡固定的一站」。tool 函式的簽章、回傳、錯誤處理都要重新設計成 node 的形狀。接受它是重寫,不是平移,反而做得快。
坑二:把 agent 的「自由」當成需求帶過來
重寫初期我還想保留一點「讓某些步驟讓 LLM 自己決定」的彈性。後來發現這就是當初的問題根源——既然選 LangGraph 是為了控制,就該把流程畫死。遷移時要連帶把舊架構的思維包袱丟掉,不然只是換了框架、留了問題。
坑三:低估了「畫圖」這一步的前期成本
LangGraph 要你先想清楚流程才能寫(EP1 說的「上手慢,要先想清楚流程」)。從 Hermes 那種「丟工具給 agent 就能跑」切過來,前期要花時間把八步拆清楚、把 state 設計好。這個前期成本是真的——但它換來的是後期的可控與可維護。慢在前面,省在後面。
❓ 常見問題 FAQ
Q:所以 Hermes Agent CLI 不值得用?
A:完全不是。如果你要的是通用個人 agent、多平台助理、會自我學習的對話夥伴,Hermes 是很棒的選擇,它的 self-improving 跟 gateway 設計很有特色。我換掉它純粹是因為我的場景要的是相反的東西——確定性、可控、可稽核。工具沒有好壞,只有合不合場景。
Q:怎麼一開始就避免選錯?
A:選型前先回答一個問題:你要「自由」還是「控制」? 開放任務、要 agent 自己探索 → 自由 → 自主 agent 框架。固定流程、要可控可審計 → 控制 → LangGraph 這類能把流程畫死的。我當初就是沒先問這題,被「看起來什麼都能做」吸引。
Q:遷移花了多久?值得嗎?
A:重寫比想像久,因為心智模型要轉。但值得——換完之後流程可測、可稽核、行為穩定,這些在醫療場景是硬需求,不是 nice to have。如果你也在「強大但不可控的 agent」上撞牆,早換早解脫。
Q:LangGraph 也能做自主 agent 嗎?還是只能做固定流程?
A:兩者都能。LangGraph 是底層 runtime,你可以用它畫固定流程(像我這套),也可以用它的 conditional edge 做出讓 LLM 決定路線的自主行為,甚至 LangChain 的 create_agent 底層就是 LangGraph 跑的 agent loop。差別在控制粒度——LangGraph 讓你決定要給多少自由,而不是預設全自由。
Q:這系列看完,我該從哪開始動手?
A:回 EP2 把那個會跑的最小 graph 親手打一遍,跑起來。State / Node / Edge 三件事手感有了,後面 conditional edge、reducer、LLM node、HITL 都是往上疊。別只讀不寫——LangGraph 的心智模型要靠手指打出來才會長。
🔗 延伸資源
- Hermes Agent 官方 repo(NousResearch/hermes-agent) — 通用自主 agent 框架
- Hermes Agent 官方文件 — tool runtime / gateway 設計
- LangGraph 官方 repo(langchain-ai/langgraph) — 我最後選的 runtime
- 上一篇:EP5 — 完整 pipeline + Human-in-the-loop
- 系列起點:EP1 — LangChain vs LangGraph,2026 該學哪個