Gwen Davis считает, что по мере расширения использования агентов искусственного интеллекта ценность разработчиков будет в большей степени смещаться от написания каждой строки кода к направлению работы инструментов, проверке их результатов и принятию технических решений. В материале предлагаются три практики: управление агентами, отказ от принятия первого ответа и использование сэкономленного времени для решения более широких задач.
Работа разработчиков меняется по мере того, как инструменты искусственного интеллекта переходят от помощи в написании кода к выполнению более значительных частей программных задач. Согласно Gwen Davis, одного написания кода уже недостаточно: всё большее значение приобретают формулирование проблемы, предоставление надлежащего контекста, оценка результатов и объяснение технических компромиссов до утверждения решения.
1. Направлять искусственный интеллект, а не просто использовать его
В материале поясняется, что выполнение задач в среде, основанной на искусственном интеллекте, начинается с чёткого определения работы, после чего следуют распределение задач и проверка результатов. Например, при задаче добавления маршрута аутентификации один агент может заняться подготовкой реализации, другой — документацией, а третий — подготовить набор тестов.
Это не отменяет ответственности разработчика за конечный результат. Практическое изменение заключается в том, что разработчик тратит меньше времени на ручное выполнение каждой части и больше — на определение требований, координацию результатов работы агентов и принятие решения о том, что подходит для проверки или выпуска. Davis приходит к выводу, что обучение направлению работы агентов искусственного интеллекта стало самостоятельным практическим навыком.
2. Не доверять первому ответу без проверки
Инструменты могут за считаные секунды выдать решение, которое выглядит убедительно, но содержит недостатки, не заметные при беглом чтении. В материале приводится пример SQL-запроса, возвращающего последний заказ для каждого клиента: решение может не учитывать одинаковые временные метки, не предлагать подходящий индекс или демонстрировать ухудшение производительности на больших таблицах.
Davis предлагает использовать вторую модель для критики работы первой, а затем применять инженерное суждение к обоим ответам. Она отмечает, что модели отличаются своими сильными сторонами и слепыми зонами, и упоминает, что встроенный в GitHub Copilot агент Rubber Duck использует вторую модель для критики планов, кода и тестов. Однако человеческая проверка остаётся необходимой: идея заключается не в замене человеческого суждения, а в добавлении критического взгляда перед продолжением работы.
3. Использовать сэкономленное время для решения более крупных задач
Когда искусственный интеллект берёт на себя большую часть реализации, разработчик может направить доступное время на понимание потребностей клиентов, оценку архитектурных компромиссов, проектирование систем и принятие решений, которые инструмент не может принять вместо него.
В примере, связанном с добавлением тёмного режима, искусственный интеллект может выполнить изменения, создать тесты и обновить документацию. Задачи разработчика включают проверку проблемы, с которой сталкиваются клиенты, анализ архитектурных компромиссов, проверку доступности, определение показателей успеха и утверждение решения.
Что меняется на практике?
Основная мысль заключается не в том, что навык программирования утратил ценность, а в том, что расширяется сфера ответственности. Разработчик по-прежнему отвечает за качество результата, но ему необходимо сочетать способность направлять работу инструментов со способностью обнаруживать их ошибки и связывать реализацию с истинной целью проекта. В материале предлагаются общие практические рекомендации, однако не определяются показатели для измерения влияния этих практик или границы задач, которые следует делегировать агентам; поэтому решения о применении по-прежнему зависят от характера проекта и уровня рисков.