350 руб
Журнал «Нейрокомпьютеры: разработка, применение» №4 за 2024 г.
Статья в номере:
Разработка подхода к повышению качества генерации программного кода большими языковыми моделями
Тип статьи: научная статья
DOI: https://doi.org/10.18127/j19998554-202404-02
УДК: 004.4
Авторы:

А.Н. Тимофеев1, С.С. Михайлова2

1 Восточно-Сибирский государственный университет технологий и управления (г. Улан-Удэ, Россия)

2 Финансовый университет при Правительстве Российской Федерации (Москва, Россия)

1 89021632777@mail.ru, 2 ssmihajlova@fa.ru

Аннотация:

Постановка проблемы. В настоящее время происходит переход к использованию генеративного искусственного интеллекта на основе больших языковых моделей. Однако выявлены проблемы, возникающие при их использовании в задачах кодогенерации и в существующих методах их решения. Актуальной задачей является создание инструментов, позволяющих по различным критериям оценить и проверить код, созданный с помощью генеративного искусственного интеллекта.

Цель. Повысить качество генерации программного кода большими языковыми моделями.

Результаты. Предложен подход к повышению качества на основе проверки результатов генерации с использованием модели, включающей онтологии и базы знаний, определенных в рамках некоторой модели компетенций. Показано, что разделение по моделям компетенций S обуславливает возможность предоставления наиболее релевантных рекомендаций.

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

Страницы: 18-26
Для цитирования

Тимофеев А.Н., Михайлова С.С. Разработка подхода к повышению качества генерации программного кода большими языковыми моделями // Нейрокомпьютеры: разработка, применение. 2024. T. 26. № 4. С. 18-26. DOI: https://doi.org/10.18127/ j19998554-202404-02

Список источников
  1. Goldman Sachs допустил полную автоматизацию 300 млн рабочих мест благодаря ChatGPT. [Электронный ресурс] – Режим доступа: https://www.forbes.ru/tekhnologii/486786-goldman-sachs-dopustil-polnuu-avtomatizaciu-300-mln-rabocih-mest-blagodara-chatgpt, дата обращения 20.01.2024.
  2. Mashkoor A., Menzies T., Egyed A., Ramler R. Artificial Intelligence and Software Engineering: Are We Ready? // Computer. 2022. V. 55. № 3. P. 24–28. DOI 10.1109/MC.2022.3144805.
  3. Bull C., Kharrufa A. Generative Artificial Intelligence Assistants in Software Development Education: A Vision for Integrating Generative Artificial Intelligence Into Educational Practice, Not Instinctively Defending Against It // IEEE Software. 2024. V. 41. № 2. P. 52–59. DOI 10.1109/MS.2023.3300574.
  4. Dunder N., Lundborg S., Wong J., Viberg O. Kattis vs. ChatGPT: Assessment and Evaluation of Programming Tasks in the Age of Artificial Intelligence. [Электронный ресурс] – Режим доступа: https://arxiv.org/pdf/2312.01109, дата обращения 20.01.2024.
  5. Иванова Г.С., Мартынюк П.А. Анализ нейросетевых языковых моделей при решении задач обработки текстовых данных // Нейрокомпьютеры: разработка, применение. 2023. T. 25. № 2. С. 5–20. DOI 10.18127/j19998554-202302-01.
  6. Oh S., Lee K., Park S., Kim D., Kim H. Poisoned ChatGPT Finds Work for Idle Hands: Exploring Developers' Coding Practices with Insecure Suggestions from Poisoned AI Models. [Электронный ресурс] – Режим доступа: https://arxiv.org/pdf/2312.06227, дата обращения 20.01.2024.
  7. Generative AI for Coding. [Электронный ресурс] – Режим доступа: https://toloka.ai/blog/generative-ai-for-coding/, дата обращения 22.01.2024.
  8. Cámara J., Troya J., Burgueño L., Vallecillo A. On the assessment of generative AI in modeling tasks: an experience report with ChatGPT and UML // Software and Systems Modeling. 2023. V. 22. № 3. P. 781–793. DOI 10.1007/s10270-023-01105-5.
  9. AI code-generation software: What it is and how it works. [Электронный ресурс] – Режим доступа: https://www.ibm.com/blog/ai-code-generation/, дата обращения 22.01.2024.
  10. Как я использую GigaChat для Frontend разработки. [Электронный ресурс] – Режим доступа: https://habr.com/ru/arti­cles/787866/, дата обращения 22.01.2024.
  11. Romera-Paredes B., Barekatain M., Novikov A., Balog M., Kumar M.P., Dupont E., Ruiz F.J.R., Ellenberg J.S., Wang P., Fawzi O., Kohli P., Fawzi A. Mathematical discoveries from program search with large language models // Nature. 2024. V. 625. № 7995.
    P. 468–475. DOI 10.1038/s41586-023-06924-6.
  12. Finnie-Ansley J., Denny P., Becker B. A., Luxton-Reilly A., Prather J. The Robots Are Coming: Exploring the Implications of OpenAI Codex on Introductory Programming // Australasian Computing Education Conference. 2022. P. 10–19. DOI 10.1145/ 3511861.3511863.
  13. Denny P., Kumar V., Giacaman N. Conversing with Copilot: Exploring Prompt Engineering for Solving CS1 Problems Using Natural Language. [Электронный ресурс] – Режим доступа: https://arxiv.org/pdf/2210.15157, дата обращения 22.01.2024.
  14. Denny P., Leinonen J., Prather J., Luxton-Reilly A., Amarouche T., Becker B.A., Reeves B.N. Prompt Problems: A New Programming Exercise for the Generative AI Era // Proceedings of the 55th ACM Technical Symposium on Computer Science Education. 2023. V. 1. P. 296–302. DOI 10.1145/3626252.3630909.
  15. Kiesler N., Schiffner D. Large Language Models in Introductory Programming Education: ChatGPT's Performance and Implications for Assessments. [Электронный ресурс] – Режим доступа: https://arxiv.org/pdf/2308.08572, дата обращения 22.01.2024.
  16. Savelka J., Agarwal A., Bogart C., Song Y., Sakr M. Can Generative Pre-trained Transformers (GPT) Pass Assessments in Higher Education Programming Courses? [Электронный ресурс] – Режим доступа: https://arxiv.org/pdf/2303.09325, дата обращения 22.01.2024.
  17. Hassany M. Ke J., Brusilovsky P., Lekshmi Narayanan A.B., Akhuseyinoglu K. Authoring Worked Examples for Java Programming with Human-AI Collaboration // Proceedings of the 39th ACM/SIGAPP Symposium on Applied Computing. 2024. P. 101–103. DOI 10.1145/3605098.3636160.
  18. Unleashing developer productivity with generative AI. [Электронный ресурс] – Режим доступа: https://www.mckinsey.com/capa­biliies/mckinsey-digital/our-insights/unleashing-developer-productivity-with-generative-ai, дата обращения 25.01.2024.
  19. Heyman G., Huysegems R., Justen P., Van Cutsem T. Natural language-guided programming. [Электронный ресурс] – Режим доступа: https://arxiv.org/pdf/2108.05198, дата обращения 25.01.2024.
  20. Jiang E., Toh E., Molina A., Olson K., Kayacik C., Donsbach A., Cai C.J., Terry M. Discovering the Syntax and Strategies of Natural Language Programming with Generative Language Models // Proceedings of the CHI Conference on Human Factors in Computing Systems. 2022. № 386. P. 1–19. DOI 10.1145/3491102.3501870.
  21. Vaithilingam P., Zhang T., Glassman E.L. Expectation vs. Experience: Evaluating the Usability of Code Generation Tools Powered by Large Language Models // Extended Abstracts of the CHI Conference on Human Factors in Computing Systems. 2022. № 332. P. 1–7. DOI 10.1145/3491101.3519665.
  22. Cipriano B.P., Alves P. GPT-3 vs Object Oriented Programming Assignments: An Experience Report // Proceedings of the Conference on Innovation and Technology in Computer Science Education. 2023. V. 1. P. 61–67. DOI 10.1145/3587102.3588814.
  23. Kazemitabaar M., Chow J., Ma C.K.T., Ericson B.J., Weintrop D., Grossman T. Studying the effect of AI Code Generators on Supporting Novice Learners in Introductory Programming // Proceedings of the CHI Conference on Human Factors in Computing Systems. 2023. № 455. P. 1–23. DOI 10.1145/3544548.3580919.
  24. Тимофеев А.Н., Евдокимова И.С., Хаптахаева Н.Б., Сенотрусова А.А. Семантическое моделирование: обзор процессов, инструментов, методов и знаний предметной области разработки программного обеспечения (Часть 1) // Современная наука: актуальные проблемы теории и практики. Серия: Естественные и технические науки. 2022. № 12. С. 85–91. DOI 10.37882/2223-2966.2022.12.31.
  25. Тимофеев А.Н., Евдокимова И.С., Хаптахаева Н.Б. Семантическое моделирование: обзор процессов, инструментов, методов и знаний предметной области разработки программного обеспечения (Часть 2) // Современная наука: актуальные проблемы теории и практики. Серия: Естественные и технические науки. 2023. № 4-2. С. 122–129. DOI 10.37882/2223-2966.2023.04-2.30.
  26. Zhuge M., Liu H., Faccio F., Ashley D.R., Csordás R., Gopalakrishnan A., Hamdi A., Al Kader Hammoud H.A., Herrmann V., Irie K., Kirsch L., Li B., Li G., Liu S., Mai J., Piękos P., Ramesh A., Schlag I.l, Shi W., Stanić A., Wang W., Wang Y., Xu M., Fan D.-P., Ghanem B., Schmidhuber J. Mindstorms in Natural Language-Based Societies of Mind. [Электронный ресурс] – Режим доступа: https://arxiv.org/pdf/2305.17066, дата обращения 25.01.2024.
  27. Qian C., Dang Y., Li J., Liu W., Xie Z., Wang Y., Chen W., Yang C., Cong X., Che X., Liu Z., Sun M. Experiential Co-Learning of Software-Developing Agents. [Электронный ресурс] – Режим доступа: https://arxiv.org/pdf/2312.17025, дата обращения 25.01.2024.
  28. Newell A. The Knowledge Level // Artificial Intelligence. 1982. V. 18. № 1. P. 87–127. DOI 10.1016/0004-3702(82)90012-1.
  29. Timofeev A. Development of a Competence Model in the Field of Information Technology Using Ontologies and Knowledge Bases // 16th International Conference Management of large-scale system development (MLSD). 2023. P. 1–4. DOI 10.1109/ MLSD58227.2023.10303922.
  30. Тимофеев А.Н. Разработка модели компетенций в сфере информационных технологий на основе интеграции онтологий и баз знаний // Современная наука: актуальные проблемы теории и практики. Серия: Естественные и технические науки. 2023. № 6-2. С. 153–159. DOI 10.37882/2223-2982.2023.6-2.37.
Дата поступления: 19.05.2024
Одобрена после рецензирования: 19.06.2024
Принята к публикации: 26.07.2024