Отправьте статью сегодня! Журнал выйдет ..., печатный экземпляр отправим ...
Опубликовать статью

Молодой учёный

Использование генеративного искусственного интеллекта в программировании

Информационные технологии
08.07.2026
Поделиться
Аннотация
В статье рассматривается использование генеративного искусственного интеллекта в программировании как вспомогательного инструмента для работы с кодом. Цель работы — определить, какие задачи такие системы помогают выполнять быстрее, а в каких случаях результат требует обязательной проверки разработчиком. Рассмотрены сценарии применения генеративного ИИ при написании кода, поиске ошибок, подготовке тестов и объяснении уже существующих программных фрагментов. Показано, что основной эффект таких инструментов связан не с заменой программиста, а с перераспределением рутинных операций между человеком и программным ассистентом. Сделан вывод о необходимости сочетать использование генеративного ИИ с ревью кода, статическим анализом, проверкой лицензий и контролем безопасности.
Библиографическое описание
Козырев, П. М. Использование генеративного искусственного интеллекта в программировании / П. М. Козырев. — Текст : непосредственный // Молодой ученый. — 2026. — № 28 (631). — С. 16-18. — URL: https://moluch.ru/archive/631/139038.


Генеративный искусственный интеллект постепенно становится частью повседневной работы программиста. Если первые инструменты автодополнения в основном предлагали отдельные идентификаторы или синтаксические конструкции, то современные ассистенты способны формировать функции, тесты, комментарии, SQL-запросы и пояснения к фрагментам кода. GitHub в своей документации определяет Copilot как AI coding assistant, доступный в средах разработки, командной строке, интерфейсе GitHub и сценариях работы с pull request. Это означает, что генеративный ИИ уже встроен не только в момент написания строки кода, но и в более широкий цикл разработки программного обеспечения.

На практике такие системы применяются в двух близких, но разных режимах. Первый режим связан с ускорением уже понятной задачи: разработчик знает, какую функцию или тест необходимо написать, а ИИ предлагает черновой вариант реализации. Второй режим связан с исследованием возможного решения: программист уточняет требования, просит объяснить неизвестный фрагмент кода, сравнивает варианты реализации или формулирует запрос иначе, чтобы получить более подходящий ответ. В исследовании Grounded Copilot эти режимы описаны как acceleration и exploration, что хорошо показывает двойственный характер инструментов кодогенерации.

Наиболее заметный практический результат генеративного ИИ состоит в сокращении времени на рутинные операции. В эксперименте GitHub Copilot с участием 95 профессиональных разработчиков группа, использовавшая Copilot, завершила задачу на 55,8 % быстрее. Такой результат не следует переносить на все виды разработки без оговорок, потому что эффект зависит от языка программирования, опыта разработчика, качества постановки задачи и типа проекта. Однако он подтверждает, что для локальных задач с ясной целью ассистент может заметно уменьшить время написания первичного варианта кода.

При этом генеративный ИИ не работает как детерминированный компилятор или формальный верификатор. Он формирует вероятностный ответ на основании запроса и контекста. Поэтому небольшое изменение формулировки может привести к другому варианту программы. В эмпирическом исследовании устойчивости GitHub Copilot семантически близкие перефразировки меняли рекомендацию примерно в 46 % случаев и могли влиять на корректность примерно в 28 % случаев. Для практики это означает, что запрос к ассистенту становится частью инженерной работы, а не нейтральной технической деталью.

Качество сгенерированного кода также остаётся неоднородным. Сравнительное исследование GitHub Copilot, Amazon CodeWhisperer и ChatGPT на наборе HumanEval показало, что Copilot генерировал корректный код в 46,3 % случаев. Этот показатель полезен не как универсальная оценка инструмента, а как напоминание о границе применимости: модель может предложить правдоподобный фрагмент, который компилируется или выглядит логично, но не выполняет требование полностью. Особенно это важно для кода, работающего с данными пользователя, сетевыми запросами, правами доступа и финансовыми операциями.

Отдельное значение имеет безопасность. Исследование уязвимостей Copilot-generated code в GitHub-проектах выявило уязвимости в 29,5 % Python-фрагментов и 24,2 % JavaScript-фрагментов из изученной выборки. GitHub в документации для Copilot cloud agent также отдельно описывает риски prompt injection, доступа к чувствительным данным и необходимость ограничений для автономных агентов. Следовательно, использование генеративного ИИ должно сопровождаться обычными инженерными мерами: статическим анализом, проверкой зависимостей, ревью человеком, тестированием граничных случаев и запретом на передачу секретов в запрос.

Вопрос авторского права и лицензий также нельзя сводить к формальному предупреждению. GitHub описывает механизм code referencing, при котором предложения Copilot могут сверяться с публичным кодом и при совпадении показываться вместе со ссылкой и сведениями о лицензии. Для образовательных и исследовательских работ это важно по двум причинам. Во-первых, автор должен понимать происхождение заимствованного фрагмента. Во-вторых, организация обязана учитывать лицензионные ограничения, если сгенерированный код переносится в коммерческий или закрытый проект.

В образовательной среде генеративный ИИ создаёт дополнительное противоречие. Для подготовленного студента он может ускорить проверку гипотез, объяснить ошибку компиляции или показать альтернативный способ решения. Для новичка тот же инструмент способен усилить иллюзию понимания: программа работает, но студент не может объяснить, почему выбран такой алгоритм и где он сломается. Исследования по восприятию GenAI студентами показывают, что использование таких инструментов зависит от уровня курса, политики преподавателя и целей обучения. Поэтому запрет или полное разрешение без правил одинаково плохо описывают реальную ситуацию.

Рациональный подход состоит в том, чтобы рассматривать генеративный ИИ как источник черновика, а не как автора готового решения. Разработчик может поручить ассистенту подготовить каркас функции, набор тестовых случаев, документацию к API или объяснение старого кода. Но окончательное решение остаётся за человеком, который проверяет требования, анализирует ошибки, оценивает сложность алгоритма, соблюдает лицензионные условия и отвечает за безопасность результата. В этом смысле генеративный ИИ меняет структуру труда программиста: часть времени переносится с набора кода на постановку задачи, проверку и принятие инженерных решений.

Таким образом, использование генеративного ИИ в программировании оправдано там, где задача допускает быстрый черновик и последующую проверку. Наиболее полезными выглядят сценарии автодополнения, генерации тестов, объяснения кода, поиска типовых ошибок и подготовки документации. Наиболее рискованными остаются области, где ошибка проявляется не сразу: безопасность, обработка персональных данных, параллельное выполнение, финансовая логика, миграции баз данных и лицензионно чувствительный код. Поэтому развитие ИИ-ассистентов не отменяет инженерную дисциплину, а делает её более заметной.

Литература:

  1. GitHub Docs. What is GitHub Copilot? // GitHub Docs. — 2026. — URL: https://docs.github.com/en/copilot/get-started/what-is-github-copilot (дата обращения: 19.06.2026).
  2. GitHub Docs. GitHub Copilot code referencing // GitHub Docs. — 2026. — URL: https://docs.github.com/en/copilot/concepts/completions/code-referencing (дата обращения: 19.06.2026).
  3. GitHub Docs. Risks and mitigations for GitHub Copilot cloud agent // GitHub Docs. — 2026. — URL: https://docs.github.com/en/copilot/concepts/agents/cloud-agent/risks-and-mitigations (дата обращения: 19.06.2026).
  4. Barke S., James M. B., Polikarpova N. Grounded Copilot: How Programmers Interact with Code-Generating Models. — 2022. — DOI: 10.48550/arXiv.2206.15000. — URL: https://arxiv.org/abs/2206.15000.
  5. Finnie-Ansley J., Denny P., Becker B. A., Luxton-Reilly A., Prather J. Conversing with Copilot: Exploring Prompt Engineering for Solving CS1 Problems Using Natural Language. — 2022. — DOI: 10.48550/arXiv.2210.15157. — URL: https://arxiv.org/abs/2210.15157.
  6. Peng S., Kalliamvakou E., Cihon P., Demirer M. The Impact of AI on Developer Productivity: Evidence from GitHub Copilot. — 2023. — DOI: 10.48550/arXiv.2302.06590. — URL: https://arxiv.org/abs/2302.06590.
  7. Liang J. T., Yang C., Myers B. A. A Large-Scale Survey on the Usability of AI Programming Assistants: Successes and Challenges. — 2023. — DOI: 10.48550/arXiv.2303.17125. — URL: https://arxiv.org/abs/2303.17125.
  8. Yetistiren B., Ozsoy I., Ayerdem M., Tuzun E. Evaluating the Code Quality of AI-Assisted Code Generation Tools: An Empirical Study on GitHub Copilot, Amazon CodeWhisperer, and ChatGPT. — 2023. — DOI: 10.48550/arXiv.2304.10778. — URL: https://arxiv.org/abs/2304.10778.
  9. Mastropaolo A., Pascarella L., Guglielmi E., Ciniselli M., Scalabrino S., Oliveto R., Bavota G. On the Robustness of Code Generation Techniques: An Empirical Study on GitHub Copilot. — 2023. — DOI: 10.48550/arXiv.2302.00438. — URL: https://arxiv.org/abs/2302.00438.
  10. Fu Y., Liang P., Tahir A., Li Z., Shahin M., Yu J., Chen J. Security Weaknesses of Copilot-Generated Code in GitHub Projects: An Empirical Study. — 2023. — URL: https://arxiv.org/abs/2310.02059.
  11. Dakhel A. M., Majdinasab V., Nikanjam A., Khomh F., Desmarais M. C., Jiang Z. M. GitHub Copilot: the perfect Code compLeeter? — 2024. — DOI: 10.48550/arXiv.2406.11326. — URL: https://arxiv.org/abs/2406.11326.
  12. Prather J., Reeves B., Leinonen J., MacNeil S., Randrianasolo A. S., Becker B., Kimmel B., Wright J., Briggs B. The Widening Gap: The Benefits and Harms of Generative AI for Novice Programmers. — 2024. — URL: https://arxiv.org/abs/2405.17739.
  13. Prather J., Denny P., Leinonen J., Becker B. A., Albluwi I., Craig M., Keuning H., Kiesler N., Kohn T., Luxton-Reilly A., MacNeil S., Petersen A., Pettit R., Reeves B. N., Sarsa S. Students' Perceptions and Use of Generative AI Tools for Programming Across Different Computing Courses. — 2024. — URL: https://arxiv.org/abs/2410.06865.
  14. Song F., Agarwal A., Wen W. The Impact of Generative AI on Collaborative Open-Source Software Development: Evidence from GitHub Copilot. — 2024. — DOI: 10.48550/arXiv.2410.02091. — URL: https://arxiv.org/abs/2410.02091.
  15. Hou X., Wang Z., Liu X., Zhao Y., Wang D., Wang H. The Effects of GitHub Copilot on Computing Students' Programming Effectiveness, Efficiency, and Processes in Brownfield Programming Tasks. — 2025. — URL: https://arxiv.org/abs/2506.10051.
Можно быстро и просто опубликовать свою научную статью в журнале «Молодой Ученый». Сразу предоставляем препринт и справку о публикации.
Опубликовать статью
Молодой учёный №28 (631) июль 2026 г.
Скачать часть журнала с этой статьей(стр. 16-18):
Часть 1 (стр. 1-73)
Расположение в файле:
стр. 1стр. 16-18стр. 73
Похожие статьи
Влияние искусственного интеллекта на профессию программиста: угроза или помощник?
Исследование методов автоматического программирования с применением искусственного интеллекта
Влияние искусственного интеллекта на рынок IT-специалистов
Автоматизация разработки программного обеспечения с помощью искусственного интеллекта: как нейросети могут изменить процессы разработки
Перспективы применения генеративного искусственного интеллекта в бизнесе и промышленности: от автоматизации к креативности
Применение искусственного интеллекта в образовательном процессе кадетских училищ
Правовые риски работы с генеративным текстом
Генеративные модели в искусственном интеллекте: от творчества до практических приложений
Применение инструментов искусственного интеллекта в преподавании специальных дисциплин в колледже
К вопросу о правомерности использования алгоритмов искусственного интеллекта при подготовке и написании учебных работ

Молодой учёный