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

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 * Полная документация