Skip to content

Latest commit

 

History

History
176 lines (129 loc) · 5.27 KB

File metadata and controls

176 lines (129 loc) · 5.27 KB

Hermes Agent 核心特点评估

基于源码深入阅读(run_agent.py 13000+ 行、anthropic_adapter.py、context_compressor.py 等核心模块)和 200+ PR 审查。 评估日期:2026-04-30

🧬 核心定位

Hermes 不是一个"聊天机器人",而是一个自改进的 AI Agent。

与其他 agent 框架(LangChain, AutoGPT, CrewAI)的本质区别:内置学习闭环——它会从经验中学习、创建技能、改进技能、搜索过去的对话、构建用户画像。


🔥 核心特性

1. 自我优化循环(最独特)

经验 → 自动创建 Skill → 使用中改进 Skill → 定期提醒自己持久化 → 跨 session 搜索记忆
  • 自动技能创建:完成复杂任务后,agent 自动将操作步骤固化为可复用 skill
  • 使用中改进:每次使用 skill 时遇到问题,会自动改进 skill 指令
  • 持久化记忆:agent 会"提醒自己"把重要信息写入持久化文件(不像其他 agent 每次重启失忆)
  • FTS5 全文搜索:SQLite + FTS5 实现跨 session 对话搜索,带 LLM 摘要
  • Honcho 用户建模:基于 dialectic 方法构建深层用户画像

2. 多平台统一网关

平台 状态
Telegram
Discord
Slack
WhatsApp
Signal
Email
  • 一个进程支持所有平台
  • 跨平台对话连续性
  • 语音备忘录转录

3. 终端后端多样性

后端 场景
Local 本地开发
Docker 容器隔离
SSH 远程服务器
Daytona 云原生
Singularity HPC
Modal Serverless(空闲时几乎零成本)

4. 模型无关(真正的无锁定)

支持 200+ 模型,通过 hermes model 切换,无需改代码:

  • Nous Portal, OpenRouter (200+), NVIDIA NIM (Nemotron)
  • Xiaomi MiMo, z.ai/GLM, Kimi/Moonshot, MiniMax
  • Hugging Face, OpenAI, Anthropic, 自有 endpoint

5. 内置调度器(Cron)

  • 自然语言定义定时任务
  • 结果可投递到任何平台
  • 不需要外部 cron 服务

6. 子代理并行化

  • 生成隔离的 subagent 处理并行任务
  • Python RPC 脚本可以零上下文成本完成多步 pipeline

7. 研究就绪

  • Atropos RL 环境
  • 轨迹压缩用于训练下一代工具调用模型
  • 批量轨迹生成

8. MCP 集成

  • 可连接任意 MCP 服务器扩展能力
  • 40+ 内置工具

🏗️ 架构概览

核心文件

文件 职责
run_agent.py AIAgent 类 — 核心对话循环(13000+ 行)
model_tools.py 工具编排、_discover_tools()、handle_function_call()
cli.py HermesCLI 类 — 交互式 CLI 协调器
hermes_state.py SessionDB — SQLite session 存储(FTS5 搜索)
agent/prompt_builder.py 系统提示组装
agent/context_compressor.py 自动上下文压缩
agent/anthropic_adapter.py Anthropic 协议适配(thinking blocks 处理)
agent/auxiliary_client.py 辅助 LLM 客户端(视觉、摘要)
gateway/run.py 主循环、slash 命令、消息分发
tools/ 工具实现(每个文件一个工具)
acp_adapter/ ACP 服务器(VS Code / Zed / JetBrains 集成)
cron/ 调度器

数据流

User Message → Gateway/CLI → AIAgent.chat()
    ↓
_build_assistant_message()  →  持久化到 SQLite (hermes_state.py)
    ↓
Tool Discovery → Tool Execution → Tool Result
    ↓
Skill Creation/Update (from experience)
    ↓
Memory Persistence → User Model Update (Honcho)

⚖️ 优劣评估

优势

特性 评价 说明
学习闭环 ⭐⭐⭐⭐⭐ 真正差异化特性,其他 agent 没有
多平台网关 ⭐⭐⭐⭐⭐ 架构优雅,单进程多平台
模型无关 ⭐⭐⭐⭐⭐ 真正的无锁定
代码质量 ⭐⭐⭐⭐ 模块化良好,~3000 测试
社区活跃度 ⭐⭐⭐⭐⭐ 每天 50+ 新 issues/PRs
部署灵活性 ⭐⭐⭐⭐⭐ $5 VPS 到 GPU 集群

需要注意

问题 严重性 状态
单文件过大 (run_agent.py 13000+ 行) 已知问题
API 变化快 社区维护活跃
文档有时滞后 代码领先文档
Thinking blocks 签名问题 PR #17981 已修复

📊 技术栈

组件 技术
语言 Python 3.11+
包管理 uv + pyproject.toml
CLI prompt_toolkit (富终端界面)
数据库 SQLite + FTS5
测试 Pytest (~3000 测试)
LLM SDK OpenAI, Anthropic, boto3 (Bedrock)

🎯 总结

Hermes 是一个真正有"个性"的 agent — 它会记住你、学习你的偏好、从经验中改进自己。这不是一个工具集合,而是一个活的系统

核心价值主张:

  1. 自改进:不是静态配置,而是动态学习
  2. 跨平台:一个 agent,所有消息平台
  3. 模型自由:200+ 模型随意切换
  4. 低成本:$5 VPS 或 serverless 几乎零成本

本文档由 Hermes Agent (hermes) 自动生成,基于源码分析和 PR 审查。 最后更新:2026-04-30