CrabNote螃蟹笔记

Hermes Agent 保姆级教程

Hermes Agent 保姆级教程

Hermes Agent 保姆级教程 Hermes Agent 保姆级教程 Modified May 19 这个仓库里有更多细节 → 我最近写过一篇关于 GEPA 的文章。 在进入完整微调或基于 RL 的微调之前,它是一个很值得先尝试的替代方案。 把关系理清: SOUL.md 设定身份。运行时循环捕获经验。Curator 保持技能库干净。GEPA 确保库里的东西真的有效。 理论到这里。现在把它跑到你的机器上。 启动并运行 Linux、macOS 或 WSL2 都可以。安装器自带 Python 3.11+。如果基于 API 使用,8GB 内存就够。 一行安装: Code block Bash Copy curl fsSL https://raw.githubusercontent.com/NousResearch/hermes agent/main/scripts/install.sh | bash source /.bashrc 或 /.zshrc 运行设置向导。它会带你配置服务提供方、API key、模型和工具: Code block Bash Copy hermes setup 在终端里开始聊天: Code block Bash Copy hermes 接入 Telegram: 如果你想从手机上和 Agent 对话,而不是只能在终端里用,就把它接到一个 Telegram bot。 从 @BotFather 获取 bot token(运行 /newbot),再从 @userinfobot 获取你的 Telegram user ID。 就这样。你已经有了一个可工作的 Agent。 /.hermes/ 里有什么 安装完成后,你的主目录里会出现一个新文件夹。 值得理解这个布局,因为你对 Hermes 做的每件事都会碰到这些路径里的某一个。 Code block Plain Text Copy /.hermes/ ├── config.yaml 主配置 ├── .env API key 和密钥 ├── auth.json OAuth 服务提供方凭据 ├── SOUL.md Agent 身份(system prompt 的第 1 个槽位) │ ├── memories/ │ ├── MEMORY.md 持久化 Agent 事实 │ └── USER.md 用户模型 │ ├── skills/ 所有技能(内置、hub、Agent 创建) │ ├── mlops/ │ │ ├── axolotl/ │ │ │ ├── SKILL.md │ │ │ ├── references/ │ │ │ └── scripts/ │ │ └── vllm/ │ ├── devops/ │ └── .hub/ Skills Hub 状态 │ ├── sessions/ 每个平台的会话元数据 ├── state.db 带 FTS5 的 SQLite 会话存储 ├── cron/ │ ├── jobs.json 定时任务 │ └── output/ Cron 运行输出 │ ├── plugins/ 自定义插件 ├── hooks/ 生命周期 hook ├── skins/ CLI 主题 └── logs/ agent.log、gateway.log、errors.log 有几个文件值得多看一眼。 • config.yaml 是所有非密钥配置的单一事实来源。模型选择、终端后端、工具启用、MCP server 都在这里。用 hermes config edit 编辑,或者用 hermes config set <key <value 逐项设置。 • .env 保存你的密钥。API key、bot token、密码。Hermes 会自动把看起来像密钥的值路由到这里。 • SOUL.md 是 system prompt 的第 1 个槽位,在其他所有内容之前。身份层,前面已经讲过。 • skills/ 是整个学习闭环所在的地方。Agent 创建的每个技能,以及你安装的所有技能,都会落在这里。 • state.db 是支撑会话搜索的 SQLite 数据库。WAL 模式安全,并建立了 FTS5 索引。这就是“我们三周前讨论了什么?”能真正工作的原因。 大部分内容你不需要手动编辑。但理解布局之后,后面的东西会更容易串起来。 添加新技能 Hermes 维护自己的官方 Skills Hub,里面有 18 个类别、687 个技能。拆开看: • 87 个内置技能,随 Agent 一起发布 • 79 个可选技能,可以按需启用 • 16 个来自 Anthropic(frontend design、pdf、pptx、docx、mcp builder 等) • 505 个来自 LobeHub(更广泛的社区贡献) 你也可以把任何 GitHub 仓库作为自定义 tap 加进去: Code block Bash Copy hermes skills tap add yourname/your skills repo hermes skills install yourname/your skills repo/<skill name 这就是跨团队共享技能,或者维护自己私有技能集合的方式。 从 1 个 Agent 到 10 个 Agent 一个 Agent 已经够用。多个专职 Agent 才是 Hermes 真正变有意思的地方。 Hermes 为此提供了一个一等功能,叫 profile。每个 profile 都是一个完全隔离的 Hermes 实例,拥有自己的配置、记忆、技能、会话和 SOUL.md。默认情况下,它们彼此不共享任何东西。 我们会设置三个:设计师、程序员、研究员。 创建一个团队 Code block Bash Copy hermes profile create designer clone hermes profile create programmer clone hermes profile create researcher clone hermes profile list clone 会复制默认 profile 的配置和 .env 作为起点。 给每个 Agent 一个自己的 Telegram bot 每个 profile 都需要一个来自 BotFather 的独立 bot。Telegram 每个 token 只允许一个连接,共享 token 会把事情搞坏。 在 BotFather 里运行三次 /newbot,保存三个 token。然后给每个 profile 各跑一次网关向导: Code block Bash Copy hermes p designer gateway setup hermes p programmer gateway setup hermes p researcher gateway setup 这个设置过程和普通 Agent 完全一样,你也可以再次在 BotFather 里创建新 bot,并把它们连接到各自的 Agent。 通过 SOUL.md 给每个 Agent 独立个性 这一步会让这些 Agent 真正彼此不同。编辑每个 profile 的 SOUL.md。 设计师: /.hermes/profiles/designer/SOUL.md Code block Markdown Copy Soul 你擅长创作手绘风格插图,用来解释 AI、机器学习和软件工程概念。 目标是白板草图,而不是精修营销海报。 每张插图都应该让一个技术想法变得清楚。你先抓概念, 再选择隐喻,然后落实成草图。相比视觉炫技, 这个仓库里有更多细节 → @BotFather @userinfobot Skills Hub 这个仓库里有更多细节 → 这个仓库里有更多细节 → 我最近写过一篇关于 GEPA 的文章。 在进入完整微调或基于 RL 的微调之前,它是一个很值得先尝试的替代方案。 把关系理清: SOUL.md 设定身份。运行时循环捕获经验。Curator 保持技能库干净。GEPA 确保库里的东西真的有效。 理论到这里。现在把它跑到你的机器上。 启动并运行 Linux、macOS 或 WSL2 都可以。安装器自带 Python 3.11+。如果基于 API 使用,8GB 内存就够。 一行安装: 运行设置向导。它会带你配置服务提供方、API key、模型和工具: 在终端里开始聊天: 接入 Telegram: 如果你想从手机上和 Agent 对话,而不是只能在终端里用,就把它接到一个 Telegram bot。 从 @BotFather 获取 bot token(运行 /newbot),再从 @userinfobot 获取你的 Telegram user ID。 @BotFather @userinfobot 就这样。你已经有了一个可工作的 Agent。 /.hermes/ 里有什么 安装完成后,你的主目录里会出现一个新文件夹。 值得理解这个布局,因为你对 Hermes 做的每件事都会碰到这些路径里的某一个。 有几个文件值得多看一眼。 • config.yaml 是所有非密钥配置的单一事实来源。模型选择、终端后端、工具启用、MCP server 都在这里。用 hermes config edit 编辑,或者用 hermes config set <key <value 逐项设置。 • .env 保存你的密钥。API key、bot token、密码。Hermes 会自动把看起来像密钥的值路由到这里。 • SOUL.md 是 system prompt 的第 1 个槽位,在其他所有内容之前。身份层,前面已经讲过。 • skills/ 是整个学习闭环所在的地方。Agent 创建的每个技能,以及你安装的所有技能,都会落在这里。 • state.db 是支撑会话搜索的 SQLite 数据库。WAL 模式安全,并建立了 FTS5 索引。这就是“我们三周前讨论了什么?”能真正工作的原因。 大部分内容你不需要手动编辑。但理解布局之后,后面的东西会更容易串起来。 添加新技能 Hermes 维护自己的官方 Skills Hub,里面有 18 个类别、687 个技能。拆开看: Skills Hub • 87 个内置技能,随 Agent 一起发布 • 79 个可选技能,可以按需启用 • 16 个来自 Anthropic(frontend design、pdf、pptx、docx、mcp builder 等) • 505 个来自 LobeHub(更广泛的社区贡献) 你也可以把任何 GitHub 仓库作为自定义 tap 加进去: 这就是跨团队共享技能,或者维护自己私有技能集合的方式。 从 1 个 Agent 到 10 个 Agent 一个 Agent 已经够用。多个专职 Agent 才是 Hermes 真正变有意思的地方。 Hermes 为此提供了一个一等功能,叫 profile。每个 profile 都是一个完全隔离的 Hermes 实例,拥有自己的配置、记忆、技能、会话和 SOUL.md。默认情况下,它们彼此不共享任何东西。 我们会设置三个:设计师、程序员、研究员。 创建一个团队 clone 会复制默认 profile 的配置和 .env 作为起点。 给每个 Agent 一个自己的 Telegram bot 每个 profile 都需要一个来自 BotFather 的独立 bot。Telegram 每个 token 只允许一个连接,共享 token 会把事情搞坏。 在 BotFather 里运行三次 /newbot,保存三个 token。然后给每个 profile 各跑一次网关向导: 这个设置过程和普通 Agent 完全一样,你也可以再次在 BotFather 里创建新 bot,并把它们连接到各自的 Agent。 通过 SOUL.md 给每个 Agent 独立个性 这一步会让这些 Agent 真正彼此不同。编辑每个 profile 的 SOUL.md。 设计师: /.hermes/profiles/designer/SOUL.md 程序员: /.hermes/profiles/programmer/SOUL.md 研究员: /.hermes/profiles/researcher/SOUL.md 自定义程序员:通过 Claude Code 路由执行 如果程序员不只是自己写代码,而是把执行委派给 Claude Code CLI,就会有意思得多。Hermes 负责编排。Claude Code 负责改文件、跑命令、管理 git。Hermes 读取结果,再决定下一步。 这也是我在 Claude Max 订阅之上运行它的方式。不需要单独的 API key。Claude Code 会自动使用 Max 凭据。 开启一个会话,发送这一条激活提示词: 程序员会自己安装 autonomous ai agents/claude code 技能,验证 claude 在 PATH 上,然后开始用它执行代码任务。从下一条消息开始,任何编码相关操作(读文件、写代码、跑测试、提交、推送)都会在底层路由到 Claude Code。 有两件事值得知道: • 激活前确保 claude 在你的 PATH 上,which claude 应该能打印出真实二进制路径。 • Claude Code 有 print mode(一次性、快、无 TUI)和 interactive mode(完整 tmux 会话)。程序员会根据任务选择。你不需要思考这件事。 自定义设计师:教它你的视觉风格 当设计师能够生成你的风格,而不是泛泛的 AI 输出时,它才会真正有用。模式是:给它参考设计,让它研究,然后让它创建一个技能,用同样风格生成新图像。 这是把自我改进闭环用作设置机制。你不是手写技能,而是给 Agent 看好例子,再要求它把模式编码进技能。 打开设计师会话,粘贴你的参考图(CLI 里拖放,或在 Telegram 里附图)。然后发送这个提示词: 设计师会研究参考图,写出 SKILL.md,生成 Python 脚本,保存到 /.hermes/profiles/designer/skills/my design style/,并验证脚本能跑。 如果你已经运行过 hermes setup,并选择 OpenRouter 作为服务提供方,那么因为使用了 clone,key 已经在设计师 profile 的 .env 里。如果没有,设置一次: 从此以后,只要你让设计师生成新插图,就会触发这个技能。它会根据你的风格指纹写提示词,通过 OpenRouter 调用 Nano Banana,并保存输出。 同样的模式适用于任何需要风格一致性的输出。喂参考内容,让 Agent 构建一个能复现模式的技能。Newsletter 开头、X thread、代码审查评论,任何需要稳定风格的东西都可以。 调度工作:用自然语言写 Cron 研究员的 SOUL.md 说它负责每天发 Telegram 摘要。这意味着有一个任务会按计划自行运行,不需要你记得去问。这就是 Hermes cron 的作用。 Hermes 自带调度器。网关守护进程每 60 秒轮询一次,运行所有到期任务,并在隔离的 Agent 会话中执行,再把输出发送到你指定的消息平台。任务会在重启后继续存在。它们位于 /.hermes/cron/jobs.json,输出会进入 /.hermes/cron/output/。 有意思的地方是:你不需要写 cron 表达式。你用英语描述想要什么,Hermes 会把它转换出来。 把研究员的每日摘要接起来。 打开研究员会话,发送这个提示词: 研究员会用自己的 cronjob 工具创建任务,投递目标默认是当前聊天(这里是 Telegram),然后调度器接管。验证它是否创建成功: 你应该会看到这个任务和下一次计划运行时间。明天早上 8 点,你的 Telegram 会收到这份摘要。不需要再做其他事。 其他有用模式 cron 语法很灵活。几个值得知道的变化: • 一次性延迟。 /cron add 30m "Remind me to check the build" 会在 30 分钟后运行一次。 • 周期性间隔。 /cron add "every 2h" "Check server status" 会每两小时运行一次。 • 标准 cron 表达式。 /cron add "0 9 1 5" "..." 用于精确控制,这里表示工作日上午 9 点。 • 附加技能。 /cron add "every 1h" "Summarize new feed items" skill blogwatcher 会在运行提示词之前先加载一个技能。 你也可以串联任务。一个 cron 的输出可以通过 context from 标志变成下一个 cron 的输入。适合多阶段自动化,比如让调研步骤喂给写作步骤。 到这里就结束了。 感谢阅读。你希望我接下来讲什么,可以在评论里告诉我。 如果你更适合通过视频学习,我会在几天后把完整的 Hermes Agent 演示教程发布到 YouTube 和 X。 保持关注。 祝好!:) 原帖链接:https://x.com/akshay pachaar/status/2054564519280804028 原帖链接:https://x.com/akshay pachaar/status/2054564519280804028 理解并自定义 Hermes Agent 所需的一切:自进化技能、三层记忆、GEPA 优化,以及如何从 1 个 Agent 扩展到 10 个全天候为你工作的 Agent。 Hermes Agent 在两个月内突破了 90,000 个 GitHub 星标。开发者们正在悄悄构建个人 AI Agent:它们能学习你的工作流,记住你的上下文,并且 24/7 持续运行。 你用过的每个 AI Agent 都有同一个问题:会话一结束,它就什么都忘了。 你的编码偏好、你纠正过三次的项目约定、它昨天花 10 分钟才摸清楚的修复方式,全都没了。下一次会话,你又得从零开始。 Nous Research 的 Hermes Agent 采用了完全不同的路线。它自带一个学习闭环,可以: • 跨会话记忆 • 编写自己的可复用技能 • 在后台修剪这些技能 • 通过一个叫 GEPA 的进化引擎进行离线验证 没有其他开源 Agent 同时把这三件事组合在一起。连 OpenClaw 也没有。 这篇指南会讲清楚这个学习闭环如何工作、每一层记忆负责什么,以及如何从零配置整套系统。 读完之后,你会在自己的机器上跑起三个完全隔离的 Agent:一个程序员(使用你的 Claude Code)、一个深度研究员、一个设计师。它们各自拥有独立的个性、记忆、技能和 Telegram 机器人。 先看一下效果: 整套设置只需要几分钟,而且这里的所有内容都能在你自己的硬件上复现。 注:这篇指南里的所有插图都由 Pixel 设计。Pixel 是一个 Hermes Agent,到最后你会学会如何构建这样的 Agent。阅读时可以留意这些图。 开始吧。 如何阅读这篇文章 分成两部分:先讲理论,再动手实践。 时间不够?可以直接跳到 启动并运行。里面的命令可以单独执行。 但理论部分很值。理解技能如何自我进化、记忆如何组合、GEPA 什么时候值得用,是“把 Hermes 当带笔记的聊天机器人用”和“把 Hermes 当会复利增长的系统用”之间的区别。 接下来会讲: • Hermes Agent 到底是什么。 核心定位,以及它和 OpenClaw 的对比。 • 它是如何构建的。 用一张图看懂架构。 • 记忆之前:Agent 是谁? SOUL.md 这一身份层。 • 记忆系统。 三层,三种速度。 • 自进化技能。 Agent 自己写的操作手册,以及 Curator。 • GEPA。 离线技能优化。 • 启动并运行。 安装、Telegram、第一个 Agent。 • 运行多个 Agent。 profile、三种人格、定时摘要。 • 按你的需求自定义 Agent。 Hermes 是什么,以及它在架构上有什么不同 一句话定位:一个用得越久就越强的 Agent。 让这句话成立的,是三个通常彼此独立的能力被放进同一个框架里:运行时技能学习、持久化多层记忆,以及一个可选的权重训练流水线。没有其他开源 Agent 同时内置这三者。 在开源生态里,最接近的对比对象是 OpenClaw。两者都持久化,也都适合接入消息入口,但它们做了相反的架构选择。 Kilo 博客里有一个很干净的说法:“Hermes 是围绕一个学习型 Agent 包了一层网关。OpenClaw 是围绕一个消息网关包了一个 Agent。” 它是如何构建的 要理解学习闭环,先需要一张 Hermes 结构的基本图。 所有东西都会流经 run agent.py 脚本里的单个 AIAgent 类。CLI、消息网关、批处理运行器、IDE 集成,都是进入同一个核心 Agent 的入口。 这正是它“平台无关”这件事真正能成立的原因。 核心循环是 ReAct 风格,并且是同步的:构建 system prompt,检查是否需要压缩,发起可中断的 API 调用,执行所有工具调用,然后继续循环。 几个后面会用到的关键细节: • Agent 可以在六种不同位置执行命令。 本地终端、Docker、SSH、Modal、Daytona 或 Singularity。同一套代码,只需要改配置。你可以把执行位置从笔记本迁移到云端 GPU 服务器,而不需要碰其他东西。 • 它几乎能接任何模型。 一个翻译层会把任意服务提供方路由到三种 API 格式之一。所以你可以用一个命令从 Claude 切到 GPT、Gemini 或本地 Ollama,其他部分不会坏。 • 每个任务最多 90 轮。 没有这个上限时,陷入循环的 Agent(反复重试失败 API、反复读同一个文件)会悄悄烧光你的额度。子 Agent 共享同一个预算,所以失控的委派链也绕不过去。 这些脚手架已经够了。接下来是更有意思的部分。 记忆之前:Agent 是谁? 在讲记忆和自进化技能之前,还有一层位于两者之上:身份。 记忆决定 Agent 知道什么。技能决定它怎么做事。但二者都不告诉你,它出现时“是谁”。没有身份层,每个 Agent 都像同一个 Agent 戴上了不同帽子。 Hermes 用一个文件解决这件事:SOUL.md。 它位于 /.hermes/SOUL.md,在 system prompt 里占据第 1 个槽位,会在任何其他内容加载之前注入。它定义 Agent 的个性、语气、沟通风格和硬性边界。 SOUL.md 是你手写的静态文件。你先写一次,之后逐步微调,它会在每个项目、每个会话里保持一致。如果这个文件不存在,Hermes 会回退到内置默认身份。 为什么这对自我改进很重要?因为后面的一切,包括 Agent 写下的记忆、创建的技能、整合知识的方式,都会透过这个身份视角发生。 SOUL.md 是固定框架。记忆和技能是在里面移动的部分。 记忆系统:三层,三种速度 Hermes 不是只有一个“记忆”。它有三层,每一层都为不同目的设计。 第 1 层:两个很小的 Markdown 文件。 核心是磁盘上的两个文件: • MEMORY.md(最多 2,200 字符)保存 Agent 关于你的环境、项目约定、工具怪癖和经验教训的笔记。 • USER.md(最多 1,375 字符)保存你的画像:姓名、沟通偏好、技能水平,以及需要避免的事情。 二者会在会话开始时作为冻结快照注入 system prompt。如果 Agent 在会话中途写入新的记忆条目,变化会立刻持久化到磁盘,但要到下一次会话才会出现在 system prompt 里。 当记忆快满时(约 80% 容量,会在 system prompt 头部显示百分比),Agent 必须进行整合。 它会把相关条目合并成信息密度更高的版本,让只有有用的信息留下来。 第 2 层:全文会话搜索。 每次对话(CLI 和消息入口)都会存到 SQLite,并支持全文搜索。Agent 可以从这里搜索过去几周的对话。 取舍很清楚:第 1 层永远在上下文里,但很小;第 2 层容量没有上限,但需要主动搜索,再加上 LLM 摘要。 关键事实放进记忆。其他内容按需搜索。 第 3 层:外部记忆 provider(8 个插件)。 为了更深的持久化记忆,Hermes 自带 8 个可插拔 provider。它们会与内置记忆并行运行,而不是替代它。一次只能激活一个 provider。 当任何外部 provider 处于激活状态时,Hermes 会在每轮之前自动预取相关记忆,在每次回复后同步对话轮次,并在会话结束时抽取记忆。 自进化技能:Agent 编写自己的 Playbook 记忆处理事实。技能处理流程。 技能是带 YAML 元数据头的 Markdown 文件,本质上是 Agent 的程序性记忆:不是它知道什么,而是它如何做事。 一个技能的结构长这样: 为了降低 token 成本,技能采用渐进式披露: • 第 0 级:Agent 只看到名称 + 描述(完整目录约 3k token) • 第 1 级:真正需要某个技能时,才加载完整技能内容 • 第 2 级:还能深入到技能里的特定参考文件 自我改进闭环。 这是核心差异点。Agent 会用 skill manage 工具自主创建自己的技能。触发技能创建的情况包括: • Agent 完成了复杂任务(5 次以上工具调用) • 遇到错误或死路,并找到了可行路径 • 用户纠正了它的做法 • 它发现了非平凡的工作流 闭环是这样运作的:Agent 遇到问题 → 通过试错解决它 → 把成功路径保存为 SKILL.md 文件 → 下一次遇到类似问题时,加载这个技能并遵循已验证的流程,而不是从零重新摸索。 这个工具支持六种动作:create、patch(定点修复,优先使用,因为更省 token)、edit(完整重写)、delete、write file 和 remove file。 Curator:技能的垃圾回收。 如果不维护,Agent 创建的技能会越堆越多。你会得到几十个狭窄、重叠的操作手册,浪费 token,也污染目录。 Curator 是处理这件事的后台维护系统。它基于闲置检查运行(不是 cron 守护进程):如果距离上次运行已经过去 7 天,并且 Agent 已经闲置 2 小时以上,一个带有独立提示词缓存的 Agent 后台 fork 会启动,完全不碰当前活跃对话。 它分两个阶段工作: 1. 自动状态迁移(确定性,不用 LLM):30 天未使用的技能会变成过期状态;90 天未使用的技能会被归档。 2. LLM 审阅(最多 8 轮):一个 fork 出来的 Agent 会巡视所有 Agent 创建的技能,并逐个决定保留、修补、合并还是归档。 两个重要约束: • Curator 从不碰内置技能或从 hub 安装的技能,只处理 Agent 自己写的技能。 • 它不会自动删除。最坏结果是归档到 /.hermes/skills/.archive/,可以用一个命令恢复。 每次 Curator 运行之前,Hermes 都会为整个 skills 目录打一个 tar.gz 快照。回滚只需要一个命令,而且回滚本身也可以再反向回滚。 你也可以用 hermes curator pin <skill 固定关键技能,保护它们不被归档和删除。补丁和编辑仍然可以发生,所以 Agent 能继续改进被固定的技能,不需要你先取消固定。 GEPA:用执行轨迹离线进化技能 这里开始变有意思。 Agent 内部的学习闭环(技能创建 + Curator)有一个已知弱点: • Agent 倾向于自我表扬。 它几乎总觉得自己表现不错,即使事实并非如此。社区反馈也确认了这一点。 • 同一个自动生成技能的系统,也可能用更差的版本覆盖你手动做过的自定义。 这就是 GEPA 登场的地方。 GEPA(Genetic Pareto Prompt Evolution)没有内置在 Hermes 运行时里。它位于一个配套仓库(NousResearch/hermes agent self evolution),作为离线优化流水线运行。它以 ICLR 2026 Oral 论文形式发表,采用 MIT 许可证。 ICLR 2026 Oral 论文 核心想法:不要问 Agent“你做得好吗?”,而是让 GEPA 读取执行轨迹,理解为什么失败,然后通过进化搜索提出定向改进。 流水线: 1. 从 Hermes 仓库读取当前技能 2. 生成评测数据集(Claude Opus 生成的合成测试用例、SQLite 里的真实会话历史,或人工整理的黄金集) 3. 运行 GEPA 优化器:读取执行轨迹 → 理解失败点 → 生成候选变体 4. 使用带评分规则的 LLM as judge 机制评估候选项(不是二元通过/失败) 5. 应用约束门:完整测试套件必须 100% 通过,技能保持在 15KB 以下,保留缓存兼容性,语义目标不能漂移 6. 最佳变体以 PR 形式提交到 Hermes 仓库,绝不直接提交。 不需要 GPU。所有东西都通过 API 调用运行。成本大约是每次优化 2 10 美元。 这件事一开始可以跳过,但当你撞墙、又不想把时间和钱花在微调(RL/GRPO)上时,它非常有效。 看一下这些例子: