附录 C:术语表
本术语表收录 Hermes Agent 中频繁出现的专有名词和技术概念,按字母顺序排列。
| 术语 | 定义 | 首次出现 |
|---|---|---|
| BasePlatformAdapter | Gateway 平台适配器的抽象基类(gateway/platforms/base.py:470)。定义了 connect()、disconnect()、send() 等核心方法。当前 16 个 Gateway 平台类型共享这一 ABC。 | 第 14 章 |
| Compression(上下文压缩) | 当对话 token 数超过阈值时,ContextCompressor 将中间消息压缩为摘要,保护首尾消息不被压缩。阈值默认为 context window 的 50%。 | 第 12 章 |
| ContextCompressor | 上下文压缩器类(agent/context_compressor.py)。负责估算 token 数、标记保护区域、生成摘要替换原始消息。 | 第 12 章 |
| Gateway | Hermes 的消息平台网关子系统。一个 Gateway 进程可同时连接多个消息平台(Telegram、Discord 等),接收消息并路由到同一个 AIAgent 内核。 | 第 14 章 |
| IterationBudget | 线程安全的迭代预算类(run_agent.py:168)。通过 consume() / refund() 控制 agent 的工具调用次数上限(默认 90 次),在 70%/90% 时注入压力预警。 | 第 4 章 |
| Learning Loop(学习闭环) | Hermes 的四个设计赌注之一。指 agent 从工作经验中创建技能、在使用中改进技能、通过 nudge 和 background review 主动持久化知识的完整闭环。 | 第 1 章 |
| Memory Nudge | 编排器内置的定期检查机制。每 10 个 user turn 检查记忆更新,每 10 个 tool iteration 检查技能创建。达到阈值时触发 _spawn_background_review()。 | 第 4 章 |
| MemoryProvider | 记忆后端的抽象基类(agent/memory_provider.py),定义 17 个方法。Hermes 提供 8 个可插拔实现(Honcho、Hindsight、Mem0 等)。 | 第 11 章 |
| Profile | 配置隔离机制。每个 profile 是一组独立的配置文件(config.yaml、skills/、state.db),通过 hermes --profile work 切换。用于同一台机器上运行多个独立的 agent 实例。 | 第 17 章 |
| Prompt Cache | 利用 Anthropic / OpenAI API 的 prompt caching 特性,将 system prompt 的稳定部分缓存在 API 端,减少重复传输的 token 成本。agent/prompt_caching.py 负责优化缓存命中率。 | 第 5 章 |
| Session | 一次连续对话的单位。每个 session 有唯一 ID,关联一组 messages。session 持久化在 SessionDB(SQLite)中,支持跨会话搜索。 | 第 10 章 |
| SessionDB | 基于 SQLite 的会话持久化层(hermes_state.py:115)。包含 sessions 表、messages 表和 messages_fts 虚拟表(FTS5 全文检索)。使用 WAL 模式 + jitter retry 处理并发。 | 第 10 章 |
| Skill(技能) | Hermes "Learning Loop" 的核心载体。技能是 Markdown 文件 + YAML frontmatter,存储在当前 HERMES_HOME/skills/ 目录下;默认 profile 下表现为 ~/.hermes/skills/。包含 agent 从工作经验中提炼的过程性知识,支持条件加载和按需检索。 | 第 8 章 |
| Terminal Backend(终端后端) | agent 执行命令的环境。Hermes 支持 6 种:Local(本地)、Docker(容器)、SSH(远程)、Daytona(serverless)、Singularity(HPC)、Modal(云函数)。通过 tools/terminal_tool.py 统一接口。 | 第 16 章 |
| Toolset | 工具分组。每个工具属于一个 toolset(如 terminal、web、memory、code_execution)。用户可以按 toolset 粒度启用或禁用工具,控制 agent 的能力范围。 | 第 6 章 |
| ToolRegistry | 工具注册表单例(tools/registry.py:48)。工具在模块加载时调用 registry.register() 自注册。注册表存储 ToolEntry 列表,包含工具名、handler、toolset 和 JSON Schema。 | 第 6 章 |
本术语表基于 Hermes Agent v0.8.0。术语的定义聚焦于工程含义而非产品描述。