Хончо Память
Honcho — это собственный бэкенд памяти AI, который включает диалектическое рассуждение и более глубокое моделирование пользователей на поверхности встроенной системы памяти Hermes. Вместо простого хранения ключа-значения, Honcho поддерживает текущую модель того, кто такой пользователь — его предпочтения, стиль общения, цели и модели — анализируя разговоры после их завершения.
ℹ️ Info
Honcho — это подключение памяти провайдера Honcho интеграция в систему Провайдеров памяти. Все перечисленные ниже функции доступны через единый интерфейс провайдера памяти.Что добавлено, Хончо
| Возможность | Встроенная память | Хончо |
|---|---|---|
| Персистентность между сессиями | ✔ Файловая MEMORY.md/USER.md | ✔ Серверная сторона с API |
| Профиль пользователя | ✔ Ручная курация агентом | ✔ Автоматическое диалектическое рассуждение |
| Сводка сессии | — | ✔ Внедрение контекста, ограниченной сессии |
| Изоляция мультиагентов | — | ✔ Разделение профилей по пирамидам |
| Режимы наблюдения | — | ✔ Унифицированное или направленное наблюдение |
| Выводы (производные инсайты) | — | ✔ Серверное рассуждение о шаблонах |
| Поиск по истории | ✔ FTS5 поиск по сессиям | ✔ Семантический поиск по выводам |
Диалектическое рассуждение: После каждого шага разговора (в соответствии с dialecticCadence) Honcho анализирует обмен и делает выводы о предпочтениях, привычках и целях пользователя. Они накапливаются в течение определенного времени, позволяя агенту все более глубокое понимание, выходящее за рамки, четко определенные пользователем. Диалектика поддержки многошаговой передачи (шаг 1–3) с автоматическим выбором холодного/тёплого запроса — холодные запросы фокусируются на основе статистики фактов о пользователе, мягкие запросы отдают приоритет контексту сессии.
Контекст, ограниченная сессия: Базовый контекст теперь включает сводку сеанса вместе с представлениями пользователя и карточкой пира. Это дает агенту осведомленность о том, что уже обсуждалось в текущей сессии, о сокращении повторений и достижении преемственности.
Мультиагентные профили: Когда несколько экземпляров Hermes общаются с одним и тем же пользователем (например, помощником по кодированию и личным помощником), Honcho поддерживает профили «пиров». Каждый видит только свои наблюдения и выводы, предотвращающие перекрёстное загрязнение окружающей среды.
Настройка
hermes memory setup # выберите "honcho" из списка провайдеров
Или настройте вручную:
# ~/.hermes/config.yaml
memory:
provider: honcho
echo 'HONCHO_API_KEY=***' >> ~/.hermes/.env
Получите API-ключ на honcho.dev.
Архитектура
Двухуровневое внедрение контекста
Каждый шаг (в режиме hybrid или context) Honcho собирает два слоя контекста, внедряемых в системный промпт:
- Базовый контекст — сводка сессии, представление пользователя, карточка пира пользователя, самопредставление AI и идентификационная карточка AI. Обновляется в соответствии с
contextCadence. Это слой "кто этот пользователь". - Диалектическое дополнение — сгенерированное LLM рассуждение о текущем состоянии и потребностях пользователя. Обновляется в соответствии с
dialecticCadence. Это слой "что важно прямо сейчас".
Оба слоя объединяются и обрезаются до бюджета contextTokens (если установлен).
Выбор холодного/тёплого промпта
Диалектика автоматически выбирает между двумя стратегиями промптов:
- Холодный старт (базовый контекст ещё не получен): Общий запрос — "Кто этот человек? Каковы его предпочтения, цели и стиль работы?"
- Тёплая сессия (базовый контекст существует): Запрос, ограниченный сессией — "Учитывая то, что обсуждалось в этой сессии, какой контекст об этом пользователе наиболее актуален?"
Это происходит автоматически, в зависимости от того, заполнен ли базовый контекст.
Три ортогональных параметра настройки
Стоимость и глубина контролируются тремя независимыми параметрами:
| Параметр | Контролирует | По умолчанию |
|---|---|---|
contextCadence |
Шаги между вызовами context() API (обновление базового слоя) |
1 |
dialecticCadence |
Шаги между вызовами LLM peer.chat() (обновление диалектического слоя) |
2 (рекомендуется 1–5) |
dialecticDepth |
Количество проходов .chat() за один вызов диалектики (1–3) |
1 |
Они ортогональны — вы можете иметь частые обновления контекста с редкой диалектикой или глубокую многопроходную диалектику с низкой частотой. Пример: contextCadence: 1, dialecticCadence: 5, dialecticDepth: 2 обновляет базовый контекст каждый шаг, запускает диалектику каждые 5 шагов, и каждый запуск диалектики делает 2 прохода.
Глубина диалектики (многопроходная)
Когда dialecticDepth > 1, каждый вызов диалектики выполняет несколько проходов .chat():
- Проход 0: Холодный или тёплый промпт (см. выше)
- Проход 1: Самоаудит — выявляет пробелы в первоначальной оценке и синтезирует свидетельства из недавних сессий
- Проход 2: Согласование — проверяет противоречия между предыдущими проходами и выдаёт итоговый синтез
Каждый проход использует пропорциональный уровень рассуждения (более лёгкие ранние проходы, базовый уровень для основного прохода). Переопределите уровни для каждого прохода с помощью dialecticDepthLevels — например, ["minimal", "low", "high"] для глубины 3. Проходы завершаются досрочно, если предыдущий проход вернул сильный сигнал (длинный, структурированный вывод), так что глубина 3 не всегда означает 3 вызова LLM.
Предварительный прогрев при старте сессии
При инициализации сессии Honcho запускает диалектический вызов в фоне на полной настроенной dialecticDepth и передаёт результат непосредственно в контекст сборки первого шага. Однопроходный предварительный прогрев на холодном пире часто даёт скудный вывод — многошаговая глубина запускает цикл аудита/согласования до того, как пользователь вообще заговорит. Если предварительный прогрев не завершился к первому шагу, первый шаг переключается на синхронный вызов с ограниченным таймаутом.
Адаптивный уровень рассуждения в зависимости от запроса
Автоматически внедряемая диалектика масштабирует dialecticReasoningLevel в зависимости от длины запроса: +1 уровень при ≥120 символах, +2 при ≥400, с ограничением до reasoningLevelCap (по умолчанию "high"). Отключите с помощью reasoningHeuristic: false, чтобы зафиксировать все автоматические вызовы на уровне dialecticReasoningLevel. Доступные уровни: minimal, low, medium, high, max.
Параметры конфигурации
Honcho настраивается в ~/.honcho/config.json (глобальном) или $HERMES_HOME/honcho.json (локальном для профиля). Мастер настройки делает это автоматически.
Полный справочник конфигурации
| Ключ | По умолчанию | Описание |
|---|---|---|
contextTokens |
null (без ограничения) |
Бюджет токенов для автоматически внедряемого контекста на один шаг. Установите целое число (например, 1200) для ограничения. Обрезается по границам слов |
contextCadence |
1 |
Минимальное количество шагов между вызовами context() API (обновление базового слоя) |
dialecticCadence |
2 |
Минимальное количество шагов между вызовами LLM peer.chat() (диалектический слой). Рекомендуется 1–5. В режиме tools неактуально — модель вызывает явно |
dialecticDepth |
1 |
Количество проходов .chat() за один вызов диалектики. Ограничено 1–3 |
dialecticDepthLevels |
null |
Опциональный массив уровней рассуждения для каждого прохода, например, ["minimal", "low", "medium"]. Переопределяет пропорциональные значения по умолчанию |
dialecticReasoningLevel |
'low' |
Базовый уровень рассуждения: minimal, low, medium, high, max |
dialecticDynamic |
true |
Если true, модель может переопределять уровень рассуждения для каждого вызова через параметр инструмента |
dialecticMaxChars |
600 |
Максимальное количество символов результата диалектики, внедряемого в системный промпт |
recallMode |
'hybrid' |
hybrid (автовнедрение + инструменты), context (только внедрение), tools (только инструменты) |
writeFrequency |
'async' |
Когда сбрасывать сообщения: async (фоновый поток), turn (синхронно), session (пакетно при завершении) или целое число N |
saveMessages |
true |
Сохранять ли сообщения в API Honcho |
observationMode |
'directional' |
directional (все включено) или unified (общий пул). Переопределите с помощью объекта observation для детального контроля |
messageMaxChars |
25000 |
Максимальное количество символов на сообщение, отправляемое через add_messages(). Если превышено, разбивается на части |
dialecticMaxInputChars |
10000 |
Максимальное количество символов для входного запроса диалектики в peer.chat() |
sessionStrategy |
'per-directory' |
per-directory, per-repo, per-session или global |
Стратегия сессии определяет, как сессии Honcho соотносятся с вашей работой:
- per-session — каждый запуск hermes получает новую сессию. Чистый старт, память через инструменты. Рекомендуется для новых пользователей.
- per-directory — одна сессия Honcho на рабочую директорию. Контекст накапливается между запусками.
- per-repo — одна сессия на git-репозиторий.
- global — единая сессия для всех директорий.
Режим извлечения определяет, как память поступает в разговоры:
- hybrid — контекст автоматически внедряется в системный промпт, И инструменты доступны (модель решает, когда запрашивать).
- context — только автоматическое внедрение, инструменты скрыты.
- tools — только инструменты, без автоматического внедрения. Агент должен явно вызывать honcho_reasoning, honcho_search и т.д.
Настройки для каждого режима извлечения:
| Настройка | hybrid |
context |
tools |
|---|---|---|---|
writeFrequency |
сбрасывает сообщения | сбрасывает сообщения | сбрасывает сообщения |
contextCadence |
управляет обновлением базового контекста | управляет обновлением базового контекста | неактуально — без внедрения |
dialecticCadence |
управляет автоматическими вызовами LLM | управляет автоматическими вызовами LLM | неактуально — модель вызывает явно |
dialecticDepth |
многопроходная за вызов | многопроходная за вызов | неактуально — модель вызывает явно |
contextTokens |
ограничивает внедрение | ограничивает внедрение | неактуально — без внедрения |
dialecticDynamic |
управляет переопределением модели | Н/Д (нет инструментов) | управляет переопределением модели |
В режиме tools модель полностью контролирует ситуацию — она вызывает honcho_reasoning, когда хочет, на выбранном ею уровне reasoning_level. Настройки каденции и бюджета применяются только к режимам с автоматическим внедрением (hybrid и context).
Наблюдение (направленное или унифицированное)
Honcho моделирует разговор как обмен сообщениями между пирами. У каждого пира есть два переключателя наблюдения, которые сопоставляются 1:1 с SessionPeerConfig в Honcho:
| Переключатель | Эффект |
|---|---|
observeMe |
Honcho строит представление этого пира на основе его собственных сообщений |
observeOthers |
Этот пир наблюдает сообщения другого пира (питает межпировое рассуждение) |
Два пира × два переключателя = четыре флага. observationMode — это сокращённый предустановленный набор:
| Предустановка | Флаги пользователя | Флаги AI | Семантика |
|---|---|---|---|
"directional" (по умолчанию) |
me: вкл, others: вкл | me: вкл, others: вкл | Полное взаимное наблюдение. Включает межпировую диалектику — "что AI знает о пользователе на основе того, что сказал пользователь и что ответил AI." |
"unified" |
me: вкл, others: выкл | me: выкл, others: вкл | Семантика общего пула — AI наблюдает только сообщения пользователя, пир пользователя моделирует только себя. Один пул наблюдателей. |
Переопределите предустановку с помощью явного блока observation для контроля за каждым пиром:
"observation": {
"user": { "observeMe": true, "observeOthers": true },
"ai": { "observeMe": true, "observeOthers": false }
}
Распространённые узоры:
| Намерение | Конфигурация |
|---|---|
| Полное наблюдение (большинство пользователей) | "observationMode": "направленный" |
| AI не должен перенастраивать модель пользователя из своих нормальных ответов | "ai": {"observeMe": true, "observeOthers": false} |
| Сильная персона, AI-пир, который не должен обновлять из самонаблюдения | "ai": {"observeMe": false, "observeOthers": true} |
Переключатели на стороне сервера, установленные через панель Honcho, имеют приоритет над локальными настройками — Hermes синхронизирует их обратно при инициализации сессии.
Инструменты
Когда Honcho активен в качестве провайдера памяти, становятся доступными пять инструментов:
| Инструмент | Назначение |
|---|---|
honcho_profile |
Прочитать или обновить карточку пирата — передайте card (список фактов) для обновления, пропустите для чтения |
honcho_search |
Семантический поиск по контексту — сырые выдержки, без синтеза LLM |
honcho_context |
Полный контекст сессии — сводка, представление, карточка, последние сообщения |
honcho_reasoning |
Синтезированный ответ от LLM Honcho — передайте reasoning_level (минимальный/низкий/средний/высокий/макс) для управления глубиной |
honcho_conclude |
Создать или удалить выводы — передайте заключение для создания, delete_id для удаления (только PII) |
Команды CLI
Подкоманда hermes honcho регистрируется только тогда, когда Honcho является активным провайдером памяти (memory.provider: honcho в config.yaml). Сначала выполните настройку памяти Hermes и выберите Honcho; подкоманда готовится при следующем вызове.
hermes honcho status # Статус подключения, конфигурация и ключевые настройки
hermes honcho setup # Перенаправляет на `hermes memory setup`
hermes honcho strategy # Показать или установить стратегию сессии (per-session/per-directory/per-repo/global)
hermes honcho peer # Показать или обновить имена пиров + уровень диалектического рассуждения
hermes honcho mode # Показать или установить режим извлечения (hybrid/context/tools)
hermes honcho tokens # Показать или установить бюджет токенов для контекста и диалектики
hermes honcho identity # Заполнить или показать идентичность AI-пира в Honcho
hermes honcho sync # Синхронизировать конфигурацию Honcho для всех существующих профилей
hermes honcho peers # Показать идентичности пиров во всех профилях
hermes honcho sessions # Список известных сопоставлений сессий Honcho
hermes honcho map # Сопоставить текущую директорию с именем сессии Honcho
hermes honcho enable # Включить Honcho для активного профиля
hermes honcho disable # Отключить Honcho для активного профиля
hermes honcho migrate # Пошаговое руководство по миграции из openclaw-honcho
Миграция из hermes honcho
Если вы ранее использовали автономную hermes honcho setup:
- Ваша существующая конфигурация (
honcho.jsonили~/.honcho/config.json) сохраняется. - Ваши данные на стороне сервера (воспоминания, выводы, профили пользователей) остаются нетронутыми.
- Установите
memory.provider: honchoв config.yaml для реактивации.
Повторный вход в систему или перенастройка не требуются. Выполните «Настройка памяти Hermes» и выберите «Honcho» — мастер создания вашей существующей конфигурации.
Полная документация
См. Провайдеры памяти — Honcho для полного справочника.