W ostatnich miesiącach branża programistyczna zanotowała gwałtowny wzrost zastosowania narzędzi AI. Programiści (w tym ja) coraz chętniej sięgają po nie, aby przyspieszyć kodowanie. Według danych Google, obecnie aż 90 procent deweloperów korzysta z narzędzi AI, podczas gdy rok temu odsetek ten wynosił jedynie 14 procent. Mimo że te narzędzia oferują dużą wygodę, wiążą się również z istotnymi wadami.
- 90% programistów korzysta z AI, choć rok temu to było tylko 14%.
- Kod AI ma średnio 1,7 razy więcej błędów niż kod ludzki.
- Problemy z jakością kodu AI mogą prowadzić do długo technologicznego.
- AI zwiększa produkcję, ale nie spełnia oczekiwań bezpieczeństwa i efektywności.
Firma CodeRabbit opublikowała raport, który ujawnia, że kod generowany przez AI jest znacznie bardziej podatny na błędy niż ten tworzony przez ludzi. Analiza 470 pull requestów wykazała średnio 10,83 problemów na request, podczas gdy w przypadku kodu ludzkiego jest to 6,45. To oznacza, że kod AI ma 1,7 razy więcej błędów. To pokazuje istotne niedoskonałości tych narzędzi.
Poza większą ilością błędów, kod generowany przez AI częściej zawierał krytyczne i poważne problemy, które wymagają szczególnej uwagi. Największe trudności dotyczyły jakości i czytelności kodu, co może prowadzić do puchnięcia długo technologicznego. Pojawiają się także poważne obawy dotyczące cyberbezpieczeństwa, takie jak niewłaściwe zarządzanie hasłami, co z kolei może prowadzić do wycieków danych.
Były głośnie historie gdy wielu vibe coderów upubliczniało swoje kluczowe do różnych usług chmurowych udostępniające swoje klucze do API w źródle kodu np. JS.
To nie pierwszy raz, kiedy zwraca się uwagę na wady kodu generowanego przez AI. Raporty innych firm, takich jak Bain & Company oraz Apiiro, również pokazują, że choć AI zwiększa produktywność, to nie spełnia oczekiwań pod względem bezpieczeństwa i efektywności.
W efekcie programiści muszą poświęcać więcej czasu na weryfikację wygenerowanego kodu, co paradoksalnie spowalnia ich pracę. Raport CodeRabbit sugeruje, że może nastąpić zmiana w rodzaju zadań, które będą musieli wykonywać deweloperzy. Może to być rozwiązywanie problemów wprowadzonych przez narzędzia AI.
Kilka słów ode mnie. Też często mierzę się z tego typu problemami, że kod generowany przez Claude Code czy Copilota nie jest wystarczająco dobry. Można z tym walczyć dodają reguły pisania kodu, tzw. standardy. Wymaga to jednak poświęcenia trochę czasu na odpowiednią konfigurację. Postaram się opisać jeden taki przypadek w najbliższych dniach.
Czuję w kościach, że problemy ze wspomnianego raportu mogą wynikać z niewłaściwej konfiguracji. Możliwe, że pull requesty były tworzone na zasadzie prostego promptu jak: popraw mi ten błąd <LINK>.