Hermes 源码拆解|L3 支撑模块:agent/ 目录
Hermes Agent L3 支撑模块全景解析
agent/ 是 Hermes 的「后勤补给营」——错误恢复、密钥轮换、上下文压缩、成本优化,14 个核心模块,看懂生产级 Agent 的横切关注点设计。
📋 支撑模块缺失 = 生产事故
|
|
|
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
🔬 4 大核心模块详解
829 行错误处理
1error_classifier — 急诊分诊台
把各种 API 错误统一翻译成「推荐恢复动作」,上层只读 should_fallback / retryable。
12 种 FailoverReason + 6 层决策流水线
auth / billing / rate_limit / overloaded / server_error / timeout / context_overflow / payload_too_large / model_not_found / format_error / thinking_signature / long_context_tier / unknown
-
特殊 provider 模式 -
HTTP 状态码 -
body 里的 error.code -
多语言匹配 -
disconnect 推断 -
传输层错误
1,229 行长会话
2context_compressor — 超长会话压缩机
上下文快满时,用辅助 LLM 把中间部分替换为结构化摘要,保留头尾,让会话无限继续。
4 阶段压缩 + 反雪崩机制
-
Cheap pre-pass:规则替换 tool_result,省 50% token -
确定边界:保护前 N 条 + 尾部 ~20K -
LLM 摘要:12 字段(Active Task / Goal / Blocked 等) -
组装:自动处理 role alternation
连续 2 次压缩节省 < 10% 则拒绝继续,建议开新会话。
2,878 行辅助中枢
3auxiliary_client — 跑杂活小分队
统一、按任务分流、自动故障切换的辅助 LLM 入口——压缩、标题、搜索、视觉等杂活走便宜模型。
7 种任务
-
compression -
vision -
web_extract -
session_search -
skills_hub -
mcp -
flush_memories
7 级 Provider 链 + payment fallback
OpenRouter → Nous Portal → 自定义 endpoint → Codex OAuth → 原生 Anthropic。402 自动切下一个。
1,326 行密钥管理
4credential_pool — N 把钥匙管家
一个 provider 配多把 API key,用完自动换下一把;支持 4 种轮询 + OAuth 自动刷新。
4 种轮询策略
-
fill_first:永远用第一把 -
round_robin:轮流均摊 -
random:多租户负载均衡 -
least_used:天然均衡
OAuth 自动刷新
Anthropic claude_code token 每次 select 前从磁盘拉最新,避免多进程覆盖;Codex 过期前主动 refresh。
📎 其余 10 个模块速览
|
|
|
|
|---|---|---|
| prompt_builder |
|
|
| model_metadata |
|
|
| prompt_caching |
|
|
| retry_utils |
|
|
| anthropic_adapter |
|
|
| insights |
|
|
| display |
|
|
| rate_limit_tracker + guard |
|
|
| redact |
|
|
| usage_pricing |
|
|
⚖️ 4 个关键设计权衡
1. 模块化 vs 上帝类:L2 是顺序依赖长流程,L3 是无状态工具箱。判断标准是「状态共享度」。
2. auto vs explicit:auto 新用户友好;explicit 企业友好,不默默降级避免数据泄漏。
3. 混合压缩:规则 pre-pass 砍 50% + LLM 处理复杂部分。AI+rules 通用范式。
4. 软租约 vs 硬锁:rate limit 是服务端约束,客户端硬锁不能真正防超限。
💡 产品经理特别洞察
🎯 可直接借鉴的 6 个点
- 错误分类结构化
:上层只读 should_fallback / retryable——解耦业务与恢复 - 辅助任务用便宜模型
:Haiku 价格是 Opus 的 1/50,成本砍 10 倍 - cache_control 从第一天做
:系统提示拆静态 + 动态 - Jittered Backoff 不要省
:固定退避 = 雪崩放大器 - Insights 是 ARR 护城河
:量化价值是续费核心话术 - Spinner 是产品温度
:颜文字成本为 0,留存武器
⭐ 3 个差异化亮点
- Credential 资源池
:家庭 5 key + 企业 20 key = 定价创新空间 - 压缩保留 Active Task
:原话保留最后请求 → 「3 分钟记忆」到「任务永续」 - Prompt defense-in-depth
:加载扫注入 → 压缩 redact → 记忆再过一遍
L2 是「能力展示」,L3 是「稳定性展示」。评估 AI 框架要看「怎么稳定地做」。Hermes 的 agent/ 目录给了一份「生产级 Checklist」——做到 30% 就是行业 Top 20%。
源码拆解 |2026.4.25 | by 赛博阁员张居正
点击左下方“阅读原文”查看完整拆解内容
夜雨聆风