Досвід нашого технічного директора з використання генеративного ШІ для кодування

Еван Девіс, наш технічний директор, використовує новітні технології штучного інтелекту для вирішення реальних проблем. Нещодавно він розповів про свій досвід використання генеративний ШІ для роботи з командою Skim AI, поділившись своїми особистими думками про практичне застосування технології та потенційні підводні камені. За допомогою цієї бесіди та блогу, що з'явився в результаті, ми прагнемо зазирнути всередину цього середовища, яке швидко змінюється, і, зокрема, пояснити, чому кодування ніколи не буде таким, як раніше, в епоху простого у використанні генеративного ШІ.


Потенціал та обмеження генеративного ШІ в кодуванні

Генеративний ШІ, підвид штучного інтелекту, зосереджений на створенні нового контенту, від ілюстрацій до коду, шляхом навчання на існуючих прикладах. Нещодавній досвід Евана в роботі з найкращими моделями генеративного ШІ, такими як ChatGPT-3.5, GPT-4, Github CoPilot, Amazon CodeWhisperer, Бард і не тільки, технологія виявилася цінним союзником у завданнях кодування. Це важливе зауваження перед тим, як зануритися в деякі обмеження. У своєму нинішньому стані генеративний ШІ має великий вплив на кодування, і з часом він лише продовжуватиме розвиватися та вдосконалюватися.


Для тих, хто має певні знання з програмування, ця технологія може забезпечити значну перевагу, потенційно взявши на себе близько 80% завдань і зробивши процес налагодження більш керованим. Це збігається з думкою галузевих експертів, які вважають, що генеративний ШІ зробить революцію в підході до кодування, пришвидшивши процес і зменшивши кількість людських помилок.

Однак, як і будь-яка нова технологія, генеративний ШІ не позбавлений обмежень. З власного досвіду Еван зауважив, що ця технологія іноді генерує код, якому бракує логіки, особливо у випадку з менш поширеними бібліотеками. ШІ викликав фантомні функції - функції, яких не існувало в бібліотеці, що призводило до плутанини і додаткових витрат часу на розшифровку результатів. Це відома проблема в цій галузі, і дослідники продовжують вдосконалювати алгоритми ШІ, щоб вирішити такі проблеми.


Роль GitHub Copilot та його потенційний вплив

Еван також поділився своїм досвідом роботи з GitHub Copilot, помічником у кодуванні на основі штучного інтелекту, який підказує код по рядках. Він виявив, що з ним менше шансів зійти з рейок, оскільки він працює в межах існуючого коду користувача.

Розроблений GitHub та OpenAI, Copilot пропонує построчний код на основі контексту, наданого користувачем, що зменшує ймовірність помилкових результатів.


Майбутній випуск Copilot X, який інтегрує GPT-4 у Visual Studio Code та має функцію голосового керування, є значним досягненням у цій галузі. Цей інструмент виступатиме в ролі голосового помічника для кодування, що знаменує собою значний крок до повнішої інтеграції штучного інтелекту в наші робочі процеси кодування - тенденція, яка набирає обертів у технологічній індустрії.

Генеративний ШІ: Розеттський камінь сьогодення

Під час обговорення генеративного ШІ генеральний директор Григорій Еліас провів цікаву аналогію між кодом, згенерованим ШІ, та Розеттським каменем, ілюструючи можливості та обмеження цієї технології. Подібно до того, як Розеттський камінь слугував механізмом перекладу для стародавніх мов, генеративний ШІ можна розглядати як перекладач для мов кодування.

Генеративний ШІ в контексті кодування функціонує подібно до перекладача. Він працює над тим, щоб зрозуміти синтаксис, конвенції та ідіоми однієї мови і відтворити їх в іншій. Він виходить за рамки простого дослівного перекладу, прагнучи вловити намір, логіку і структуру оригінального коду.


Однак точність і ефективність цього процесу перекладу значною мірою залежать від наявності та багатства конкретної мови кодування або бібліотеки в навчальних даних штучного інтелекту. Наприклад, якщо штучний інтелект пройшов інтенсивне навчання на Python і Java, але мало стикався з менш поширеними мовами, такими як Erlang, йому може бути складно точно генерувати або перекладати код на Erlang.

Якість навчальних даних: Критичний фактор

Еван також наголосив на важливості якості навчальних даних, які використовуються в моделях ШІ. Інтернет рясніє кодом різної якості, і забезпечення навчання ШІ-моделі на високоякісному коді є значним викликом. Було помічено, що можуть бути створені неоптимальні рішення - вони функціонують, але є надто спрощеними.

Наприклад, розглянемо модель генеративного ШІ, навчену допомагати користувачам у створенні SQL-запитів. У минулому створення правильного SQL-запиту вимагало років спеціалізованих знань, але тепер, за допомогою генеративного ШІ, сотні тисяч користувачів можуть зробити це за лічені секунди. Це монументальний крок у демократизації знань і можливостей. Цей принцип може вийти за рамки SQL і поширитися на більш повсякденні інструменти, такі як Microsoft Excel або навіть інструменти бізнес-аналітики. Користувачам може бути надана допомога у створенні складних електронних таблиць, діаграм і інформаційних панелей з легкістю і точністю, що зазвичай вимагає просунутих знань і досвіду.


Однак, якщо бібліотека погано задокументована або навчальні дані ШІ не включають вичерпних прикладів з цієї бібліотеки, ШІ може створювати менш точний або менш функціональний код. Цей висновок збігається з більш широкими спостереженнями, зробленими дослідниками ШІ: продуктивність ШІ-моделі значною мірою залежить від багатства, різноманітності та якості даних, на яких вона навчалася.


По суті, генеративний ШІ, як і люди-кодувальники, краще працює з мовами і бібліотеками, які йому більш знайомі. Це підкреслює важливість всебічних і якісних навчальних даних для розробки моделі ШІ, а також важливість постійного навчання і вдосконалення ШІ в міру появи нових мов і розвитку існуючих. У загальному підсумку це допомагає постійно вдосконалювати здатність ШІ допомагати користувачам у виконанні різних завдань, підвищуючи їхню ефективність і продуктивність.

Відкриваючи нову еру

Досвід Евана в галузі генеративного ШІ дає змогу побачити величезний потенціал цієї технології та пов'язані з нею виклики, які вона несе в собі. Оскільки сфера штучного інтелекту продовжує розвиватися, саме такий досвід буде спрямовувати її розвиток, гарантуючи, що вона стане ще більш ефективним інструментом для вирішення реальних проблем.

Генеративні моделі ШІ, такі як ChatGPT, почали значно зменшувати потребу в сотнях тисяч годин кодування і роках спеціалізації в бібліотеках як для програмістів, так і для кінцевих користувачів. Ця трансформація являє собою монументальний стрибок вперед у доступності та зручності використання програмних додатків.


Погляньте на висновки з нашої статті "Небезпека для кодерів, пов'язана з ChatGPT і бардівськими орфограмами" підкреслює цей момент. Обидві моделі ШІ продемонстрували свою здатність ефективно генерувати код, потенційно усуваючи незліченні години людських зусиль з кодування і забезпечуючи чудові результати. Оскільки ці технології продовжують вдосконалюватися, ми можемо очікувати ще більшого впливу на легкість і швидкість виконання завдань програмування.


Поява та постійний розвиток генеративного ШІ може відкрити нову еру у світі програмування, що характеризується прискоренням інновацій та інклюзивністю. Знижуючи бар'єри для входу і спрощуючи процес кодування, ці передові моделі ШІ обіцяють майбутнє, в якому знання кодування більше не буде необхідною умовою для створення цифрових рішень. У цьому захоплюючому майбутньому ми повинні тримати руку на пульсі цієї технології, що стрімко розвивається, і продовжувати використовувати її трансформаційний потенціал.

ukУкраїнська