У сучасних умовах розвитку програмної інженерії великі мовні моделі активно інтегруються у процес розробки програмного забезпечення як інтелектуальні асистенти. Вони здатні виконувати генерацію коду, пояснення логіки, рефакторинг та інші задачі, що традиційно виконуються розробником. Проте ефективність їх використання значною мірою обмежується ресурсними факторами, зокрема вартістю обробки токенів та обмеженнями контекстного вікна.
Одним із ключових аспектів, що визначає якість роботи LLM, є формування контексту, який передається моделі. Надмірний обсяг контексту призводить до збільшення вартості inference та може містити нерелевантну інформацію, тоді як недостатній контекст обмежує здатність моделі генерувати коректні результати. У зв’язку з цим виникає задача оптимального відбору та структурування контексту.
У межах дослідження було розроблено експериментальну систему, що моделює процес генерації змін до коду з використанням LLM. Система включає модуль формування контексту, підсистему взаємодії з мовними моделями та автоматизований eval-harness для виконання задач і перевірки результатів. Взаємодія з моделлю реалізована через структурований JSON-протокол редагувань, що дозволяє детерміновано застосовувати зміни та мінімізувати помилки формату.
Для проведення експерименту було реалізовано набір стратегій формування контексту, які відрізняються обсягом і способом відбору інформації: від відсутності контексту до використання повного файлу, залежностей та retrieval-орієнтованих підходів із ранжуванням.
Оцінювання результатів здійснювалося за допомогою інтегрованої системи метрик, що враховує як якість виконання задач (успішність, проходження перевірок), так і ресурсні показники (обсяг токенів).
Результати дослідження показали, що збільшення обсягу контексту не забезпечує пропорційного покращення якості генерації. Найбільш ефективними виявилися стратегії, що використовують локальний структурований контекст, зокрема цільовий файл та його імпорти.
Retrieval-орієнтовані підходи демонструють збільшення витрат ресурсів, однак не завжди забезпечують покращення результатів через наявність нерелевантного контексту.
Таким чином, отримані результати підтверджують необхідність оптимізації процесу формування контексту як ключового чинника ефективного використання великих мовних моделей. Практичне значення роботи полягає у можливості застосування запропонованих підходів при розробці інтелектуальних систем підтримки програмістів для зниження вартості використання LLM та підвищення якості генерації коду.
Список використаних джерел:
1. Chen M. et al. Evaluating Large Language Models Trained on Code [Electronic resource]. arXiv preprint arXiv:2107.03374, 2021. URL: arXiv.org/abs/2107.03374 (date of access: 15.04.2026).
2. Brown T. B. et al. Language Models are Few-Shot Learners // Advances in Neural Information Processing Systems. 2020. Vol. 33. P. 1877–1901.
3. Ouyang L. et al. Training Language Models to Follow Instructions with Human Feedback // Advances in Neural Information Processing Systems. 2022. Vol. 35. P. 27730–27744.
4. Lewis P. et al. Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks // Advances in Neural Information Processing Systems. 2020. Vol. 33. P. 9459–9474.
5. Liu T., Xu C., McAuley J. RepoBench: Benchmarking Repository-Level Code Auto-Completion Systems [Electronic resource]. arXiv preprint arXiv:2306.03091, 2023. URL: arXiv.org/abs/2306.03091 (date of access: 15.04.2026).
|