Průvodci

Jak zkontrolovat kód vygenerovaný AI

Při kontrole kódu vygenerovaného AI začněte tím, co se změnilo – které soubory a proč –, a chování pak otestujte sami, ještě než přečtete jediný řádek kódu. Potom zkontrolujte místa, kde AI kód nejčastěji selhává: chybějící kontroly oprávnění na serveru, tajné údaje vystavené prohlížeči, neověřený vstup, balíčky nebo funkce, které neexistují, a úpravy věcí, na které jste se nezeptali.

AI píše kód, který obvykle funguje a často vypadá úhledně. Proto je snadné ho schválit, aniž ho skutečně zkontrolujete. Tento návod je rutina kontroly, která funguje, ať už kód čtete plynule, nebo vůbec.

Přizpůsobte kontrolu riziku

Ne každá změna potřebuje stejnou pozornost.

ZměnaKontrola
Text, barvy, rozloženíPodívejte se na náhled na počítači i na telefonu
Nová stránka nebo funkceOtestujte postup; přelétněte změněné soubory
Přihlašování, oprávnění, platby, osobní údajePečlivé přečtení, skutečné testování, zvažte druhého kontrolora
Struktura databáze, mazání dat, migracePřečtěte si změnu, otestujte na kopii, nejdřív zálohujte

Krok 1: Podívejte se, co se změnilo

Než soudíte kód, získejte seznam změn:

  • Pokud je projekt v Gitu, podívejte se na diff: soubory a řádky změněné od posledního commitu. Viz jak používat Git s aplikací postavenou AI.
  • Nebo se zeptejte AI přímo:

Vypiš každý soubor, který jsi změnil v poslední změně, a u každého jednou větou vysvětli, co se změnilo a proč.

Červené vlajky v této fázi: soubory nesouvisející s požadavkem, smazané soubory, změny konfigurace nebo závislostí, o které jste nežádali.

Krok 2: Nejdřív otestujte chování

Čtení kódu vám řekne, co má dělat; testování vám řekne, co skutečně dělá. Než začnete číst:

  • Vyzkoušejte změnu jako běžný uživatel, na počítači i na obrazovce s velikostí telefonu.
  • Vyzkoušejte ji se špatným vstupem: prázdná pole, velmi dlouhý text, záporná čísla, datum v minulosti.
  • Vyzkoušejte ji odhlášeni a jako jiný uživatel.
  • Znovu projděte postupy, které nejvíc záleží: registrace, přihlášení, hlavní akce, platba.

Pokud test selže, ušetřili jste čas na čtení – jasně to nahlaste a nechte AI, ať to opraví. Viz jak napsat dobré hlášení chyby.

Krok 3: Zkontrolujte oprávnění na serveru

Nejdůležitější věc ke kontrole. Nástroje pro AI často skryjí tlačítko na stránce, ale server nechají udělat akci každému, kdo o ni požádá.

U každé trasy nebo funkce, která čte nebo mění data, se zeptejte:

  • Kontroluje, že je uživatel přihlášen?
  • Kontroluje, že tento uživatel smí přistupovat k tomuto záznamu?
  • Je ta kontrola na serveru, ne jen na stránce?

U každé API trasy, kterou jsi přidal nebo změnil, řekni, jakou kontrolu oprávnění dělá na serveru, a citací ukaž řádek. Označ každou trasu bez ní.

Pak to otestujte: přihlaste se jako uživatel A, poznamenejte si ID záznamu, přihlaste se jako uživatel B a ten záznam vyžádejte. Úplný test je v bezpečnostním kontrolním seznamu pro aplikace postavené AI.

Krok 4: Hledejte uniklé tajné údaje

  • V změněných souborech hledejte cokoli, co vypadá jako klíč nebo heslo.
  • Ověřte, že tajné klíče se čtou z proměnných prostředí a používají se jen v serverovém kódu.
  • Dávejte pozor na veřejné prefixy jako VITE_ nebo NEXT_PUBLIC_ u tajných proměnných – ty se zabudují do kódu v prohlížeči.

Viz jak chránit API klíče.

Krok 5: Zkontrolujte vstup a chyby

  • Validace na serveru. Kontroly v prohlížeči lze obejít. Povinná pole, délky, formáty a povolené hodnoty má kontrolovat i server.
  • Dotazy do databáze používají parametry, ne text vzniklý spojením uživatelského vstupu do dotazu.
  • Chyby se nepohlcují. Blok try/catch, který nedělá nic, skrývá selhání. Chyby mají být zaznamenány a uživatel má dostat srozumitelnou zprávu.
  • Uživatelům se neukazují vnitřní detaily – výpisy zásobníku a chyby databáze patří do logů.

Krok 6: Ověřte, že je to skutečné

Modely AI někdy vytvoří kód, který vypadá správně, ale odkazuje na věci, které neexistují.

  • Balíčky: každá nová závislost má být skutečný, udržovaný balíček přesně s tímto názvem. Dejte pozor na názvy, které vypadají jako překlepy známých balíčků.
  • Funkce a možnosti API: pokud kód volá funkci knihovny nebo možnost externího API, které jste nikdy neviděli, ověřte si ji v oficiální dokumentaci.
  • Zástupný kód: hledejte TODO, mock, fake, pevně zakódovaná ukázková data nebo funkce, které vracejí pevnou hodnotu.

Přidal jsi nějaké nové balíčky? U každého uveď přesný název, k čemu slouží, a zda bychom se bez něj obešli.

Krok 7: Zkontrolujte, zda to sedí

Kód může fungovat a přesto ztížit pozdější změny aplikace:

  • Duplicita. Stejná logika zkopírovaná na více míst se rozjede.
  • Konzistence. Má následovat vzory, které používá zbytek aplikace.
  • Velikost. Požadavek na 20 řádků, který vytvořil 600 řádků, si zaslouží otázku.
  • Mrtvý kód. Staré verze zbylé vedle nových.

Je v projektu nějaký kód, který se kvůli této změně teď nepoužívá, nebo logika zduplikovaná jinde? Nic neměň, jen vypiš.

Časté chyby

  • Schválení, protože to vypadá čistě. Úhledný kód může přeskočit kontrolu oprávnění.
  • Čtení místo testování. Nejdřív testujte, pak čtěte.
  • Testování jen šťastné cesty. Zkuste špatný vstup, špatného uživatele a stav odhlášení.
  • Ignorování změn nesouvisejících souborů. Zeptejte se, proč se změnily všechny soubory.
  • Úplná důvěra v sebekontrolu. Použijte kontrolu AI jako první průchod a potvrďte ji testováním.
  • Kontrola celého týdne změn najednou. Kontrolujte malé změny, jak vznikají.

Kontrolní seznam

  • Vím, které soubory se změnily a proč, a nic nesouvisejícího se nezměnilo.
  • Změna funguje na počítači i na telefonu, se špatným vstupem, odhlášeně a jako jiný uživatel.
  • Každá trasa pracující s daty kontroluje přihlášení a vlastnictví na serveru.
  • Žádné tajné údaje v kódu ani v balíčcích pro prohlížeč.
  • Vstup je validován na serveru; dotazy používají parametry.
  • Chyby jsou zaznamenány, ne pohlcené, a uživatelům se neukazují podrobně.
  • Nové balíčky jsou skutečné a potřebné; nezůstaly žádné vymyšlené funkce ani zástupné prvky.
  • U rizikových změn proběhlo pečlivé přečtení a tam, kde je třeba, i kontrola druhou osobou.

Kontrola kódu na Mythexu

  • Režim Ask odpovídá na otázky o kódu bez úprav – ideální pro dotazy „vysvětli každou změnu“ a „které trasy nemají kontrolu oprávnění“. Viz Chat.
  • Zobrazení kódu ukazuje strom souborů, editor a terminál na každém tarifu (jen pro čtení na Free, upravitelné na Pro), takže si můžete přečíst, co se změnilo. Viz Editor kódu.
  • /test nechá agenta proklikat náhled jako uživatel a nahlásit rozbité postupy.
  • Checkpointy vám umožní vrátit změnu, která neprojde kontrolou.

Pokud za vás kontroluje vývojář, jak spolupracovat s vývojářem na aplikaci postavené AI popisuje předání práce; pokud kontrola odhalí chybu, viz jak ladit aplikaci postavenou AI.

Otázky

Můžu zkontrolovat kód vygenerovaný AI, když nejsem vývojář?

Velkou část ano. Ověřte, že změna dělá to, co jste chtěli, otestujte důležité postupy, zkuste přistoupit k datům jiného uživatele a požádejte AI, aby každý změněný soubor vysvětlila srozumitelným jazykem. U plateb, citlivých dat nebo bezpečnosti se na to podívejte i s vývojářem.

Jaké jsou nejčastější problémy v kódu vygenerovaném AI?

Chybějící kontroly oprávnění na serveru, tajné údaje umístěné tam, kde je může číst prohlížeč, vstupy neověřené na serveru, balíčky nebo funkce, které neexistují, chyby tiše pohlcené a změny souborů, o které jste nežádali.

Můžu požádat AI, aby zkontrolovala svůj vlastní kód?

Ano, a často najde skutečné problémy, zvlášť když položíte konkrétní otázky, například které trasy nemají kontrolu oprávnění. Berte to jako první průchod, ne jako záruku, a její zjištění ověřte testováním.

Jak dlouho má kontrola kódu trvat?

Přizpůsobte ji riziku. Změna textu nebo barev potřebuje rychlý pohled na náhled. Změny přihlašování, oprávnění, plateb nebo databáze si zaslouží pečlivé přečtení, skutečné testování a možná druhého člověka.

Mythex · Pricing · Vytvořte cokoli s AI · Šablony webů a aplikací · Mythex v porovnání · Slovník tvorby aplikací s AI · Bezplatné nástroje pro tvorbu aplikací s AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)