Вы читаете обсуждение, статью или чужую документацию, встречаете слово Hermes — и дальнейший смысл зависит от того, какое из трёх значений имелось в виду. Причём автор текста обычно не уточняет: ему-то очевидно.
Практический вред от этой омонимии измеримый. Человек скачивает модель, ожидая получить фреймворк с расписанием и мессенджерами, и получает файл с весами. Другой ищет, «как настроить память в Hermes», попадает в документацию не того проекта и настраивает несуществующее. Третий читает, что некий продукт «использует Hermes», и делает выводы, которые ни к чему не относятся.
Ниже — три значения, способ отличить их за минуту и разбор того, откуда взялось третье.
#Таблица трёх сущностей
| Что это | Кто автор | Где живёт | Как проверить |
|---|---|---|---|
| Nous Hermes — семейство весов моделей, дообучения поверх чужих базовых моделей | Nous Research | Файл модели у вас на диске или в реестре моделей | Есть размер в гигабайтах, версия квантизации, базовая модель |
| Hermes Agent — открытый агентный фреймворк: одно ядро на CLI, шлюз, программный интерфейс и мессенджеры | Отдельный проект с открытым кодом; принадлежность организации требует проверки по первоисточникам | Репозиторий и запущенный процесс | Есть документация с разделами про сессии, память, cron, Telegram |
| Внутреннее имя архитектуры в чужом продукте — например, в проектной документации Persona | Автор соответствующего продукта | Только внутри его документации и комментариев к коду | Наружу не поставляется, скачать нельзя |
Три строки — три несвязанные вещи. Использование одной не подразумевает использования остальных.
#Значение 1: веса моделей
Nous Hermes — серия дообученных языковых моделей. Дообученных означает, что кто-то взял чужую базовую модель и доучил её на своём наборе инструкций и диалогов.
Практические следствия, которые отличают этот случай от остальных:
- у него есть размер в гигабайтах и требования к памяти;
- его можно скачать и запустить локально;
- лицензия наследуется от базовой модели, а не задаётся автором дообучения;
- он ничего не «умеет» в смысле функций: это веса, а не программа с расписанием и мессенджерами.
Признак, что речь об этом значении: в тексте рядом стоят слова «квантизация», «GGUF», «сколько памяти», «на каком железе пойдёт», номер версии с буквой B. Разбор семейства — в обзоре моделей Nous Hermes.
#Значение 2: агентный фреймворк
Hermes Agent — программа для построения персонального агента. Единое ядро, к которому ведут разные входы: командная строка, шлюз, программный интерфейс, мессенджеры. Хранит сессии локально, держит ограниченную курируемую память в текстовых файлах, умеет расписание на естественном языке, инструменты, навыки, белые списки для мессенджеров.
Практические следствия:
- это код, а не веса; скачивание фреймворка не даёт вам модели;
- модель к нему подключается отдельно, и какая именно — ваш выбор;
- у него есть документация с разделами про сессии, память, расписание и мессенджеры.
Признак, что речь об этом значении: рядом стоят слова «сессии», «allowlist», «Telegram», «cron», «инструменты», «развернуть». Разбор возможностей и отдельный список того, что фреймворку приписывают без подтверждения, — в обзоре Hermes Agent.
Отдельно: связь этого проекта с авторами семейства моделей — вопрос, который стоит проверять по первоисточникам, а не по обсуждениям. Для практических целей он значения не имеет: даже при общем авторстве это разные продукты, и один не включает в себя другой.
#Значение 3: внутреннее имя чужой архитектуры
Третье значение самое коварное, потому что его не существует как продукта, и скачать его нельзя.
Разработчики, читая документацию фреймворка, заимствуют оттуда принципы и называют получившуюся у себя конструкцию тем же словом. Дальше слово живёт в комментариях к коду, в проектных документах и в разговорах внутри команды. Потом кусок такого документа попадает наружу, и читатель видит «архитектура Hermes» применительно к продукту, который к фреймворку отношения не имеет.
Это ровно наш случай, и мы говорим об этом прямо. В проектной документации Persona агентная архитектура фигурирует под именем Hermes. Слово встречается и в комментариях к нашему коду. Из этого не следует ничего, кроме того, что мы читали чужую документацию.
Что следует зафиксировать однозначно:
- Persona не использует модели Nous Hermes. Языковую модель подключает сам пользователь: либо свою Ollama, либо ключ облачного провайдера. Никаких весов мы не поставляем.
- Persona не использует фреймворк Hermes Agent. Не построена на нём, не совместима с ним, не является его реализацией. Общего кода нет.
- Слово Hermes в нашем коде — только в комментариях. Это ссылки на чужие идеи, а не интеграция.
Разбор нашей собственной архитектуры с честной отметкой, что в ней работает, а что остаётся проектным документом, — в материале про агентную архитектуру Persona.
#Где мы сами ошиблись
Раз уж речь о путанице, укажем на её самое дорогое последствие в нашем случае.
В нашей документации и комментариях фазовый ночной цикл обработки памяти — со взвешенной формулой отбора и порогами — был приписан фреймворку Hermes Agent. При сверке первоисточников выяснилось, что такой штатной функции у него найти не удалось: в его репозитории есть только открытый, то есть нереализованный, запрос на подобную возможность.
Значит, фазы и формула — наша собственная гипотеза, а не воспроизведённый чужой алгоритм, и обосновывать ими надёжность нельзя. Подробный разбор и исправление опубликованы отдельно, в материале о ночной консолидации памяти.
Это типичный механизм вреда от омонимии: сначала имя заимствуется для удобства, потом заимствованное имя начинает работать как заимствованное доверие.
#Как за минуту понять, о чём речь
Три вопроса к любому тексту, где встретилось это слово.
1. Это можно скачать и запустить, и оно занимает гигабайты? Значит, речь о весах модели.
2. У этого есть документация с разделами про сессии, память, расписание и мессенджеры? Значит, речь о фреймворке.
3. Это упоминается только внутри описания какого-то конкретного продукта и нигде больше? Значит, это внутреннее название, и наружу оно не поставляется.
Дополнительный признак: если в тексте обсуждают, «сколько это весит» и «пойдёт ли на видеокарте», — это модель. Если обсуждают, «как настроить allowlist» и «куда положить конфиг», — фреймворк. Если конкретики нет ни той, ни другой, а слово используется как характеристика продукта, — почти наверняка третий случай, и стоит спросить автора, что именно он имеет в виду.
#Частые вопросы
#Hermes — это модель или программа?
И то, и другое, но под одним именем скрываются разные вещи. Nous Hermes — семейство весов моделей, которые можно скачать и запустить. Hermes Agent — программа-фреймворк для построения агента. Скачав модель, вы не получаете фреймворк; развернув фреймворк, вы не получаете модель.
#Работает ли Hermes Agent на моделях Nous Hermes?
Фреймворк работает с той моделью, которую вы к нему подключите, и одноимённые веса тут не имеют преимущества по самому факту совпадения названия. Выбор модели определяется вашим железом и тем, насколько надёжно она держит формат вызова инструментов.
#Persona работает на Hermes?
Нет. Ни модели Nous Hermes, ни фреймворк Hermes Agent в Persona не используются и не подключены. Слово встречается только в комментариях к нашему коду и в проектной документации — как ссылка на чужие идеи, которые мы читали. Модель подключает сам пользователь.
#Почему вы назвали свою архитектуру чужим именем?
Потому что заимствовали принципы из чужой документации и подписали ими собственный документ, не задумавшись, как это прочитают снаружи. Это наша ошибка в именовании; исправляем её тем, что называем вещи своими именами публично, а не тем, что переписываем историю задним числом.
#Что искать, если мне нужен агент с памятью и Telegram?
Фреймворк, а не веса: расписание, мессенджеры, сессии и белые списки — это функции программы. Модель к нему подбирается отдельно, и это второй, независимый выбор. Общая рамка того, из чего вообще состоит агент, — в статье о том, что такое ИИ-агент.
#Как понять, о чём говорит автор чужого текста?
По соседним словам. Гигабайты, квантизация, видеокарта — речь о весах. Сессии, конфиг, allowlist, мессенджеры — речь о фреймворке. Если ни того, ни другого, а слово стоит как характеристика продукта, — это внутреннее название, и его значение известно только автору.
#Стоит ли сравнивать эти вещи между собой?
Модель и фреймворк сравнивать бессмысленно — это разные слои. Осмысленно сравнивать фреймворк с другим фреймворком или с готовым приложением, решающим ту же задачу: такое сравнение, включая раздел о том, где чужое решение объективно лучше нашего, — в материале Persona Agent и Hermes Agent.
#Вывод
Три значения, три разных слоя: веса модели, программа-фреймворк и внутреннее название в чужой документации. Проверяются по соседним словам за минуту — гигабайты и квантизация означают модель, конфиг и allowlist означают фреймворк, отсутствие и того, и другого означает внутреннее имя.
Если вы читаете о продукте, который «использует Hermes», — уточните, о чём речь, прежде чем делать выводы. Мы сами на этой омонимии ошиблись однажды и заплатили за это неверной атрибуцией собственного механизма в собственной документации.