Články

7 věcí, které AI generovaný kód téměř vždy pokazí

S AI asistenty programujeme každý den. Píšou rychle a většinou dobře, ale některé chyby dělají tak pravidelně, že je kontrolujeme u každé změny.

Vývoj a technologie · 12. 10. 2026 · 7 min

AI generovaný kód nejčastěji pokazí oprávnění, tajné klíče, validaci vstupů, výkon databáze, zpracování chyb, konzistenci kódu a nasazení. Na ukázce funguje, ale selže na skutečných uživatelích a datech, proto ho má před produkcí zkontrolovat zkušený programátor.

Následující seznam vychází z naší každodenní práce. AI asistenti nám píšou většinu rutinního kódu a tohle jsou místa, kde jejich výstup opravujeme nejčastěji.

Proč právě tyto chyby

Společné mají jedno: na ukázce nejsou vidět. AI dostane úkol, napíše kód a ověří, že scénář z promptu funguje. Nezeptá se, co udělá jiný uživatel, co se stane při stonásobku dat nebo jak se aplikace nasadí podruhé. Tyto otázky si klade člověk, který už viděl, jak se systémy kazí v provozu.

1. Oprávnění: kdo smí vidět co

AI spolehlivě napíše přihlášení. Mnohem méně spolehlivě ověří, zda přihlášený uživatel smí vidět konkrétní záznam. Typická chyba: faktura se načte podle čísla v adrese a stačí ho změnit, abyste viděli fakturu jiného zákazníka. Další: tlačítko „Smazat“ je běžnému uživateli skryté, ale server požadavek provede komukoli.

Jak kontrolovat: u každého endpointu se zeptejte, kde server ověřuje, že záznam patří tomuto uživateli.

2. Tajné klíče na špatném místě

API klíče k platební bráně, hesla k databázi či přístupy k e-mailu končí přímo v kódu, v repozitáři nebo, což je nejhorší, ve frontendu, kde si je kdokoli přečte v prohlížeči. AI to udělá, protože jí to na ukázce „funguje“.

Jak kontrolovat: klíče patří do proměnných prostředí na serveru. Pokud už jednou byly v gitu, je potřeba je vyměnit, ne jen smazat.

3. Validace vstupů a okrajové případy

AI píše kód pro šťastný scénář. Prázdné pole, záporné množství, diakritika ve jménu, datum přes půlnoc nebo změna letního času, dvojklik na tlačítko „Objednat“. Nic z toho na ukázce nevidíte, všechno z toho se v produkci stane.

  • Ověřuje vstupy server, nebo jen formulář v prohlížeči?
  • Co se stane s chybějící hodnotou, nahradí se nulou, nebo se zachová jako „nevyplněno“?
  • Vytvoří dvojklik dvě objednávky?

4. Databáze a výkon

Nejčastější výkonnostní problém AI kódu: načte tisíce řádků z databáze a filtruje, sčítá nebo řadí je v aplikaci. Nebo u seznamu sta objednávek spustí sto dalších dotazů na zákazníka. S deseti testovacími záznamy je všechno rychlé, s reálnými daty stránka padá na timeout. K tomu chybějící indexy a žádná omezení v databázi.

Jak kontrolovat: filtrovat, spojovat a sčítat má databáze v dotazu. Aplikace má dostat přesně to, co potřebuje.

5. Chyby, které se ztratí

AI ráda obalí kód zachycením výjimky, které chybu potichu „sní“. Platba selže, objednávka se neuloží a nikdo se to nedozví, aplikace se tváří, že je všechno v pořádku. Stejně často chybí logování nebo upozornění, když externí API, třeba Zásilkovna, přestane odpovídat.

Jak kontrolovat: u každého zachycení chyby se zeptejte, kdo se o ní dozví a co se stane s daty.

6. Nekonzistentní kód a vymyšlené knihovny

Každý prompt je trochu jiný, a tak i kód. Tatáž věc se v aplikaci dělá třemi způsoby, funkce jsou zkopírované místo sdílené a každá oprava se musí dělat na třech místech. AI občas použije zastaralou verzi knihovny nebo si vymyslí funkci či balíček, který neexistuje. To poslední je i bezpečnostní riziko, protože útočníci takové názvy balíčků registrují.

Jak kontrolovat: při review hledejte duplicity a každou novou závislost si ověřte.

7. Nasazení a provoz

Kód, který běží na vašem počítači, ještě není aplikace v provozu. AI obvykle vynechá migrace databáze, zálohy, oddělené testovací prostředí, HTTPS, logy a monitoring. První aktualizace v produkci pak smaže data nebo shodí web na celé odpoledne.

Jak kontrolovat: umíte aplikaci nasadit jedním příkazem, vrátit předchozí verzi a obnovit databázi ze zálohy? Pokud ne, není připravená. Pomůžeme v rámci hostingu a DevOps.

Rychlý kontrolní seznam

OblastOtázka na review
OprávněníOvěřuje server vlastnictví každého záznamu?
KlíčeJe v kódu, gitu nebo frontendu něco tajného?
VstupyCo se stane s prázdnou, špatnou a duplicitní hodnotou?
DatabázeFiltruje a sčítá dotaz, nebo aplikace?
ChybyDozví se někdo o selhání?
KonzistenceDělá se tatáž věc na jednom místě?
NasazeníJe tu záloha, rollback a monitoring?

Jak tyto chyby zachytáváme my

Z toho, že AI tyto chyby dělá pravidelně, jsme si odvodili jednoduchá pravidla, která dodržujeme u každé změny:

  • Malé kroky. AI dostane jeden ohraničený úkol, ne „udělej celý modul“. Malý rozdíl v kódu se dá poctivě zkontrolovat.
  • Kontext projektu. AI dostane pravidla a zvyklosti projektu, aby nepsala každý soubor po svém.
  • Review každé změny. Senior čte celý rozdíl v kódu, ne jen výsledek na obrazovce, a jde právě po bodech z tohoto seznamu.
  • Testy a ověření na reálných datech. Dotazy zkoušíme na objemech, jaké budou v produkci, ne na deseti záznamech.
  • Nasazení s možností návratu. Každou verzi lze vrátit a databázi obnovit.

Znamená to, že AI kód je špatný?

Ne. Sami s AI asistenty programujeme každý den a díky nim dodáváme řádově rychleji. Rozdíl je v tom, že každou změnu kontroluje senior, který tyto chyby zná a hledá je. AI píše, senior ručí. Jak takto pracujeme, popisujeme ve službě Vývoj softwaru s AI.

Pokud už aplikaci z AI máte, podívejte se i na článek Vibe coding: aplikaci si postavíte s AI, co dál? a na službu AI kód do produkce.

Chcete, aby se na váš kód podíval senior dřív, než ho pustíte k zákazníkům? Napište nám a domluvíme audit, začít se dá i hodinovou konzultací.

Časté otázky

Časté otázky

Je kód generovaný AI bezpečný?

Může být, ale sám od sebe ne. Nejčastěji chybí kontrola oprávnění na serveru a tajné klíče bývají na špatném místě. Před produkcí ho má zkontrolovat zkušený programátor.

Kterou chybu AI kódu zkontrolovat jako první?

Oprávnění. Ověřte, že server při každém požadavku kontroluje, zda záznam patří přihlášenému uživateli. Únik dat jiného zákazníka je nejdražší chyba.

Proč je aplikace z AI pomalá s reálnými daty?

AI často načte hodně řádků a zpracuje je v aplikaci místo v databázi, nebo spouští dotaz pro každý záznam zvlášť. S testovacími daty to není vidět.

Používáte AI na programování i vy?

Ano, každý den. Rozdíl je v tom, že každou změnu před nasazením kontroluje senior programátor a ručí za ni.

Nová éra začíná
vaším zadáním.

Napište, co potřebujete. Senior se ozve, AI se pustí do práce.