Перейти к содержанию

Honcho

На этой странице Honcho — это AI-native бэкенд для памяти, который добавляет диалектическое рассуждение и глубокое моделирование пользователей поверх встроенной системы памяти Hermes. Вместо простого хранения ключ-значение Honcho поддерживает текущую модель того, кто такой пользователь — его предпочтения, стиль общения, цели и паттерны — путём анализа разговоров после их завершения. Honcho — это плагин для провайдера памяти Honcho интегрирован в систему Провайдеров памяти. Все функции, описанные ниже, доступны через унифицированный интерфейс провайдера памяти.

Что добавляет Honcho

Возможность Встроенная память Honcho
Постоянство между сессиями ✔ Файловая MEMORY.md/USER.md ✔ Серверная с API
Профиль пользователя ✔ Ручная курация агентом ✔ Автоматическое диалектическое рассуждение
Сводка сессии ✔ Внедрение контекста в рамках сессии
Изоляция между агентами ✔ Разделение профилей по peer'ам
Режимы наблюдения ✔ Унифицированное или направленное наблюдение
Выводы (производные инсайты) ✔ Серверное рассуждение о паттернах
Поиск по истории ✔ FTS5-поиск по сессиям ✔ Семантический поиск по выводам
Диалектическое рассуждение : После каждого оборота разговора (по таймеру dialecticCadence) Honcho анализирует обмен и делает выводы о предпочтениях, привычках и целях пользователя. Они накапливаются со временем, давая агенту углублённое понимание, которое выходит за рамки того, что пользователь явно указал. Диалектика поддерживает многопроходную глубину (1–3 прохода) с автоматическим выбором холодного/тёплого промпта — холодные стартовые запросы фокусируются на общих фактах о пользователе, в то время как тёплые запросы отдают приоритет контексту сессии.
Контекст сессии : Базовый контекст теперь включает сводку сессии вместе с представлением пользователя и карточкой peer'а. Это даёт агенту понимание того, что уже обсуждалось в текущей сессии, уменьшая повторения и обеспечивая непрерывность.
Мультиагентные профили : Когда несколько экземпляров Hermes общаются с одним пользователем (например, ассистент по коду и личный ассистент), Honcho поддерживает отдельные профили «peer». Каждый peer видит только свои наблюдения и выводы, предотвращая перекрёстное загрязнение контекста.
## Настройка
[code]
hermes memory setup # выберите "honcho" из списка провайдеров

[/code] Или настройте вручную: [code] # ~/.hermes/config.yaml
memory:
provider: honcho

[/code] [code] echo "HONCHO_API_KEY=*** >> ~/.hermes/.env

[/code] Получите API-ключ на honcho.dev.

Архитектура

Двухслойное внедрение контекста

Каждый оборот (в режиме hybrid или context) Honcho собирает два слоя контекста, внедряемых в системный промпт: 1. Базовый контекст — сводка сессии, представление пользователя, карточка peer'а пользователя, самопредставление AI и идентификационная карточка AI. Обновляется по contextCadence. Это слой «кто этот пользователь». 2. Диалектическое дополнение — синтезированные LLM рассуждения о текущем состоянии и потребностях пользователя. Обновляется по dialecticCadence. Это слой «что важно прямо сейчас».

Оба слоя объединяются и обрезаются до бюджета contextTokens (если задан).

Выбор холодного/тёплого промпта

Диалектика автоматически выбирает между двумя стратегиями промптов: * Холодный старт (базового контекста ещё нет): Общий запрос — «Кто этот человек? Каковы его предпочтения, цели и стиль работы?» * Тёплая сессия (базовый контекст существует): Запрос в рамках сессии — «Учитывая то, что обсуждалось в этой сессии, какой контекст об этом пользователе наиболее актуален?»

Это происходит автоматически на основе того, заполнен ли базовый контекст.

Три ортогональных регулятора конфигурации

Стоимость и глубина контролируются тремя независимыми регуляторами: Регулятор| Контролирует| По умолчанию
---|---|---
contextCadence| Обороты между вызовами API context() (обновление базового слоя)| 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", "medium", "high"] для глубины 3. Проходы завершаются досрочно, если предыдущий проход вернул сильный сигнал (длинный структурированный вывод), так что глубина 3 не всегда означает 3 LLM-вызова.

Предварительный прогрев сессии

При инициализации сессии Honcho запускает фоновый диалектический вызов на полной настроенной dialecticDepth и передаёт результат непосредственно в сборку контекста оборота 1. Однопроходный предварительный прогрев на холодном peer'е часто даёт скудный вывод — многопроходная глубина запускает цикл аудита/согласования до того, как пользователь что-либо скажет. Если прогрев не завершился к обороту 1, оборот 1 переходит к синхронному вызову с ограниченным таймаутом.

Адаптивный уровень рассуждения по запросу

Автоматически внедряемая диалектика масштабирует 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 Минимальное количество оборотов между вызовами API context() (обновление базового слоя)
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 Сохранять ли сообщения в 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 — единая сессия для всех директорий.

Режим recall управляет тем, как память поступает в разговоры: * hybrid — контекст автоматически внедряется в системный промпт И инструменты доступны (модель решает, когда запрашивать). * context — только автоматическое внедрение, инструменты скрыты. * tools — только инструменты, без автоматического внедрения. Агент должен явно вызывать honcho_reasoning, honcho_search и т.д.

Настройки для каждого режима recall: Настройка| hybrid| context| tools
---|---|---|---
writeFrequency| сбрасывает сообщения| сбрасывает сообщения| сбрасывает сообщения
contextCadence| управляет обновлением базового контекста| управляет обновлением базового контекста| неактуально — нет внедрения
dialecticCadence| управляет автоматическими LLM-вызовами| управляет автоматическими LLM-вызовами| неактуально — модель вызывает явно
dialecticDepth| многопроходность на вызов| многопроходность на вызов| неактуально — модель вызывает явно
contextTokens| ограничивает внедрение| ограничивает внедрение| неактуально — нет внедрения
dialecticDynamic| управляет переопределением модели| Н/Д (нет инструментов)| управляет переопределением модели
В режиме tools модель полностью контролирует ситуацию — она вызывает honcho_reasoning, когда хочет, на любом выбранном reasoning_level. Настройки каденса и бюджета применяются только к режимам с автоматическим внедрением (hybrid и context).

Наблюдение (направленное vs. унифицированное)

Honcho моделирует разговор как обмен сообщениями между peer'ами. У каждого peer'а есть два переключателя наблюдения, которые сопоставляются 1:1 с SessionPeerConfig Honcho: Переключатель| Эффект
---|---
observeMe| Honcho строит представление этого peer'а на основе его собственных сообщений
observeOthers| Этот peer наблюдает сообщения другого peer'а (питает кросс-peer рассуждение)
Два peer'а × два переключателя = четыре флага. observationMode — это сокращённый пресет: Пресет| Флаги пользователя| Флаги AI| Семантика
---|---|---|---
"directional" (по умолчанию)| me: вкл, others: вкл| me: вкл, others: вкл| Полное взаимное наблюдение. Включает кросс-peer диалектику — «что AI знает о пользователе, исходя из того, что пользователь сказал и что AI ответил.»
"unified"| me: вкл, others: выкл| me: выкл, others: вкл| Семантика общего пула — AI наблюдает только сообщения пользователя, peer пользователя моделирует только себя. Одиночный пул наблюдения.
Переопределите пресет с помощью явного блока observation для контроля на уровне peer'а: [code] "observation": {
"user": { "observeMe": true, "observeOthers": true },
"ai": { "observeMe": true, "observeOthers": false }
}

[/code] Распространённые сценарии: Намерение| Конфигурация
---|---
Полное наблюдение (для большинства пользователей)| "observationMode": "directional"
AI не должен переосмысливать пользователя на основе своих ответов| "ai": {"observeMe": true, "observeOthers": false}
Сильная персона, которую AI peer не должен обновлять из самонаблюдения| "ai": {"observeMe": false, "observeOthers": true}
Серверные переключатели, заданные через панель управления Honcho, имеют приоритет над локальными значениями по умолчанию — Hermes синхронизирует их при инициализации сессии.

Инструменты

Когда Honcho активен в качестве провайдера памяти, становятся доступны пять инструментов: Инструмент| Назначение
---|---
honcho_profile| Чтение или обновление карточки peer'а — передайте card (список фактов) для обновления, опустите для чтения
honcho_search| Семантический поиск по контексту — сырые выдержки, без LLM-синтеза
honcho_context| Полный контекст сессии — сводка, представление, карточка, последние сообщения
honcho_reasoning| Синтезированный ответ от LLM Honcho — передайте reasoning_level (minimal/low/medium/high/max) для контроля глубины
honcho_conclude| Создание или удаление выводов — передайте conclusion для создания, delete_id для удаления (только PII)

CLI-команды

[code] hermes honcho status # Статус подключения, конфигурация и ключевые настройки
hermes honcho setup # Интерактивный мастер настройки
hermes honcho strategy # Показать или установить стратегию сессии
hermes honcho peer # Обновить имена peer'ов для мультиагентных конфигураций
hermes honcho mode # Показать или установить режим recall
hermes honcho tokens # Показать или установить бюджет токенов контекста
hermes honcho identity # Показать идентичность peer'а Honcho
hermes honcho sync # Синхронизировать блоки хостов для всех профилей
hermes honcho enable # Включить Honcho
hermes honcho disable # Отключить Honcho

[/code]

Миграция с hermes honcho

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

Повторный вход или настройка не требуются. Запустите hermes memory setup и выберите «honcho» — мастер обнаружит вашу существующую конфигурацию.

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

См. Провайдеры памяти — Honcho для полного справочника. * Что добавляет Honcho * Настройка * Архитектура * Двухслойное внедрение контекста * Выбор холодного/тёплого промпта * Три ортогональных регулятора конфигурации * Глубина диалектики (многопроходная) * Предварительный прогрев сессии * Адаптивный уровень рассуждения по запросу * Параметры конфигурации * Полный справочник конфигурации * Наблюдение (направленное vs. унифицированное) * Инструменты * CLI-команды * Миграция с hermes honcho * Полная документация