Proč agenti selhávají potichu
Když spadne služba, dozvíte se to. Když agent vrátí přesvědčivou odpověď postavenou na prázdném výsledku hledání, nedozvíte se nic — a to je horší, protože chyba pokračuje dál v systému jako fakt.
Tvar toho selhání
Skript hledá v datech, která nemá. Vrátí prázdno. Model dostane prázdno jako vstup a napíše závěr — a ten závěr je gramaticky správný, věcně uvěřitelný a úplně vymyšlený.
Nikde po cestě není místo, kde by se ta chyba projevila jako chyba. Projeví se jako nález.
Proč to nechytí testy
Test měří, že se kód zachoval, jak jste čekali. Ale tady se kód zachoval správně: dostal prázdný vstup a vrátil prázdný výstup. Vada není v kódu, je ve spojení mezi měřidlem a tím, co má měřit.
Jediná obrana, která funguje
Ke každému měřidlu patří mutant — konkrétní záměrná chyba, kterou to měřidlo musí odhalit. Když novou kontrolu napíšete a hned ji nespustíte na příkladu, který má selhat, nevíte, jestli kontroluje, nebo jen svítí zeleně.
Zelená bez mutanta není důkaz. Je to nepřítomnost důkazu, která vypadá jako jeho přítomnost.
A jedna nepříjemná vlastnost
Tenhle druh vady se škáluje s paralelizací. Pustíte pět nezávislých kontrol nad stejným rozbitým vstupem a dostanete pět souhlasných odpovědí — což vypadá jako shoda a je to jen pětkrát tentýž vstup.
Nezávislost kontrol se počítá od zdroje dat, ne od procesů.