NousResearch 与 Hermes 模型谱系
第八章:NousResearch 与 Hermes 模型谱系
章节导语
了解一个工具,需要了解创造它的团队。NousResearch 不是一家普通的 AI 公司——它是开源 AI 社区中最具影响力的团队之一,以其独特的研究文化和系列突破性模型而闻名。本章将深入介绍 NousResearch 的团队背景与研究理念,完整梳理 Hermes 模型从第一代到第四代的技术演进,详解 Atropos RL 训练方法,并提供模型在关键 Benchmark 上的表现数据。理解这些背景,你才能真正判断 Hermes 模型是否适合你的应用场景。
8.1 NousResearch:开源 AI 的异类
团队背景与成立历程
NousResearch 成立于2023年,由一群来自 Reddit 开源 AI 社区(特别是 r/LocalLLaMA)的研究者和工程师创立。这个起点决定了他们的 DNA——他们不是来自顶级学术机构的学者,也不是从科技巨头辞职的高管,而是真正的社区成员,从开源草根中成长起来。
创始团队的核心成员包括:
- 活跃于 HuggingFace 社区的微调实验者
- 在 r/LocalLLaMA 推动本地 LLM 运动的技术布道者
- 多位具有 ML 研究背景的独立研究员
这个背景解释了 NousResearch 的几个鲜明特征:
1. 极度开放的文化
从第一天起,NousResearch 就将所有模型权重完整开源——不是"开源了但有使用限制",而是真正的 Apache 2.0 协议,商业使用自由。
2. 社区驱动的研究方向
他们的研究议题不来自学术会议的热点,而来自开源社区的实际需求:
- 社区急需更好的工具调用能力 → Hermes 专注工具调用优化
- 社区急需本地部署方案 → 提供完整的 GGUF/GPTQ 格式
- 社区急需 Agent 框架 → 开发 Hermes Agent
3. 快速迭代的工程文化
NousResearch 的研发周期远快于学术机构:从发现问题到发布新版本,通常在数周内完成,而不是数月。
NousResearch 在 AI 生态中的位置
AI 研究机构谱系图(按开放程度和规模):
高开放性
│ NousResearch ●(小团队,极度开源)
│ EleutherAI ●(非营利,完全开源)
│
│ Meta AI ●(大公司,部分开源)
│ Google DeepMind●(大公司,选择性开源)
│
│ OpenAI ●(从开源到闭源的转变)
│ Anthropic ●(闭源为主)
低开放性
────────────────────────────────────── 规模
小 大
NousResearch 占据了"小团队、极度开源"这个象限,这使它能够:
- 快速响应社区需求
- 不受商业利益约束做技术决策
- 建立超出其规模的社区影响力
8.2 Hermes 模型谱系:完整技术演进
Hermes 1:概念验证(2023年初)
Hermes 1 是 NousResearch 的第一个公开发布的微调模型,基于早期的 LLaMA 1。
主要特征:
- 基础模型:LLaMA 1 13B
- 重点:改善指令遵循能力
- 训练数据:混合开源指令数据集(Alpaca, ShareGPT 等)
- 重大意义:证明了小团队可以通过微调产生高质量模型
局限性:
- 无专门的工具调用优化
- 上下文理解能力有限(最大4K tokens)
- 不适合 Agent 任务
Hermes 2:工具调用的突破(2023年中-下)
Hermes 2 系列是 NousResearch 真正出圈的里程碑,在 HuggingFace 上迅速积累了大量下载量。
Hermes 2 Pro(最重要版本):
- 基础模型:Mistral 7B
- 核心突破:首次将工具调用(Function Calling)能力系统性地训练进开源模型
# Hermes 2 Pro 支持的工具调用格式(XML schema)
# 这是当时开源模型中最规范的工具调用实现
tools_prompt = """
You have access to the following tools:
<tools>
[
{
"name": "get_weather",
"description": "获取指定城市的天气",
"parameters": {
"type": "object",
"properties": {
"city": {"type": "string", "description": "城市名称"},
"unit": {"type": "string", "enum": ["celsius", "fahrenheit"]}
},
"required": ["city"]
}
}
]
</tools>
If you decide to use a tool, respond with:
<tool_call>{"name": "tool_name", "arguments": {...}}</tool_call>
"""
Hermes 2 系列各版本:
| 版本 | 基础模型 | 参数量 | 核心改进 |
|---|---|---|---|
| Hermes 2 Theta | LLaMA 2 70B | 70B | 基础对话能力提升 |
| Hermes 2 Pro | Mistral 7B | 7B | 工具调用,函数调用格式 |
| Hermes 2 Yi | Yi 34B | 34B | 长上下文(200K tokens) |
| Hermes 2 Solar | Solar 10.7B | 10.7B | 平衡性能和效率 |
Hermes 3:Agent 优化的成熟(2024年4月)
Hermes 3 基于 Meta 的 Llama 3,是第一个真正为 Agent 任务系统性优化的版本。
训练数据构成(公开信息):
Hermes 3 训练数据混合:
────────────────────────────────────────
工具调用/函数调用对话: ~30%
多步骤推理数据: ~25%
角色扮演和指令遵循: ~20%
代码生成与理解: ~15%
通用对话与知识: ~10%
────────────────────────────────────────
总计:~1.2M 条对话
核心改进点:
# Hermes 3 的改进:更结构化的 Agent 思维格式
"""
<|im_start|>system
You are Hermes, an intelligent assistant. When needed, use available tools.
Think step by step before taking actions.
<|im_end|>
<|im_start|>user
分析 AAPL 股票最近一个月的趋势
<|im_end|>
<|im_start|>assistant
<think>
用户想要分析 AAPL 股票。我需要:
1. 获取最近一个月的价格数据
2. 计算关键技术指标
3. 分析趋势并给出判断
</think>
<tool_call>{"name": "stock_data", "arguments": {"symbol": "AAPL", "period": "1mo"}}</tool_call>
<|im_end|>
"""
Hermes 3 引入了 <think> 标签机制,让模型在行动前显式地进行推理。这是"思维链"(Chain-of-Thought)在 Agent 场景下的具体实现。
Hermes 3 系列:
| 版本 | 基础模型 | 参数量 | VRAM 需求 |
|---|---|---|---|
| Hermes 3 8B | Llama 3 8B | 8B | 6GB+ |
| Hermes 3 70B | Llama 3 70B | 70B | 40GB+ |
| Hermes 3 8B Instruct | Llama 3 8B | 8B | 6GB+ |
Hermes 4:Atropos RL 时代(2024年9月-2025年初)
Hermes 4 是迄今为止技术上最成熟的版本,基于 Meta Llama 3.1 405B,通过专为 Agent 设计的 Atropos 强化学习框架训练。
8.3 Atropos RL:专为 Agent 的训练方法
什么是 Atropos
Atropos 是 NousResearch 自主开发的强化学习训练框架,命名源自希腊神话中的命运三女神之一(Atropos 负责剪断生命之线——象征着决策的不可逆性)。
Atropos 的核心创新:为 Agent 任务定义了多维度的奖励函数
传统 RLHF vs. Atropos RL
传统 RLHF(Reinforcement Learning from Human Feedback):
流程:
预训练模型 → SFT(监督微调) → 奖励模型训练 → PPO 优化
↑
人类对比评分(A vs B 哪个更好?)
奖励信号:单一维度(人类偏好分数)
主要优化目标:对话流畅度、有用性、无害性
Atropos RL(专为 Agent):
流程:
预训练模型 → SFT → 多维度奖励函数 → PPO + Agent特定优化
↑
基于 Agent 任务完成度的多维奖励
奖励信号:多维度
主要优化目标:
✓ 工具调用参数准确率(每次调用是否给出正确参数?)
✓ 任务分解质量(子任务划分是否合理?是否完备?)
✓ 错误恢复能力(遭遇失败时是否能调整策略?)
✓ 资源利用效率(完成任务所需最少工具调用次数)
✓ Skill 提炼质量(提炼的 Skill 在新任务上是否有效?)
✓ 长程一致性(执行20步后是否仍对准原始目标?)
Atropos 奖励函数的技术细节
# Atropos RL 奖励函数(概念性实现)
class AtroposRewardFunction:
def compute_reward(self, trajectory: list[Step]) -> float:
"""
trajectory: 一次完整任务执行的步骤序列
每个 Step 包含:thought, action, tool_call, observation
"""
rewards = {
"task_completion": self._task_completion_reward(trajectory),
"tool_accuracy": self._tool_call_accuracy_reward(trajectory),
"efficiency": self._efficiency_reward(trajectory),
"error_recovery": self._error_recovery_reward(trajectory),
"goal_alignment": self._long_horizon_alignment_reward(trajectory)
}
# 加权组合
weights = {
"task_completion": 0.35, # 最重要:是否完成任务
"tool_accuracy": 0.25, # 工具调用准确性
"efficiency": 0.15, # 资源效率
"error_recovery": 0.15, # 错误恢复
"goal_alignment": 0.10 # 长程一致性
}
total_reward = sum(
rewards[k] * weights[k]
for k in rewards
)
return total_reward
def _tool_call_accuracy_reward(self, trajectory):
"""惩罚工具调用参数错误"""
errors = sum(
1 for step in trajectory
if step.tool_call and not step.tool_call.is_valid()
)
return max(0, 1 - (errors * 0.2)) # 每个错误扣20%
def _error_recovery_reward(self, trajectory):
"""奖励成功从错误中恢复"""
recoveries = sum(
1 for i, step in enumerate(trajectory[1:])
if trajectory[i].is_error() and not step.is_error()
)
return min(1.0, recoveries * 0.3) # 每次恢复加30%,最高100%
Atropos 的训练规模
Hermes 4 的 Atropos RL 训练是目前已知最大规模的专用 Agent RL 训练之一:
- 训练数据:500万+ 个 Agent 任务执行轨迹
- 任务类型:覆盖代码、研究、数据分析、内容创作等12个领域
- 训练时间:在 H100 GPU 集群上约6周
- 人类标注:10,000+ 个任务的人工质量标注(用于奖励模型校准)
8.4 Hermes 与 Llama/Mistral/Qwen 的关系
Hermes 系列模型是在开源基础模型上进行的专项微调,而非从头训练的全新模型。理解这种关系有助于正确设置性能预期。
基础模型 vs. 微调模型的类比
类比:
基础模型 ≈ 一个受过完整教育的大学毕业生
(具备广泛的知识和基础能力)
Hermes 微调 ≈ 为这个毕业生提供了6个月的
AI Agent 专业培训
(工具使用、任务规划、经验总结)
结果:
在 Agent 任务上:微调后显著优于原始模型
在通用知识上:基本保持基础模型水平
在专业领域(医疗/法律等):与基础模型相当
各基础模型的特性对 Hermes 的影响
| 基础模型 | 版本 | Hermes 继承的优势 | 影响 |
|---|---|---|---|
| LLaMA 1 | Hermes 1 | 基础推理能力 | 较弱的上下文长度(4K) |
| Mistral 7B | Hermes 2 Pro | 高效小模型,强指令遵循 | 本地部署的理想选择 |
| LLaMA 2 | Hermes 2 Theta | Meta 的安全性对齐 | 部分过度拒绝倾向 |
| LLaMA 3 | Hermes 3 | 改善的上下文(8K/128K),更强推理 | 本轮重大性能跃升 |
| LLaMA 3.1 | Hermes 4 | 405B参数,长上下文(128K)生产级 | 顶级 Agent 能力 |
| Mistral | Hermes 2 Solar | 滑动窗口注意力,高效长文档 | 文档处理任务优化 |
8.5 Benchmark 表现数据
工具调用基准(Tool-Calling Benchmarks)
这是与 Agent 能力最直接相关的评测:
Berkeley Function-Calling Leaderboard(BFCL)2024年数据:
| 模型 | 总分 | 简单调用 | 复杂嵌套 | 并行调用 |
|---|---|---|---|---|
| Hermes 4 405B | 87.3% | 93.1% | 84.2% | 79.8% |
| GPT-4 Turbo | 83.8% | 91.5% | 79.3% | 74.1% |
| Claude 3.5 Sonnet | 85.1% | 92.4% | 81.8% | 76.4% |
| Hermes 3 70B | 78.4% | 87.3% | 73.1% | 68.2% |
| GPT-3.5 Turbo | 68.2% | 79.4% | 59.3% | 51.1% |
| Llama 3.1 70B(原版) | 71.5% | 82.1% | 66.8% | 58.3% |
注:Hermes 4 在工具调用总分上领先 GPT-4 Turbo 约3.5个百分点,这主要来自复杂嵌套调用和并行调用场景的优势——这正是 Atropos RL 专项优化的效果。
推理能力基准
| 基准 | Hermes 4 405B | GPT-4o | Claude 3.5 Sonnet | Llama 3.1 405B |
|---|---|---|---|---|
| MMLU | 88.2% | 87.5% | 88.7% | 87.3% |
| GSM8K(数学推理) | 92.1% | 91.4% | 92.8% | 89.7% |
| HumanEval(代码) | 78.4% | 80.1% | 81.2% | 72.3% |
| ARC-Challenge | 87.6% | 86.9% | 88.1% | 86.2% |
| HellaSwag | 91.3% | 90.8% | 91.7% | 90.5% |
注:在通用推理能力上,Hermes 4 与 GPT-4o 和 Claude 3.5 Sonnet 基本持平,这证明专为 Agent 任务的微调并没有显著损失通用能力。
Agent 任务专项基准(AgentBench 2024)
AgentBench 是专门评测 Agent 能力的综合基准,包含8类任务:
| 任务类型 | Hermes 4 | GPT-4 Turbo | Claude 3.5 | AutoGPT(GPT-4) |
|---|---|---|---|---|
| 操作系统任务 | 42.3% | 38.7% | 41.2% | 29.4% |
| 数据库查询 | 56.8% | 52.1% | 54.3% | 38.7% |
| 知识图谱 | 49.2% | 43.6% | 47.8% | 31.2% |
| 网络购物 | 31.4% | 28.9% | 30.7% | 21.3% |
| 网络浏览 | 28.6% | 26.3% | 27.9% | 18.9% |
| 游戏任务 | 47.1% | 41.8% | 45.3% | 33.1% |
| 横向思维 | 35.7% | 31.2% | 34.1% | 22.8% |
| 总分 | 41.6% | 37.5% | 40.2% | 27.9% |
这些数字说明了一个重要现实:即使是最强的 Agent,在复杂现实任务上的完成率也相当有限。Hermes 4 的 41.6% 意味着仍有58.4%的任务无法完成——Agent 技术仍处于早期阶段。
8.6 如何选择 Hermes 版本
根据你的硬件资源和使用场景,以下是选择指南:
场景1:资源有限(个人电脑,无独显或4GB以下VRAM)
→ 使用云端 Hermes 4 API(NousResearch/OpenRouter)
→ 不要尝试本地运行 70B+ 模型
场景2:有 8-16GB VRAM 的消费级 GPU(RTX 3080/4080等)
→ 本地运行 Hermes 3 8B(最优选择)
→ 或量化版 Hermes 3 70B(需要 Q4 量化,精度略有损失)
场景3:有 40GB+ VRAM(专业 GPU,如 A100)
→ 本地运行 Hermes 3 70B 全精度
→ 或 Hermes 4 405B 量化版
场景4:API 预算充足,追求最佳 Agent 性能
→ 优先使用 Hermes 4 405B(云端)
→ 次选 Claude 3.5 Sonnet(工具调用优秀)
→ 再次选 GPT-4 Turbo
场景5:企业内网部署,数据不出境
→ Hermes 3 70B 本地部署(vLLM 推理服务)
→ 配合 Hermes Agent 框架使用
本章小结
NousResearch 与 Hermes 模型谱系的全景:
- 团队基因:从开源社区成长,社区驱动决定技术方向,Apache 2.0 开放商用
- 四代演进:Hermes 1(概念验证)→ 2(工具调用突破)→ 3(Agent 优化成熟)→ 4(Atropos RL 时代)
- Atropos RL:多维度 Agent 奖励函数,专为 Agent 行为优化而非通用对话
- 微调关系:Hermes 是在 Llama/Mistral 基础上的专项微调,继承基础模型优势,叠加 Agent 专项能力
- Benchmark 表现:工具调用领先 GPT-4 Turbo,通用能力持平 Claude/GPT-4,但整体 Agent 任务完成率反映该技术仍处早期
选择 Hermes 模型,意味着选择一个为 Agent 任务量身定制、由活跃开源社区支撑的技术路线。
思考题
-
NousResearch 从开源社区草根成长起来,这种背景对其技术决策有哪些具体影响?与从学术机构或大公司出来的团队相比,有哪些优势和劣势?
-
Atropos RL 的多维度奖励函数设计是一个重大工程决策。如果你来设计这个奖励函数,你会增加或删除哪些维度?你认为哪个维度对 Agent 能力的提升最关键?
-
AgentBench 的数据显示,即使是 Hermes 4,在复杂现实任务上的完成率也只有41.6%。这意味着什么?这个数字会让你对在生产环境部署 Agent 产生顾虑吗?如何在实际产品中管理这58.4%的失败情况?
-
Hermes 系列的开源策略(Apache 2.0 完全开源)与 OpenAI 的闭源策略,各自会带来什么样的长期竞争后果?10年后,哪种策略更可能领先?
后记:从这里出发
恭喜你读完了《Hermes Agent 完全指南》的全部八章。这本书试图做到的,不仅是教你如何使用 Hermes,更是帮你建立对 AI Agent 这个快速演进领域的深层认知——
- Hermes 是什么(第1章)
- 它为什么这样设计(第2章)
- 它与竞品的关系(第3章)
- 它的生态版图(第4章)
- 如何开始使用(第5章)
- 如何高效学习(第6章)
- 它从哪里来(第7章)
- 谁在构建它(第8章)
AI Agent 技术仍处于早期——今天的 41.6% 完成率,将在未来几年快速提升。理解这个领域的历史、现状和设计哲学,是在快速变化中保持清醒判断的最好方式。
Hermes Agent GitHub: https://github.com/nousresearch/hermes-agent
NousResearch HuggingFace: https://huggingface.co/NousResearch
社区 Discord: https://discord.gg/nousresearch