#testing #engineering #ai
ШІ повсюди. ШІ вже тут. Стережися ШІ!
Останній рік (чи може трохи більше) помічаю ажіотаж з використання ШІ.
⚡️ Лідери думок говорять на конференціях, що ШІ вже тут та забере наші робочі місця
⚡️ Менеджмент давить на лідів, щоб вони скоріш впроваджували ШІ де тільки можна
⚡️ Курси пропонують “чарівні” таблетки для тестувальників у вигляді підбірки промтів на всі випадки життя
⚡️ Деякі блогери пропагують вайб кодинг - як майбутнє програмування й тестування
❓Але постає питання - а чи дійсно ШІ є тією чарівною пігулкою, що зробить вашу роботи тестувальника чи автоматизатора набагато легше? Чи дійсно ШІ допоможе стати більш ефективним?
🎓Чому мені то цікаво?
Мої колеги та знайомі користуються ШІ кожного дня. Я сам користуюся ChatGPT, Claude, Perplexity, Gemini, Cursor. Пробував також Github Copilot.
Але я відношуся до цих інструментів з долею скептицизму. Бо будь-яка технічна магія, яку ми, як тест інженери, не розуміємо, може призвести до великих проблем в продукті.
До того ж - треба вміти користуватися тими інструментами ефективно.
💡 Що таке вайб кодинг?
Вайб кодинг — це дослідницький підхід до розробки програмного забезпечення, що орієнтований на підказки, де розробники швидко генерують підказки, отримують код та виконують ітерації.
Гарно вайб кодити - це як вміти правильно просити побажання у лепрекона, де як би точно ви не намагалися описати та виправити прохання, результат ніколи не буває зовсім правильним.
Але чим більше розробник вайбкодить - тим більше зростає ризик, що він не перевірить результать ШІ та й зафігачить купу “наче працюючого” коду в мастер гілку.
🕶Проблеми з вайб кодингом та сучасними ШІ (LLM-ками)
Але сила вайб кодингу приходить із відповідальність (а точніше із проблемами ШІ):
👉 Галюцинації. ШІ генерує купу коду, який гарно виглядає, але не факт, що правильно працює. ШІ доволі легко може згенерувати тести на неіснуючі ендпоінти. Або ж зробити ці тести “зеленими” просто прибравши assertʼи.
👉 Надмірна впевненість. Девелопер з часом сприймає будь-які результати ШІ як правильні. Цим грішать навіть досвідчені інженери.
👉 Цикли перефразування. Коли інженер модифікує промт для досягнення кращого результату від ШІ. А ШІ генерує одні й тіж шматки коду та рішення (можливо виражені іншим чином)
Крім того, коли ШІ генерує багато коду, а менш досвідчена людина додає цей код в проєкт - виростають ризики появи дублікатів, поганої інтеграції та абстракції без міри.
Але це ще не всі проблеми. Бо є парадокс когнітивного спрощення. Що це таке - вже в наступному пості.