Хончо Память

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 собирает два слоя контекста, внедряемых в системный промпт:

  1. Базовый контекст — сводка сессии, представление пользователя, карточка пира пользователя, самопредставление AI и идентификационная карточка AI. Обновляется в соответствии с contextCadence. Это слой "кто этот пользователь".
  2. Диалектическое дополнение — сгенерированное 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():

Каждый проход использует пропорциональный уровень рассуждения (более лёгкие ранние проходы, базовый уровень для основного прохода). Переопределите уровни для каждого прохода с помощью 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:

  1. Ваша существующая конфигурация (honcho.json или ~/.honcho/config.json) сохраняется.
  2. Ваши данные на стороне сервера (воспоминания, выводы, профили пользователей) остаются нетронутыми.
  3. Установите memory.provider: honcho в config.yaml для реактивации.

Повторный вход в систему или перенастройка не требуются. Выполните «Настройка памяти Hermes» и выберите «Honcho» — мастер создания вашей существующей конфигурации.

Полная документация

См. Провайдеры памяти — Honcho для полного справочника.