最近 AI 编程工具圈子挺热闹。Claude Code、Cursor、Goose、OpenCode 你方唱罢我登场,GitHub 上每周都能冒出新项目。
这两天一个叫 Hermes Agent 的东西进了我的视线。Nous Research 出品,2 月发布,22k stars,README 里有一句话让我停下来看了半天:"It's the only agent with a built-in learning loop."
学习闭环。意思是它能从完成的任务里自动提取经验,存成可复用的 Skills,下次遇到类似问题直接调用。像是给 AI 编程工具装了"肌肉记忆"。
作为一个用了快一年 Claude Code 的人,我对这个方向挺好奇。装上跑了两天,聊聊感受。
一句话说清楚:Hermes Agent 是什么
说白了就是:一个开源的 AI 编程 Agent 框架,核心卖点是"自我进化"——它能从你们的协作中学习,把解决问题的方法自动存成 Skills,把你的偏好和项目信息存进 Memory,越用越懂你。
跟 Claude Code 最大的区别:Claude Code 靠强模型驱动,每次对话都是"满血状态"但"零记忆起点";Hermes Agent 靠学习闭环积累,模型可以随便换(甚至用本地免费模型),但它会"长大"。
用官方的说法:Run it on a $5 VPS, a GPU cluster, or serverless infrastructure. 不绑定你的笔记本,不绑定特定模型,不绑定云服务商。
核心差异:强模型 vs 学习闭环
先上对比表,赶时间的看完这段就行:
| 维度 | Claude Code | Hermes Agent |
|---|---|---|
| 出品方 | Anthropic | Nous Research |
| 开源 | 否(CLI 闭源) | 是(MIT 协议) |
| 核心驱动力 | 强模型 + 好提示 | 学习闭环 + 模型无关 |
| 模型绑定 | Claude 系列 | 200+ 模型随意切换 |
| 费用 | API 按量计费(不便宜) | 框架免费,模型费用自选 |
| 记忆机制 | CLAUDE.md + Memory | MEMORY.md + USER.md + 会话搜索 |
| 技能系统 | Skills(用户创建) | Skills(Agent 自己也会创建) |
| 部署方式 | 本地 CLI | 本地/VPS/Docker/SSH/Serverless |
| 消息平台 | 终端 + IDE | 终端 + Telegram/Discord/Slack/WhatsApp/Signal |
| 适合谁 | 追求开发效率的开发者 | 想要长期"养成"一个私有 AI 助手的人 |
这两个东西的设计哲学完全不同。
Claude Code 的逻辑:给你最强的模型,配上精心设计的工具链,每次对话都给你最好的结果。它不需要"学习",因为模型本身就够强。你的 CLAUDE.md 本质上是一份"说明书",你写给它看的。
Hermes Agent 的逻辑:模型不重要(所以你可以用便宜的甚至免费的),重要的是框架的学习能力。完成一个复杂任务之后,它会自动把方法论提取成一个 Skill 文件,存在 ~/.hermes/skills/ 目录下。下次遇到类似任务,直接加载之前的经验。
举个例子:你让 Hermes 帮你搭了一次 Next.js + Prisma 的项目,中间踩了几个坑,最终搞定了。Hermes 会自动生成一个类似这样的 Skill:
---
name: nextjs-prisma-setup
description: Next.js + Prisma 项目初始化,含常见坑位
version: 1.0.0
---
## Procedure
1. 先初始化 Next.js,再装 Prisma(反过来会有版本冲突)
2. prisma generate 之前要确认 .env 里的 DATABASE_URL
3. ...
## Pitfalls
- 不要用 npx prisma init --datasource-provider,手动改 schema 更可控
下次你或者其他用同一个 Hermes 实例的人再搭类似项目,它直接参考这个 Skill。站在上次经验的基础上干活。
Claude Code 的 Skills 也能做类似的事,但需要你手动创建。Hermes 多出来的这一步——"Agent 自己创建和改进 Skills"——就是它说的"学习闭环"。
Memory 系统:两种思路的碰撞
记忆是 AI 编程工具绕不开的话题。你用了一段时间之后,肯定希望它记住你的项目结构、编码习惯、踩过的坑。Claude Code 和 Hermes 都有记忆系统,但设计思路差别挺大。
Claude Code 那边,CLAUDE.md 文件放在项目根目录,你写什么它就记什么。Memory 功能可以跨会话记住一些偏好和事实。本质上是"你喂给它",你不写,它就不知道。
Hermes 这边,分两个文件:MEMORY.md 记 Agent 自己的笔记(环境、项目、经验),USER.md 记你的画像(偏好、风格、习惯)。关键区别是 Agent 自己决定存什么。你说"我喜欢简洁的回复",它自动存到 USER.md。你的项目用 Go + sqlc,它自动记到 MEMORY.md。有严格的容量上限:MEMORY.md 2200 字符,USER.md 1375 字符。满了之后它会自己合并和精简条目。
除了这两个文件,还有 Session Search——所有历史对话存在 SQLite 里,支持全文检索。几周前聊过的东西也能搜出来。
Hermes 的记忆设计有个细节我觉得挺聪明:每次启动新会话时,MEMORY.md 和 USER.md 的内容会被注入到系统提示词里,还会显示当前使用百分比,比如"MEMORY (67% — 1,474/2,200 chars)"。Agent 自己看得到还剩多少空间,知道什么时候该精简了。
Claude Code 的 Memory 没这么透明。它也能记东西,但你没法直观地看到记了什么、占了多少空间。
不过 Hermes 的 2200 字符上限也让我犹豫。一个复杂项目,光环境信息就不止这些。它的解决方案是"写得精炼 + Session Search 兜底",但这终归是一个妥协。Claude Code 的 CLAUDE.md 没有字数限制,你写多长都行,虽然太长了上下文也吃不消。
Skills 生态:自产自销 vs 开放市场
Skills 是 Hermes 投入最多的地方,也是跟 Claude Code 差距最大的地方。
Claude Code 的 Skills 系统已经很好用了。写好 SKILL.md 放到 .claude/skills/ 目录,Claude Code 自动识别。也可以用 /skill-creator 辅助创建。但 Skills 是用户驱动的,你不创建,就没有。
Hermes 在这件事上走得更远。完成一个超过 5 次工具调用的复杂任务后,如果任务成功了,它会主动判断"这个工作流值得存下来",然后自动生成一个 Skill。它还会记录踩坑过程——哪些路走不通、最终什么方案奏效了。用了某个 Skill 几次之后,如果实际执行中有了更好的做法,Hermes 会自动 patch 这个 Skill。create、patch、edit、delete 一整套管理能力都有。
还有一个 Claude Code 目前没有的东西:Skills Hub。Hermes 搭了一个在线 Skill 市场,可以从多个注册源浏览和安装——官方、skills.sh(Vercel 的开放目录)、GitHub、ClawHub、LobeHub。安装前有安全扫描,支持更新检测和版本管理。一行命令搞定:hermes skills install openai/skills/k8s。
Hub 分了 4 个信任等级(builtin > official > trusted > community),社区 Skill 安装前会过安全扫描器,发现危险内容直接拦截。设计上想得比较周全。
Claude Code 社区也有人分享 Skills,但目前还是手动复制粘贴。
部署灵活性:笔记本 vs 到处都能跑
Claude Code 的定位很明确:本地 CLI 工具。你在哪台机器上装,就在哪台机器上用。
Hermes 的野心大一些。它支持 6 种终端后端:
- Local:跟 Claude Code 一样,本地跑
- Docker:容器隔离,安全性更好
- SSH:连到远程服务器执行任务
- Daytona / Modal:Serverless 部署,闲置时休眠,几乎不花钱
- Singularity:HPC 集群环境
翻译一下:你可以把 Hermes 部署在一台 5 美元的 VPS 上,然后从 Telegram、Discord、Slack、WhatsApp、Signal 任意一个平台跟它对话。它在云端跑任务,你在手机上看结果。
几个实际的使用场景:长时间运行的数据处理任务不占本地资源;团队共享一个 Hermes 实例,所有人的经验都沉淀在同一个 Skills 库里;定时任务用内置的 cron 调度器,每天早上自动生成报告之类的。
Claude Code 目前做不到这些。它是单机工具,关掉终端任务就停了。
不过这也带来复杂度。Hermes 的安装脚本虽然号称"一键安装",但实际上要配置的东西不少:选模型提供商、设置 API key、配置工具集、决定用哪个终端后端。第一次上手需要 20-30 分钟。
Claude Code 的安装体验好得多:npm install -g @anthropic-ai/claude-code,然后 claude-code,输入 API key,开聊。
快速上手:5 步试用 Hermes Agent
如果你想自己试试,这是最小路径:
1. 安装
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
source ~/.bashrc # 或 source ~/.zshrc
安装脚本会处理 Python、Node.js、依赖,大概 3-5 分钟。
2. 初始化配置
hermes setup
会问你一堆问题:用哪个模型提供商(OpenAI / Anthropic / OpenRouter / 本地 Ollama)、API key、启用哪些工具。如果不确定就选默认。
3. 开始对话
hermes
进入交互界面,跟 Claude Code 的感觉差不多。试着让它做点事:
帮我写一个 Python 脚本,读取 CSV 文件并生成柱状图
4. 检查生成的 Skills
任务完成后,看看它有没有自动创建 Skill:
ls ~/.hermes/skills/
如果任务够复杂,你会看到新生成的目录。
5. 试试 Memory
跟它说:
记住:我喜欢简洁的回复,不要太啰嗦
然后退出重新进入,问它"你记得我的偏好吗?"看它能不能从 USER.md 里读出来。
不足和提醒
试了两天,有几个地方得说清楚。
冷启动需要耐心。前几次使用,Hermes 的 Skills 库和 Memory 都是空的,跟"零经验的新手"没区别。你得花时间"养"它——多做几个任务,让它积累。这个过程可能要一两周。Claude Code 没这个问题,它每次都是满血上阵。
自动创建的 Skills 质量参差不齐。Hermes 自己写的 Skill 有时候过度泛化,有时候遗漏关键细节。你需要定期翻 ~/.hermes/skills/ 目录,手动调整不靠谱的。Claude Code 的 Skills 都是人写的,质量更可控。
模型能力有下限。虽然 Hermes 支持任意模型,但"学习闭环"对模型能力有要求。GPT-4 / Claude 3.5 Sonnet 这个级别才能让 Skills 的自动生成和改进真正跑起来。用小模型省的钱,可能被低质量的 Skill 吃回去。
多平台支持是双刃剑。能从 Telegram 控制 Hermes 确实方便,但配置 Gateway 又是一堆事——申请 Bot token、设置 webhook、配置权限。只想在本地用的话,这些功能反而是负担。
社区规模差距明显。Claude Code 背靠 Anthropic 和庞大用户群,遇到问题容易找到答案。Hermes 的社区还在早期,文档有些地方不够细,碰到 bug 可能要自己翻 GitHub Issues。
到底选谁
两个工具不是替代关系,更像是不同方向的探索。
Claude Code 适合追求开箱即用的人。愿意为强模型付费,主要在本地开发,想要稳定可靠不折腾。Hermes Agent 适合另一种人:想要一个能"长期养成"的私有 AI 助手,希望控制成本(用便宜或本地模型),需要部署在服务器或多平台接入,喜欢开源可定制。
实际操作中也可以混着用。日常开发用 Claude Code,长时间跑的自动化任务交给部署在 VPS 上的 Hermes。
费用方面,Hermes 框架本身免费(MIT 协议),你只需要掏模型的 API 费用。如果用 Gemini Flash 或本地 Ollama,连这笔也省了。对比 Claude Code 的 API 账单,长期下来差距不小。
一句话总结
Hermes Agent 让我看到了 AI 编程工具的另一种可能:不靠更强的模型,靠积累。它会把你们合作过程中踩过的坑、摸出的路子、你的个人偏好全都沉淀下来,下次干活的时候直接用上。用得越久,它就越懂你的项目、你的习惯、你的风格。