Americký právník Steven Schwartz si v roce 2023 nechal od ChatGPT připravit podklady k soudnímu podání. Model mu vygeneroval šest soudních precedentů, jmény, čísly spisů, citacemi. Vypadalo to jako pořádná právnická práce. Jenže žádný z těch precedentů neexistoval. Soud případ odhalil a právníka pokutoval.
Tahle historka koluje internetem jako varovný příběh, ale zajímavější než samotný trapas je otázka, proč se to vůbec stalo. Model si tu informaci nevymyslel ze zlomyslnosti ani z lenosti. Dělá přesně to, co dělat má. Jenom to, co dělat má, není totéž, co si lidé o chatbotech myslí.
Co halucinace vlastně je
Halucinace je situace, kdy model vygeneruje informaci, která zní věrohodně a gramaticky správně, ale neodpovídá skutečnosti. Může jít o vymyšlené jméno, neexistující studii, špatné datum, nebo klidně o celý smyšlený citát připsaný reálné osobě.
Slovo „halucinace” je tu trochu zavádějící metafora, převzatá z psychiatrie, kde označuje vjem bez reálného podnětu. Model ale nic nevnímá a nic si nepředstavuje. Jen předpovídá, jaké slovo pravděpodobně následuje po předchozích slovech, na základě vzorů z tréninkových dat. Když text zní jako popis reálného soudního precedentu, model klidně takový text vytvoří, i když žádný soudní precedent za ním nestojí.
Proč modely vymýšlejí fakta
Jazykový model negeneruje odpověď tak, že by v databázi vyhledal fakt a ten pak zapsal. Generuje text tak, že opakovaně předpovídá nejpravděpodobnější další slovo na základě toho, co viděl při tréninku na obrovském množství textu. Pokud se v datech vyskytovaly podobné soudní kauzy s podobnými jmény, model může vytvořit nové jméno, které do vzorce zapadá, i když žádnému reálnému případu neodpovídá.
Tenhle mechanismus vysvětluje i to, proč modely halucinují sebevědoměji u témat, kde je v datech méně opory. Čím obskurnější dotaz, čím míň se dané téma v tréninkových datech vyskytovalo, tím vyšší riziko, že model vzorec jenom odhadne, místo aby reprodukoval reálnou informaci. Naopak u dobře zdokumentovaných témat, jako jsou obecně známá historická fakta, bývá přesnost výrazně vyšší.
Druhý zdroj problému je struktura odpovědi samotné. Model je natrénovaný tak, aby dokončil větu, ne aby přiznal nejistotu. Pokud se ho zeptáte na jméno autora konkrétní studie, model se snaží nějaké jméno doplnit, protože to od něj forma dotazu očekává. Přiznání „nevím” je jen jedna z mnoha možných odpovědí, a ne vždy ta, kterou model zvolí jako nejpravděpodobnější pokračování.
Jak halucinace v praxi vypadají
Nejčastější případ: vymyšlené citace a zdroje. Model uvede název knihy, studie nebo článku, který zní naprosto věrohodně, ale při hledání se ukáže, že neexistuje nebo že autor napsal něco jiného.
Druhý typ: fakticky nesprávná čísla a data. Špatný rok narození historické osobnosti, chybné datum události, přehozené pořadí. Zvlášť zrádné je, když model kombinuje správný fakt se špatným detailem, takže odpověď působí důvěryhodně jako celek.
Třetí typ, a podle mě nejzákeřnější: sebevědomé dovysvětlování mezer. Zeptáte se na něco okrajového, model odpověď nezná, ale místo aby to přiznal, doplní si logicky znějící vysvětlení, které si právě vymyslel. Nezní to jako hádání. Zní to jako fakt.
Čtvrtý typ se objevuje u kódu: model vymyslí název funkce nebo knihovny, která neexistuje, protože zní podobně jako reálné funkce, které v datech viděl. Programátoři tomu občas říkají „package hallucination”, tedy vymyšlený softwarový balíček, a je to jeden z důvodů, proč se vygenerovaný kód vždy testuje, než jde do produkce.
Air Canada a slib, který dodržet nešlo
Případ amerického právníka není ojedinělý exces, spíš ukázka širšího vzorce. Kanadský tribunál v roce 2024 řešil spor cestujícího s aerolinkami Air Canada, jejichž zákaznický chatbot mu chybně přislíbil slevu na truchlící pozůstalé, kterou firemní pravidla ve skutečnosti nenabízela. Aerolinky se bránily tím, že chatbot je „samostatná právnická entita” odpovědná sama za sebe. Tribunál to odmítl a firmě nařídil slevu proplatit, protože informaci poskytla ona, byť prostřednictvím automatizovaného nástroje.
Tenhle případ dobře ilustruje, že halucinace není jen akademický nebo právnický kuriózní jev. Projevuje se všude tam, kde firma nebo jednotlivec nechá chatbota mluvit jménem instituce nebo se na jeho výstup spolehne bez dalšího ověření, od zákaznické podpory přes školní referáty až po novinářské články.
Jak fakta ověřovat
Nejjednodušší pravidlo: čím vyšší jsou důsledky případné chyby, tím kritičtěji si odpověď prověřte. U receptu na večeři je riziko zanedbatelné. U právního podání, zdravotního rozhodnutí nebo investice je riziko vysoké, a tam se ověření nedá přeskočit.
U konkrétních faktů, jmen a čísel zkuste dohledat stejnou informaci nezávisle, třeba na oficiální stránce instituce nebo v důvěryhodném médiu. Pokud model cituje studii, vyhledejte ji podle názvu, ne podle toho, jak ji model popsal, protože i popis může být zkreslený.
Zeptejte se modelu přímo na zdroj a na míru jistoty. „Odkud tuhle informaci máš” nebo „jak jistý si tím jsi” někdy donutí model přiznat, že jde spíš o odhad než o ověřený fakt. Nefunguje to spolehlivě pokaždé, ale stojí to za zkoušku.
Některé nástroje dnes kombinují jazykový model s vyhledáváním na internetu v reálném čase, což riziko halucinace u aktuálních témat snižuje, protože model pracuje s reálnými nalezenými stránkami místo pouhé predikce z paměti. I tak platí, že vyhledaný zdroj je potřeba zkontrolovat, ne slepě převzít shrnutí.
Dá se halucinacím úplně zabránit
Krátká odpověď je ne, aspoň ne u dnešní generace jazykových modelů. Halucinace pramení přímo z principu, jakým model text generuje, tedy z predikce pravděpodobného pokračování, ne z vyhledávání ověřených faktů. Odstranit halucinace úplně by znamenalo změnit samotný způsob, jak model funguje, ne jen opravit dílčí chybu.
Firmy jako OpenAI, Anthropic nebo Google ale míru halucinací postupně snižují, a to několika směry. Jedním je propojení modelu s vyhledáváním na internetu, o kterém jsem psal výše, druhým je trénink modelu na tom, aby přiznal nejistotu tam, kde ji reálně má, místo aby si vymýšlel. Třetím, technicky náročnějším směrem, je takzvané ověřování zdrojů (retrieval-augmented generation), kdy model odpověď explicitně opírá o konkrétní nalezené dokumenty místo o vlastní paměť.
Žádný z těchto přístupů problém neřeší stoprocentně. I model napojený na vyhledávání dokáže špatně interpretovat nalezenou stránku nebo skombinovat dvě různé informace do jedné nesprávné věty. Zdravá obezřetnost tedy zůstává nutná bez ohledu na to, jak vyspělý konkrétní nástroj je.
Na co si dát pozor
Halucinace nesouvisí s tím, jak sebejistě odpověď zní. Nejistý tón u modelu prakticky neexistuje, model neumí „znít nejistě” jen proto, že si není jistý. Sebevědomí formulace tedy není signál spolehlivosti, a to je asi nejdůležitější věc, kterou si z tohoto textu odnést.
Riziko roste u témat na okraji znalostí modelu: méně známé osobnosti, úzce specializované obory, velmi aktuální události, které mohly nastat až po uzavření tréninkových dat. U takových témat počítejte s vyšší chybovostí a ověřujte důkladněji než u obecně známých faktů.
Shrnutí
Halucinace je vestavěná vlastnost způsobu, jakým jazykové modely generují text, ne vzácná softwarová chyba, kterou lze jednoduše opravit. Nejlepší obrana je zdravá nedůvěra u konkrétních faktů, jmen a čísel, kombinovaná s nezávislým ověřením tam, kde je cena chyby vysoká. Bezpečnost práce s AI výstupy obecně, včetně ochrany dat a soukromí, rozebírá samostatná rubrika Bezpečnost, soukromí a etika.