實戰:把 Hermes 當 Python 庫用
Hermes 實戰教學第4篇:Python 庫。在程式碼裡直接呼叫 Hermes。
這篇教學帶你認識 Hermes 的另一面——它不只是命令列工具,還能像積木一樣嵌進你自己的 Python 程式裡,幫你搭建聊天機器人、自動化腳本,甚至網頁後端。
第 1 步:安裝 Hermes
把 Hermes 當作 Python 庫使用,需要先把它「請」到你的電腦上。打開終端機,執行:
git clone https://github.com/NousResearch/hermes-agent.git
cd hermes-agent
uv sync
這就像把一套樂高積木拆包、按說明書拼好底座。之後,你的程式都要用 uv run python 你的程式.py 來執行。
別忘了設定 API 金鑰(相當於給 Hermes 辦一張「通行證」):
export OPENROUTER_API_KEY="你的金鑰"
第 2 步:第一次對話
Hermes 最基礎的用法是 chat() 方法——你問一句,它答一句:
from run_agent import AIAgent
agent = AIAgent(
model="anthropic/claude-sonnet-4.6",
quiet_mode=True, # 重要!關掉終端機動畫,保持輸出乾淨
)
response = agent.chat("法國的首都是哪裡?")
print(response)
chat() 內部會自動處理工具呼叫、重試等複雜環節,你只管拿結果。務必設定 quiet_mode=True,否則 Hermes 會在螢幕上印出一堆進度條和旋轉動畫,把你的程式輸出攪得亂七八糟。
第 3 步:掌控完整對話
如果你需要檢視對話歷史或自訂系統提示,用 run_conversation():
result = agent.run_conversation(
user_message="搜尋 Python 3.13 的新特性",
task_id="my-task-1",
)
print(result["final_response"]) # 最終回答
print(len(result["messages"])) # 訊息總數
回傳的字典裡包含 final_response(最終回答)和 messages(完整訊息列表)。你還可以臨時換一個「人設」:
result = agent.run_conversation(
user_message="解釋快速排序",
system_message="你是電腦科學老師,用生活例子講解。",
)
第 4 步:選擇工具集
Hermes 自帶多種「工具包」(如網頁搜尋、終端機操作)。你可以用 enabled_toolsets 只開白名單,或用 disabled_toolsets 關掉某些危險工具:
# 只允許網頁相關工具
agent = AIAgent(model="anthropic/claude-sonnet-4.6",
enabled_toolsets=["web"],
quiet_mode=True)
# 停用終端機存取(適合共享環境)
agent = AIAgent(model="anthropic/claude-sonnet-4.6",
disabled_toolsets=["terminal"],
quiet_mode=True)
第 5 步:多輪對話
想讓 Hermes 記住上下文?把上一輪的訊息歷史傳回去即可:
result1 = agent.run_conversation("我叫小明")
history = result1["messages"]
result2 = agent.run_conversation("我叫什麼?",
conversation_history=history)
print(result2["final_response"]) # 輸出:你叫小明
第 6 步:批次處理與整合
Hermes 自帶 batch_runner.py 支援平行處理,也可以自己用執行緒池。注意:每個執行緒必須建立獨立的 AIAgent 實例,因為 agent 內部狀態(對話歷史、工具會話)不是執行緒安全的。
它還提供了 FastAPI、Discord 機器人、CI/CD 等現成整合範例,直接複製貼上就能用。
關鍵參數速查
| 參數 | 作用 |
|---|---|
quiet_mode |
關閉終端機輸出(嵌入程式碼時必開) |
enabled_toolsets |
只啟用指定工具集 |
disabled_toolsets |
停用指定工具集 |
ephemeral_system_prompt |
自訂系統提示(不寫入訓練資料) |
skip_memory |
關閉持久記憶(批次任務推薦) |
max_iterations |
單次對話最大工具呼叫次數(預設500) |
小結
把 Hermes 當 Python 庫用,就像把一位全能助手請進你的程式碼裡——它能聊天、能搜尋、能寫程式,還能配合你的業務邏輯自由組合。記住三個關鍵點:quiet_mode=True、按需設定工具集、每個執行緒新建 agent 實例。
下篇預告:我們將深入 Hermes 的「記憶系統」,看看它如何跨對話記住你的偏好,以及如何用 skip_memory 控制隱私邊界。敬請期待!
📖 官方文档
本文根据 Hermes Agent 官方文档编写,原文见:官方文档 › developer-guide/programmatic-integration