
Hermes Agent 是 Nous Research 于 2026 年 2 月开源的 MIT 协议 AI 智能体框架,核心代码基于 Python,当前稳定版本为 v0.14.0。与传统对话式 AI 不同,它采用任务驱动架构,具备技能自动沉淀、持久化记忆、原生多工具链与并行子智能体能力。截至 2026 年 10 月,Hermes 累计被克隆超过 2400 万次,Nous Research 也完成了 9000 万美元 B 轮融资,估值达 15 亿美元。
Hermes 系列模型最核心的工程价值,是把“工具调用”从不可靠的提示词技巧变成可解析的协议。Hermes 在函数调用上采用明确标记:系统提示里用 <tools> 定义工具,模型输出 <tool_call>{...}</tool_call>,工具结果回填 <tool_response>{...}</tool_response>。
这带来三个工程好处:JSON 参数可校验、多轮工具调用可拼接、模型与执行器职责分离。
以下是最小 Agent 循环,跑通“模型决策 → 调用工具 → 回传结果 → 生成回答”的完整闭环:
import json, re, requests
API = "http://localhost:8000/v1/chat/completions" # vLLM/Ollama 兼容地址
TOOLS = {
"get_weather": lambda city: {"city": city, "temp": 26, "condition": "晴"},
}
SYS = """你在 <tools> 中定义工具。
<tools>
{"name":"get_weather","parameters":{"city":"string"}}
</tools>
需要时输出 <tool_call>{"name":"...","arguments":{...}}</tool_call>"""
def parse(text):
m = re.search(r"<tool_call>(.*?)</tool_call>", text, re.S)
return json.loads(m.group(1)) if m else None
def agent(question, max_steps=4):
msgs = [{"role": "system", "content": SYS},
{"role": "user", "content": question}]
for _ in range(max_steps):
r = requests.post(API, json={
"model": "hermes", "messages": msgs, "temperature": 0
}).json()
out = r["choices"][0]["message"]["content"]
call = parse(out)
if not call:
return out
result = TOOLS[call["name"]](**call["arguments"])
msgs += [
{"role": "assistant", "content": out},
{"role": "user", "content":
f"<tool_response>{json.dumps(result, ensure_ascii=False)}</tool_response>"}
]
return "达到最大步数"
print(agent("北京今天天气怎么样?"))这段代码不到 30 行,却跑通了 Agent 工程最朴素的闭环:让模型决策,让工具执行,让结果回到模型再决策。Hermes 对 <tool_call> 和多轮工具调用做了专门训练优化,输出格式远比通用模型稳定。
Hermes Agent 内置 40+ 工具,覆盖终端执行、网页搜索、浏览器自动化、图像生成、TTS/STT 等 8 大类别。它的工具系统分四层:tools/*.py 各工具模块导入时自注册 → registry.py 单例注册中心 → model_tools.py 编排调度 → toolsets.py 分组组合。
核心是一个模块级单例 ToolRegistry,每个工具存为 ToolEntry 对象,包含 name、toolset、schema、handler 等字段。这种设计让新增工具只需写一个文件并 import,无需修改任何配置表。
Hermes 最具差异化的能力是闭环学习循环(Closed Learning Loop) :任务完成后,它评估执行过程,提取可复用方法,写入磁盘,下次直接调用。官方定位只有一句话:“the agent that grows with you”。
这套机制包含四层内存:短时上下文记忆维护本次任务对话链;长期向量记忆存储业务知识与历史案例;状态机持久化支持断点续跑;Skill 库沉淀标准化技能包。一个实际案例是中原油田储气库管理中心基于 Hermes 开发了“未来Pro智能体”,整合超过 50 万条专家知识经验,用于设备检修提醒和新人培训。
Hermes 通过 delegate_task 工具生成隔离的子智能体并行工作。每个子智能体拥有独立的对话、终端会话和工具集,只有最终摘要会返回父智能体。
# 并行研究三个主题
delegate_task(tasks=[
{"goal": "研究 WebAssembly 在浏览器外的最新进展",
"context": "关注运行时、云/边缘用例、WASI 进展"},
{"goal": "研究 2025 年 RISC-V 服务器芯片采用情况",
"context": "关注已出货芯片、云厂商采用、软件生态"},
{"goal": "研究量子计算的实际应用",
"context": "关注纠错突破、真实用例、关键公司"},
])三个子智能体并发执行,各自独立搜索并返回摘要,父智能体合成最终简报。此外,Hermes Kanban 提供了持久化任务看板,让多个命名智能体通过共享的 ~/.hermes/kanban.db 协作,每个 Worker 是一个拥有独立身份的完整 OS 进程。
第一,参数校验与预算控制。JSON Schema 验证工具入参,失败则重试或让模型修正;设置最大步数、最大 token 和工具超时。
第二,安全边界。通过 enabled_toolsets 或 disabled_toolsets 控制 Agent 可访问的工具集。例如仅启用 Web 工具用于研究机器人,或禁用终端访问用于共享环境:
from run_agent import AIAgent
# 仅启用 Web 工具
agent = AIAgent(model="anthropic/claude-sonnet-4",
enabled_toolsets=["web"], quiet_mode=True)
# 启用除终端外的所有工具
agent = AIAgent(model="anthropic/claude-sonnet-4",
disabled_toolsets=["terminal"], quiet_mode=True)第三,可观测与审计。记录每步 tool_call、耗时、结果,把对话、工具调用和中间变量持久化,支持回放与审计。
第四,作为 Python 库嵌入。Hermes 不只是一个 CLI 工具,你可以导入 AIAgent 嵌入 Web 应用或自动化管线:
agent = AIAgent(model="anthropic/claude-sonnet-4", quiet_mode=True)
result = agent.run_conversation(
user_message="搜索 Python 3.13 最新特性",
task_id="my-task-1",
)
print(result["final_response"])总结:Hermes Agent 的核心价值在于三层:协议层的 <tool_call> 让函数调用可解析、可校验;工具层的单例注册中心让 40+ 工具管理井然有序;学习层的闭环循环让 Agent 越用越强。把协议、工具、记忆三者串起来,AI 才真正从“对话助手”进化为“数字员工”。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。