#testing #engineering #ai
Продовжую роздуми про те, які є проблеми у використанні інструментів ШІ в роботі тест інженера.
🧱Проблеми вайб-кодингу
Минулого разу ми розібрали такі проблеми як галюцинації, надмірну впевненість та цикли перефразування.
Усі више перераховані проблеми в недосвідчених руках призводять до ще більшого технічного боргу. Бо коли раніше сіньйор додавав новий код, він спирався на розуміння архітектурних паттернів та наявність готових рішень в продукті. ШІ просто “підставляє” найбільш ймовірний шматок код для вирішення задачі тут, на місці.
Чому це погано?
👉 Новий код може бути дублікатом існуючого
👉 Новий код може додавати зайві рівні абстракції
👉 Новий код може погано інтегруватись з іншими наявними системами та API
Але крім цього є інша проблема …
🎓Парадокс когнітивного спрощення
Andrew Stellman розповідає про парадокс та наводить приклад того, як різні інженери застосовують ШІ.
Розробники-початківці потребують досвіду для того, щоб використовувати ШІ ефективно, бо для цього треба вміти оцінювати, дебажити та покращувати згенерований код. Початківці повністю пропускають етап навчання коли бездумно копіюють згенерований ШІ код в свої проєкти. Бо згенерований код в їх очах дорівнює виконаній задачі. Але ціль завжди дещо більша: зрозуміти вимоги та побудувати рішення на основі відомих концепцій та технік. Саме застосування та навчання цих технік бракує. ШІ викреслює їх із цього рівняння.
В реальності, найбільш цінними навичками в інженерії якраз є вміння працювати з неточними вимогами, знати про можливі плюси й мінуси рішень та приймати ризики. Вайб кодинг дозволяє швидко “вирішити точкову задачу”. А коли потім постане питання подебажити цей складний код - ШІ вже не зможе допомогти.
Сінйьори за допомого ШІ:
- роблять швидкі прототипи
- генерують "фреймворки" для автоматизації
- досліджують та оцінюють різні варіанти імплементації алгоритмів
- автоматизують рутинні задачі
Разом із тим, інженери початківці (не усі!):
- комітять непрацюючий та нетестований код
- пропускають купу багів в безпеці та перфомансі (крім функціональних)
- швидко будують крихкі рішення, які не розуміють
👨🔬 Так що робити?
Парадокс когнітивного спрощення додає новий складнощів для тих, хто буде вчити й вчитися кодити в 2025му році. То ж навички критичного мислення при написанні коду будуть вкрай важливими.
Це все не означає, що не треба користуватись інструментами ШІ. Це також не означає, що треба вчитись як “діди” - без ШІ, без гугла - та писати код виключно на листочку.
Просто треба навчитись як користуватись ШІ без ризику втрати розуміння.