У облачного агента набор инструментов шире, чем у локального, потому что у него есть свой экран и свой рабочий стол. Он создаёт снимки экрана, записи и журналы как артефакты работы, умеет взаимодействовать с интерфейсом и браузером и позволяет временно передать управление человеку, а потом вернуть его агенту. Отдельно доступна диагностика через встроенный внешний сервер: транскрипт, события, детали окружения и журналы подготовки.
Наивное отношение к артефактам - считать их доказательством. Снимок экрана выглядит убедительно, и на этом разбор часто заканчивается. Но каждое свидетельство доказывает ровно свою часть работы и молчит про остальное, и путать одно с другим - самый дешёвый способ принять недоделанное за готовое. Убедительность и доказательность здесь расходятся тем сильнее, чем красивее артефакт.
Полезно один раз свести виды свидетельств в таблицу с колонкой чего не доказывает. Ниже такая карта. Снимок показывает конкретное визуальное состояние, но ничего не говорит про интерактивность и доступность. Запись показывает последовательность действий, но не проверяет инварианты на стороне сервера. Журнал показывает наблюдаемый вывод, но не гарантирует отсутствия тихой ошибки за пределами периода наблюдения. Вывод тестов доказывает, что прошёл заявленный набор, а не что покрытие полное. И diff показывает фактические изменения кода, но не работоспособность окружения.
| Свидетельство | Что доказывает | Чего не доказывает |
|---|---|---|
| Снимок экрана | Конкретное визуальное состояние | Интерактивность и доступность |
| Запись | Последовательность действий | Инварианты на стороне сервера |
| Журнал | Наблюдаемый вывод во время работы | Отсутствие тихой ошибки вне периода наблюдения |
| Вывод тестов | Заявленный набор прошёл | Полноту покрытия |
| Diff в пул-реквесте | Фактические изменения кода | Работоспособность окружения |
Эта таблица - главная мысль главы. Оценивая результат автономной работы, вы каждый раз выбираете, какой уровень свидетельства достаточен для цены вопроса. Для правки текста хватит diff. Для изменения интерфейса нужны снимок и взаимодействие. Для изменения расчётов - тесты и проверка инвариантов. Требовать всё всегда дорого, принимать одно за всё - опасно.
Отдельный механизм - передача управления человеку. Он полезнее, чем кажется: не всякую задачу можно доверить агенту целиком, но многие можно довести до точки, где нужен один осмысленный клик. Возврат управления обратно превращает это в нормальный совместный процесс, а не в прерванную задачу.
Есть тонкость про репозиторные обработчики событий: они начинают действовать, когда агент получает окружение с правом записи. Ранняя разведка в режиме только чтения проходит без них. Это стоит помнить при проектировании политики: проверка, рассчитанная на все действия агента, может не сработать на самом первом этапе, когда он только осматривается.
Разберём один случай до конца, потому что он показывает, как именно свидетельство обманывает. Агент правит форму: добавляет поле, подписывает его, поправляет отступы. К результату приложен снимок, на котором форма выглядит правильно, и изменение принимают. Через неделю выясняется, что новое поле нельзя заполнить с клавиатуры, а подпись не связана с полем и не читается вспомогательными технологиями. Снимок не соврал: он честно показал визуальное состояние, то есть ровно то, что умеет показывать. Закрывает этот разрыв не более внимательный взгляд на картинку, а другое по природе свидетельство - запись прохода по форме без мыши и тест, проверяющий связь подписи с полем.
У сбора свидетельств есть цена и срок годности. Каждый снимок и каждая запись стоят времени прогона и места, и требование прикладывать всё ко всему быстро превращается в шум, в котором перестают искать. Важнее другое: артефакты привязаны к агенту и живут вместе с ним, а обсуждение изменения живёт в пул-реквесте и в репозитории. Всё, что должно остаться доводом через полгода - тест, зафиксировавший поведение, или запись в описании изменения, - переносят в репозиторий сразу. Признак, по которому в реальной работе понимают, что этого не сделали, - спор о старом решении, в котором единственная ссылка на доказательство ведёт в место, где уже ничего нет.
У облачного прогона есть слой настроек, который живёт не в запросе, а в панели: модель по умолчанию, репозиторий по умолчанию и базовая ветка, от которой агент отходит при создании пул-реквеста. Прогон, не указавший ничего из этого, молча наследует общие значения, поэтому неверная базовая ветка проявляется не как ошибка, а как изменение, ушедшее не туда. Там же лежит разрешение на долгоживущих агентов - командный переключатель, решающий, может ли работа тянуться часами, а вместе с ней и накопление артефактов. И там же проходит граница между тем, что исчезнет вместе с агентом, и тем, что попадёт в GitHub: пул-реквест от базовой ветки - единственная часть прогона, которая переживёт его без вашего участия.
Инженерный вывод простой: облачные инструменты дают богатый след, и этим следом надо пользоваться осознанно. Требуйте свидетельство под цену ошибки, читайте его как ответ на конкретный вопрос и не позволяйте одному красивому снимку закрывать всю задачу. А диагностический доступ к транскрипту и событиям используйте до того, как начнёте гадать, почему автономный прогон повёл себя странно.
Типичные провалы предсказуемы. Принять снимок экрана за доказательство работоспособности. Считать зелёный вывод тестов доказательством полноты покрытия. Забыть, что обработчики событий не действуют в фазе разведки. Оставить единственное доказательство в артефакте, который не переживёт агента. И разбирать странный прогон по итоговому сообщению вместо транскрипта и событий.