Nvidia каже, що ШІ вб’є кодування, але ось 5 причин, чому це неправильно

Основні висновки

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

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

Якою була заява керівника Nvidia щодо ШІ та програмування?

Під час Всесвітнього урядового саміту 2024 в Дубаї, очільник Nvidia Дженсен Хуанг заявив, що вважає безглуздим навчати людей програмуванню, оскільки в недалекому майбутньому весь процес програмування буде автоматизований за допомогою ШІ:

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

Хоча ШІ здатний генерувати робочі фрагменти коду, існують аргументи на користь того, що людям не потрібно вивчати основи програмування для створення програм.

Наскільки ШІ ефективний у програмуванні?

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

Онлайн-моделі ШІ можуть бути корисними у програмуванні. Моделі загального призначення, такі як ChatGPT, здатні на це, але також існують спеціалізовані моделі, наприклад CodeGPT, розроблені для обробки запитів, пов’язаних з програмуванням.

Джерело: Денис Куря/MakeUseOf

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

Чому Nvidia помиляється щодо відсутності потреби у навчанні дітей програмуванню?

Джерело: Городенкова/Shutterstock

Думка Хуанга є цікавою, і його твердження має під собою реальне підґрунтя. Однак існує багато причин, чому необхідно продовжувати навчати людей програмуванню.

1. Код, створений ШІ, все ще потребує перевірки на наявність помилок

Хоча код, згенерований ШІ, часто працює без помилок, він не є ідеальним. Навчання програмуванню надає знання, необхідні для вдосконалення та оптимізації коду, створеного ШІ. Як зазначалося вище про CodeGPT:

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

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

2. Досвідчені програмісти ефективніше вирішують проблеми, ніж ШІ

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

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

3. Програмісти здатні краще адаптувати код до вимог користувачів

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

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

4. Програмісти швидше адаптуються до технологічних змін, ніж ШІ

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

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

5. Програмісти здатні швидше реагувати на термінові запити щодо виправлень, ніж ШІ

Насамкінець, якщо з кодом щось піде не так, то необхідна допомога фахівця з програмування для виправлення ситуації. У випадку виявлення вразливості “нульового дня” час має вирішальне значення; проблему необхідно виявити та виправити якомога швидше.

Неважливо, код написаний людиною чи штучним інтелектом; обидва можуть містити помилки. Однак, фахівець, який розуміє структуру коду, зможе швидше виявити та зрозуміти причину проблеми. Людина, яка не знає, як працює код, навіть не зможе сформулювати запит для ШІ.

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