Почему Hermes Agent сжигает токены и как урезать его промпт до 4K
Одно слово «привет» в Hermes Agent может обернуться 30 запросами и 1,5 млн токенов. Разбираем, откуда берётся промпт на 16K и какие команды CLI сокращают его до 4000 токенов.
Представьте свежую установку Hermes Agent, направленную на эндпоинт OpenRouter. Вы отправляете одно "hello", а дашборд потом показывает около 30 запросов к API и почти 1,5 миллиона сожжённых токенов. Для приветствия из одного слова это обескураживает.
На бесплатном эндпоинте вроде Inkling (free) счёт остаётся нулевым. Но стоит переключиться на платную модель, например DeepSeek, Claude 3.5 Sonnet или Gemini, и эти скрытые циклы могут опустошить баланс API за считаные минуты.
Автономные агенты мощные, но и токены они едят в огромных количествах. Дальше разберём, почему Hermes по умолчанию тащит с собой столько контекста и как жёстко его урезать, не потеряв того, за что агент ценен.
Откуда берётся раздувание
Обычное окно чата отправляет ваш промпт и короткое системное сообщение. Агент устроен иначе. Он крутит непрерывный цикл чтения, оценки и выполнения, а при запуске Hermes набивает окно промпта большим грузом ещё до того, как вы ввели хоть одну команду.
Команда hermes prompt-size показывает, из чего состоит типичный ввод примерно на 16 000 токенов:
| Компонент | Примерный размер | Что это |
|---|---|---|
| Схемы инструментов | от 8000 до 12 000+ токенов | По умолчанию включены десятки инструментов: управление браузером, делегирование субагентам, синтез речи, канбан-доски, песочницы для кода. JSON с описанием того, как вызывать каждый из них, уходит в модель на каждом ходу. |
| Встроенные навыки | от 3000 до 5000+ токенов | Индекс из 50+ процедурных сценариев, от ревью пул-реквестов до написания песен, чтобы агент знал, какие процессы он может вспомнить. |
| Плагины и провайдеры | по-разному | Десятки плагинов для генераторов медиа и веб-скраперов (Brave, Tavily, Searxng и другие), и каждый резервирует часть бюджета токенов на случай, если его вызовут. |
А дальше вступает в силу множитель. Агенты не просто отвечают, они думают. Если Hermes застрянет в цикле проверки или так и не выдаст стоп-токен, он может внутренне сделать 10–15 кругов. Каждый проход заново отправляет весь контекст на 16K с лишним, поэтому расход растёт гораздо быстрее, чем кажется на первый взгляд.
Сажаем на диету
С помощью нескольких встроенных команд CLI базовый объём можно снизить примерно с 16 000 токенов до менее чем 3500. Шаги идут в таком порядке.
1. Удалите встроенные навыки
Если Hermes не нужно рисовать архитектурные схемы в Manim или разбирать почтовый ящик, эти 50 с лишним навыков по умолчанию — просто балласт. Неизменённые встроенные навыки можно безопасно убрать из профиля:
hermes skills opt-out --remove
Рассчитывайте, что из базового объёма сразу исчезнет около 1000–1500 токенов.
2. Отключите ненужные наборы инструментов
Если Hermes нужен только для разработки, то есть для правки файлов и команд в терминале, тяжёлые специализированные наборы инструментов можно убрать. Делегирование (субагенты), синтез речи и инструменты уточнения идут с большими JSON-схемами.
hermes tools disable delegation tts code_execution clarify
Размер схем инструментов падает примерно с 29 КБ до 10 КБ, что экономит 4000 токенов и больше.
3. Отключите плагины поиска и медиа
Каждый включённый плагин регистрирует фоновые проверки возможностей. Команда отключения в CLI принимает только один аргумент за раз, поэтому аккуратнее всего выключить всех сторонних провайдеров, которыми вы реально не пользуетесь, небольшим циклом на bash:
for plugin in deepinfra fal krea meta-ai-image-gen xai web-perplexity web-searxng web-tavily web-brave-free; do
hermes plugins disable "$plugin"
done
Так десятки внешних провайдеров перестанут резервировать бюджет на схемы во время работы.
4. Запускайте минимальные сессии, когда этого хватает
Для быстрых изолированных задач, которым не нужны ни постоянная память, ни индексация навыков, стандартную последовательность запуска можно пропустить, перечислив разрешённые инструменты при старте:
hermes chat -t terminal,file
Остальное сделает кэширование промптов
После урезания базовый объём должен устояться в скромном диапазоне примерно 4000–6000 токенов. Это хороший баланс между возможностями и стоимостью. Остаются основные инструкции агента, активная память проекта (MEMORY.md) и необходимые инструменты терминала.
Цель — не ноль. Факты, записанные в MEMORY.md, например пути к виртуальным окружениям Python или ограничения системы, как раз и не дают агенту повторять одни и те же ошибки. Если их вырезать, сэкономите мало, а потеряете много.
Последний элемент — кэширование промптов. На моделях OpenRouter, которые его поддерживают, статический префикс каждого запроса кэшируется. В этот префикс входят схемы инструментов, системный промпт и файлы памяти. Дашборд, скорее всего, покажет долю попаданий в кэш выше 95% на последовательных ходах. Кэшированные токены обычно идут со скидкой от 75% до 90%, так что промпт на 6000 токенов в итоге стоит примерно как промпт на 500.
Уберите лишние инструменты, опирайтесь на кэширование, и полностью автономный терминальный агент сможет работать за доли цента за ход.