Посмотрел выступление Anthropic про то, как они собирают агентов, которые могут работать часами. Схема такая: planner → agent → evaluator Это маленькая продуктовая команда из агентов. У каждого своя роль, свой контекст и своя зона ответственности. Но есть важные нюансы. 1. Planner: верхний план и спринты Planner получает короткий запрос и превращает его в структуру работы: — что собираем — какие большие части нужны — в какой последовательности идти — какие спринты должны получиться Важная деталь: planner не расписывает всю техническую реализацию заранее. Если в начале придумать подробный план на 200 шагов и ошибиться, ошибка потом поедет каскадом через несколько часов работы. Поэтому planner держит уровень продукта и спринтов, а технические решения остаются ближе к моменту реализации. 2. Agent: сборка следующего спринта Agent берёт следующий спринт и собирает фичу. Но перед началом работы он сначала договаривается с evaluator, что именно будет считаться готовым результатом. Это главный механизм всей системы. В обычной агентской работе часто бывает так: дал задачу, агент что-то сделал, сам себя проверил, сказал “готово”, а потом выясняется, что половина сценариев не работает. Anthropic решает это через contract. 3. Contract: договорённость о готовом результате Agent пишет: я соберу такую фичу, проверять её надо вот так. Evaluator отвечает: добавь такой сценарий, такой edge case, такое состояние интерфейса, такую проверку. Они обмениваются markdown-файлами и уточняют критерии, пока не сходятся на contract. Contract — это список конкретных проверяемых утверждений. Дальше evaluator проверяет уже не исходный расплывчатый запрос пользователя, а этот contract. Например, исходный запрос: “сделай retro game maker” А contract превращает его в конкретику: — можно создать новый проект — есть sprite editor — есть play mode — сохраняется состояние — canvas работает корректно — основные сценарии кликаются в браузере В примере Anthropic для одного приложения получилось 27 contract criteria. Если критерии расплывчатые, critique тоже будет расплывчатой. Agent получает “ну как-то не очень” и не понимает, что именно чинить. Если критерии конкретные, он видит точную проблему. 4. Evaluator: жёсткая проверка через браузер Evaluator — это отдельный агент-критик. Он открывает приложение через Playwright, кликает по интерфейсу, делает скриншоты, проверяет сценарии, пишет критику и отдаёт её обратно agent. Отдельного критика проще настроить быть жёстким. У него отдельный контекст, отдельная роль и отдельная инструкция. Agent собирает. Evaluator атакует результат. За счёт этого появляется нормальное давление на качество. 5. Финальный цикл Итоговый процесс выглядит так: 1. planner разбивает задачу на спринты 2. agent берёт следующий спринт 3. agent и evaluator согласуют contract 4. agent строит 5. evaluator проверяет через браузер 6. agent чинит 7. цикл повторяется С новыми моделями эту схему можно делать проще. Иногда agent может два часа спокойно собирать продукт, а потом evaluator прогоняет проверку. Но суть остаётся: качество держится не на “модель умная”, а на архитектуре процесса. 6. Как собрать похожее самому Нужны понятные примитивы: — subagents для отдельных ролей — Playwright / Chrome MCP для проверки интерфейса — skills / rubrics для критериев качества — auto mode / permissions для долгой автономной работы — contract files для договорённости о “готово” до начала реализации — Я сам дошёл до части этих принципов: независимое тестирование, контракт (у меня назвался definition of done, dod). Теперь хочу попробовать воспроизвести целиком. Видео: https://youtu.be/mR-WAvEPRwE