В университете я принял участие в бета-программе одной из первых версий AI-автодополнения строк в VS Code. Казалось, что это изменит правила игры. С тех пор GenAI коренным образом изменил разработку программного обеспечения: появились гибридные команды, в которых agent’ы и люди работают вместе, а разработчик занимает центральное место в роли визионера и оркестратора. Сейчас мы живём внутри этой трансформации.
Естественным следствием стремительного развития инноваций в области GenAI стало появление инструментов, которые помогают нам планировать, разрабатывать, проверять и выпускать код. Однако сейчас многие рабочие процессы по-прежнему ощущаются разрозненными. Контекст теряется между разговорами и интерфейсами, а на проверку работы, созданной agent’ами, уходит слишком много времени. Agent’ы способны создавать изменения быстрее, чем их может проверить любой человек, а большинство инструментов разработчика изначально не были рассчитаны на оркестрацию множества agent’ов.
Становится всё проще упустить из виду, что именно было запущено, что изменилось, что было проверено и какие моменты по-прежнему требуют человеческого суждения.
Приложение GitHub Copilot — важный шаг на пути к решению этой проблемы. Есть одна функция, которая мне особенно нравится и которой я научился пользоваться почти каждый день: canvas. Canvas позволяют разработчикам и agent’ам взаимодействовать в общем постоянном пространстве. Вместо того чтобы считать Chat единственным местом, где происходит работа, canvas делают её видимой, управляемой и доступной для утверждения по мере продвижения.
Chat отлично подходит для выражения намерений, но плохо справляется с постоянным выполнением работы
Я считаю, что Chat по-прежнему остаётся одним из лучших интерфейсов для выражения намерений. Именно здесь можно обдумывать, совершенствовать и направлять работу. Особенно когда проблема всё ещё не до конца понятна, Chat позволяет действовать быстро и гибко.
Однако когда agent начинает выполнять реальную работу, Chat превращается в бесконечный поток инструкций, log’ов, изменений направления и исправлений. Важные элементы технически по-прежнему находятся там, но оказываются скрытыми внутри: план, точки принятия решений, проверки и моменты утверждения. Если вам приходится заново извлекать всё это из истории, вы уже начали платить за координацию.
Canvas решают эту проблему, создавая пространство для рабочих процессов. Они делают состояние понятным и постоянным. Люди могут проверять его и направлять работу. Agent’ы могут вносить обновления и двигаться вперёд. И те и другие могут сохранять согласованность, не воссоздавая контекст заново при каждом шаге.
Первая разработка: Java Modernization Studio
Одним из первых canvas, которые я разработал, был Java Modernization Studio. Модернизация Java — это как раз тот пример рабочего процесса, где важны прозрачность и управление: оценка, планирование, задачи по миграции, контрольные точки проверки и готовность к выпуску.
В интерфейсе, основанном только на Chat, эти этапы смешиваются друг с другом.
Вы можете продолжать двигаться вперёд, но контролировать процесс и доверять ему при масштабном использовании становится сложнее, особенно когда в нём участвуют несколько человек. Команды продолжают задавать одни и те же дорогостоящие вопросы: На каком этапе мы находимся? Какие решения приняты? Что блокирует продвижение? Что ещё требует одобрения человека?
Studio сделала каждый этап понятным и доступным для проверки. Команды могли напрямую видеть операционное состояние, вместо того чтобы разбирать историю повествования. Они могли проверять, что произошло, а не догадываться об этом. Пока люди-ревьюеры сосредотачивались на важных оценках, агенты продолжали выполнять задачи между контрольными точками.
Изучите canvas Java Modernization Studio >
Второй проект: Site Studio
После этого я разработал Site Studio для совершенно иного рабочего процесса: создания и управления содержимым личного сайта. Хотя этот проект был скорее связан с контентом, чем с миграцией, проблема оркестрации оставалась похожей: продвижение по разделам, итеративные правки, циклы проверки и переходы между состояниями.
В рабочем процессе, построенном только на чате, контент может быстро потерять направление. Раздел проверяется, затем проверяется снова, и уверенность в том, какая версия является актуальной, снижается. Обратная связь становится разрозненной, черновики дублируются, а прогресс замедляется, поскольку каждая итерация начинается с повторного восстановления контекста.
Site Studio делает это состояние постоянным. Состояние раздела отображается наглядно. По мере выполнения работы значения черновиков сохраняются. Точки проверки человеком обозначены чётко.