Как устроен ИИ-агент Hermes: разбор архитектуры от Hugging Face

Hugging Face 12,6 тыс. 40 мин 5 мин 17.06.2026
Главное

Разработчик и автор канала Hugging Face Алехандро АО (Alejandro AO) представил детальный технический разбор архитектуры Hermes — ИИ-агента, предназначенного для непрерывной работы. В материале рассматривается жизненный цикл агента, механизмы формирования контекста, интеграция с внешними мессенджерами и система долгосрочной памяти.

🏗️ Общая архитектура системы: взгляд с высоты птичьего полёта 0:57

Архитектура Hermes отличается модульностью и простотой компонентов, что делает её доступной для изучения и воспроизведения . В центре системы находится «ядро» агента (AI Agent Core), реализующее основной агентский цикл.

Взаимодействие с ядром осуществляется через три основных интерфейса:

Из коробки Hermes оснащён набором инструментов (Tools) и навыков (Skills), а также системой памяти . По словам Алехандро АО (Alejandro AO), память в Hermes разделена на два типа:

  1. Внутренняя память: включает в себя историю текущих сессий и специальные файлы конфигурации, такие как soul.md (описание личности агента) и user.md (информация о пользователе) .
  2. Внешняя память: поддержка интеграций с такими сервисами, как Mem0 или SuperMemory .

🔄 Агентский цикл: как Hermes обрабатывает сообщения 3:49

Цикл работы Hermes активируется при каждом входящем сообщении пользователя и состоит из строго последовательных этапов :

  1. Сбор контекста: Агент объединяет системные промпты, файлы личности, информацию о пользователе и историю переписки.
  2. Обращение к LLM: Сформированный контекст отправляется в большую языковую модель.
  3. Вызов инструментов: Если модель решает, что для ответа ей нужны внешние данные (например, поиск в интернете или запись файла), она инициирует вызов соответствующего инструмента . Результат выполнения возвращается в модель для формирования финального ответа.
  4. Финальный ответ: Пользователь получает результат работы.
  5. Обновление памяти (Memory Update): Это критически важный этап, на котором агент анализирует прошедшее взаимодействие . Если в ходе беседы появилась важная информация, она записывается в память, чтобы агент мог «учиться» и совершенствоваться при каждом использовании .

🧠 Формирование контекста и «душа» агента 7:31

Контекст в Hermes строится на основе простых текстовых файлов в формате Markdown, что упрощает их редактирование человеком.

Основные файлы контекста:

Помимо этих файлов, в контекст включаются описания доступных навыков и инструментов, а также история сообщений . Если настроена внешняя память, в контекст добавляются выжимки из прошлых сессий, релевантные текущей теме .

📉 Сжатие контекста: борьба с ограничениями токенов 13:28

Поскольку окна контекста LLM ограничены, в Hermes реализован механизм автоматического сжатия истории сообщений. По умолчанию сжатие срабатывает, когда занято 50% доступного окна контекста (это значение можно настроить до 70–80% для моделей с малым объёмом памяти) .

Проверка необходимости сжатия происходит в два момента:

Интересна методика оценки объёма данных: для первого сообщения агент использует упрощённую формулу (количество символов, делённое на 4), а для последующих — точные данные об использовании токенов (usage parameters), возвращаемые API модели .

При сжатии используется специальный промпт, который заставляет LLM структурировать итог беседы по разделам: глобальная цель, ограничения, выполненные действия, текущее состояние и ключевые решения . Алехандро АО (Alejandro AO) отмечает, что этот подход гораздо богаче и эффективнее, чем в более минималистичных агентах .

🌐 Шлюз (Gateway): связь с внешним миром 19:59

Шлюз — это асинхронная система на базе asyncio, которая позволяет Hermes взаимодействовать с Telegram, Discord, Slack и другими сервисами .

Особенности работы шлюза:

💾 Три уровня памяти Hermes 28:00

Алехандро АО (Alejandro AO) выделяет три уровня хранения информации в системе:

  1. Markdown-файлы: Статичные данные о личности и пользователе .
  2. База SQLite: Хранит полные транскрипты всех сессий. В базе также есть отдельная таблица с чистым текстом (bare text) для быстрого поиска по сходству .
  3. Внешние провайдеры: Поддержка специализированных сервисов (Mem0, Honcho, SuperMemory), которые используют векторный поиск или LLM для извлечения нужных воспоминаний .

Важный нюанс работы с внешней памятью: запрос к ней происходит не перед первым сообщением, а сразу после него . Агент сначала анализирует текущий вопрос пользователя, а затем «вспоминает» релевантные детали из прошлого для использования в последующих ответах. Это имитирует человеческое поведение, когда мы сначала реагируем на вопрос, а потом начинаем глубже копаться в памяти .

⏰ Cron-задачи: автоматизация по расписанию 34:37

Hermes поддерживает выполнение периодических задач (Cron jobs), таких как рассылка ежедневных новостей или еженедельных отчётов .

Техническая реализация:

В завершение Алехандро АО (Alejandro AO) подчеркнул, что Hermes — это пример того, как сочетание простых текстовых файлов и продуманного цикла обработки сообщений позволяет создать мощного и обучаемого ИИ-ассистента .

💬 Цитаты

«Это фактически делает Hermes агентом, который постоянно учится и совершенствуется тем больше, чем чаще вы его используете.»

Алехандро АО 07:15

«Шлюз не просто принимает сообщения, он собирает историю переписки и контекст воедино.»

Алехандро АО 26:16
👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
Окно контекста
Максимальный объём данных (токенов), который языковая модель может обработать за один раз.
Cron-задачи
Запланированные действия, которые выполняются автоматически в определённое время или через равные промежутки.
Gateway (Шлюз)
Программный слой, соединяющий ядро ИИ-агента с внешними мессенджерами и сервисами.
Токенизатор
Алгоритм, который разбивает текст на мелкие единицы (токены) для обработки языковой моделью.
📊 Цифры
⚖️ Другая сторона
Искусственный интеллект Alejandro AO Hugging Face Hermes SQLite LLM