Harness Engineering в Антропик на примере дизайна интерфейсов
Основные проблемы
Два распространённых сбоя при выполнении длительных задач
1. context anxiety — по мере заполнения контекстного окна модели теряют связность и начинают преждевременно сворачивать работу.
2. Предвзятость при оценке своей работы — когда модель оценивает собственную работу, она склонна её хвалить, даже если результат очевидно посредственный.
Решение: Многоагентная архитектура по образцу GAN
Вдохновившись генеративно-состязательными сетями (GAN), автор разработал архитектуру с двумя агентами: генератором и оценщиком.
Настроить отдельного оценщика на скептицизм оказалось куда проще, чем заставить генератор критически относиться к собственной работе.
Часть 1: Дизайн интерфейсов
Были разработаны четыре критерия оценки: качество дизайна (ощущение единого целого), оригинальность (авторские решения против шаблонов), мастерство исполнения (типографика, отступы, цвет) и функциональность (удобство использования).
Яркий пример результата: на десятой итерации сайта для нидерландского художественного музея модель полностью переосмыслила подход и создала пространственный опыт — 3D-комнату с шахматным полом на CSS-перспективе, картинами на стенах и навигацией через дверные проёмы вместо прокрутки.
Часть 2: Полный стек разработки
Три агента:
- Планировщик — разворачивает 1–4 предложения в полноценное техзадание
- Генератор — строит приложение поэтапно, фича за фичей
- Оценщик — через Playwright кликает по живому приложению как реальный пользователь и фиксирует баги
Перед каждым спринтом генератор и оценщик согласовывали «контракт спринта»: что именно будет построено и как будет проверена успешность — до написания любого кода.
Сравнение с одиночным агентом: харнес обошёлся более чем в 20 раз дороже ($200 против $9), однако разница в качестве была очевидна сразу — игра, созданная одиночным агентом, не работала, тогда как результат харнеса можно было реально запустить и поиграть.
Упрощение с новой моделью
Каждый компонент харнеса закладывает предположение о том, чего модель не может сделать самостоятельно, — и эти предположения стоит регулярно проверять, потому что они могут устаревать по мере улучшения моделей.
С выходом Opus 4.6 структуру спринтов убрали полностью, поскольку модель справлялась с задачей без декомпозиции. Оценщик перешёл к единственной проверке в конце, а не после каждого спринта.
Главный вывод
Пространство интересных комбинаций харнесов не сужается по мере улучшения моделей — оно смещается. Интересная работа для AI-инженеров состоит в том, чтобы постоянно находить новые эффективные комбинации.
Post #56
66