[{"data":1,"prerenderedAt":223},["ShallowReactive",2],{"ru.code.hermes-auxiliary-models-optimization":3,"ru.code.hermes-auxiliary-models-optimization-surround":218},{"id":4,"title":5,"body":6,"createdAt":199,"description":200,"draft":201,"extension":202,"image":203,"language":204,"meta":205,"navigation":206,"path":207,"private":201,"rawbody":208,"read":209,"seo":210,"stem":211,"topics":212,"updatedAt":199,"__hash__":217},"content\u002Fru\u002Fcode\u002F20.hermes-auxiliary-models-optimization.md","Оптимизация внутренней кухни Hermes",{"type":7,"value":8,"toc":191},"minimark",[9,13,16,19,24,27,30,33,36,39,43,46,54,57,64,92,95,98,102,112,118,122,125,168,171,174,178,181,184,187],[10,11,12],"p",{},"Чуть больше месяца назад я начал использовать Hermes вместо OpenClaw. Сначала осторожно: несколько личных задач, немного экспериментов, обычная проверка на “не развалится ли в реальной жизни”. Потом, как это обычно бывает, оно незаметно стало частью рабочего дня.",[10,14,15],{},"Сейчас через Hermes у меня проходит уже заметная часть личных и рабочих задач. В основном я использую его в связке с Telegram: кинуть мысль, попросить что-то проверить, запустить маленькую операцию, вернуться позже и продолжить не с пустого места.",[10,17,18],{},"В последнее время я начал больше играться с оркестрацией агентов внутри Hermes. Профили с разными моделями, разные рабочие режимы, Kanban, разделение личного и рабочего контекста. Всё это быстро приводит к одному скучному, но важному вопросу: сколько стоит внутренняя кухня Hermes?",[20,21,23],"h2",{"id":22},"у-агента-тоже-есть-фоновые-расходы","У агента тоже есть фоновые расходы",[10,25,26],{},"Когда мы говорим “агент отвечает моделью X”, это звучит просто. Но реальная система делает не только основной ответ. Hermes выполняет много служебных операций вокруг диалога: сжимает историю, извлекает текст из веб-страниц, выбирает skills, генерирует названия сессий, проверяет опасные команды, обрабатывает изображения и так далее.",[10,28,29],{},"По умолчанию такие задачи выполняются той же моделью, что и основной диалог. Это удобно. Но не всегда разумно.",[10,31,32],{},"Если основная модель дорогая или завязана на лимиты подписки, нет смысла гонять через неё всю служебную работу. Название сессии, выбор подходящего skill \u002F MCP или вытаскивание текста из страницы — это простые фоновые задачи. Им обычно достаточно модели попроще.",[10,34,35],{},"У меня Hermes работает через подписку Codex, поэтому вопрос стал совсем практическим. Хочется экономить токены и лимиты, но не превращать систему в лотерею.",[10,37,38],{},"Это не единственный вариант. Такие фоновые операции можно направлять и в локальные модели, и в модели по API, если так удобнее или дешевле. В моём случае речь именно про Codex-подписку: сильную модель оставить там, где она действительно нужна, а простую внутреннюю работу отдать модели попроще.",[20,40,42],{"id":41},"что-я-вынес-на-mini","Что я вынес на mini",[10,44,45],{},"В Hermes для этого есть auxiliary-модели. Идея простая: основная модель остается для диалога и сложных задач, а фоновые операции получают свои маршруты.",[10,47,48,49,53],{},"Полный список таких операций лучше смотреть в актуальном ",[50,51,52],"code",{},"config.yaml",": он зависит от версии Hermes и подключенных возможностей. Здесь я говорю только о тех пунктах, которые менял у себя.",[10,55,56],{},"Эти настройки я применил к четырем своим рабочим профилям, чтобы служебные задачи вели себя одинаково в разных режимах.",[10,58,59,60,63],{},"На ",[50,61,62],{},"openai-codex \u002F gpt-5.4-mini"," я вынес:",[65,66,67,74,80,86],"ul",{},[68,69,70,73],"li",{},[50,71,72],{},"compression"," — сжатие истории диалога;",[68,75,76,79],{},[50,77,78],{},"web_extract"," — извлечение текста и смысла из веб-страниц;",[68,81,82,85],{},[50,83,84],{},"skills_hub"," — подбор релевантных skills;",[68,87,88,91],{},[50,89,90],{},"title_generation"," — короткие названия сессий.",[10,93,94],{},"Это текстовые, частые и относительно дешевые по риску задачи. Ошибка там неприятна, но обычно не катастрофична. А экономия может быть заметной, особенно если Hermes используется не как игрушка на вечер, а как постоянный рабочий слой.",[10,96,97],{},"Минус у такого подхода тоже есть: за выбранными моделями нужно следить. Провайдеры обновляют линейки, переименовывают модели и постепенно отправляют старые варианты в deprecated. Конфиг, который сегодня выглядит аккуратно, через пару месяцев может потребовать ревизии.",[20,99,101],{"id":100},"что-я-не-стал-удешевлять","Что я не стал удешевлять",[10,103,104,107,108,111],{},[50,105,106],{},"approval"," я оставил на ",[50,109,110],{},"openai-codex \u002F gpt-5.4",".",[10,113,114,115,117],{},"Это не место для экономии на спичках. ",[50,116,106],{}," участвует в решении, можно ли выполнять потенциально опасную команду автоматически или нужно спросить человека. Если такая проверка ошибется, последствия могут быть ощутимее, чем лишние токены.",[20,119,121],{"id":120},"проверка-после-правки","Проверка после правки",[10,123,124],{},"После таких правок конфиги нужно обязательно проверить, а не просто поверить, что команда отработала. Я прочитал фактические значения и прогнал проверку для каждого из моих четырех профилей:",[126,127,132],"pre",{"className":128,"code":129,"language":130,"meta":131,"style":131},"language-bash shiki shiki-themes github-light github-dark","hermes -p \u003Cprofile> config check\n","bash","",[50,133,134],{"__ignoreMap":131},[135,136,139,143,147,151,155,159,162,165],"span",{"class":137,"line":138},"line",1,[135,140,142],{"class":141},"sScJk","hermes",[135,144,146],{"class":145},"sj4cs"," -p",[135,148,150],{"class":149},"szBVR"," \u003C",[135,152,154],{"class":153},"sZZnC","profil",[135,156,158],{"class":157},"sVt8B","e",[135,160,161],{"class":149},">",[135,163,164],{"class":153}," config",[135,166,167],{"class":153}," check\n",[10,169,170],{},"После проверки конфигов нужно перезапустить gateway, если он запущен. Иначе Hermes продолжит жить со старой конфигурацией и новые маршруты не подхватятся.",[10,172,173],{},"И уже после рестарта полезно сделать живую проверку: напрямую спросить агента о текущей конфигурации, прогнать несколько простых сценариев и убедиться, что нужные auxiliary-модели действительно подключаются и работают.",[20,175,177],{"id":176},"итог","Итог",[10,179,180],{},"Это маленькая настройка, но она хорошо показывает, как я теперь думаю об агентных системах. Недостаточно выбрать “главную модель”. Нужно еще понимать, какие внутренние операции она оплачивает своим качеством и лимитами.",[10,182,183],{},"Сильная модель нужна там, где есть рассуждение, ответственность и риск. Для служебной рутины часто достаточно модели попроще. Не потому, что хочется экономить любой ценой, а потому что разная работа должна попадать к разным инструментам.",[10,185,186],{},"Hermes в этом смысле становится не просто ботом в Telegram, а небольшой операционной системой для задач. А у операционной системы, как выясняется, тоже есть коммунальные платежи.",[188,189,190],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":131,"searchDepth":192,"depth":192,"links":193},2,[194,195,196,197,198],{"id":22,"depth":192,"text":23},{"id":41,"depth":192,"text":42},{"id":100,"depth":192,"text":101},{"id":120,"depth":192,"text":121},{"id":176,"depth":192,"text":177},"2026-06-17","Как auxiliary-модели в Hermes Agent помогают оптимизировать фоновые задачи и снизить потребление токенов.",false,"md","hermes-auxiliary-models-optimization.png","ru",{},true,"\u002Fru\u002Fcode\u002Fhermes-auxiliary-models-optimization","---\nlanguage: ru\ntitle: \"Оптимизация внутренней кухни Hermes\"\ndescription: \"Как auxiliary-модели в Hermes Agent помогают оптимизировать фоновые задачи и снизить потребление токенов.\"\nimage: hermes-auxiliary-models-optimization.png\ncreatedAt: 2026-06-17\nupdatedAt: 2026-06-17\nread: 4\ntopics:\n  - AI\n  - Hermes\n  - Codex\n  - Workflow\n---\n\nЧуть больше месяца назад я начал использовать Hermes вместо OpenClaw. Сначала осторожно: несколько личных задач, немного экспериментов, обычная проверка на “не развалится ли в реальной жизни”. Потом, как это обычно бывает, оно незаметно стало частью рабочего дня.\n\nСейчас через Hermes у меня проходит уже заметная часть личных и рабочих задач. В основном я использую его в связке с Telegram: кинуть мысль, попросить что-то проверить, запустить маленькую операцию, вернуться позже и продолжить не с пустого места.\n\nВ последнее время я начал больше играться с оркестрацией агентов внутри Hermes. Профили с разными моделями, разные рабочие режимы, Kanban, разделение личного и рабочего контекста. Всё это быстро приводит к одному скучному, но важному вопросу: сколько стоит внутренняя кухня Hermes?\n\n## У агента тоже есть фоновые расходы\n\nКогда мы говорим “агент отвечает моделью X”, это звучит просто. Но реальная система делает не только основной ответ. Hermes выполняет много служебных операций вокруг диалога: сжимает историю, извлекает текст из веб-страниц, выбирает skills, генерирует названия сессий, проверяет опасные команды, обрабатывает изображения и так далее.\n\nПо умолчанию такие задачи выполняются той же моделью, что и основной диалог. Это удобно. Но не всегда разумно.\n\nЕсли основная модель дорогая или завязана на лимиты подписки, нет смысла гонять через неё всю служебную работу. Название сессии, выбор подходящего skill \u002F MCP или вытаскивание текста из страницы — это простые фоновые задачи. Им обычно достаточно модели попроще.\n\nУ меня Hermes работает через подписку Codex, поэтому вопрос стал совсем практическим. Хочется экономить токены и лимиты, но не превращать систему в лотерею.\n\nЭто не единственный вариант. Такие фоновые операции можно направлять и в локальные модели, и в модели по API, если так удобнее или дешевле. В моём случае речь именно про Codex-подписку: сильную модель оставить там, где она действительно нужна, а простую внутреннюю работу отдать модели попроще.\n\n## Что я вынес на mini\n\nВ Hermes для этого есть auxiliary-модели. Идея простая: основная модель остается для диалога и сложных задач, а фоновые операции получают свои маршруты.\n\nПолный список таких операций лучше смотреть в актуальном `config.yaml`: он зависит от версии Hermes и подключенных возможностей. Здесь я говорю только о тех пунктах, которые менял у себя.\n\nЭти настройки я применил к четырем своим рабочим профилям, чтобы служебные задачи вели себя одинаково в разных режимах.\n\nНа `openai-codex \u002F gpt-5.4-mini` я вынес:\n\n- `compression` — сжатие истории диалога;\n- `web_extract` — извлечение текста и смысла из веб-страниц;\n- `skills_hub` — подбор релевантных skills;\n- `title_generation` — короткие названия сессий.\n\nЭто текстовые, частые и относительно дешевые по риску задачи. Ошибка там неприятна, но обычно не катастрофична. А экономия может быть заметной, особенно если Hermes используется не как игрушка на вечер, а как постоянный рабочий слой.\n\nМинус у такого подхода тоже есть: за выбранными моделями нужно следить. Провайдеры обновляют линейки, переименовывают модели и постепенно отправляют старые варианты в deprecated. Конфиг, который сегодня выглядит аккуратно, через пару месяцев может потребовать ревизии.\n\n## Что я не стал удешевлять\n\n`approval` я оставил на `openai-codex \u002F gpt-5.4`.\n\nЭто не место для экономии на спичках. `approval` участвует в решении, можно ли выполнять потенциально опасную команду автоматически или нужно спросить человека. Если такая проверка ошибется, последствия могут быть ощутимее, чем лишние токены.\n\n## Проверка после правки\n\nПосле таких правок конфиги нужно обязательно проверить, а не просто поверить, что команда отработала. Я прочитал фактические значения и прогнал проверку для каждого из моих четырех профилей:\n\n```bash\nhermes -p \u003Cprofile> config check\n```\n\nПосле проверки конфигов нужно перезапустить gateway, если он запущен. Иначе Hermes продолжит жить со старой конфигурацией и новые маршруты не подхватятся.\n\nИ уже после рестарта полезно сделать живую проверку: напрямую спросить агента о текущей конфигурации, прогнать несколько простых сценариев и убедиться, что нужные auxiliary-модели действительно подключаются и работают.\n\n## Итог\n\nЭто маленькая настройка, но она хорошо показывает, как я теперь думаю об агентных системах. Недостаточно выбрать “главную модель”. Нужно еще понимать, какие внутренние операции она оплачивает своим качеством и лимитами.\n\nСильная модель нужна там, где есть рассуждение, ответственность и риск. Для служебной рутины часто достаточно модели попроще. Не потому, что хочется экономить любой ценой, а потому что разная работа должна попадать к разным инструментам.\n\nHermes в этом смысле становится не просто ботом в Telegram, а небольшой операционной системой для задач. А у операционной системы, как выясняется, тоже есть коммунальные платежи.\n",4,{"title":5,"description":200},"ru\u002Fcode\u002F20.hermes-auxiliary-models-optimization",[213,214,215,216],"AI","Hermes","Codex","Workflow","Y5GkZgjIhtqZ9hvxy_AsA80axWBfwMbGBoClMpBgz18",[219],{"title":220,"path":221,"stem":222,"draft":201,"children":-1},"Как я реализовал LLM-вики в Obsidian","\u002Fru\u002Fcode\u002Fllm-wiki-obsidian-implementation","ru\u002Fcode\u002F19.llm-wiki-obsidian-implementation",1784619329979]