Как нейросети помогают программистам в кодогенерации и тестировании

Нейросетевые модели стали мощным инструментом программирования и перешли в разряд массовой практики. Умение ими пользоваться работодатели проверяют уже на этапе тестовых заданий. Да и дальнейшее развитие специалистов без применения таких инструментов уже выглядит практически невозможным. Вместе с инженером лаборатории «Искусственный интеллект» ПГУТИ, программистом Института прикладной математики имени М. В. Келдыша РАН и Исследовательского центра в сфере ИИ по направлению «Транспорт и логистика» НИЯУ МИФИ Константином Ивановым мы разобрали примеры применения нейросетей для кодогенерации и тестирования.

Фото:

В основе — базовые знания

Нейросети сегодня стали неотъемлемой частью работы программиста — от генерации кода до анализа ошибок и тестирования. Их возможности основаны на больших языковых моделях (LLM), способных понимать запросы на естественном языке и превращать их в программные решения. Такие модели доступны в разных форматах: облачные сервисы (ChatGPT, Claude, Grok) позволяют использовать их через интернет, а локальные версии (Qwen, Phi, Gemma) устанавливаются прямо на рабочую станцию и подходят для защищённых сред. Всё чаще программисты используют LLM как "второго разработчика" — помощника, который ускоряет рутину, помогает искать ошибки и подсказывает варианты реализации.

 "Я обычно использую Cursor IDE — это надстройка, созданная на базе IDE VS Code от Microsoft. В неё встроены интеллектуальные агенты на основе LLM, между которыми можно переключаться в зависимости от задачи. Среди поддерживаемых — модели от OpenAI (GPT-5), Anthropic Claude, Google Gemini, DeepSeek и других разработчиков. Такой выбор позволяет подбирать оптимального помощника под конкретный проект", — отметил Константин Иванов.

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

 "Даже самые продвинутые языковые модели, включая так называемые thinking models, на самом деле не понимают текст так, как человек. Для них это не смысл, а последовательность числовых представлений — токенов, между которыми они ищут статистические зависимости. Архитектура LLM основана на механизме трансформеров, которые анализируют контекст и предсказывают следующий элемент в последовательности. Поэтому, когда запрос сформулирован нечетко или задача требует логического анализа, могут возникать ошибки", — пояснил специалист.

 Работаем от задачи

 С LLM-нейросетями программисты работают через контекстное окно — специальное поле для ввода запросов (промптов). Главное — грамотно изложить задачу, чему тоже важно научиться.

 "Покажу простой пример с локальным LLM-чатом НИЛ ИИ ПГУТИ. Забиваем в контекстном окне задачу: "Сделать приложение калькулятор на Python". Сначала нейронная сеть генерирует текст, описывая то, что ей нужно сделать, а затем начинает генерировать код. От инициализации модели до конечного результата ушло всего 29 секунд", — рассказал Константин Иванов.

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

 "Что касается тестирования, то логичнее писать тесты в виде скриптов. LLM-нейросеть использует свой кодегенератор, чтобы написать отдельный скрипт, отдельную программу для того, чтобы рассмотреть код другой программы и сделать тест. Но есть интересный момент. Из-за того, что языковые модели галлюцинируют довольно часто, они могут вас обманывать, указывая, что с исходным кодом всё хорошо. Если на самом деле это не так, а ты не перепроверял качество теста, то это может серьезно сказаться на конечном продукте, и на исправление ситуации может уйти много времени. Поэтому важно тесты, созданные нейросетью, проверять и либо исправлять ошибки вручную, либо давать ей задание на доработку, либо выбирать другую модель", — считает программист.

Материал подготовлен при поддержке гранта Минобрнауки России в рамках Десятилетия науки и технологий.

 

Последние комментарии

Артур Пирожков 27 мая 2022 05:13 Как на время отпуска приостановить договор с оператором

на х..вы нужны что б к вам ходить в в абон отдел..вы что наше время считаете затраченное в ваших отделах пшиком!!!легче просто не платить..на крайний случай послать..и подключить другого оператора..благо вас сидячих на жопах и стремящих ободрать народ стало как го....слово..специалист..меня убивает!!!особено специалисты операторы!!!эх вас бы ..к на производство...чтоб вы поняли что 600 р это деньги заработанные трудом...а не перепродажей трафика сидя на жопах!

Walerii Trofimov 09 октября 2018 10:54 Коллективные ТВ-антенны станут обязательными

Услуга только добровольная. Это рекламное навязывание

Фото на сайте

Все фотогалереи

Новости раздела

Все новости
Архив
Пн Вт Ср Чт Пт Сб Вс
27 28 29 30 31 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30