- BrainTools - https://www.braintools.ru -
Начнем с основ. Современные ИИ-агенты кардинально отличаются от классических чат-ботов. Если обычный бот просто реагирует на текстовые запросы, то агент способен самостоятельно ставить цели, планировать последовательность действий, работать с файлами, браузером, API и выполнять сложные многоэтапные задачи.
Такие агенты чаще всего разворачивают на сервере или в контейнере, где у них есть доступ к необходимому окружению, и интегрируют в привычные пользователям мессенджеры: Telegram, WhatsApp, Discord, iMessage и другие. Именно это сочетание – “личный помощник, живущий в твоих любимых приложениях” – сейчас и задаёт тренд.
Если вы хоть немного следили за темой локальных агентов в 2025 году, то наверняка встречали название OpenClaw. Этот проект стал настоящим прорывом и во многом определил направление развития всей индустрии.
Как сказано в самом репозитории:
OpenClaw – это личный ИИ-помощник, который работает на ваших собственных устройствах. Он отвечает вам в тех мессенджерах, которыми вы уже пользуетесь. Может говорить и слушать на macOS, iOS и Android, а также отображать интерактивный Canvas, которым вы управляете. Gateway – это всего лишь интерфейс управления, а сам продукт – это помощник.
Hermes Agent – это проект от Nous Research, который многие сейчас считают одним из самых интересных агентов.
OpenClaw в первую очередь решил задачу агента в мессенджере, а Hermes решил проблему потери контекста и этой забывчивости.
Основные моменты, которые выделяют его среди остальных:
У него действительно хорошая долгосрочная память [1].
Есть механизм рефлексии, после выполнения задачи он может проанализировать результат и сохранить полезный опыт [2] в виде новых навыков.
Не привязан к одной модели или каким-то SDK
Из репы:
Это не coding copilot и не простой чат-бот. Это автономный агент, который живёт на твоём сервере, постепенно накапливает знания и со временем становится заметно полезнее.
Большинство современных агентов по-прежнему живут в рамках контекстного окна модели. Пока нужная информация помещается в историю сообщений, агент её помнит. Как только контекст заканчивается или начинается новая сессия – большая часть знаний теряется.
Hermes пытается решить эту проблему через систему долговременной памяти [3].
Во время общения агент постоянно анализирует происходящее и выделяет факты, которые могут пригодиться позже.
Например:
предпочтения пользователя
особенности инфраструктуры
долгосрочные задачи
полезные решения найденных проблем
результаты прошлых экспериментов
Такие записи сохраняются отдельно от истории чата и могут быть извлечены спустя дни или недели после первоначального разговора.
Поэтому агент способен отвечать не только на основании последних сообщений, но и учитывать события из предыдущих сессий.
Ещё интереснее устроен механизм рефлексии.
После завершения некоторых задач Hermes может запускать дополнительный этап анализа своей работы. На этом этапе агент оценивает:
была ли задача решена успешно
какие действия оказались полезными
какие ошибки [4] были допущены
можно ли сформулировать новое правило или навык для будущих задач
Результатом такого анализа становятся навыки (skills) – структурированные инструкции, которые агент может использовать в дальнейшем.
Когда я достаточно наигрался с Hermes Agent локально, захотелось дать возможность другим людям тоже попробовать его вживую. Из коробки проект представляет собой CLI-инструмент для одного пользователя, поэтому я решил сделать публичного Telegram-бота.
Получился Hermes Agent | На Дерево – обычный Telegram-бот, за которым стоит полноценный Hermes Agent. Требование лишь одно – подписаться на мой канал) (Ну а что, баш на баш)
Я не стал городить отдельного бота. Вместо этого написал небольшой плагин для Hermes Gateway – рантайма, который отвечает за общение с мессенджерами.
Плагин цепляется к внутренним событиям (хукам) Hermes и добавляет всю нужную бизнес-логику: проверку подписки, лимиты, rate limit и сбор статистики. Благодаря этому всё работает в рамках одного процесса.
Плагин подписывается на четыре основных хука:
pre_gateway_dispatch – здесь происходит основная проверка: подписка на канал, остаток лимита запросов, антиспам (6 сообщений в минуту) и обработка команд.
pre_llm_call – сбрасывает и финализирует прерванные ходы агента.
post_api_request – собирает реальные данные по использованию токенов после каждого запроса.
post_llm_call – завершает ход, записывает данные в SQLite и обновляет лимит пользователя.
С самого начала было понятно: если дать людям полный доступ, обязательно найдётся тот, кто начнёт специально ломать систему. Поэтому пришлось ввести довольно жёсткие рамки:
Обязательная подписка на канал. Без неё сообщения просто не доходят до агента.
Лимит в 30 запросов на пользователя.
Запрет на работу в группах – только личные сообщения.
Отключены терминал, браузер и некоторые инструменты поиска по истории. (Хотя он все равно может ходить по сайтам, но слишком топорно)
Сильно урезан набор команд. Пользователь видит только самые необходимые: /start, /status и /help.
И самое главное, полная изоляция пользователей. Каждый работает в своей собственной сессии с отдельной памятью, но при этом в одном боте
Hermes изначально рассчитан на одного человека. Чтобы несколько пользователей не пересекались, пришлось внедрить многослойную изоляцию:
Каждая сессия привязана к telegram_id.
Патчи на memory_tool.py [5], session_search_tool.py [5] и hermes_state.py [6] – память хранится в отдельных папках memories/{user_id}/, поиск по истории и сессиям тоже фильтруется по пользователю.
И еще глобальная память отключена, в SOUL.md [7] добавлены правила запрещающие ссылаться на чужие разговоры.
Агент часто делает несколько инструментных вызовов внутри одного хода. Если пользователь написал /stop или соединение оборвалось – ход мог остаться незавершённым и данные терялись.
Решение: в pre_llm_call проверяем наличие незавершённого хода и принудительно закрываем его с меткой flush_interrupted.
Hermes Gateway при каждом запуске регистрирует больше 30 своих команд. Многие из них раскрывают внутреннюю кухню или просто не нужны.
Чтобы не форкать проект, написал скрипт, который каждые 30 секунд проверяет текущее меню через Telegram API и обрезает его до трёх нужных команд. Решение грубоватое, но надёжное.
В конфиге жёстко отключены опасные toolsetы и возможности, которые могли бы сломать все нахрен. Многие ограничения вводились именно для того, чтобы защитить систему от целенаправленного исследования на прочность. Хотя наверняка кто-то все равно попытается заговнячить все.
Как и обещал, даю ссылочку попробовать без смс и регистрации: Hermes Agent | На Дерево [8]
Автор: Techdir_hub
Источник [9]
Сайт-источник BrainTools: https://www.braintools.ru
Путь до страницы источника: https://www.braintools.ru/article/31063
URLs in this post:
[1] память: http://www.braintools.ru/article/4140
[2] опыт: http://www.braintools.ru/article/6952
[3] долговременной памяти: http://www.braintools.ru/article/9500
[4] ошибки: http://www.braintools.ru/article/4192
[5] tool.py: http://tool.py
[6] state.py: http://state.py
[7] SOUL.md: http://SOUL.md
[8] Hermes Agent | На Дерево: https://t.me/hermes_naderevo_bot
[9] Источник: https://habr.com/ru/articles/1041874/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1041874
Нажмите здесь для печати.