title: “Honcho” sidebar_label: “Honcho” description: “Configure and use Honcho memory with Hermes – cross-session user modeling, multi-profile peer isolation, observation config, dialectic reasoning, session su…”
{/* 此页面由 website/scripts/generate-skill-docs.py 根据技能对应的 SKILL.md 文件自动生成。请直接编辑源文件 SKILL.md,而非此页面。 */}
Honcho
通过 Hermes 配置并使用 Honcho 内存功能——可实现跨会话用户建模、多配置文件同级节点隔离、观测配置管理、辩证推理、会话摘要生成以及上下文预算管控。在搭建 Honcho 环境、排查内存相关问题、使用 Honcho 同级节点管理不同配置文件,或调整观测、回忆及辩证推理参数时,均可使用此功能。
技能元数据
| 来源 | 可选——通过 hermes skills install official/autonomous-ai-agents/honcho 安装 |
| 路径 | optional-skills/autonomous-ai-agents/honcho |
| 版本 | 2.0.0 |
| 开发者 | Hermes Agent |
| 许可协议 | MIT |
| 支持平台 | linux、macos、windows |
| 标签 | Honcho、Memory、Profiles、Observation、Dialectic、User-Modeling、Session-Summary |
| 相关技能 | hermes-agent |
参考:完整 SKILL.md 内容
Hermes 版 Honcho 内存功能
Honcho 提供了专为人工智能设计的跨会话用户建模能力。它能够跨多次对话识别用户身份,同时为每个 Hermes 配置文件分配独立的同级节点标识,却又能呈现统一的用户视图。
适用场景
- 搭建 Honcho 环境(云端或自托管)
- 排查内存功能异常或同级节点同步问题
- 构建多配置文件架构,让每个智能体拥有独立的 Honcho 同级节点
- 调整观测、回忆、辩证推理深度或数据写入频率等参数
- 了解五种 Honcho 工具的功能及其适用场景
- 配置上下文预算及会话摘要注入功能
设置方法
云端版本(app.honcho.dev)
hermes memory setup honcho
# select "cloud", paste API key from https://app.honcho.dev
自托管模式
hermes memory setup honcho
# select "local", enter base URL (e.g. http://localhost:8000)
参见:https://docs.honcho.dev/v3/guides/integrations/hermes#running-honcho-locally-with-hermes
验证
hermes honcho status # shows resolved config, connection test, peer info
架构设计
基础上下文注入
当 Honcho 在系统提示语中注入上下文时(处于“混合模式”或“上下文检索模式”下),它会按以下顺序构建基础上下文模块:
- 会话摘要——对当前会话内容的简短总结(置于最前端,以便模型快速保持对话连贯性)
- 用户画像——Honcho 经过分析后形成的用户模型(包括偏好、事实及行为模式等信息)
- AI 对等体卡片——该 Hermes 配置文件中 AI 对等体的身份标识
若存在历史会话,会话摘要会在每个对话轮次开始时由 Honcho 自动生成。这样无需重复展示完整历史记录,即可让模型快速进入工作状态。
冷启动/热启动提示语选择
Honcho 会自动在两种提示策略之间进行切换:
| 条件 | 策略 | 功能说明 |
|---|---|---|
| 无历史会话或用户画像为空 | 冷启动 | 使用简化的引导提示语,跳过摘要注入环节,促使模型主动了解用户信息 |
| 已存在用户画像和/或会话历史 | 热启动 | 完整注入基础上下文(按摘要→用户画像→AI 对等体卡片的顺序),生成更丰富的系统提示语 |
无需手动配置此功能——系统会根据会话状态自动选择合适策略。
对等体机制
Honcho 将对话视为对等体之间的交互。每个会话中,Hermes 会创建两个对等体:
- 用户对等体(
peerName):代表人类用户。Honcho 通过分析用户发送的消息来构建其用户画像。 - AI 对等体(
aiPeer):代表当前的 Hermes 实例。每个配置文件都会拥有独立的 AI 对等体,从而使智能体能够形成各自的独立认知。
观测功能
每个对等体都包含两个观测开关,用于控制 Honcho 应该学习哪些信息:
| 开关 | 功能说明 |
|---|---|
observeMe | 观测该对等体自身发送的消息(用于构建自我画像) |
observeOthers | 观测其他对等体发送的消息(用于建立跨对等体间的理解) |
默认情况下,四个开关均为开启状态(实现完全的双向观测)。
可在 honcho.json 文件中为每个对等体单独配置这些参数:
{
"observation": {
"user": { "observeMe": true, "observeOthers": true },
"ai": { "observeMe": true, "observeOthers": true }
}
}
或者使用简写预设:
| 预设 | 用户 | AI | 使用场景 |
|---|---|---|---|
"directional"(默认) | 我:开启,他人:开启 | 我:开启,他人:开启 | 多智能体模式,完整记忆保留 |
"unified" | 我:开启,他人:关闭 | 我:关闭,他人:开启 | 单智能体模式,仅用户建模 |
在 Honcho 控制面板 中进行的设置会在会话启动时同步回来——服务器端配置优先于本地默认设置。
会话
会话是消息和观察结果存储的作用范围。策略选项如下:
| 策略 | 行为 |
|---|---|
per-directory(默认) | 每个工作目录对应一个会话 |
per-repo | 每个 Git 仓库根目录对应一个会话 |
per-session | 每次运行 Hermes 都创建新的 Honcho 会话 |
global | 所有目录共享同一个会话 |
可手动覆盖:hermes honcho map my-project-name
回忆模式
智能体访问 Honcho 内存的方式:
| 模式 | 是否自动注入上下文? | 是否可用工具? | 使用场景 |
|---|---|---|---|
hybrid(默认) | 是 | 是 | 由智能体决定何时使用工具而非自动上下文 |
context | 是 | 否(隐藏) | 流量消耗极低,无需调用工具 |
tools | 否 | 是 | 智能体可自主控制所有内存访问 |
三个相互独立的调节参数
Honcho 的辩证推理行为由三个独立维度控制。调整其中一个参数不会影响其他参数:
频率(何时)
控制辩证推理与上下文调用发生的频率。
| 参数键 | 默认值 | 描述 |
|---|---|---|
contextCadence | 1 | 上下文 API 调用之间的最小轮次间隔 |
dialecticCadence | 2 | 辩证推理 API 调用之间的最小轮次间隔,建议值为 1–5 |
injectionFrequency | every-turn | 基础上下文注入方式为 every-turn 或 first-turn |
较高的频率值意味着辩证推理 LLM 的调用频率会降低。dialecticCadence: 2 表示每隔一轮才触发一次辩证推理;设置为 1 则每轮都会触发。
深度(多少轮)
控制 Honcho 对每个查询执行多少轮辩证推理。
| 参数键 | 默认值 | 范围 | 描述 |
|---|---|---|---|
dialecticDepth | 1 | 1-3 | 每个查询的辩证推理轮数 |
dialecticDepthLevels | – | 数组 | 可选参数,用于为每轮设置不同的深度级别(见下文) |
dialecticDepth: 2 表示 Honcho 会执行两轮辩证推理。第一轮生成初步答案,第二轮则对其进一步优化。
dialecticDepthLevels 允许您分别为每一轮设置独立的推理深度:
{
"dialecticDepth": 3,
"dialecticDepthLevels": ["low", "medium", "high"]
}
如果未指定 dialecticDepthLevels,则各轮推理将采用基于 dialecticReasoningLevel(即基础级别)计算出的按比例分配的深度层级:
| 深度层级 | 迭代次数 |
|---|---|
| 1 | [基础] |
| 2 | [最小, 基础] |
| 3 | [最小, 基础, 低] |
这样一来,前几轮的推理成本较低,而最终合成阶段则会使用最大深度。
**会话启动时的深度设置。**在第一步输入之前,会话启动预热阶段会在后台执行完整配置的 dialecticDepth 次数。在对新的智能体进行单次迭代预热时,通常只能得到较为简略的输出——而多迭代预热则会在用户发出指令前完成多次审核/对齐流程。第一步会直接使用预热结果;如果预热未能及时完成,第一步则会回退为带有时间限制的同步调用。
级别(难度强度)
用于控制每轮辩证推理的强度。
| 参数键 | 默认值 | 描述 |
|---|---|---|
dialecticReasoningLevel | low | 可选值为 minimal、low、medium、high、max |
dialecticDynamic | true | 当设置为 true 时,模型可以将 reasoning_level 参数传递给 honcho_reasoning,从而覆盖每次调用的默认设置。设置为 false 时,则始终使用 dialecticReasoningLevel,模型设置的参数将被忽略 |
更高的级别能够生成更丰富的合成结果,但会在 Honcho 后端消耗更多计算资源。
多配置文件设置
每个 Hermes 配置文件都会拥有独立的 Honcho AI 智能体,同时共享同一个工作空间(用户上下文)。这意味着:
- 所有配置文件看到的都是相同的用户信息
- 每个配置文件会构建属于自己的 AI 身份及观察结果
- 一个配置文件生成的结论可通过共享工作空间被其他配置文件查看
创建带有 Honcho 智能体的配置文件
hermes profile create coder --clone
# creates host block hermes.coder, AI peer "coder", inherits config from default
--clone 参数在 Honcho 中的作用:
- 在
honcho.json文件中创建一个hermes.coder主机配置块; - 设置
aiPeer: "coder"(即对应的配置文件名称); - 沿用默认值设置
workspace、peerName、writeFrequency、recallMode等参数; - 立即在 Honcho 中创建该对应节点,确保在接收第一条消息之前该节点就已存在。
补充现有配置文件
hermes honcho sync # creates host blocks for all profiles that don't have one yet
每个配置文件的独立设置
可覆盖主机块中的任何配置项:
{
"hosts": {
"hermes.coder": {
"aiPeer": "coder",
"recallMode": "tools",
"dialecticDepth": 2,
"observation": {
"user": { "observeMe": true, "observeOthers": false },
"ai": { "observeMe": true, "observeOthers": true }
}
}
}
}
工具
该智能体拥有 5 个双向 Honcho 工具(在“上下文回忆”模式下会隐藏):
| 工具 | 是否调用 LLM? | 成本 | 适用场景 |
|---|---|---|---|
honcho_profile | 否 | 极低 | 对话开始时快速获取事实概览,或快速查询姓名/角色/偏好设置 |
honcho_search | 否 | 低 | 获取特定的历史事实以便自行推理——仅返回原始内容,不进行整合 |
honcho_context | 否 | 低 | 完整的会话上下文快照:摘要、信息呈现形式、对方卡片以及最新消息 |
honcho_reasoning | 是 | 中高 | 由 Honcho 的辩证推理引擎将自然语言问题转化为可处理的形式 |
honcho_conclude | 否 | 极低 | 编写或删除持久性结论;若需 AI 自我认知,可传入 peer: "ai" |
honcho_profile
读取或更新对方卡片——即精心整理的关键信息(姓名、角色、偏好、沟通风格)。如需更新,请传入 card: [...];如仅需读取则无需传入该参数。此操作不会调用 LLM。
honcho_search
在存储的上下文中对特定对方进行语义搜索。返回按相关性排序的原始内容片段,不进行整合处理。默认长度为 800 个标记,最大为 2000 个。当您需要特定的历史事实以便自行推理而非获取整合后的答案时,此工具非常适用。
honcho_context
来自 Honcho 的完整会话上下文快照——包括会话摘要、对方信息呈现形式、对方卡片以及最新消息。此操作不会调用 LLM。当您希望一次性查看 Honcho 对当前会话及对方的全部了解时,可使用此工具。
honcho_reasoning
由 Honcho 的辩证推理引擎回答自然语言问题(在 Honcho 的后端调用 LLM)。成本较高,但输出质量更好。可通过传入 reasoning_level 参数控制推理深度:minimal(快速/低成本)→ low → medium → high → max(深入全面)。若不传入该参数,则使用默认设置(low)。此工具可用于深入理解用户的模式、目标或当前状态。
honcho_conclude
编写或删除关于某方的持久性结论。如需创建结论,请传入 conclusion: "...";如需删除结论(用于移除个人身份信息——Honcho 会逐步自动修正错误的结论,因此仅当涉及个人敏感信息时才需要手动删除),请传入 delete_id: "..."。必须恰好传入这两个参数中的一个。
双向对方目标指定
这 5 个工具均支持可选的 peer 参数:
peer: "user"(默认值)——针对用户方对方操作peer: "ai"——针对当前配置文件中的 AI 对方操作peer: "<explicit-id>"——工作空间中的任意对方 ID
示例:
honcho_profile # read user's card
honcho_profile peer="ai" # read AI peer's card
honcho_reasoning query="What does this user care about most?"
honcho_reasoning query="What are my interaction patterns?" peer="ai" reasoning_level="medium"
honcho_conclude conclusion="Prefers terse answers"
honcho_conclude conclusion="I tend to over-explain code" peer="ai"
honcho_conclude delete_id="abc123" # PII removal
Agent 使用模式
当 Honcho 内存处于激活状态时,Hermes 的使用指南。
对话开始时
1. honcho_profile → fast warmup, no LLM cost
2. If context looks thin → honcho_context (full snapshot, still no LLM)
3. If deep synthesis needed → honcho_reasoning (LLM call, use sparingly)
请勿在每个对话轮次都调用 honcho_reasoning 函数。自动注入机制已能负责持续更新上下文,只有当基础上下文无法提供所需的信息,且确实需要通过推理工具生成综合见解时,才应使用该功能。
当用户要求记住某些内容时
honcho_conclude conclusion="<specific, actionable fact>"
优秀结论示例:“更倾向于使用代码示例而非文字说明”,“截至2026年4月仍在从事Rust异步项目开发”
较差结论示例:“用户提到了Rust”(过于模糊),“用户似乎具备技术背景”(该信息已体现在用户画像中)
honcho_search query="<topic>" → fast, no LLM, good for specific facts
honcho_context → full snapshot with summary + messages
honcho_reasoning query="<question>" → synthesized answer, use when search isn't enough
何时使用 peer: "ai"
可使用 AI 对等体功能来构建并查询智能体自身的自我认知信息:
honcho_conclude conclusion="I tend to be verbose when explaining architecture" peer="ai"—— 自我修正honcho_reasoning query="How do I typically handle ambiguous requests?" peer="ai"—— 自我审计honcho_profile peer="ai"—— 查看自身的身份信息
何时不应调用工具
在 hybrid 和 context 模式下,基础上下文(用户描述 + 身份卡 + 会话摘要)会在每一轮对话开始前自动注入。无需重复获取已注入的内容。仅在以下情况才需调用工具:
- 需要基础上下文所不具备的信息
- 用户明确要求你调取或检查记忆内容
- 需要针对新内容撰写结论时
节奏控制意识
在工具端使用的 honcho_reasoning 功能与自动注入的推理过程成本相同。在明确调用工具之后,自动注入的节奏会重新开始计算——从而避免在同一轮对话中重复计费。
配置参考
配置文件位置:`$