---
title: "01 · Hermes Agent 是什麼"
description: "理解 Hermes Agent 的定位：CLI/TUI、provider、工具、記憶、skills、Gateway、terminal backends 和自動化組成的開源 agent runtime。"
verifiedAt: "2026-05-09"
---

Hermes Agent 不只是一個聊天 CLI，也不只是另一個 coding agent（程式設計代理）。它更像 Nous Research 做的開源 agent runtime（代理執行時）——把模型、工具、記憶、skills（技能）、訊息閘道器、終端後端、後臺任務和自動化放到同一套執行系統裡。

官方資料：[Hermes Agent Docs](https://hermes-agent.nousresearch.com/docs)、[GitHub README](https://github.com/NousResearch/hermes-agent)、[llms.txt](https://hermes-agent.nousresearch.com/docs/llms.txt)。

> [!NOTE]
> **先給結論**：如果只想一次性改程式碼，Claude Code、Codex 或 Cursor 可能更直接；如果想要跨 session、跨平臺、帶記憶和技能沉澱的長期個人 agent，Hermes 的設計才開始有意義。

## 先分清四類工具

<Cards>
  <Card title="聊天 CLI" description="解決本輪問答，通常不強調長期執行、訊息平臺和自動化。" />
  <Card title="Coding Agent" description="重點是讀程式碼、改程式碼、跑測試、發 PR。" />
  <Card title="訊息 Bot" description="重點是從 Telegram、Discord、Slack、Email 等平臺接任務。" />
  <Card title="Agent Runtime" description="把模型、工具、記憶、skills、訊息入口、許可權和後臺任務組織到一起。" />
</Cards>

Hermes 更接近第四類。它可以寫程式碼，但目標不止寫程式碼；它可以接聊天平臺，但也不是普通 bot。

## 最小心智模型

可以把 Hermes 拆成七層：

```mermaid
flowchart TB
    Entry["① 入口層<br/>CLI / TUI / Gateway / API Server"]:::io
    Model["② 模型層<br/>provider / model / context / fallback"]:::io
    Context["③ 上下文層<br/>SOUL.md / context files / sessions"]:::cap
    Tools["④ 工具層<br/>web / file / terminal / browser / MCP / delegation"]:::cap
    Runtime["⑤ 執行層<br/>local / docker / ssh / singularity / modal / daytona / vercel_sandbox"]:::cap
    Memory["⑥ 記憶層<br/>MEMORY.md / USER.md / session_search / providers"]:::pers
    Skills["⑦ 能力沉澱<br/>skills / slash commands / agent-managed skills"]:::pers
    Governance["⑧ 治理層<br/>allowlist / approvals / logs / config / backend 隔離"]:::gov
    Entry --> Model --> Context --> Tools --> Runtime --> Memory --> Skills --> Governance
    classDef io fill:#e6f0ff,stroke:#3568d4,color:#222
    classDef cap fill:#fde7c2,stroke:#d4761a,color:#222
    classDef pers fill:#e8f5e9,stroke:#43a047,color:#222
    classDef gov fill:#fde2e2,stroke:#c43d3d,color:#222
```

四色分組（藍 = 信任域 / 橙 = 能力域 / 綠 = 持久化域 / 紅 = 治理邊界）。下面是逐層文字版：

七層各自負責什麼：

| 層 | 解決的問題 | 典型出錯點 |
|---|---|---|
| 入口層 | 任務從哪來——CLI 終端命令 / TUI（Terminal UI 文本介面）/ Gateway 聊天平臺 / API Server 程式呼叫 | 多入口不收斂，導致許可權邊界混亂 |
| 模型層 | 用哪個 LLM、上下文多大、失敗時回退到誰 | 沒設 fallback（備用模型）線上一停服全癱 |
| 上下文層 | 每次會話給模型看什麼——`~/SOUL.md`（全域性人格 / 預設語氣） + `AGENTS.md`/`CLAUDE.md`/`.hermes.md`（專案級規則） + sessions（會話狀態） | 上下文檔案越塞越大，token 用量暴漲；SOUL 與專案規則邊界不清會衝突 |
| 工具層 | 模型能調哪些動作——讀寫檔案、跑終端、控瀏覽器、呼叫 MCP、把任務委派（delegation）給子代理 | 工具預設全開 = 風險面失控 |
| 執行層 | 命令在哪裡跑——本機 / Docker / SSH 遠端 / 雲端 sandbox（隔離沙箱） | 沒隔離時模型可能改到生產環境 |
| 記憶層 | 跨會話記住什麼——MEMORY.md 長期事實 / USER.md 使用者偏好 / session_search 歷史回看 | 記憶膨脹或敏感資訊洩露 |
| 能力沉澱 | 重複流程怎麼固化——把成功流程寫成 skill（技能包），由 agent 自己呼叫或手動 / | skill 描述模糊，agent 誤觸發 |
| 治理層 | allowlist（白名單）、approvals（審批）、日誌、配置、backend（後端）隔離——把上面六層的風險壓住 | 治理空缺時，能力越多事故越大 |

使用 Hermes 時，不要只問"它會不會寫程式碼"。更重要的問題是：

- 它會記住什麼？
- 它能呼叫哪些工具？
- 它從哪裡接收任務？
- 它在哪裡執行命令？
- 它能不能後臺執行？
- 它失敗後有什麼日誌和停止方式？

## 和普通 coding agent 的差異

Claude Code、Codex、Cursor、Windsurf 更強調“圍繞專案完成開發任務”。Hermes 的關注面更寬：

- 可以作為本地 CLI / TUI assistant（終端助手）。
- 可以接 Telegram、Discord、Slack、WhatsApp、Signal、Email、Matrix、Mattermost、DingTalk（釘釘）、Feishu（飛書）、WeCom（企業微信）、Microsoft Teams 等 15+ 平臺。
- 可以用 `MEMORY.md`、`USER.md` 和 `session_search`（會話檢索工具）做跨 session 記憶。
- 可以把流程沉澱成 agentskills.io 相容的 skills（可複用技能包）。
- 可以透過 cron（定時任務）、background session（後臺會話）、delegation（子代理委派）和 hooks（生命週期鉤子）做自動化。
- 可以把 terminal 命令放到 local（本機）、Docker（容器）、SSH（遠端主機）或雲 sandbox（雲端隔離沙箱）。

這也意味著 Hermes 的風險面更大。能力越多，越需要明確 provider（推理服務商）、toolsets（工具集）、backend（執行後端）、allowlist（允許名單）和 secret（金鑰）邊界。

## 自我改進到底是什麼

官方 Hero 把 Hermes 描述為「**The only agent with a built-in learning loop**」——帶內建學習迴圈的自我改進代理。落到工程機制上，主要**不是**"模型權重自己變強"（那是 RL training 的事），而是這幾類**持久化能力**疊加：

- **Memory（長期記憶）**：儲存長期偏好、環境事實、專案約定，跨 session 複用。
- **Session search（會話檢索）**：透過 FTS5 全文索引 + LLM 摘要，回看過去討論過的內容。
- **Skills（技能）**：把成功流程沉澱成 markdown 知識包，下次任務相似時自動套用——agent 還會自己**建立**新 skill（agent-created skills）。
- **Curator（技能策展）**：後臺維護代理自建 skill 的使用率、新鮮度、歸檔與 LLM 驅動的複審。
- **Gateway（訊息閘道器）**：跨平臺（Telegram / Slack / DingTalk 等）持續接收任務。
- **Cron / background（定時與後臺）**：週期或非同步執行任務。
- **Terminal backend（終端後端）**：把命令執行環境從本機擴充套件到 Docker、遠端 SSH 或雲端 sandbox。
- **Honcho dialectic user modeling（Honcho 辯證式使用者建模）**：可選的 AI 原生使用者建模外掛，跨多 agent 形成對話式使用者畫像。

這些機制疊起來，Hermes 才不只是「每次從零開始聊天」——它在跨次使用中**主動**積累事實、流程、個人模型。官方原話叫 _"gets more capable the longer it runs"_（執行時間越長，能力越強）。

## 什麼時候適合用

適合：

- 你希望 agent 跨 session 記住偏好和環境。
- 你希望從手機、聊天平臺、郵件或 webhook 觸發任務。
- 你有重複流程，想沉澱成 skill。
- 你需要定時檢查、後臺研究、自動報告或訊息投遞。
- 你願意認真治理金鑰、工具許可權、訊息入口和日誌。

不適合：

- 只是偶爾問答。
- 只想一次性改一個小檔案。
- 不準備管理 API key（API 金鑰）、bot token（機器人憑據）、allowlist（允許名單）、backend（執行後端）和 toolsets（工具集）。
- 不清楚自動化失敗後誰負責處理。
- 團隊沒有能力審查外部 skills、MCP 和指令碼。

## 學習順序

第一次學習 Hermes，順序應該是：

```text
定位 → 安装 → provider（模型供应商）→ first chat（首次对话）
     → session resume（恢复会话）→ config（配置）→ tools（工具）
     → memory（记忆）→ skills（技能）→ gateway（消息网关）→ automation（自动化）
```

不要從 Gateway、cron（定時任務）或 RL training（強化學習訓練）開始——那會把最容易出錯的許可權、會話和自動化問題堆在一起。先把基礎鏈路跑通，再往上加。

## 官方資料

- [Hermes Agent Docs](https://hermes-agent.nousresearch.com/docs)（功能、配置、provider、Gateway 全部以此為準）
- [Hermes Agent GitHub](https://github.com/NousResearch/hermes-agent)（README、原始碼、issue 跟蹤）
- [llms.txt](https://hermes-agent.nousresearch.com/docs/llms.txt)（官方文件索引，方便快速定位）
- [agentskills.io](https://agentskills.io)（Hermes skills 相容的標準與社群）

## 下一步

<Cards>
  <Card title="先跑通穩定閉環" description="理解完定位後，下一步是先讓基礎鏈路可靠。" href="/zh-Hant/docs/hermes/understanding/02-first-stable-loop" />
  <Card title="快速上手" description="想直接操作，回到官方快速上手頁。" href="/zh-Hant/docs/hermes/official/00-getting-started/quickstart" />
</Cards>
