Вдосконалення програмування мовами з обмеженими навчальними даними
Останні вдосконалення наших моделей розширюють можливості створення та міграції програмного забезпечення мовами програмування з обмеженими навчальними даними, як-от COBOL, Fortran і Visual Basic. Для цих мов доступно менше коду й документації, на яких моделі можуть навчатися, ніж для Python і JavaScript. Водночас саме на них працюють критична інфраструктура та життєво важливі служби в усьому світі. COBOL забезпечує роботу(відкривається у новому вікні) понад 40% систем онлайн-банкінгу, 80% транзакцій кредитними картками у фізичних точках продажу та 95% транзакцій у банкоматах, а Fortran використовується для прогнозування погоди(відкривається у новому вікні) й аналізу безпеки ядерних реакторів(відкривається у новому вікні). Удосконалення здатності ШІ працювати з цими мовами може допомогти командам підтримувати й модернізувати програмне забезпечення, від якого залежать життєво важливі служби.
У цій роботі ми спираємося на відгуки розробників і корпоративних клієнтів, які повідомляють, що моделі для програмування часто мають труднощі з цими мовами. Підтримувати й модернізувати таке програмне забезпечення буває складно: документація може бути неповною, початкові розробники — уже не працювати в компанії, а важливі бізнес-правила — бути зафіксованими лише в коді. Незалежно від того, чи команди виправляють помилки, чи переходять на іншу мову, їм потрібно зберегти поведінку програм, від якої залежить робота їхніх систем.
Щоб вимірювати прогрес, ми розробили два оцінювання. MultiLangBench перевіряє, чи може модель із нуля створити сумісний із SQLite рушій бази даних кожною з 20 різних мов програмування. Наше оцінювання міграції коду COBOL перевіряє, чи може модель перенести наявні програми на іншу мову, зберігши їхню поведінку. Разом вони перевіряють дві взаємодоповнювальні навички: створення нового програмного забезпечення та збереження функціональності наявного.
Наші новітні моделі демонструють суттєвий прогрес в обох оцінюваннях, забезпечуючи набагато вищу точність за нижчої вартості.
У MultiLangBench середня частка пройдених тестів для GPT‑6 Astra на 20 мовах програмування становить 87,4% проти 26,8% для GPT‑5.6 Sol, причому покращення є в кожній перевіреній мові. GPT‑6 Luna також перевершує GPT‑5.6 Sol, досягаючи 40,3% за орієнтовної вартості API приблизно на 78% нижчої.
В оцінюванні міграції коду COBOL GPT‑6.1 Sol досягає точності 86,6% за низького рівня міркувань проти лише 5,4% для GPT‑5.6 Sol, а вартість при цьому на 39% нижча. За вищого рівня міркувань точність сягає 97,9% — майже максимального результату в цьому оцінюванні.
Разом ці результати показують, що наші моделі значно краще працюють із широким спектром мов програмування й водночас стають економічно ефективнішими.
У MultiLangBench модель має створити сумісний із SQLite рушій бази даних заданою мовою програмування. Модель повинна організувати кодову базу, керувати станом, обробляти помилки й додавати нові функції, зберігаючи наявну функціональність.
Для порівняння реалізацій різними мовами ми використовуємо файли баз даних як спільний інтерфейс. Програма, що перевіряється, отримує початкову базу даних і SQL-запит, а потім створює змінену базу даних. Ми використовуємо еталонну реалізацію SQLite, щоб перевірити, чи відповідає вміст отриманої бази даних очікуваному. Це дає змогу застосовувати однакові тести незалежно від мови, якою створено рушій.
Ми адаптували тести з наявного набору тестів SQLite до цього формату. Оцінювання вимірює, який обсяг працездатної функціональності модель може створити за тривалий сеанс програмування, і показує як частку пройдених тестів, так і вартість API.
За максимального рівня міркувань середня частка пройдених тестів для GPT‑6 Astra на 20 мовах становить 87,4% проти 26,8% для GPT‑5.6 Sol. Покращення є в кожній перевіреній мові, зокрема COBOL (з 10,9% до 72,1%), OCaml (з 25,6% до 85,8%), Fortran (з 21,4% до 83,5%) і Visual Basic (з 27,5% до 89,4%). Astra набирає понад 83% у 19 із 20 мов. Найскладнішою залишається COBOL із результатом 72%.
GPT‑6 Luna — дешевший варіант, який також перевершує GPT‑5.6 Sol у кожній перевіреній мові. За максимального рівня міркувань середня частка пройдених тестів для цієї моделі сягає 40,3%. Результати зросли, зокрема, для COBOL (з 10,9% до 17,1%), OCaml (з 25,6% до 34,1%), Fortran (з 21,4% до 31,4%) і Visual Basic (з 27,5% до 41,6%). Цих покращень досягнуто за орієнтовної середньої вартості API 0,77 дол. США на зразок проти 3,48 дол. США для GPT‑5.6 Sol — приблизно на 78% дешевше.
Ми публікуємо середовище оцінювання MultiLangBench і набір тестів на GitHub(відкривається у новому вікні) разом із результатами для кожної мови. Розробники можуть дослідити, що саме перевіряє оцінювання, переглянути результати для мов, якими користуються, і виявити недоліки, важливі для їхньої роботи.
У другому оцінюванні моделі мають перенести програми з COBOL на C++, Java, Kotlin, Python або Rust, зберігши функціональність кожної програми.
Успішна міграція вимагає розуміння як бізнес-логіки програми, так і особливостей поведінки мови COBOL. Програми на COBOL часто обробляють фінансові транзакції та бізнес-записи, у яких такі деталі, як правила округлення й обробка відсутніх записів, відображають бізнес-вимоги. Наприклад, в арифметиці з фіксованою комою COBOL відкидає зайві десяткові знаки, якщо округлення не задано явно. Переписана програма, яка натомість округлює ці значення, може працювати без помилок, але давати інші фінансові результати.
Щоб перевірити збереження такої поведінки, ми оцінюємо моделі на прихованих тестах, які вимагають побайтового збігу спостережуваних вихідних даних. Міграція вважається успішною, лише якщо пройдено всі тести. Такі можливості збереження поведінки корисні для команд, що підтримують і модернізують старі системи. Проте їх застосування до програмного забезпечення в робочому середовищі все ще потребує експертної перевірки й тестування з урахуванням бізнес-правил і залежностей системи.
У цьому оцінюванні GPT‑6.1 Sol досягає точності 86,6% за низького рівня міркувань проти 5,4% для GPT‑5.6 Sol із тим самим налаштуванням, а вартість API становить лише 61% від вартості для GPT‑5.6 Sol. За вищого рівня міркувань точність сягає 97,9% — майже максимального результату в цьому оцінюванні. Ці результати оцінювання демонструють прогрес на шляху до точнішої та доступнішої міграції коду для команд, що модернізують програмне забезпечення, від якого залежить їхній бізнес.
Ці оцінювання разом із безпосередніми відгуками розробників і корпоративних клієнтів допомагають нам бачити, у чому наші моделі вдосконалюються, а де ще мають недоліки.
Наша мета — допомогти моделям застосовувати навички розробки програмного забезпечення до більшої кількості мов: розбиратися в незнайомих репозиторіях, планувати зміни, використовувати інструменти збирання, запускати тести й усувати помилки.
Ви можете випробувати наші новітні моделі через API на завданнях програмування мовами, якими користується ваша команда. Ваші відгуки про те, що працює, з чим моделі мають труднощі та на яких мовах чи робочих процесах нам варто зосередитися далі, допомагають визначати підходи до навчання й оцінювання моделей, щоб вони краще підтримували програмне забезпечення, від якого ви залежите.





