Harness — определение из словаря Cambridge
Существительное. снаряжение из ремней и строп, используемое для удержания или управления человеком, животным или объектом
Глагол. обуздать, взять под контроль что-либо, обычно чтобы использовать его силу
При слове «harness» первым делом вспоминается обвязка из ремней, которую надевали в школе перед тем, как карабкаться по скалодрому. Альпинист из этого автора вышел посредственный.
Если следить за новостями об AI, слово «harness» сегодня скорее ассоциируется с agent harness — оболочкой для AI-агента. Этот текст — не для тех, кто уже разбирается в теме.
Он для тех, кто слышал термин «agent harness», но постеснялся спросить, что это такое.
Вернёмся к альпинизму.
Зачем вообще надевать обвязку перед восхождением? Прежде всего, она страхует и обеспечивает безопасность: соединяет альпиниста с карабинами и верёвками, которые защищают от падения, задают темп и маршрут. К обвязке также крепятся дополнительные инструменты — мешочек с магнезией, оттяжки, экстракторы закладок.
Обвязку можно брать с собой на разные горы и восхождения. В зависимости от рельефа её можно модифицировать, менять снаряжение на петлях. Альпинистские обвязки универсальны — их используют и акробаты, и арбористы. Каждый владелец подгоняет обвязку под себя.
Между альпинистской обвязкой и agent harness есть сходство — и по структуре, и по функции.
Agent Harness
Есть упрощённая формула: Агент = Модель + Harness. Здесь harness означает именно agent harness. Но что это такое? Agent harness использует AI-модели для создания AI-агентов, и первым применением таких оболочек стало программирование. Сегодня agent harness лежит в основе практически всех типов AI-агентов, и понимание того, как он устроен, помогает понять, что вообще представляет собой AI-агент.
Agent harness — это программное обеспечение, которое предоставляет AI-модели среду для работы. В отличие от большинства AI-моделей, конечный пользователь может владеть собственным agent harness.
Часто пользователи, например разработчики ПО, работают с такими harness, как Pi, напрямую через терминал. Но есть и harness вроде OpenClaw, которые используют другие интерфейсы — iMessage, чат-приложения или почту. Harness Lefos изначально создавался для работы через email. Независимо от интерфейса, harness обычно выполняет четыре функции. Во-первых, задаёт набор инструкций, управляющих поведением модели — так называемый «системный промпт». Во-вторых, описывает и предоставляет набор инструментов, которые модель может использовать для ответа на запросы пользователя. В-третьих, устанавливает фреймворк, определяющий поведение модели — в частности, реализует «агентный цикл». Наконец, большинство harness обеспечивают критически важный уровень трансляции, позволяющий работать с разными AI-моделями.
I. Системный промпт
Большинство AI-моделей содержат встроенный набор правил и рекомендаций, сформированный в процессе обучения. Самый известный пример — «soul document» Claude Opus 4.5, широко обсуждавшийся документ, объясняющий модели, чем она является и как должна себя вести. Системный промпт в agent harness похож на это, но менее глубоко встроен в модель. Это скорее похоже на инструктаж, который новый сотрудник получает в первый рабочий день: он не «впитал» правила, но знает, что должен им следовать при выполнении работы. Системный промпт передаётся вместе с каждым запросом и играет ключевую роль в том, чтобы модель действовала уместно в контексте конкретного harness.
II. Инструменты
Инструменты — это набор возможностей, реализованных в коде, которые модель может «вызывать». Harness описывает инструменты и предоставляет сам программный код, реализующий их. Примеры: инструмент веб-поиска, инструмент для написания и выполнения кода, инструмент для составления письма. Важно, что harness обычно не диктует, когда и как модель должна использовать инструмент — он лишь делает инструменты доступными, чётко их описывает, а решение о применении принимает сама модель.
III. Агентные циклы
Теперь есть AI-модель внутри agent harness с набором инструкций и инструментов. Предположим, harness создан для работы через email, обладает описанными выше инструментами (WebSearch, WriteCode, ComposeEmail), и пользователь попросил агента сравнить рейтинги и результаты тестов местных начальных школ и дать рекомендации. Как поведёт себя агент? Сначала он попытается понять запрос («промпт»), опираясь на предобучение и веса, чтобы разобраться, что такое «начальная школа», что значит «местный район» и какие рейтинги важны пользователю. Затем сформирует поисковые запросы для получения актуальных данных. Что дальше с результатами? Находясь внутри harness, модель может оценить их в контексте исходного запроса. Она может решить, что первый поиск не дал нужной или достаточной информации, и самостоятельно повторить поиск. Это решение вызвать инструмент повторно на основе собственной оценки — первый явный пример «цикла». Допустим, все нужные данные собраны. Модель решает создать таблицу с помощью инструмента «write code» — ведь любая таблица, по сути, это код. С его помощью она выполняет вычисления и форматирует результаты в понятном виде. Затем сравнивает получившуюся таблицу с исходным запросом. Если данные не устраивают модель, она может снова «зациклиться» и повторить поиск. Когда данных достаточно, вызывается ComposeEmail — инструмент, позволяющий модели просмотреть находки, обобщить их, написать письмо и приложить вложения вроде таблицы. Модель проверяет итоговый результат и решает, что задача выполнена. «Агентный цикл» замыкается. Через несколько секунд пользователь получает письмо с резюме и рекомендациями в теле сообщения и таблицей во вложении. Пример реальной сессии с агентным циклом можно посмотреть в сессии Pi.
IV. Уровень трансляции
Уровень трансляции позволяет harness работать с разными AI-моделями. В некоторых случаях harness может использовать разные модели в рамках одного агентного цикла, поскольку разные модели сильны в разных задачах. Этот слой критически важен ещё и потому, что передаёт контроль конечному пользователю. Это значит, что человек может взять свой AI harness и подключить к нему модель от Anthropic, OpenAI или одну из открытых моделей с хорошим соотношением цены и качества (по стоимости за задачу).
Уровень трансляции отбирает власть и рычаги влияния у AI-лабораторий и передаёт их конечным пользователям. Если люди могут владеть собственным harness и запускать его локально на своих компьютерах, они сохраняют субъектность. Они сохраняют свободу настраивать инструменты под себя и хранить локальные копии сессий, которые со временем составят историю их переписки с машинами. Выстраивая отношения с harness, а не с приложением от AI-лаборатории, пользователь сохраняет свободу выбора. В примере с email-агентом пользователь мог бы отправить один и тот же запрос модели от OpenAI, модели от Anthropic и открытой модели, затем сравнить результаты и их стоимость, храня все ответы в одном месте, а не в трёх разных приложениях.
Harness можно сделать своим
В отличие от самих AI-моделей, harness можно владеть и адаптировать под себя — как альпинистскую обвязку. За это пользователи любят Pi. Pi — минималистичный agent harness с коротким системным промптом и небольшим набором инструментов. «Из коробки» он спроектирован так, чтобы не мешать. Но по мере использования люди расширяют и подстраивают его под себя: меняют системный промпт или создают расширение под конкретный workflow, а затем делятся им с другими. Пользователи Pi уже поделились друг с другом более чем 5000 расширений. Pi к тому же бесплатен и распространяется с открытым исходным кодом, работает на собственном ноутбуке пользователя. Это значит, что у людей появился инструмент, которым они действительно владеют, который работает на их собственном железе и позволяет им управлять AI.
Нейтральные open source harness как инструмент субъектности
Harness изначально не были ни открытыми, ни нейтральными. Первый популярный agent harness, Claude Code, создавался не как универсальный слой трансляции, а как приложение для программирования с моделями Claude на локальном компьютере. С тех пор заметно выросло число свободных open source agent harness — OpenClaw, OpenCode, Hermes, Pi. В Earendil работают над тем, чтобы Pi оставался нейтральным и давал пользователям свободу выбора возможностей. Также ведётся поиск способов сделать преимущества и субъектность, которые дают harness, доступными более широкому кругу людей.
Многих сегодня беспокоит растущее влияние крупных AI-компаний. Некоторые предпочитают полностью избегать AI. В Earendil считают, что человеческую субъектность можно укрепить, создавая программное обеспечение и открытые протоколы, которые преодолевают разобщённость и невежество и способствуют пониманию. Для этого не нужно игнорировать существующие технологии — их нужно взять под контроль (harness) осознанно и твёрдо: чтобы человек владел молотком, а не молоток владел человеком.