Антье Барт, главный специалист Amazon Web Services по работе с разработчиками в области генеративного искусственного интеллекта, рассказала порталу The New Stack о том, что нужно знать кодерам о разработке с использованием ИИ.

В области ИИ все меняется очень быстро, и разработчикам приходится нелегко. Как ИИ меняет процесс разработки и как инженеры-программисты могут приспособиться к новым реалиям? Как разработчики могут подготовиться к тому, что их предприятия будут все больше управляться ИИ?

1. Перейти на ИИ при создании кода

Когда большие языковые модели (LLM) оказались в центре внимания после выхода ChatGPT-3 от OpenAI в конце 2022 г., исправление кода сразу же стало очевидным вариантом их использования. Появилось множество кодирующих «вторых пилотов».

Хотя они все еще популярны, передовым направлением сейчас является «вайб-кодинг» (vibe coding), которое использует возможности ИИ по обработке естественного языка для создания кода. Этот термин был придуман специалистом по изучению данных Андреем Карпатым в 2023 г., и с тех пор эта тема постоянно набирает обороты.

Вайб-кодинг выходит за рамки исправления кода и использует ИИ для создания всего кода с помощью подсказок на естественном языке, которые также используются для уточнения кода при необходимости. По словам Барт, это делает программирование более интуитивным. Она отмечает, что представленные на рынке «вторые пилоты», которые позволяют пользователям общаться на естественном языке, не только генерируют код, но и могут использоваться на протяжении всего жизненного цикла разработки ПО для создания модульных тестов, документации и других задач разработки.

«Вайб-кодинг в данный момент привлекает всеобщее внимание, — говорит Барт. — Я вижу в нем скорее эволюцию, чем совершенно новую концепцию, что не может не радовать».

В связи с этим возникают вопросы о том, нужны ли вообще организациям разработчики, знающие кодирование. «В индустрии существуют разные мнения, но я твердо убеждена, что кодирование — это критически важный навык, суперкритически важный навык, и дело не только в том, чтобы писать код, но и в том, чтобы читать код и уметь понимать, что такое качественный код, и что именно такой код мне нужен для моего приложения», — говорит она. Но при этом добавляет: «Я также вижу, что ИИ и сопутствующие инструменты могут помочь вам как разработчику стать быстрее».

Барт представляет себе этот процесс как использование ИИ для быстрой генерации кода для создания прототипа и определения реализуемости идеи. Технические знания инженера-программиста вступают в игру, когда прототип запускается в производство в более крупных системах. «Определенно, есть большие возможности для того, чтобы начать с вайб-кодинга, а затем, очевидно, использовать эти инструменты по всему циклу, — говорит она. — Но знания действительно важны».

2. Позволить ИИ писать собственные подсказки

Инженерия подсказок стала всеобщим достоянием после выхода ChatGPT-3. Но, по словам Барт, нет причин напрягаться по поводу создания подсказок, если только вам это не интересно.

«Год назад я бы точно сказала, что создание подсказок — это важный навык, которым нужно обладать, — поясняет она. — Сейчас для создания хороших подсказок я советую использовать ИИ. Прежде чем давать ИИ подробные инструкции, я бы сказала ему: „Эй, вот чего я хочу добиться; помоги мне создать очень, очень надежную и хорошую подсказку для достижения этой цели“».

Она также добавляет, что желательно, чтобы ИИ сам написал подсказку, поскольку у разных систем ИИ разные и уникальные механизмы подсказок. «Я должна иметь базовое представление о том, почему это важно и как это структурировать, но собственно написание подсказки — в наши дни я могу полностью использовать ИИ и для этого», — считает Барт.

3. Использовать встроенный и агентный ИИ

Отчасти благодаря агентам, ИИ отходит от своего первоначального интерфейса чатбота и превращается во встроенный инструмент, узко специализированный под рабочие процессы или задачи. Эта тенденция особенно важна для разработчиков фронтендов и веб-приложений, которым необходимо понимать, как встроить функции ИИ в пользовательский интерфейс.

Например, Amazon Q Developer начинался как чат-бот. Хотя вы можете использовать его и сейчас, в марте был запущен новый Amazon Q Developer CLI. По словам Барта, это усовершенствованный агент, который повторяет опыт разработчиков в их внутренней среде разработки (IDE) с Amazon Q, но в рамках CLI (интерфейс командной строки).

«Поддержка CLI была реализована для Q более года назад, но теперь в нем появились агентные возможности, соответствующие возможностям IDE, — отмечает Барт. — Это означает, что при агентном ИИ система в конечном итоге использует высококачественную языковую модель, которая помогает ей рассуждать и планировать. В данном случае Q Developer CLI построен поверх Bedrock и использует Claude Sonnet 3.7, поэтому он обладает действительно высококачественными возможностями рассуждения, и вы можете иметь чат на естественном языке в вашем CLI, что делает жизнь намного проще».

По словам Барт, она использует этот инструмент практически ежедневно. Одна из задач, которую он облегчил, — работа с командами git. «Мне больше не нужно запоминать синтаксис, например, как отменить коммит git, — говорит она. — Я могу просто сказать ему на естественном языке: „Эй, пожалуйста, отмени этот последний git-коммит для меня“, и он предложит мне правильную команду CLI BASH».

Аналогичным образом она может спросить его: «Какие у меня есть корзины S3 в этом регионе?», и он переведет это в правильный синтаксис AWS CLI.

«Именно здесь мы видим, как агентный ИИ улучшает работу разработчиков, — говорит Барт. — Каждое приложение, возможно, каждый клиентский опыт, UX, будут кардинально изменены с помощью агентного ИИ».