sidebar_position: 99 title: "Honcho Memory" description: "AI-native persistent memory via Honcho — dialectic reasoning, multi-agent user modeling, and deep personalization" lang: ru
Хончо Память
Honcho — это встроенная система памяти с искусственным интеллектом, которая добавляет диалектические рассуждения и глубокое моделирование пользователей поверх встроенной системы памяти Hermes. Вместо простого хранилища ключей-значений Honcho поддерживает действующую модель того, кем является пользователь — его предпочтения, стиль общения, цели и шаблоны — путем рассуждения о разговорах после того, как они произошли.
ℹ️ Info
Honcho — плагин поставщика памяти Honcho интегрирован в систему [Поставщики памяти](./memory-providers.md). Все приведенные ниже функции доступны через единый интерфейс поставщика памяти.Что добавляет Хончо
| Возможность | Встроенная память | Хончо |
|---|---|---|
| Межсессионное постоянство | ✔ Файловый MEMORY.md/USER.md | ✔ Серверная часть с API |
| Профиль пользователя | ✔ Ручное курирование агента | ✔ Автоматическое диалектическое рассуждение |
| Итоги сессии | — | ✔ Внедрение контекста на уровне сеанса |
| Мультиагентная изоляция | — | ✔ Разделение профилей по узлам |
| Режимы наблюдения | — | ✔ Единое или направленное наблюдение |
| Выводы (полученная информация) | — | ✔ Рассуждения о шаблонах на стороне сервера |
| Поиск по истории | ✔ Поиск сеанса FTS5 | ✔ Семантический поиск по выводам |
Диалектическое рассуждение: после каждого хода разговора (контролируемого dialecticCadence) Honcho анализирует диалог и получает представление о предпочтениях, привычках и целях пользователя. Со временем они накапливаются, давая агенту более глубокое понимание, выходящее за рамки того, что явно заявил пользователь. Диалектика поддерживает глубину нескольких проходов (1–3 прохода) с автоматическим выбором холодного/теплого приглашения — запросы холодного запуска фокусируются на общих фактах пользователя, в то время как теплые запросы отдают приоритет контексту в области сеанса.
Контекст на уровне сеанса. Базовый контекст теперь включает сводку сеанса наряду с представлением пользователя и карточкой узла. Это дает агенту представление о том, что уже обсуждалось в текущем сеансе, уменьшая повторение и обеспечивая непрерывность.
Мультиагентные профили: когда несколько экземпляров Hermes общаются с одним и тем же пользователем (например, помощник по кодированию и личный помощник), Honcho поддерживает отдельные «одноранговые» профили. Каждый партнер видит только свои собственные наблюдения и выводы, предотвращая перекрестное загрязнение контекста.
Настройка
hermes memory setup # select "honcho" from the provider list
Или настроить вручную:
# ~/.hermes/config.yaml
memory:
provider: honcho
echo "HONCHO_API_KEY=*** >> ~/.hermes/.env
Получите ключ API на honcho.dev.
Архитектура
Двухуровневое внедрение контекста
Каждый ход (в режиме hybrid или context) Honcho собирает два уровня контекста, вводимые в системное приглашение:
- Базовый контекст — сводка сеанса, представление пользователя, карта однорангового пользователя, самопредставление ИИ и удостоверение личности ИИ. Обновлено
contextCadence. Это уровень «кто этот пользователь». - Диалектическое дополнение — LLM-синтезированные рассуждения о текущем состоянии и потребностях пользователя. Обновлено
dialecticCadence. Это слой «что важно сейчас».
Оба слоя объединяются и усекаются до бюджета contextTokens (если он установлен).
Выбор холодного/теплого приглашения
Диалектика автоматически выбирает между двумя стратегиями подсказки:
- Холодный старт (пока нет базового контекста): Общий запрос — «Кто этот человек? Каковы его предпочтения, цели и стиль работы?»
- Теплый сеанс (базовый контекст существует): запрос на уровне сеанса: «Учитывая то, что уже обсуждалось в этом сеансе, какой контекст об этом пользователе наиболее актуален?»
Это происходит автоматически в зависимости от того, был ли заполнен базовый контекст.
Три ортогональные ручки конфигурации
Стоимость и глубина контролируются тремя независимыми ручками:
| Ручка | Элементы управления | По умолчанию |
|---|---|---|
contextCadence |
Переключение между вызовами context() API (обновление базового уровня) |
1 |
dialecticCadence |
Повороты между вызовами peer.chat() LLM (обновление диалектического слоя) |
2 (рекомендуется 1–5) |
dialecticDepth |
Количество проходов .chat() за диалектический вызов (1–3) |
1 |
Они ортогональны — у вас могут быть частые обновления контекста с нечастой диалектикой или глубокая многопроходная диалектика с низкой частотой. Пример: contextCadence: 1, dialecticCadence: 5, dialecticDepth: 2 обновляет базовый контекст каждый ход, запускает диалектику каждые 5 ходов, и каждый запуск диалектики делает 2 прохода.
Диалектическая глубина (многопроходной)
Когда dialecticDepth > 1, каждый диалектический вызов выполняет несколько проходов .chat():
- Пройти 0: подсказка о холодном или теплом режиме (см. выше).
- Этап 1: Самоаудит — выявляет пробелы в первоначальной оценке и обобщает данные недавних сессий.
- Этап 2: Согласование: проверяется наличие противоречий между предыдущими проходами и выдается окончательный синтез.
В каждом проходе используется пропорциональный уровень рассуждения (более легкие ранние проходы, базовый уровень для основного прохода). Переопределите уровни каждого прохода с помощью dialecticDepthLevels — например, ["minimal", "medium", "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 |
Минимальные обороты между вызовами peer.chat() LLM (диалектический слой). Рекомендуется 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 |
Сохранять ли сообщения в Honcho API |
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 |
обновление контекста базы Gates | обновление контекста базы Gates | не имеет значения — инъекций нет |
dialecticCadence |
Gates Auto LLM звонит | Gates Auto LLM звонит | не имеет значения — модель вызывает явно |
dialecticDepth |
многопроходной вызов для каждого вызова | многопроходной вызов для каждого вызова | не имеет значения — модель вызывает явно |
contextTokens |
колпачки для инъекций | колпачки для инъекций | не имеет значения — инъекций нет |
dialecticDynamic |
переопределение модели ворот | Н/Д (без инструментов) | переопределение модели ворот |
В режиме tools модель полностью контролирует ситуацию — она вызывает honcho_reasoning, когда захочет, и по любому адресу reasoning_level, который она выберет. Настройки частоты вращения педалей и бюджета применяются только к режимам с автоматическим внедрением (hybrid и context).
Наблюдение (направленное или единое)
Honcho моделирует разговор, когда участники обмениваются сообщениями. У каждого узла есть два переключателя наблюдения, которые соответствуют 1:1 SessionPeerConfig Honcho:
| Переключить | Эффект |
|---|---|
observeMe |
Honcho строит представление этого узла на основе своих сообщений |
observeOthers |
Этот узел наблюдает за сообщениями другого узла (поддерживает рассуждения между узлами) |
Два узла × два переключателя = четыре флага. observationMode — это сокращенная предустановка:
| Предустановленные | Флаги пользователей | Флаги AI | Семантика |
|---|---|---|---|
"directional" (по умолчанию) |
я: вкл, другие: вкл | я: вкл, другие: вкл | Полное взаимное наблюдение. Включает перекрестную диалектику — «что ИИ знает о пользователе на основе того, что сказал пользователь и что ИИ ответил». |
"unified" |
я: вкл, другие: выкл | я: выкл., другие: вкл. | Семантика общего пула — ИИ наблюдает только за сообщениями пользователя, а одноранговый узел пользователя моделирует только себя. Пул с одним наблюдателем. |
Переопределите предустановку с помощью явного блока observation для индивидуального управления:
"observation": {
"user": { "observeMe": true, "observeOthers": true },
"ai": { "observeMe": true, "observeOthers": false }
}
Общие шаблоны:
| Намерение | Конфигурация |
|---|---|
| Полное наблюдение (большинство пользователей) | "observationMode": "directional" |
| ИИ не должен переделывать пользователя на основе его собственных ответов | "ai": {"observeMe": true, "observeOthers": false} |
| Сильная личность, которую ИИ-сверстник не должен обновлять на основе самонаблюдения | "ai": {"observeMe": false, "observeOthers": true} |
Переключатели на стороне сервера, установленные через панель управления Honcho, имеют преимущество над локальными настройками по умолчанию — Hermes синхронизирует их обратно при инициализации сеанса.
Инструменты
Когда Honcho активен в качестве поставщика памяти, становятся доступны пять инструментов:
| Инструмент | Цель |
|---|---|
honcho_profile |
Чтение или обновление карты партнера — для обновления передайте card (список фактов), для чтения пропустите |
honcho_search |
Семантический поиск по контексту — необработанные выдержки, без синтеза LLM |
honcho_context |
Полный контекст сеанса — сводка, представление, карточка, последние сообщения |
honcho_reasoning |
Синтезированный ответ от LLM Хончо — передайте reasoning_level (минимальный/низкий/средний/высокий/макс) для контроля глубины |
honcho_conclude |
Создание или удаление заключений — для создания введите conclusion, для удаления delete_id (только для идентификации) |
Команды CLI
hermes honcho status # Connection status, config, and key settings
hermes honcho setup # Interactive setup wizard
hermes honcho strategy # Show or set session strategy
hermes honcho peer # Update peer names for multi-agent setups
hermes honcho mode # Show or set recall mode
hermes honcho tokens # Show or set context token budget
hermes honcho identity # Show Honcho peer identity
hermes honcho sync # Sync host blocks for all profiles
hermes honcho enable # Enable Honcho
hermes honcho disable # Disable Honcho
Миграция с hermes honcho
Если вы ранее использовали автономный hermes honcho setup:
- Ваша существующая конфигурация (
honcho.jsonили~/.honcho/config.json) сохраняется. - Ваши серверные данные (воспоминания, выводы, профили пользователей) нетронуты.
- Установите
memory.provider: honchoв config.yaml для повторной активации.
Повторный вход или повторная настройка не требуются. Запустите hermes memory setup и выберите «honcho» — мастер определит ваш существующий конфиг.
Полная документация
Полную информацию см. в разделе Поставщики памяти — Honcho.