← На главную

Опубликовано

А что вообще такое это ваш hermes agent

Автор: Гусев Николай [портфолио]

Темы: ai-agents, prompting

В блоге Earendil вышла статья "What is a Harness?" - короткая объяснялка, что такое агентный харнесс и почему это слово стало центральным во всех новостях про ИИ-агентов. Написана для тех, кто давно хотел разобраться, но стеснялся спросить. Ниже - сжатый перевод сути, а потом наш разбор на живом примере: на агенте, через которого вы читаете этот канал.

Оригинал: What is a Harness? (Earendil blog)

Формула

Agent = Model + Harness

Модель - это мозг. Она умеет ровно одно: получить текст и выдать текст. Она не может сходить в интернет, запустить тесты, дождаться результата и передумать. Всё это делает обвязка вокруг неё - харнесс.

Авторы начинают с аналогии со скалолазанием. Страховочная система - это ремни и петли, которые держат тебя, соединяют с верёвкой и карабинами, страхуют от падения. К ней цепляются инструменты, под конкретный маршрут её можно модифицировать. С агентными харнессами та же история: совпадает и структура, и функция.

Четыре вещи, которые делает харнесс

Системный промпт

Набор инструкций, управляющих поведением модели. Авторы вспоминают "soul document" - документ, который Anthropic встроила в одну из моделей Claude, чтобы объяснить ей, что она такое и как должна себя вести. Системный промпт в харнессе устроен похоже, но он не зашит в веса модели: он добавляется к каждому запросу отдельно. Как инструктаж новичка в первый рабочий день - сотрудник инструкции ещё не впитал, но знает, что должен им следовать.

Инструменты

Набор возможностей, написанных кодом: веб-поиск, исполнение программ, работа с почтой. Ключевая деталь: харнесс не диктует модели, когда и как их применять. Он описывает инструменты понятно и подробно, а решение остаётся за моделью.

Агентный цикл

Пример из статьи. Пользователь просит агента сравнить рейтинги местных школ и дать рекомендации. Модель строит поисковые запросы, смотрит выдачу, сама решает, что нашла мало, и ищет снова. Потом пишет таблицу кодом, сверяет её с исходным запросом, если данных не хватает - уходит на новый виток поиска. Когда всё сходится, собирает письмо: резюме в теле, таблица во вложении. Цикл замкнулся, пользователь получает результат через секунды после запроса.

Решение "позвать инструмент ещё раз" на основе собственной оценки - это и есть петля. В коде она выглядит скромнее, чем звучит:

while not done:
    response = model(system_prompt, history, tools)
    if response.tool_call:
        result = execute(response.tool_call)
        history.append(result)
    else:
        done = True

Весь "агентный интеллект" живёт в этом while.

Слой перевода

Прослойка между харнессом и моделями. Один и тот же харнесс можно подключить к модели Anthropic, к модели OpenAI или к открытой модели на своём железе, сравнить качество и цену, держать все ответы в одном месте. Именно этот слой, по мнению авторов, возвращает контроль конечному пользователю: выбор модели перестаёт быть заложником выбора приложения.

Главный тезис

Модели нельзя владеть - их лицензируют. Харнессом владеть можно. Приложение от AI-лаборатории - это аренда: чужой системный промпт, чужой набор инструментов, история ваших сессий лежит у них. Свой харнесс на своём железе - это контроль над всеми четырьмя компонентами сразу.

Историческая деталь: первый популярный харнесс, Claude Code, не был нейтральным - он был приложением для кодинга именно на моделях Anthropic. С тех пор экосистема открытых харнесов заметно выросла: OpenClaw, OpenCode, Hermes, Pi. Вокруг Pi комьюнити написало больше пяти тысяч расширений - люди затачивают инструмент под себя и делятся им друг с другом.

Финальная фраза статьи честно передаёт позицию авторов: молотком нужно орудовать с открытыми глазами и крепким хватом, чтобы молоток не начал орудовать нами.

Теперь наш комментарий

Hermes Agent собран ровно по этой схеме, поэтому статью удобно разбирать на нём.

Системный промпт. Правила поведения агента, стиль ответов, дисциплина исполнения - всё это текстовые файлы рядом с вами, а не тайна внутри весов. Хочешь другой характер - правишь файл.

Инструменты. Терминал, файловая система, веб-поиск, браузер, планировщик задач, долговременная память. Кто решает, каким инструментом воспользоваться - модель. Харнесс только честно описывает, что лежит в ящике.

Агентный цикл. Типичная задача "собери данные с трёх сайтов": модель ищет, видит, что сайт отдал мусор, берёт другой инструмент, сверяет результат с исходной задачей, уходит на новый виток. Эти повороты никто не программирует заранее - цикл просто даёт модели право передумать.

Слой перевода. Самый наглядный пункт. Модель под капотом нашего агента однажды сменилась прямо посреди сессии - разговор продолжился как ни в чём не бывало. История, инструменты, навыки остались на месте, поменялся только мозг. Тот же механизм позволяет гонять агента на локальной модели в LM Studio на домашней видеокарте, когда облако недоступно или данные нельзя показывать наружу.

Чего в статье нет, а в жизни есть: слои поверх базового цикла. Навыки - инструкции, скрипты и консольные утилиты, которые мы пишем для агента заранее, а он подгружает нужную инструкцию перед задачей вместо того чтобы изобретать процедуру заново. Плагины - готовые тулбоксы: упакованный набор инструментов под конкретную область, ставится целиком и сразу даёт агенту десятки новых возможностей. Дальше память, которая переживает перезапуск, и расписание - задачи по крону, которые срабатывают без человека. Это не отменяет формулу Agent = Model + Harness, это надстройки над тем же самым while.

Итог одной строкой

Модель покупают или скачивают. Харнесс - настраивают. Разница между "пользоваться ИИ" и "владеть инструментом" проходит именно по этой границе.