23 октября 2026 года Google опубликовал статью с кратким содержанием видео «The Agent Factory» о разработке с использованием AI-агентов. В материале принял участие Райан Лопополо — инженер-программист Google Cloud, автор термина «агент-ха́рнес».
AI-агент — это комбинация большой языковой модели (LLM) и агент-ха́рнеса. Ха́рнес включает все элементы вокруг LLM, кроме самой модели. Например, в системе Google Antigravity при использовании Gemini 3.8 Flash последняя выступает в роли LLM, а Google Antigravity — в роли ха́рнеса.
Как работает ха́рнес? Он анализирует смысл вопроса, обращается в реальном времени к нужным инструментам (например, к погодным сервисам), включает полученные данные в контекст промпта и передаёт их модели для генерации обоснованного ответа. Благодаря ха́рнесу модель может самостоятельно извлекать нужный контекст и выполнять сложные задачи без постоянного надзора человека — при условии, что в репозитории есть структурированные документы, чёткие интерфейсы и доступные инструменты.
Термин «агент-ха́рнес» появился в ходе работ Лопополо над автономными кодинг-агентами. С мая 2025 года он работает с помощью естественного языка в Google Cloud, не открывая редактор кода, и контролирует соответствие конечных продуктов (PR, документов, таблиц) стандартам организации.
Лопополо развивает концепцию ха́рнес-инжиниринга — практики и исследования по созданию условий, в которых модель может успешно работать. Он рекомендует подход «сифт лефт» (shift left): переносить вмешательства на более ранние и дешёвые этапы жизненного цикла разработки — от промпта к документации в репозитории, линтеру, тестам и вышестоящей оценке. Идея в том, чтобы встраивать критерии в саму среду, а не надеяться, что модель правильно угадает на следующем шаге. Линтер, тесты и файл «AGENTS.md» становятся постоянным хранилищем и механизмом контроля того, что считается «правильным».
Главная задача ха́рнес‑инжиниринга — обеспечить возможность агентам выполнять последовательную работу в течение длительного времени. Для этого сначала нужно ограничить область работы агента и заставить его создавать небольшие пул‑реквесты с легко проверяемыми изменениями. Когда станет понятно, что работа может вестись стабильно в течение долгого времени, агенту можно доверить крупные задачи — например, миграцию языка программирования в кодовой базе.
Интеграция знаний из разных областей позволяет агентам выбирать нужные навыки и выполнять широкий спектр задач в качестве эксперта по бэкенду или фронтенду. Например, добавление новых знаний (если новый архитектор React обратит внимание на определённые аспекты) повышает способности агента в области проектирования и производительности фронтенда.
Лопополо подчёркивает: нельзя определять возможности AI‑моделей на основе прошлого опыта — нужно постоянно пересматривать их возможности. Работа, которая провалилась полгода назад, может быть выполнена текущей моделью. Для адаптации к изменениям важнее организовать доступные инструменты и контекст, а не придерживаться фиксированных процедур для конкретной модели.
Билли Джейкобсон из Google (старший разработчик‑адвокат) предлагает настраивать ха́рнес агента под конкретные задачи. Если агент работает некорректно, лучше всего самостоятельно создать ха́рнес, чтобы найти причину. При проектировании ха́рнеса важны три решения для любого рабочего процесса:
* цикл — сколько раз повторять действия агента и при каких условиях завершать;
* инструменты — какие инструменты предоставить агенту, когда и как их вызывать;
* память — насколько важна память о разговоре или работе, когда извлекать или сжимать данные.
Джейкобсон продемонстрировал 3 кастомных ха́рнеса:
* Линейный ха́рнес подходит для рабочих процессов без необходимости повторений: точечная проверка, конвертация файлов, однократный анализ данных.
* Замкнутый ха́рнес поддерживает повторения для достижения проверенного решения в задачах, требующих исправления ошибок или рефакторинга. В демо агент автоматически редактировал код для соответствия неудовлетворённым требованиям, ха́рнес выполнял юнит‑тесты для изменённого кода. При провале теста система получала логи ошибок и стек‑трейс, возвращала данные в рабочую память агента. Процесс повторялся до успешного прохождения всех тестов. Число повторений ограничено 5 — это предотвращает бесконечные циклы и рост затрат.
* Ха́рнес с мерами безопасности позволяет добавлять собственные действия без полной переделки базовой части. Например, Google Agent Development Kit (ADK) предоставляет основу с автоматическим управлением памятью и мерами безопасности. Джейкобсон показал использование функции сжатия контекста ADK для обобщения прошлых диалогов и предотвращения чрезмерного разрастания контекста при длительном отладке. Также описан метод проверки shell‑операций перед выполнением с целью блокировки опасных действий (рекурсивное удаление файлов, удаление БД, несанкционированный git push).
Смита Коран (старший инженер по связям с разработчиками в Google) считает, что для кодинг‑агентов не обязательно использовать тяжёлые модели вывода — высокая производительность достигается за счёт баланса трёх слоёв:
* слой 1 (модель) — Gemini 3.8 Flash;
* слой 2 (ха́рнес) — Google Antigravity;
* слой 3 (знания) — репозиторий Google Skills (содержит более 100 пакетов для разных областей, включая Google Cloud).
Google приходит к выводу, что для создания эффективных кодинг‑агентов нужно не просто заменять всё масштабными моделями, а инвестировать в инструменты, детерминированные механизмы проверки и структурированный контекст, сохраняющий ценность при обновлении моделей.