Материал подготовлен автоматически по первоисточникам: ссылки на них — в конце статьи.
Агентскую обвязку научили улучшать так, чтобы рост числа решённых задач не оставлял безопасность без контроля. В работе Google Cloud AI Research, Google DeepMind и Carnegie Mellon University, которую пока не рецензировали и где все числа получили сами авторы, Harmony Harness обошла другие методы эволюции обвязки более чем на 10% на обоих тестах. Подход позволяет не выбирать заранее один компромисс между качеством и безопасностью, а сохранить несколько вариантов для разных требований к продукту.
Одна награда скрывает конфликт между качеством и безопасностью
Обвязка агента (agent harness) включает системную инструкцию, инструменты, цикл работы, проверки и правила координации. Она определяет, как базовая модель планирует действия, запускает код, читает результаты и решает, когда задача завершена.
Предыдущие методы меняли такую обвязку как единый программный объект и оценивали её одной величиной, например долей пройденных тестов. Это упрощает поиск, но позволяет улучшить основной показатель ценой свойства, которое не вошло в награду. Агент может чаще выдавать работающий код после ослабления проверки, хотя этот же шаг пропустит уязвимость.
Harmony Harness оставляет функциональность и безопасность независимыми целями. Функциональность измеряют по прохождению тестов, безопасность — по способности нейтрализовать скрытую проверочную атаку. Главным итоговым показателем служит доля запусков, где код одновременно работает и остаётся безопасным.
Система не складывает цели в одну глобальную оценку. Она поддерживает набор подзадач с разными предпочтениями: одна сильнее давит на функциональность, другая — на безопасность, третья ищет равновесие. Вместе их лучшие решения приближают фронт Парето — набор вариантов, где одну цель уже нельзя улучшить, не ухудшив другую.
Поиск разделяет общие механизмы и настройки среды
Для каждой комбинации предпочтений система хранит собственную версию обвязки. Модель предлагает изменение после разбора неудачных запусков, а новый вариант конкурирует только с решениями, ориентированными на близкий компромисс. Поэтому удачная находка может распространиться на соседние варианты, но не вытеснит всю популяцию только из-за высокого результата по одной цели.
Такой поиск поддерживает разнообразие без искусственной метрики сходства репозиториев. Число строк или различия в структуре файлов плохо описывают поведение агента: небольшая правка проверки может сильно изменить результат, а два по-разному устроенных репозитория могут выполнять одинаковые действия.
Второе разделение проходит внутри самой обвязки. Harmony Harness отдельно меняет общие инструменты, навыки и управляющую логику, а также компоненты, привязанные к конкретной среде. Запуск кода в контейнере относится к общему механизму, тогда как выбор образа и правила очистки контейнера зависят от среды.
При выполнении задачи специальный планировщик выбирает нужные общие и предметные компоненты, а затем собирает из них рабочий процесс. На BaxBench получались планы из 5–8 узлов, причём система перестраивала их под каждую задачу, а не исполняла одну фиксированную цепочку.
Подход полезен там, где у агента несколько проверяемых целей
Harmony Harness проверяли на SecRepoBench и BaxBench: агент создавал или исправлял код, а результат оценивали одновременно функциональными тестами и проверками безопасности. Замеры проводили на поисковых и отложенных частях наборов; итоговые значения усредняли по трём запускам. Это подтверждает подход для безопасной генерации кода, но не переносит вывод автоматически на поддержку клиентов, поиск или офисную автоматизацию.
Разделение компонентов помогло при переносе между тестами без новой эволюции. После обучения на SecRepoBench общая часть обвязки превысила исходный результат BaxBench на 14,2 процентного пункта. В обратном направлении выигрыш составил 23,3 пункта. Специализированные исправления при этом не загружались в новой среде.
Работа меняет планы команд, которые уже оценивают агента по нескольким исполняемым критериям. Вместо единого показателя стоит хранить цели раздельно и выбирать версию обвязки под требования конкретного запуска. Иначе среднее значение скроет вариант, который лучше подходит для строгого режима безопасности или, наоборот, для задачи с приоритетом полноты решения.
Архитектуру обвязки также имеет смысл разделить на переносимое ядро и небольшие адаптеры среды. Тогда общие проверки, инструменты и стратегии можно развивать на нескольких наборах задач, не перенося вместе с ними настройки песочницы и частные обходные пути.
Сам эволюционный поиск нужен не каждому продукту. Если у агента одна цель и фиксированный процесс, обычная настройка обвязки останется проще. Harmony Harness становится практической схемой, когда команда умеет автоматически проверять несколько свойств и действительно допускает разные компромиссы между ними.
Источники
Иллюстрация: рисунок из статьи «Harmony Harness: Multi-Objective Self-Evolution of Agent Harnesses», Weichen Yu, Lesly Miculicich, Bhavana Dalvi Mishra и др., CC BY 4.0
Похоже на вашу задачу?
Расскажите, что собираете. За полчаса разложим на этапы и назовём сроки — это бесплатно и ни к чему не обязывает.



