Az AI kódolás furcsa ellentmondása: miért nem mindig jár megbízhatósággal a sebesség
A sebesség csapdája: amikor az AI gyorsítása problémát okoz
Valószínűleg már te is átélted. A csapat elkezd AI-alapú fejlesztői eszközöket használni, és hirtelen minden metrika szárnyalni kezd. A pull requestek órák alatt összeolvadnak, a funkciók kétszer olyan gyorsan készülnek el. A vezetők elégedettek, a mérnöki vezetés pedig elégedetten nézi a számokat.
Aztán jön a hajnali három óra. Egy incidens. Aztán még egy. És még egy.
A valóság az, hogy az AI eszközök nem javítják meg a meglévő fejlesztési gyakorlatot – inkább felerősítik azt, ami már ott van. Ha repedések vannak a folyamatokban, az AI ezeket villámgyorsan betonozza be.
Mi történik valójában a gyorsuláskor
Amikor az AI egy teljes függvényt generál, teszteket ír, vagy egy modult épít fel másodpercek alatt, az jó érzés. Az engineer átnézi a javaslatot, egy-két apró módosítást végez, commitol, és továbblép. Gyorsabbnak tűnik, és objektíven az is.
De itt jön a probléma: az AI-generált kód átvizsgálása gyakran nagyobb figyelmet igényel, mint egy ember által írt kód. Ha egy kolléga írta, akkor ismered a gondolkodásmódját. Ha az AI generálta, akkor olyan mintákat és implementációkat kell értékelni, amelyek esetleg nem ismertek, vagy éppen architekturális szempontból problémásak.
A reviewerek már így is túlterheltek. Most pedig egyre több pull requestet néznek át sebtében, és nem mélyednek el benne. A peremhelyzetek, amelyekre egy tapasztalt mérnök odafigyelne, elmaradnak. A biztonsági szempontok figyelmen kívül maradnak. A tesztelés csak a boldog utakat fedi le.
Ez olyan kódot eredményez, ami elsőre rendben tűnik, de mögötte rejtett technikai adósság halmozódik fel.
A rejtett költségek
Ez a gyorsulás több ponton is problémát okoz:
Tesztlefedettségi hiányosságok: az AI-generált tesztek jól működnek az nyilvánvaló eseteknél,但是在失败模式 és integrációs helyzeteknél nem mindig találják meg a problémákat. A metrikák szerint 80 százalékos tesztlefedettség létezik,但是在失败 esetén a 20 százalékos hiányosságok miatt a problémák emerge-nek.
Ismeretvesztés: amikor a kód olyan gyorsan jön el, hogy az informal knowledge transfer elmarad, az team fejlesztőként csak az original author és az AI modell tudja valóban megérteni a code-ot. Ez silent killer a maintainability szempontjából.
Architekturális sodródás: az AI eszközök nem ismerik a rendszer teljes architektúráját. Egy helyi optimalizálást javasolnak,这可能会 tạo ra problémákat globálisan. Ez több száz pull requesten keresztül történik, hogy az team végül észreveszi.
Operacionális vakfoltok: új code path-ok ship-elnek nélkül proper monitoring és observability instrumentation. A rush miatt a reliability review step elmarad, and then valami baj történik, és a team flying blind.
Operational Blindness: új code paths gyakran ship-elnek nélkül proper monitoring és observability. A rush miatt a reliability review elmarad, és akkor valami probléma történik, és a team flying blind.