附录 D:主题阅读导航
本附录按读者兴趣和常见问题,推荐章节组合。每条路径标注了核心章节(必读)和扩展章节(选读)。
按角色推荐
| 读者角色 | 核心章节 | 扩展章节 | 说明 |
|---|---|---|---|
| 全栈开发者(想完整理解系统) | Ch02 → Ch03 → Ch04 → Ch05 | 全书顺序阅读 | Ch04 是枢纽,理解它后其他章节自然贯通 |
| Agent 构建者(想做类似产品) | Ch01 → Ch04 → Ch06 → Ch08 → Ch11 | Ch14, Ch19, Ch23 | 聚焦设计决策和 trade-off |
| SRE / 运维(关心稳定性) | Ch20 → Ch21 → Ch10 → Ch19 | Ch14, Ch22 | 四层防御体系 |
| AI 研究者(关心记忆与学习) | Ch08 → Ch10 → Ch11 → Ch12 | Ch05, Ch04, Ch15 | Learning Loop 的完整实现路径 |
| 平台开发者(想接入新平台) | Ch14 → Ch04(回调部分) | Ch20, Ch21 | BasePlatformAdapter 是核心 |
| 贡献者(想参与开源) | Ch02 → Ch22 → Ch06 | Ch04, Ch17 | 仓库地图 + 测试体系 + 工具系统 |
按主题推荐
"agent 怎么从经验中学习?"
Ch08 技能系统 — 技能的数据模型、生命周期、条件加载
→ Ch04 AIAgent 内核 — nudge 机制和 background review
→ Ch05 提示词系统 — SKILLS_GUIDANCE 如何引导模型创建技能
→ Ch11 Memory Provider — 记忆后端如何补充技能系统
"怎么让 agent 跑在远程服务器上?"
Ch16 终端后端 — 6 种执行环境(Local → Docker → SSH → Daytona → Singularity → Modal)
→ Ch14 Gateway — 通过消息平台远程控制 agent
→ Ch15 定时调度 — 无人值守的自动化任务
→ Ch20 进程生命周期 — systemd 服务和信号处理
"这个系统怎么处理长对话?"
Ch12 上下文压缩 — token 估算、保护区域、摘要替换
→ Ch04 AIAgent 内核 — IterationBudget 的压力预警
→ Ch05 提示词系统 — prompt cache 优化
→ Ch10 SessionDB — 会话持久化和跨会话搜索
"多平台适配怎么做到的?"
Ch14 Gateway — GatewayRunner + BasePlatformAdapter + SessionStore
→ Ch04 AIAgent 内核 — 11 个回调接口
→ Ch13 CLI/TUI — CLI 入口的回调实现对比
→ Ch21 运行时容错 — 断线重连和消息投递重试
"工具系统怎么设计的?"
Ch06 工具系统 — ToolRegistry + 自注册 + toolset 过滤
→ Ch07 工具剖面 — terminal、browser、delegate、mcp 四种典型工具的深度分析
→ Ch09 子代理委托 — delegate 工具如何创建子 AIAgent
→ Ch16 终端后端 — terminal 工具的 6 种后端实现
"怎么保证 agent 稳定运行?"
Ch20 进程生命周期 — 信号处理、Process Registry、清理守护线程
→ Ch21 运行时容错 — SafeWriter、API 重试、fallback、断线重连
→ Ch10 SessionDB — WAL 模式、jitter retry、事务管理
→ Ch19 并发模型 — async→sync 桥接、线程隔离、IterationBudget
"配置和多实例隔离怎么做?"
Ch17 配置系统 — config.yaml 解析、Profile 机制、环境变量覆盖
→ Ch18 模型抽象 — Provider 兼容层、模型能力探测
→ Ch02 仓库地图 — 了解配置影响的各层
"测试体系是什么样的?"
Ch22 测试体系 — 400+ 测试文件、conftest.py 隔离、分层测试策略
→ Ch02 仓库地图 — tests/ 目录结构与生产代码的镜像关系
→ Ch21 运行时容错 — 容错代码如何被测试
章节依赖关系速查
以下表格标注每章的前置依赖,帮助非顺序阅读时判断是否需要先读其他章节。
| 章节 | 前置依赖 | 可独立阅读 |
|---|---|---|
| Ch01 设计赌注 | 无 | 可以 |
| Ch02 仓库地图 | 无 | 可以 |
| Ch03 请求旅程 | Ch02 | 建议先读 Ch02 |
| Ch04 AIAgent 内核 | Ch03 | 建议先读 Ch03 |
| Ch05 提示词系统 | Ch04 | 建议先读 Ch04 |
| Ch06 工具系统 | Ch04 | 建议先读 Ch04 |
| Ch07 工具剖面 | Ch06 | 需要先读 Ch06 |
| Ch08 技能系统 | Ch05, Ch06 | 建议先读 Ch05 |
| Ch09 子代理委托 | Ch04 | 建议先读 Ch04 |
| Ch10 SessionDB | Ch04 | 可独立阅读 |
| Ch11 Memory Provider | Ch10 | 建议先读 Ch10 |
| Ch12 上下文压缩 | Ch11 | 建议先读 Ch11 |
| Ch13 CLI/TUI | Ch04 | 建议先读 Ch04 |
| Ch14 Gateway | Ch04, Ch13 | 建议先读 Ch04 |
| Ch15 定时调度 | Ch14 | 建议先读 Ch14 |
| Ch16 终端后端 | Ch07 | 建议先读 Ch07 |
| Ch17 配置系统 | 无 | 可独立阅读 |
| Ch18 模型抽象 | Ch04 | 建议先读 Ch04 |
| Ch19 并发模型 | Ch04 | 建议先读 Ch04 |
| Ch20 进程生命周期 | Ch14 | 建议先读 Ch14 |
| Ch21 运行时容错 | Ch19, Ch20 | 需要先读 Ch19, Ch20 |
| Ch22 测试体系 | Ch02 | 可独立阅读 |
| Ch23 设计哲学 | Ch01 + 至少 Part 2-4 | 建议全书读完后再读 |
本导航基于 Hermes Agent v0.8.0 的全书结构。章节内容和依赖关系在后续版本中可能调整。