Рубріки: Думка

Як розробникам “вижити” у світі ChatGPT: 4 поради, щоб подолати конкуренцію зі ШІ

Анастасія Пономарьова

ChatGPT — ворог програмістів, що залишить фахівців без роботи, чи все ж таки союзник?

Цим питанням задалася Ріна Даян Кабаллар — авторка видання Spectrum та колишній інженер-програміст із Веллінгтона, і знайшла відповідь. Публікуємо адаптацію тексту.


Штучний інтелект, особливо генеративний штучний інтелект на базі великих мовних моделей (LLM) може погіршити становище багатьох програмістів. Але деякі експерти стверджують, що ШІ не замінить живих фахівців — принаймні, не відразу.

«Вам доведеться хвилюватися про те, що люди, які використовують штучний інтелект, замінять вас», — зазначив Танішк Метью Абрахам, доктор філософії, кандидат біомедичної інженерії в Університеті Каліфорнії та гендиректор науково-дослідного центру медичного ШІ MedARC.

Тож як розробники ПЗ можуть стати більш корисними та актуальними в епоху програмування, орієнтованого на LLM? Ось кілька порад і методів, які допоможуть програмістам не тільки вижити, а й процвітати в цьому “дивовижному новому світі”.

Дотримуйтесь основ і найкращих практик програмування

Незважаючи на те, що численні помічники з написання коду на основі штучного інтелекту можуть допомогти з доповненням та генерацією коду, основи програмування з нами залишаються. Тобто ви повинні розвивати здатність читати та обміркувати свій власний та чужий код, а також мати розуміння, як написаний вами код вписується у більшу систему.

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

Одна з найбільш цінних навичок програмування продовжує залишатися за “людськими” програмістами: це вирішення проблем.

«У цьому полягає творчий аспект професії. Навички вирішення проблеми є важливішими, ніж якась фактична мова чи інструменти, — каже Інес Монтані, співробітник Python Software Foundation, співзасновник і генеральний директор Explosion. — Не попадайтеся в пастку, порівнюючи себе з ШІ, який є більш-менш статистичним результатом великої моделі. Існують відмінності в тому, що створює розробник, і в тому, що видає модель. Бути розробником — це щось більше, ніж просто писати довільні рядки коду».

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

«Людина-кодер все ще визначає структуру фрагмента коду, правильні абстракції, навколо яких його можна організувати, і вимоги до різних інтерфейсів, — каже Армандо Солар-Лезама, головний операційний директор лабораторії комп’ютерних наук і штучного інтелекту Массачусетського технологічного інституту. — Усі вони є центральними для розробки, і вони не скоро зникнуть».

Знайдіть інструмент, який відповідає вашим потребам

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

GitHub Copilot та інші помічники кодування AI, наприклад, можуть розширити можливості розробника, пропонуючи варіанти коду під час програмування. ChatGPT і Bard від Google, з іншого боку, діють більше як програмісти-консультанти та можуть дати відповідь на запитання про API (інтерфейс програмування застосунків) або генерування фрагментів коду.

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

«Штучний інтелект – це сфера, яка швидко розвивається. Ви не зможете зупинитися на інструменті й потім використовувати його до кінця свого життя. Вам потрібно буде швидко адаптуватися до нових», – говорить Абрахам.

Також подумайте про відповідні випадки використання тих чи інших інструментів з ШІ. Так, інструменти Generative AI можуть забезпечити швидкий шлях до вивчення нових мов програмування або фреймворків, а також вони пришвидшать запуск невеликих проєктів і створення прототипів.

Чіткі та детальні запити є ключовими

Користуючись “розмовними” помічниками кодування штучного інтелекту (той самий ChatGPT), уточніть, що вам потрібно, і розглядайте взаємодію з інструментом як ітеративний процес. Абрахам пропонує написати коментар, який пояснює потрібний код, щоб ШІ-помічник міг генерувати максимально відповідні вашим вимогам пропозиції.

Вам треба найкраще оформити підказки. Тут на допомогу приходить оперативне проєктування. Один із підходів, запропонований Абрахамом, — спонукання за ланцюгом думок. Це передбачає стратегію «розділяй і володарюй», коли ви розбиваєте проблему на кілька кроків і вирішуєте кожен з них окремо, щоб вирішити всю проблему.

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

Замість того, щоб просити ШІ закодувати всю програму з нуля, наприклад, розгляньте різні завдання, які програма зможе виконати. Розділіть ці завдання далі та попросіть модель написати конкретні функції для кожного. Можливо, вам знадобиться порозумітися з моделлю про кроки, які вона має зробити, щоб виконати завдання — тобто вам треба буде провести двосторонню розмову.

«Ставтеся до ШІ майже як до розумного стажиста, який багато знає про предмет, але не має такого досвіду, як у вас», — каже Абрахам.

Точність і чіткість запитів є життєво важливими для швидкого проєктування.

«Ви повинні дуже чітко запитати модель, чого ви хочете досягти, бути дуже точним щодо того, що ви вимагаєте від неї, і переконатися, що ШІ виконуєте свої дії», — говорить Абрахам.

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

Для початку Абрахам рекомендує OpenAI Cookbook, у якому є розділи про бібліотеки та інструменти підказок, посібники з підказками та відеокурси, а Вайтілінгам пропонує прочитати The Illustrated Transformer, щоб дізнатися більше про моделі та основи машинного навчання.

Будьте критичними та розумійте ризики

Розробники повинні критично ставитися до результатів роботи великих мовних моделей, оскільки вони схильні до викривлень і часто створюють неточний або неправильний код.

«Легко застрягти в кролячій норі налагодження, сліпо використовуючи згенерований штучним інтелектом код, адже тонкі помилки важко помітити», — каже Вайтілінгам.

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

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

Авторське право є ще одним фактором, який слід враховувати під час користування ШІ — ви ж не хочете, щоб якийсь ображений розробник судився з вам через викрадення його коду (хоч це зробив ШІ, а не ви). Ризик суттєво зменшується, якщо ви використовуєте ШІ-інструменти для завершення кількох рядків коду, або ж створення коду для тривіальних буденних завдань. Не варто використовувати великі шматки коду.

«Програмісти повинні мати певне уявлення про те, наскільки оригінальним є те, що вони намагаються зробити, і наскільки це унікально для їхнього контексту, — говорить Солар-Лезама. — Якщо модель виробляє дещо оригінальний фрагмент коду, важливо бути підозрілим і скептичним, тобто оцінити потенційні ризики та користь, перш ніж розміщувати його у власній робочій кодовій базі».

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

«Одна з речей, на яку більш досвідчені фахівці звертають увагу, — це найпоширеніші уразливості у коді та найпоширеніші способи, якими можна зробити код уразливим, — каже Солар-Лезама. — Вони формують інтуїцію щодо того, на що варто звернути увагу та що викликає тривогу. Рухаючись вперед, такі методи стають більш важливими частинами комплексу розробки програмного забезпечення».

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

Останні статті

Більше 8 млрд грн податків. Стільки сплатили резиденти Дія.City в І кварталі 2025 року

Резиденти Дія.City сплатили до бюджету понад 8 млрд грн податків в І кварталі 2025 року.…

18.04.2025

Китайських офісних працівників закликають менше працювати. Це має допомогти місцевій економіці

У Китаї закликають офісних працівників не працювати надто багато — держава сподівається, що вільний час…

18.04.2025

ChatGPT значно покращив пошук місць по фото. Це посилює проблеми конфіденційності

Експерти звертають увагу на тривожну тенденцію: люди все частіше використовують ChatGPT, щоб визначити місцезнаходження, зображене…

18.04.2025

Середовище розробки IntelliJ IDEA оновлено до версії 2025.1

Компанія JetBrains випустила нову версію мультимовного середовища розробки IntelliJ IDEA 2025.1. Оновлена IDE отримала численні…

18.04.2025

Discord впроваджує функцію сканування обличчя для перевірки віку користувачів

Платформа обміну миттєвими повідомленнями Discord впроваджує функцію перевірки віку за допомогою сканування обличчя. Зараз вона…

18.04.2025

Wikipedia випустила спеціальний датасет, щоб відволікти увагу ботів

Wikipedia намагається захистити себе від тисяч різноманітних ботів-скрейперів, які сканують дані цієї платформи для навчання…

18.04.2025