Категории
Оркестрация и Голос для Hermes Agent
22.10.2026 | из категории: Нейросети
Родной ассистент Hermes оказался «не очень понятливым» на слух — это распространённая жалоба. Ниже два независимых улучшения: сначала разбираемся с оркестрацией (как заставить несколько агентов работать вместе, а не мешать друг другу), затем — с голосом (что реально работает для STT в 2026 году).
Часть 1. Оркестрация в Hermes: что выбрать
Hermes не имеет одной кнопки «включить мультиагентность». В ядре есть пять механизмов, и главная ошибка — использовать не тот уровень для своей задачи.
| Механизм | Когда использовать | Главное ограничение |
|---|---|---|
delegate_task |
Быстрые параллельные подзадачи внутри одной сессии (до 3 одновременно) | Дети не общаются друг с другом; глубина вложенности = 2 |
| Kanban-оркестрация | Долгие задачи, переживающие перезапуск; разные профили (роли) с разными инструментами | Диспетчер опрашивает каждые 60 секунд; требует настройки профилей |
| A2A (Agent-to-Agent) | Связь между машинами или разными фреймворками (LangChain, CrewAI и т.д.) | Избыточен для одной машины; это протокол, а не «просто делегирование» |
| Mixture of Agents | Один вопрос → несколько моделей → агрегация ответа | До 4 референс-моделей + агрегатор; расход токенов |
send_message |
Передача сообщения другому профилю в том же процессе | Не создаёт независимого исполнителя |
delegate_task — это «здесь и сейчас», без сохранения состояния. Не пытайтесь строить долгоживущий пайплайн на delegate_task — он потеряется при рестарте.
Как выглядит правильный Kanban-пайплайн
Оркестратор (отдельный профиль) не выполняет работу сам. Его задача — декомпозировать, назначить, собрать.
Оркестратор (profile: orchestrator)
│
├── Карточка 1: research (profile: researcher) ─── независима
├── Карточка 2: implementation (profile: coder) ── независима
└── Карточка 3: review (profile: reviewer)
└── parent: [Карточка 1, Карточка 2]
└── стартует только после завершения обеих
Каждый профиль имеет свой набор инструментов и свою модель. Это позволяет использовать дешёвую модель для ресёрча и мощную — для кодинга, не смешивая их в одном агенте.
Чего избегать
- Не давайте оркестратору инструменты исполнения (terminal, file, web). Если он начнёт «чинить быстро сам» — вы потеряете границу ответственности и получите кашу.
- Не создавайте зависимые карточки как независимые и не надейтесь на фразу «подожди T1» в теле. Используйте
parents=[...]вkanban_create. - Не включайте вложенное делегирование без необходимости. По умолчанию
max_spawn_depth = 1(плоская структура). Это фича, а не баг: проще отлаживать.
Часть 2. Голос: как заставить Hermes слышать нормально
Родной ассистент может разочаровать, если использовать облачные Whisper-провайдеры по умолчанию или если микрофон захватывает шум. В 2026 году есть три реальных пути, и выбор зависит от того, готов ли ты платить за качество или хочешь всё локально.
Вариант A: Локально, без облака и без API-ключей
Локально hermes-voicebox — плагин, который подключает локальный Whisper (через приложение Voicebox) и TTS с клонированием голоса. Аудио не покидает машину.
- Требует запущенного Voicebox (desktop или Docker на
127.0.0.1:17600). - STT-модели Whisper скачиваются локально при первом использовании.
- Установка:
pip install git+https://github.com/jamiepine/hermes-voiceboxв то же окружение, где работает Hermes.
Вариант B: Гибрид — локальный STT + выбор провайдера через плагин
Гибрид hermes-speech (AllModels) — даёт доступ к 80+ моделям STT/TTS через один API-ключ, с поиском голосов и превью. Установка одной командой: hermes plugins install allmodels-io/hermes-speech --enable.
- Можно выбрать STT под свой акцент/шум:
soniox/stt-async-v5идёт по умолчанию, но доступны другие. - Управление голосом — в обычном диалоге: «найди голос с британским акцентом», «переключи STT на более точную модель».
- Требует Hermes 0.20.0+ и аккаунт AllModels (ключ вводится в процессе настройки, не хардкодится).
Вариант C: Встроенный Faster-Whisper (если не боитесь терминала)
Локально Hermes уже умеет использовать faster-whisper локально без API-ключей, если установлен extra voice.
- Установите зависимости:
pip install "hermes-agent[voice]"и системные пакеты (portaudio19-dev,ffmpegна Ubuntu). - Модель
base(~150 МБ) скачается при первом использовании/voice on. - В CLI:
Ctrl+B— начать запись, пауза 3 секунды — автостоп.
Что делать, если «не понимает» даже с хорошим STT
Проблема может быть не в распознавании, а в том, как вы формулируете команду. Голосовой ввод плохо переносит пути к файлам, имена пакетов и флаги — они легко искажаются при транскрипции.
- Говорите цель, а не точную команду: «открой последний лендинг и проверь CTA на мобильном» вместо «запусти playwright с флагом --device».
- Для опасных операций просите Hermes показать точную команду или патч перед выполнением.
- В Telegram голосовые заметки работают хорошо для быстрых задач, но требуют явного подтверждения для деструктивных действий.
Итоговая рекомендация
| Задача | Решение |
|---|---|
| Долгий пайплайн с разными ролями (ресёрч → код → ревью) | Kanban + отдельные профили с ограниченными инструментами |
| Быстрое параллельное делегирование внутри сессии | delegate_task (не более 3 детей, без надежды на сохранение) |
| Голос, максимальная приватность | hermes-voicebox (локальный Whisper + TTS) |
| Голос, «чтобы просто работало» и понимало акцент | hermes-speech (AllModels, выбор STT-модели) |
| Голос, минимум зависимостей | Встроенный Faster-Whisper (extra [voice]) |
Заметка основана на документации Hermes Agent v0.19–v0.20, каталоге плагинов Nous Research и публичных разборах архитектуры. Проверяйте актуальность команд в вашей версии.