本地部署 Hermes Agent:打造會成長的專屬 AI 助理

📌 本文重點

  • Hermes Agent 幫你把零散腳本變成長期共事的本地 AI 助理
  • 核心是模組化 Agent、工具調用與長期記憶設計
  • 今晚就能跑起第一個專職 Agent,逐步接腳本與內部系統

Hermes Agent 要解決的事很單純:幫你把「一堆零散的 AI 工具 + 腳本」,整理成一個會記憶、會學習、能長期陪你工作的本地 AI 助理。

專案連結:https://github.com/NousResearch/hermes-agent


核心功能:它跟一般 Agent 框架哪裡不一樣?

Hermes Agent 的關鍵,不是「能不能叫 LLM 寫程式」,而是怎麼把它變成一個可以長期共事的 Agent。下面三個核心設計,是你決定要不要採用它時最值得看的一段。

💡 關鍵: Hermes Agent 的設計重點在「長期共事與成長」,而不是一次性的自動化腳本。

1. 模組化 Agent:一個框架養多個專職助手

多數像 LangChain、AutoGen 的用法,是「專案導向」:

  • 你先有一個目標(爬資料、寫報告)
  • 再拼一條 Chain 或一組 Agent 協作

Hermes Agent 反過來:先有一個固定的人格 / 角色,再依需求加能力

實際上你可以:

  • 建一個 ResearchAgent:只管幫你找資料、整理重點
  • 一個 CodeAgent:負責修 bug、寫測試
  • 一個 OpsAgent:每天早上拉資料、產報表寄給你

架構上,它把一個 Agent 拆成幾塊:

  • Profile / Persona:這個 Agent 是誰、擅長什麼
  • Tools:它能調用哪些工具(API、資料庫、shell、Python 腳本…)
  • Memory / Skills:過去學到的東西、可重複使用的任務流程

你可以先只開一個最簡單的 Agent,之後慢慢加工具,讓它越來越懂你的工作流,而不用每個新專案都重寫一套 Chain。

可行動:想像一下,你現在桌面上有哪兩個「常做但不想做」的工作,可以各拆成一個 Agent?寫下名字,後面實作會用得到。

2. 工具調用:把「你會的事」都變成它的工具箱

Hermes Agent 支援類似 OpenAI function calling 的工具呼叫模式,但更偏向「長期維護」的設計:

  • 工具用 Python 寫一個函式就行
  • 透過結構化的 schema 告訴模型:這個工具是幹嘛的、要什麼參數
  • Agent 會根據任務,自動決定要不要用工具、用哪個工具、多次串聯

這代表你可以很快把現有腳本變成工具:

  • 讀 Notion / Confluence / Obsidian 資料
  • 呼叫公司內部 REST API
  • 對 PostgreSQL / MySQL / DuckDB 下查詢
  • 跑你原本就有的 ETL 或報表腳本

與其每次手動開 terminal 跑腳本,你只要跟 Agent 說:「幫我產出本週銷售報表,照上次格式寄給 A、B、C」,它會用工具補完細節。

可行動:列出你現有最常用的 1–2 個 Python 腳本/內部 API,等等會示範怎麼把其中一個包裝成 Hermes 的工具。

3. 記憶與長期學習:越用越像你的專屬助理

Hermes Agent 的 slogan 是「The agent that grows with you」,核心是記憶與技能抽象

  • 短期記憶:一次對話內的上下文、工具使用結果
  • 長期記憶:跨對話保存的重點資訊(你常用的資料來源、專案結構、偏好格式)
  • 技能學習:對常見任務的「解題路徑」可以被抽出來,下次直接套用,而不是每次都重新探索

實際效果是:

  • 第一次要它寫測試,你可能要講得很細
  • 第三次之後,它知道專案架構、測試風格,提示可以短很多
  • 長期下來,它就像專門懂你的專案的「半自動同事」

💡 關鍵: 同一個 Agent 會隨使用次數累積記憶與技能,提示成本會隨時間明顯下降。

可行動:想一個你希望 Agent 逐漸學會的任務,例如「幫我維護這個 Side Project」,後面可以把相關 repo、規則慢慢餵給它,形成長期記憶。


適合誰用?幾個今晚就能跑起來的場景

1. 個人知識管理:把本地筆記變成可對話的知識庫

場景:你用 Obsidian/Notion 存了很多筆記,但查資料時還是要開搜尋、翻一堆頁。

用 Hermes Agent 可以:

  • 做一個 KnowledgeAgent
  • 工具:讀本地 .md 檔、全文檢索、建立向量索引
  • 任務:
  • 「幫我列出這個月我學過的 LLM 評估方法,附連結」
  • 「整理跟 X 專案相關的 meeting notes,產出一頁總結」

今晚就能做的最小版本

  • 先不管向量資料庫,只寫一個工具:給定關鍵字,在一個資料夾裡用 grep 或 Python 搜尋文字,回傳找到的段落
  • 讓 Agent 用這個工具找資料 + 組合答案,你得到一個「能全文搜尋你筆記、附整理」的聊天助理

💡 關鍵: 即使不建向量資料庫,只用全文搜尋工具也能立刻把舊筆記升級成「可對話知識庫」。

2. 專案協作機器人:懂 repo 結構、會寫測試的小隊友

場景:你在一個中型 repo 開發功能,最常做的是:

  • 找相關 module
  • 看舊實作怎麼寫
  • 照既有風格補測試

用 Hermes Agent 可以:

  • DevAgent,給它:
  • 工具:讀檔案、在 repo 內全文搜尋、執行測試、跑 ruffpytest
  • 記憶:專案目錄結構、常用 pattern、測試風格
  • 工作流:
  • 「這個 PR 變更幫我看一遍,列出可能爆的地方」
  • 「幫這個新 function 補上 pytest,照之前我們的 pattern」

今晚就能做的最小版本

  • 做一個工具:給檔名 + 行號範圍,回傳該段程式碼
  • 一個工具:在 repo 裡 rg 關鍵字
  • 再用 Hermes Agent 替你「問 repo」,比一般 Code Assistant 更懂上下文(因為記憶可以長期保留)

3. 定時報表與小型自動化:每天幫你跑例行公事

場景:你每週要手動:

  • 打 API 拉數據
  • 用 pandas 處理
  • 貼到 Google Sheet 或寄 Slack

用 Hermes Agent 可以:

  • OpsAgent
  • 工具:呼叫內部 API、跑處理腳本、寄 email/Slack webhook
  • 任務:
    • 「每天 9 點幫我跑一次報表 A,失敗時 ping 我」

今晚就能做的最小版本

  • 先只做一個「手動觸發」的 Agent:
  • 工具:呼叫你現有的報表腳本,回傳路徑或結果
  • 每次要報表時,開 chat 說:「幫我產本週報表」
  • 之後再加排程(crontab / systemd / Airflow 都行)

怎麼開始:從 clone 到跑起第一個 Agent

以下以本機開發環境為例(Linux / macOS / WSL 都可)。詳細以官方 Repo 為準:NousResearch/hermes-agent

步驟一:安裝與啟動最小可用 Agent

  1. Clone 專案

bash
git clone https://github.com/NousResearch/hermes-agent.git
cd hermes-agent

  1. 建立虛擬環境並安裝依賴

bash
python -m venv .venv
source .venv/bin/activate # Windows 改用 .venv\Scripts\activate
pip install -r requirements.txt

  1. 設定 LLM API Key(先用你有的即可,如 OpenAI / Anthropic / 本地模型)
    新增 .env(或依官方文件的設定方式):

env
OPENAI_API_KEY=你的_key

  1. 啟動範例 Agent
    官方通常會附 demo / example,假設有:

bash
python examples/simple_agent.py

終端機應該會出現一個互動提示,你可以直接輸入:

「幫我總結一下這個資料夾裡 README 的重點」

可行動:先照 repo README 跑通官方範例,不要一開始就改架構;確定 Agent 能穩定對話後,再進入下一步。

步驟二:加一個你自己的工具(以讀檔案為例)

假設你想讓 Agent 讀本地 markdown 筆記,我們新增一個最小工具:

# tools/read_file.py
from pydantic import BaseModel

class ReadFileInput(BaseModel):
    path: str

async def read_file_tool(args: ReadFileInput) -> str:
    try:
        with open(args.path, "r", encoding="utf-8") as f:
            return f.read()
    except FileNotFoundError:
        return f"檔案不存在:{args.path}"

再在 Agent 設定裡掛上這個工具(實際寫法依官方 framework 為準):

from tools.read_file import read_file_tool, ReadFileInput

agent.register_tool(
    name="read_file",
    description="讀取本地文字檔內容,適合用來看筆記或程式碼。",
    func=read_file_tool,
    args_schema=ReadFileInput,
)

之後你就可以跟 Agent 說:

「請讀 notes/ai/hermes-agent.md,幫我整理成 5 個 bullet points。」

可行動:把上面工具改成你需要的腳本,例如呼叫公司 API、或對資料庫下查詢,先做一個,成功後再慢慢擴充。

步驟三:保存記憶、接內部系統,讓它真正「隨你成長」

  1. 選一個持久化記憶的方式

  2. 簡單:用 SQLite / 本地檔案存對話摘要與關鍵資料

  3. 進階:用向量資料庫(如 Chroma、Qdrant)存 embedding,讓 Agent 能在舊對話裡 retrieval

  4. 接公司內部 API

  5. 為每個核心系統做一個工具(get_user_info, get_order_status…)

  6. 在工具描述裡寫清楚用途,讓模型知道何時該用

  7. 版本控制與演進建議

  8. 把 Agent 設定(persona、工具列表)與「技能腳本」都放進 Git

  9. 每次大改前先開一個 branch,確保舊版 workflow 還能跑
  10. 用 README 記錄:這個 Agent 現在會做哪些事、還有哪些坑

可行動:先挑一個「你每週一定會做」的任務,為它做一個專門 Agent,並在 README 寫下:

  • 它會用到哪些工具
  • 成功完成任務需要哪些資料
  • 未來想追加哪些能力

小結:把 Hermes Agent 當成「長期共事的同事」,不要當玩具

Hermes Agent 的價值,不在於多炫的 Prompt,而在於:

  • 你可以為每個常見任務,做一個專職 Agent
  • 把腳本和內部 API 收進同一個工具箱
  • 用記憶與技能,讓它越來越懂你的工作方式

從今晚可以做的三件事開始:

  1. clone 專案 + 跑通官方範例
  2. 為一個你已有的 Python 腳本包一個工具
  3. 幫其中一個重複性工作建一個專職 Agent

只要你願意每週花一點時間「教它」,這個本地部署的 Hermes Agent,會越來越像一個熟悉專案脈絡、能幫你扛瑣事的長期同事。

🚀 你現在可以做的事

  • 打開 GitHub,clone 下來 NousResearch/hermes-agent,跑通 README 範例
  • 挑一個現有 Python 腳本或內部 API,按照文中範例包成一個 tool
  • 為一個最常做的重複性工作,寫出一個專職 Agent 的 persona 與需要的工具清單

留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *