1.5. 阅读本书前你可以先跑通一个最小化 Agent
阅读本书前你可以先跑通一个最小化 Agent
时间线锚点:2026 年 2 月,Nous Research 开源了 Hermes Agent,一个带持久记忆和自我进化能力的自主 Agent。到 2026 年 6 月,项目已在 GitHub 累积 35,000+ 行 Python 代码,支持 11 个模型家族和 15 个以上的平台网关。
本章使命:如果你刚打开这本书,先别急着啃架构设计。用 10 分钟在你本地跑通一次 Hermes Agent 聊天,看看它怎么思考、怎么记忆。这个感性认识会比任何文字描述都管用。
你需要什么
| 条件 | 具体要求 |
|---|---|
| 操作系统 | macOS / Windows / Linux / WSL2 |
| Python | 3.11 或更高版本(建议用 pyenv 或 conda 管理) |
| 网络 | 能访问模型提供商的 API 端点(如果使用本地模型,需要提前部署好服务) |
| 终端工具 | 任选(iTerm2 / Windows Terminal / 原生终端均可) |
| 模型 API 或本地服务 | 至少一个可用的 LLM 端点(OpenAI、Nous Portal、Ollama 等均可) |
| 预计时间 | 10 分钟(包含安装、配置和首次对话验证) |
最终成果
完成本章后,你会得到:
- 本地可运行的 Hermes Agent 命令行工具
hermes。 - 一次完整的多轮对话——Agent 在聊天的过程中调用了工具、写入了记忆文件。
- 能看懂 Hermes 的 ReAct 执行循环和自动生成的
MEMORY.md文件。
为什么做这个:这是理解 Hermes 动态行为的起点。后面的架构拆解、分层设计,都会建立在这个最基础的交互体验之上。如果连最干净的聊天跑不通,再复杂的功能配置都是空中楼阁。
步骤说明
第一步:安装 Hermes Agent
打开终端,先创建一个独立的 Python 虚拟环境(避免污染系统依赖):
# 创建并激活虚拟环境(Linux/macOS)
python3 -m venv hermes_venv
source hermes_venv/bin/activate
# Windows 用户:
# python -m venv hermes_venv
# hermes_venv\Scripts\activate
然后使用 pip 安装:
pip install hermes-agent
预期结果:安装完成后,在终端输入
hermes --version,应看到类似hermes-agent 0.x.x的版本信息。
如果安装过程中提示缺少编译工具(尤其在 Linux 裸机上),请先执行 sudo apt install build-essential(Ubuntu)或对应发行版的 C 编译器包。
第二步:配置模型提供商
Hermes 不会内置任何模型服务,你需要告诉它“去哪里调用模型”。
最简单的接入方式是使用 Nous Portal(官方 OAuth 认证,一次配置同时获得模型访问和四项工具网关——网页搜索、图片生成、文本转语音、浏览器能力):
hermes setup --portal
浏览器会自动打开认证页面,授权后 Hermes 会保存配置。
如果你有自己的 API 密钥(比如 OpenAI),也可以直接指定提供商的 endpoint:
# 列出当前支持的模型提供商
hermes model list
# 选定一个提供商并输入 API Key、模型名称和上下文长度
hermes model add
预期结果:配置完成后,运行
hermes model show会看到当前激活的模型名称和 endpoint。上下文长度至少推荐 64K token,Hermes 的对话 + 记忆很可能超出短上下文模型的上限。⚠️ 踩坑提醒
- 如果你用的是本地模型(Ollama / vLLM / LocalAI),一定要显式确认三点:endpoint 地址可访问、模型名与本地一致、上下文长度填写真实值。很多“安装成功了但发消息无反应”的问题都出在这里。
- 在基础聊天验证通过之前,不要去配置多提供商 fallback 或路由——否则出了问题定位困难。
第三步:发起第一次 Agent 聊天
hermes chat
你会看到一个类似聊天的终端界面。先投喂一句简单的指令,比如:
Hello, my name is Alex. I'm writing a tech book about AI Agents.
Can you help me outline the first chapter?
然后观察 Agent 的思考过程。
预期结果:Agent 会逐轮输出“思考→行动→观察”的循环,最终回复一个章节大纲。
Hermes 采用 ReAct 执行循环,在终端中你会看到类似这样的输出:
Thought: The user wants an outline. I should search for best practices on structuring a tech book
Action: web_search
Observation: [Results from search tool]
Thought: Now I have enough information to write the outline
Answer: Here is a suggested outline...
但本章我们只需要跑通,暂不深究 ReAct 细节(第三章会专门讲执行循环的实现)。
第四步:查看执行日志和记忆文件
保持 hermes chat 运行,完成两轮对话后,在另一个终端标签页中查看项目目录(一般是你的启动目录下的 .hermes/ 文件夹):
# 进入 hermes 工作目录
cd ~/.hermes # Linux/macOS;Windows 通常在 %USERPROFILE%\.hermes
# 查看记忆文件
cat MEMORY.md
你会在 MEMORY.md 中看到类似这样的内容:
# Memory File
## Alex
- Name: Alex
- Currently writing a tech book about AI Agents
- Requested an outline for the first chapter
这就是 Hermes 的持久记忆写入——在对话过程中自动提取关键信息并结构化保存。它会随着你的后续交互不断累积、更新,甚至在未来跨越不同任务时继续起作用。
预期结果:
MEMORY.md中至少包含你在对话中提过的名字和核心任务。如果文件还不存在,可以先退出 Agent(输入/bye),Hermes 会在退出时刷新记忆。
回顾
5 个步骤,实际耗时通常在 10 分钟以内:
- 创建虚拟环境 +
pip install hermes-agent - 配置模型提供商(Portal 或手动加 key)
- 运行
hermes chat发起对话 - 观察 ReAct 循环输出
- 检查
MEMORY.md确认记忆写入
你已经完成了一个最小化闭环:安装 → 配置 → 聊天 → 验证记忆。这与官方文档中“先跑通一次干净的聊天,再叠加功能”的启动原则完全一致。在后面的章节中,我们会在这个基础上一步步解开 Hermes 的三层骨架、六大子系统以及它们之间的耦合关系。
行动清单
如果你现在就想动手,按这个顺序来:
- 打开终端,创建并激活一个 Python 3.11+ 的虚拟环境。
- 执行
pip install hermes-agent,验证hermes --version正常。 - 使用
hermes setup --portal完成认证,或hermes model add手动配置。 - 运行
hermes chat,与 Agent 完成至少两轮对话。 - 检查
~/.hermes/MEMORY.md文件内容。
下一章《三层骨架解决了调用方式与执行逻辑的耦合》将进入 Hermes 架构的“第一层”——Entry Points 层。你会发现,你刚刚使用的 hermes chat 只是整个系统里四种入口方式之一,而它之下隐藏的是一套可以脱离 CLI、以 API 或消息网关形式对外提供一致行为的成熟分层设计。
Hermes Agent 系统设计与工程落地
关于 LearnKu