Багато хто цікавиться, чи використовуються генеративні AI-інструменти для кодування і що про них думають. Цей текст — узагальнення технічного досвіду роботи з такими інструментами, щоб уникнути повторень.
Заголовок одразу показує, що це не підтримка AI, але й не критика в класичному сенсі. На ринку є безліч думок як від прихильників, так і від скептиків, тому тут фокус на персональному технічному погляді.
AI не пришвидшує роботу
Головна причина, чому генеративні AI-інструменти не дають очікуваного ефекту, — вони не роблять процес кодування швидшим.
У теорії було б зручно, якби AI писав код самостійно, а агент автоматично редагував файли, поки увага приділяється іншим завданням. Але відповідальність за якість і роботу коду залишається за розробником.
Використання AI-коду вимагає ретельного перегляду та розуміння кожного рядка, адже без цього неможливо гарантувати можливість його подальшого підтримання та розвитку. Перевірка коду, який не писав власноруч, займає не менше часу, ніж написання нового. Це підтверджується популярною думкою в індустрії: читати код складніше, ніж писати. Джоел Сполскі, автор відомих ресурсів Stack Overflow і Trello, першим звернув увагу на це у статті "Things You Should Never Do, Part I".
Деякі можуть вважати, що AI-код — це «чорний ящик», який достатньо просто протестувати. Такий підхід ризикований і безвідповідальний, адже у випадку проблем AI не несе відповідальності — відповідальність залишається на розробнику. Особливо це критично у проєктах з юридичними контрактами та фінансовими зобов’язаннями.
AI не множить продуктивність
Існують твердження, що AI допомагає працювати швидше і ефективніше, особливо з новими технологіями. Проте ці оцінки часто базуються на суб’єктивних відчуттях і не мають чітких підтверджень.
Можливо, деякі дійсно краще переглядають AI-код, але зазвичай економія часу пояснюється поверхневим або навіть повним пропуском перевірки — підхід, який є неприйнятним у професійній роботі.
Також часто говорять, що AI допомагає освоїти нові мови або технології. Насправді процес навчання і вивчення нових інструментів — це важлива частина професійного розвитку, яка приносить задоволення і глибше розуміння. Відповідальність за якість коду і розуміння його роботи не дає можливості делегувати цей процес AI.
Чому AI-код відрізняється від внесків у відкритий код
Часто питають: якщо приймати код від спільноти — це нормально, то чому AI-згенерований код — ні?
Відповідь — у якості та взаємодії.
Код, який надходить від живих людей, хоч і потребує ретельної перевірки, приносить користь проєкту: це ідеї, відгуки, нові погляди, які допомагають зробити проєкт кращим. Така співпраця — це взаємний обмін, що розвиває проєкт і підтримує його життєздатність.
Натомість AI просто генерує код автоматично, без залучення живої думки. Навіть якщо AI створить багато коду, відповідальність за його правильність і якість все одно лягає на розробника. Через це кожен рядок треба ретельно перевіряти — і це часто уповільнює роботу.
З поширенням AI почали з’являтися автоматичні pull-реквести низької якості, які створюють додатковий хаос і вимагають пояснень від тих, хто їх надсилає. Часто такі запити залишаються без відповіді, що ускладнює співпрацю.
AI — не заміна стажеру
Стажери потребують контролю й навчання, але вони ростуть і з часом стають цінними працівниками. Ті знання, що їм передають, стають їхнім досвідом, і вони можуть виконувати завдання самостійно.
AI ж не запам’ятовує попередній досвід. Кожного разу він починає «з чистого аркуша», тому не може покращуватися чи вчитися, як це роблять люди.
Висновок
Генеративні AI-інструменти для кодування мають суттєві технічні обмеження. Вони не здатні гарантовано підвищити швидкість чи якість роботи без втрати контролю і відповідальності.
Ті, хто стверджує, що AI робить їх продуктивнішими, часто свідомо знижують вимоги до якості або мають комерційний інтерес.
Авторка: Дар’я Бровченко
Немає коментарів:
Дописати коментар
Примітка: лише член цього блогу може опублікувати коментар.