Sonarsource спонсировал этот пост. Insight Partners является инвестором в Sonarsource и TNS.
В прошлом году кодирование ИИ прошло от новизны к необходимости. Тем не менее, большая часть разговора вокруг кодирования ИИ фокусируется на кодировании атмосфера в относительно «Девои». Нет сомнений в том, что такие инструменты, как курсор и Windsurf, делают разработку программного обеспечения доступным для всех.
Большинство компаний — и большое количество разработчиков — не работают в этой среде. Они работают в контексте больших, устаревших кодовых баз, которые могут составлять миллионы или даже миллиарды строк. Стоимость ошибки в этих средах, будь то ошибка или проблема безопасности, огромна. В некоторых оценках говорится, что стоимость плохого программного обеспечения составляет более 2 триллионов долларов в год.
Эти массовые кодовые базы могут огромной выгоды от разработчиков, использующих инструменты кодирования искусственного интеллекта, но они должны быть использованы ответственным образом. В связи с этим кодирование ИИ ничем не отличается от «обычного» кодирования:
- Вы должны убедиться, что нет очевидных ошибок или уязвимостей и что код является исполнительным и надежным;
- Вы должны быть уверены, что все сторонние библиотеки безопасны, актуальны и должным образом лицензированы;
- Вы должны убедиться, что ваш новый код читается, чтобы люди и крупные языковые модели (LLMS) могли оценить его и минимизировать вероятность того, что что -то непреднамеренно проникнет;
- Вы должны убедиться, что ваш код подлежит обслуживанию, чтобы ваша кодовая база не стала более хрупкой, поскольку написано больше кода ИИ.
В Sonar мы регулярно разговариваем с тысячами разработчиков, работающих в сотнях компаний, и наши продукты анализируют более 300 миллиардов линий кода в день. Из этих разговоров ясно, что нам необходимо установить четкие лучшие практики для использования инструментов кодирования искусственного интеллекта внутри организаций.
Итак, имея это в виду, вот семь «привычек кодирования искусственного интеллекта», которые должны принять организации:
1. Золотое правило: разработчики несут ответственность
«Вы сломаете его, у вас есть владелец» часто называют правилом керамического сарая. Для кодирования ИИ нам нужен новый вариант по этому поводу. Как разработчик, если код, который вы принимаете из перерывов инструмента AI, вы владеете им. Мы считаем, что существует кризис подотчетности, связанный с кодом ИИ. Некоторые клиенты сообщили нам, что они видят, что их разработчики принимают более 95% запросов на притяжение, сгенерированные ИИ. Это говорит о том, что код вообще не тщательно изучается — отсутствие владения. В каждой организации золотое правило должно заключаться в том, что разработчики несут ответственность за свой код, независимо от того, написали ли они его или приняли его из инструментов кодирования искусственного интеллекта.
2. (Over) документируйте контекст вашего проекта
Диаграммы русалки, файлы структуры проекта, документы структуры проектирования. Разработчики и архитекторы используют их в течение многих лет. В мире кодирования ИИ мы бы ошибились на стороне избытка. Четкая, комплексная проектная документация с изложением намерений проекта и то, как он предназначен для работы, поможет разработчикам обеспечить новый код в вашу общую архитектуру. Надежная документация также обеспечивает критический контекст для инструментов кодирования ИИ и агентов для более эффективной работы в вашей кодовой базе.
3. Держите это просто — действительно
Энтропия кода реальна. Кодовые базы, которые не поддерживаются должным образом, станут все более и более беспорядочными. Невозможно поддерживать кодовую базу, если этот код не читается — ОК, может быть, не невозможно, но очень, очень сложно. Любой, кто работает с ИИ, должен установить правила для обеспечения простоты, побуждая LLMS с этими ограждениями в окне контекста и проверки, чтобы гарантировать, что ограждения соблюдаются. Каковы ограждения? Мы слышим три довольно часто, и вы можете считать их либо функцией «и», либо функцией «или»:
4. Абсолютно, положительно без бродяга
Этот момент является разработкой программного обеспечения 101, но имеет решающее значение в кодировании ИИ. LLMS часто производит код, который в конечном итоге не используется, например, включает в себя неиспользованные ссылки. В вашем коде AI не должно быть бездомного кода. Это не только затрудняет понимание и поддержание вашей кодовой базы, но и вносит значительные риски безопасности. Например, вредоносные актеры могут начать обманывать LLM, чтобы включить, казалось бы, доброкачественные ссылки или зависимости, которые сейчас не используются, но могут использоваться с плохими намерениями в будущем, создавая огромную дыру для безопасности для вас. Это называется инъекцией Backdoor или Sleeper Agent, и это всего лишь один из примеров многих способов, которыми LLM могут быть изменены для получения новых векторов атаки. Это отличный пример того, почему защищенный код должен быть высоким качеством и подходить для цели.
5. Проанализируйте все
Объем кода, сгенерированного AI, является ошеломляющим, и проблемы, которые он создает, часто бывают тонкими и трудно найти. Вы не просто ищете орфографические ошибки и неуместные полуколоны. Вы должны убедиться, что нет сложных ошибок или известных уязвимостей. Вы также должны гарантировать, что сторонние библиотеки, которые, как предполагает ИИ, должным образом лицензированы и в хорошем состоянии. Обзор разработчика имеет важное значение, но это просто добавляет к труду, который убивает производительность разработчика и счастье. Ни один разработчик не хочет быть редактором копий для ИИ, и без соответствующего инструмента он не может идти в ногу с объемом или сложностью проблем, которые могут лежать в коде ИИ. Крайне важно снабжать разработчиков решениями, которые могут помочь выявить и сортировки проблем для обзора. Эти решения должны быть детерминированными, с высоким уровнем доверия и прозрачностью, чтобы сбалансировать неэнергинистический вывод искусственного интеллекта.
6. Обязательные модульные тесты
Некоторые компании имеют высокую полосу для покрытия кода. Все компании нуждаются в этой высокой баре. Комплексное охват модульных тестов по AI-написанному коду и непрерывное выполнение тестов является обязательным, с тестами, написанными заранее и, конечно, не тем же агентом кодирования, который пишет код. AIS может узнать, как читать тесты блока (он же взломать вознаграждение).
7. Строгие обзоры кода
Анализ кода по вопросам является лишь частью решения. Единственный способ убедиться, что привычки кодирования ИИ были повсеместно приняты, — это иметь сильную дисциплину обзоров кода. Запросы на вытягивание должны не сработать, если лучшие практики не соблюдаются, и разработчики должны быть в состоянии быстро исправить проблемы. Это требует большой дисциплины в командах разработчиков и лучших в своем классе инструментов для облегчения и автоматизации чеков.
Эти привычки кодирования ИИ можно правильно назвать лучшими практиками разработки программного обеспечения. Тем не менее, в мире широко распространенного использования кодирования ИИ мы должны повысить ожидания. Лучшие практики, которые, возможно, больше не считались «хорошими в хвостах», теперь «обязательны». Код, который вы вводите сейчас, скорее всего, сохранится в вашей кодовой базе в течение многих лет, может быть, десятилетия. Просто подумайте о том, сколько кода кобола все еще в дикой природе.
Нет сомнений в моделях кодирования ИИ, и инструменты быстро улучшаются. Тем не менее, независимо от того, насколько хорошими становятся модели, компании должны обеспечить надежно строительство их кода, в долгосрочной перспективе и что технический долг остается под контролем. Как и в нашем здоровье, унция профилактики, подкрепленная сильными привычками, стоит фунта (или более) лечения.
Сочетание с такими решениями, как функция обеспечения обеспечения кода Sonarqube, которые легко работают на этапе обзора кода, организации могут легко оценить, существует ли каждая из этих лучших практик в самом сгенерированном AI-коде. Если обеспечение кода ИИ находит серьезные проблемы, запрос на тягу не продвигается вперед, и разработчикам предоставляется список проблем, которые вызывают неудачу. Доверьте и расширяйте возможности ваших команд разработки и всегда проверяйте.
Sonar обеспечивает разработчиков и организаций для обеспечения качества, безопасного кода, подходящего для разработки и производства, будь то ИИ, сгенерированный или написанный разработчиками. Сонар, которому доверяют более 400 000 организаций по всему миру для очистки более половины триллионных строк кода, является неотъемлемой частью обеспечения программного обеспечения. Insight Partners является инвестором в Sonarsource и TNS. Узнайте больше последних из Sonarsource Trending Stories youtube.com/thenewstack Tech движется быстро, не пропустите эпизод. Подпишитесь на наш канал YouTube, чтобы транслировать все наши подкасты, интервью, демонстрации и многое другое. Группа подпишитесь с эскизом. Тарик Шаукат является генеральным директором и членом совета директоров Sonar. Ранее он был президентом Bumble Inc., материнской компанией Bumble и других приложений для социальных сетей. До этого Тарик был президентом Google Cloud. Он также держал старший … Подробнее от Тарика Шауката