Ako skontrolovať kód vygenerovaný AI
Ak chcete skontrolovať kód vygenerovaný AI, začnite tým, čo sa zmenilo — ktoré súbory a prečo — a potom sami otestujte správanie, skôr než prečítate ktorýkoľvek riadok kódu. Potom skontrolujte oblasti, kde AI kód najčastejšie zlyhá: chýbajúce kontroly oprávnení na serveri, tajné údaje vystavené prehliadaču, neoverené vstupy, balíčky alebo funkcie, ktoré neexistujú, a úpravy vecí, ktorých ste sa nikdy nepýtali.
AI píše kód, ktorý zvyčajne funguje a často vyzerá upravene. To uľahčuje schváliť ho bez skutočnej kontroly. Tento návod je postup kontroly, ktorý funguje, či kód čítate plynule, alebo vôbec.
Prispôsobte kontrolu riziku
Nie každá zmena potrebuje rovnakú pozornosť.
| Zmena | Kontrola |
|---|---|
| Text, farby, rozloženie | Pozrite sa na ne v náhľade na počítači aj na telefóne |
| Nová stránka alebo funkcia | Otestujte postup; prebehnite zmenené súbory |
| Prihlásenie, oprávnenia, platby, osobné údaje | Dôkladné čítanie, reálne testovanie, zvážte druhého kontrolóra |
| Štruktúra databázy, mazanie dát, migrácie | Prečítajte si zmenu, otestujte na kópii, najprv urobte zálohu |
Krok 1: Zistite, čo sa zmenilo
Pred posúdením kódu si zoberte zoznam zmien:
- Ak je projekt v Gite, pozrite sa na diff: súbory a riadky, ktoré sa zmenili od posledného commitu. Pozrite si ako používať Git s aplikáciou vytvorenou AI.
- Alebo sa opýtajte AI priamo:
Vypíš každý súbor, ktorý si zmenila pri poslednej zmene, a pri každom jednou vetou vysvetli, čo sa zmenilo a prečo.
Červené vlajky v tejto fáze: súbory nesúvisiace s požiadavkou, zmazané súbory, zmeny konfigurácie alebo závislostí, o ktorých ste nežiadali.
Krok 2: Najprv otestujte správanie
Čítanie kódu vám povie, čo má robiť; testovanie vám povie, čo skutočne robí. Pred čítaním:
- Vyskúšajte zmenu ako bežný používateľ, na počítači aj na obrazovke veľkosti telefónu.
- Vyskúšajte ju so zlým vstupom: prázdne polia, veľmi dlhý text, záporné čísla, dátum v minulosti.
- Vyskúšajte ju odhlásený a ako iný používateľ.
- Znova prejdite postupy, ktoré sú najdôležitejšie: registrácia, prihlásenie, hlavná akcia, platba.
Ak test zlyhá, ušetrili ste si čas čítania — jasne to nahláste a nechajte AI, aby to opravila. Pozrite si ako napísať dobré hlásenie chyby.
Krok 3: Skontrolujte oprávnenia na serveri
Toto je najdôležitejšia vec na kontrolu. AI nástroje často skryjú tlačidlo na stránke, ale server nechajú vykonať akciu pre každého, kto o ňu požiada.
Pri každej trase alebo funkcii, ktorá číta alebo mení dáta, sa opýtajte:
- Kontroluje, či je používateľ prihlásený?
- Kontroluje, či má tento používateľ prístup k tomuto záznamu?
- Je táto kontrola na serveri, nie len na stránke?
Pre každú API trasu, ktorú si pridala alebo zmenila, mi povedz, akú kontrolu oprávnení vykonáva na serveri, a uveď citáciu daného riadku. Označ každú trasu, ktorá ju nemá.
Potom to otestujte: prihláste sa ako používateľ A, poznačte si ID záznamu, prihláste sa ako používateľ B a požiadajte o tento záznam. Úplný test je v bezpečnostnom kontrolnom zozname pre aplikácie vytvorené AI.
Krok 4: Hľadajte uniknuté tajné údaje
- V zmenených súboroch hľadajte všetko, čo vyzerá ako kľúč alebo heslo.
- Skontrolujte, že tajné kľúče sa čítajú z premenných prostredia a používajú sa iba v kóde servera.
- Dávajte pozor na verejné prefixy ako
VITE_aleboNEXT_PUBLIC_pri tajných premenných — tie sa zapracujú do kódu v prehliadači.
Pozrite si ako bezpečne uchovávať API kľúče.
Krok 5: Skontrolujte vstupy a chyby
- Overovanie na serveri. Kontroly v prehliadači sa dajú obísť. Povinné polia, dĺžky, formáty a povolené hodnoty má kontrolovať aj server.
- Databázové dotazy používajú parametre, nie text zložený spájaním používateľského vstupu do dotazu.
- Chyby nie sú prehlušené. Blok
try/catch, ktorý nerobí nič, skrýva zlyhania. Chyby by sa mali zapisovať do logu a používateľ by mal vidieť jednoduchú správu. - Používateľom sa nezobrazujú interné detaily — stack traces a chyby databázy patria do logov.
Krok 6: Overte, že je to skutočné
AI modely niekedy vytvoria kód, ktorý vyzerá správne, ale odkazuje na veci, ktoré neexistujú.
- Balíčky: každá nová závislosť má byť skutočný, udržiavaný balíček s presne týmto názvom. Buďte opatrní s názvami, ktoré vyzerajú ako preklepy populárnych balíčkov.
- Funkcie a možnosti API: ak kód volá funkciu knižnice alebo možnosť externého API, ktorú ste nikdy nevideli, overte ju v oficiálnej dokumentácii.
- Zástupný kód: hľadajte
TODO,mock,fake, pevne zapísané ukážkové dáta alebo funkcie, ktoré vracajú pevnú hodnotu.
Pridala si nejaké nové balíčky? Pri každom uveď presný názov, na čo slúži a či bez neho vieme byť.
Krok 7: Skontrolujte, či to zapadá
Kód môže fungovať a napriek tomu sťažiť neskoršie zmeny v aplikácii:
- Duplikácia. Rovnaká logika skopírovaná na viacero miest sa rozíde.
- Konzistencia. Mala by nasledovať vzory, ktoré používa zvyšok aplikácie.
- Veľkosť. Žiadosť na 20 riadkov, ktorá vytvorila 600 riadkov, si zaslúži otázku.
- Mŕtvy kód. Staré verzie zostali vedľa nových.
Je v projekte nejaký kód, ktorý je teraz kvôli tejto zmene nepoužívaný, alebo logika duplikovaná inde? Nič nemeň; len to vypíš.
Bežné chyby
- Schválenie, pretože to vyzerá čisto. Úhľadný kód môže stále preskočiť kontrolu oprávnení.
- Čítanie namiesto testovania. Najprv testujte, potom čítajte.
- Testovanie iba štandardného scenára. Skúste zlý vstup, nesprávneho používateľa a odhláseného používateľa.
- Ignorovanie zmien v nesúvisiacich súboroch. Opýtajte sa, prečo sa zmenil každý súbor.
- Úplná dôvera v sebakontrolu. Použite AI kontrolu ako prvý prechod a potvrďte ju testovaním.
- Kontrola týždňa zmien naraz. Kontrolujte malé zmeny hneď, ako vznikajú.
Kontrolný zoznam
- Viem, ktoré súbory sa zmenili a prečo a nič nesúvisiace sa nezmenilo.
- Zmena funguje na počítači aj na telefóne, so zlým vstupom, odhlásený a ako iný používateľ.
- Každá trasa s dátami kontroluje prihlásenie a vlastníctvo na serveri.
- Žiadne tajné údaje v kóde ani v balíčkoch pre prehliadač.
- Vstup je overovaný na serveri; dotazy používajú parametre.
- Chyby sa zapisujú do logu, nie sú prehlušené a používateľom sa nezobrazujú podrobne.
- Nové balíčky sú skutočné a potrebné; nezostali vymyslené funkcie ani zástupné prvky.
- Rizikové zmeny prešli dôkladným čítaním a tam, kde bolo treba, aj kontrolou druhou osobou.
Kontrola kódu na Mythex
- Ask mode odpovedá na otázky o kóde bez jeho úpravy — ideálne pre výzvy „vysvetli každú zmenu“ a „ktoré trasy nemajú kontrolu oprávnení“. Pozrite si Chat.
- Code view zobrazuje strom súborov, editor a terminál v každom pláne (na Free iba na čítanie, v Pro upraviteľný), takže si môžete sami prečítať, čo sa zmenilo. Pozrite si Code editor.
/testnechá agenta prejsť náhľad ako používateľ a nahlásiť pokazené postupy.- Checkpointy umožnia vrátiť zmenu, ktorá neprejde kontrolou.
Ak za vás kontroluje vývojár, ako pracovať s vývojárom na aplikácii vytvorenej AI popisuje odovzdanie práce; ak kontrola odhalí chybu, pozrite si ako ladiť aplikáciu vytvorenú AI.
Otázky
Môžem skontrolovať kód vygenerovaný AI, aj keď nie som vývojár?
Veľkú časť môžete. Overte, že zmena robí to, čo ste žiadali, otestujte dôležité postupy, skúste pristúpiť k dátam iného používateľa a požiadajte AI, aby každý zmenený súbor vysvetlila jednoduchým jazykom. Pri platbách, citlivých dátach alebo bezpečnosti sa na to pozrite aj s vývojárom.
Aké sú najčastejšie problémy v kóde vygenerovanom AI?
Chýbajúce kontroly oprávnení na serveri, tajné údaje tam, kde ich prehliadač môže prečítať, vstupy, ktoré server neoverí, balíčky alebo funkcie, ktoré neexistujú, chyby potichu prehlušené a zmeny v súboroch, o ktorých ste nežiadali.
Môžem požiadať AI, aby skontrolovala vlastný kód?
Áno, a často nájde skutočné problémy, najmä ak položíte konkrétne otázky, napríklad ktoré trasy nemajú kontrolu oprávnení. Berte to ako prvý prechod, nie ako záruku, a jej zistenia potvrďte testovaním.
Ako dlho by mala kontrola kódu trvať?
Prispôsobte ju riziku. Zmena textu alebo štýlov potrebuje rýchly pohľad na náhľad. Zmeny prihlásenia, platieb, oprávnení alebo databázy si zaslúžia dôkladné prečítanie, reálne testovanie a možno aj druhú osobu.