Když nestačí „zhruba všechno“
Zeptat se v chatu, které smlouvy porušují pravidla, je snadné. Obtížnější je doložit, že odpověď zahrnuje opravdu všechny smlouvy. Blog AWS proto představuje návrhový vzor Adjudicated Query. Uživatelé v nástroji Amazon Quick pokládají compliance otázky běžnou řečí, ale o splnění či porušení pravidel rozhoduje deterministický engine bez umělé inteligence. Každý průchod souborem smluv navíc končí potvrzením úplnosti, které ukazuje, že žádný záznam nechyběl.
Proč běžné přístupy selhávají
Podle autorů musí kontrola velkých souborů smluv splnit dvě podmínky. První je prokazatelná úplnost: tvrzení, že jsme zkontrolovali všech 22 910 texaských smluv, musí být pravdivé a ověřitelné. Druhá je obhajitelnost. Je nutné vědět, jaká verze pravidla byla použita, na jaký text klauzule, jakou metodou, kdy a kým. Bez obojího se zjištění těžko obhajuje před auditorem nebo protistranou.
Populární přístupy podle autorů tyto podmínky nesplňují. U RAG, tedy vyhledávání textů podle podobnosti, chybí práh, který by znamenal „všechny“. Hodnocený vzorek navíc neví, co vynechal. Text-to-SQL, kde model sám sestaví databázový dotaz, nese jiné riziko: vymyšlená podmínka může nepozorovaně zúžit zkoumanou populaci. Číslo pak vypadá přesně, i když se týká jiného souboru, než uživatel čekal.
Model vypráví, pravidla rozhodují
Jazykový model ve vzoru dělá jen dvě věci. Převede otázku na volání z pevně dané sady typovaných operací a poté vypráví výsledek, který se vrátí. Nepíše dotazy, neurčuje populaci a nic neposuzuje. Pravidla jsou verzovaná data, ne kód. Engine zná jen obecné operátory porovnání, například gte, lte, equals a exists, a neobsahuje větve pro konkrétní jurisdikci. Změna zákona tak znamená úpravu řádku v rulebooku, nikoli nasazení kódu.
Jádrem vzoru je potvrzení úplnosti. Součet vyhovujících, porušujících, nejednoznačných a nečitelných záznamů se musí rovnat počtu prověřených. Invariant se počítá z počtů a ověřuje před uložením čehokoli. Běh, který nedokáže zdůvodnit celou svou populaci, podle autorů nikdy neskončí. Chat nese počty, potvrzení a označený vzorek. Celý výsledek čte dashboard v Amazon Quick Sight ze stejného úložiště, takže model podle autorů záruku úplnosti nesumarizuje pryč.
MCP server vystavuje přesně šest nástrojů: sweep_compliance, simulate_rule_change, explore_clauses, get_finding, list_rules a check_connection. Úplný sweep je oficiální a zapisuje nálezy. Simulace změny pravidla je jen orientační, dává přibližné počty a nic neukládá. Operace se překládají na množinové SQL s hodnotami pravidel vázanými jako parametry, takže do dotazové vrstvy se nedostane přirozený jazyk. Amazon Bedrock se používá jen v průzkumné cestě, u oficiálního rozhodnutí se nevolá.
Architektura a ukázkový běh
Chat agent v Amazon Quick nejdřív získá token z Amazon Cognito. MCP požadavky pak posílá přes HTTP API v API Gateway, která token ověří a předá požadavek funkci Lambda. Ta hostuje MCP server i rules engine a pracuje s databází Aurora Serverless v2. Referenční implementace na GitHubu používá syntetická data a nasazuje se přes AWS CDK. Dodává deterministický korpus a akceptační sadu s 28 kontrolami proti nasazenému stacku.
V ukázce uživatel požádal o sweep nad texaskými smlouvami s pravidly platnými od 1. 1. 2026. Amazon Quick správně zvolil nástroj sweep_compliance. Odpověď v chatu obsahovala vzorek nevyhovujících nálezů a potvrzení úplnosti: 10 111 porušení, 689 nejednoznačných a 20 nečitelných případů. Všech 10 111 řádků chat záměrně nevypisuje. Kompletní seznam je na dashboardu, kde každý řádek odpovídá dvojici smlouva–pravidlo.
Úskalí, která autoři otevřeně uvádějí
Ani vzor s pevnou sadou nástrojů neodstraní všechna rizika. Při testech autoři pozorovali, že sumarizační model odstranil upozornění a že vymyšlenou citaci prezentoval jako zákon. Z náhledu 20 řádků také odvodil rozsah, který v datech neexistoval. Doporučují proto upozornění formulovat jako neodstranitelné závorkové dovětky opakované na několika úrovních odpovědi. Modelu mají podle nich dávat skutečné agregáty spočítané přes všechny záznamy, ne jen ukázky.
Autoři také upozorňují, že vzor je náročný. Skládá se z rules enginu, omezené sady nástrojů a potvrzení úplnosti. Nehodí se tedy tam, kde pravidla nejsou skutečně deterministická, kde jde o skutečný úsudek, nebo kde uživatel chce jen pár příkladů. Potvrzení dokazuje pokrytí vybrané populace, ne to, že je populace vybrána správně. OAuth token navíc identifikuje aplikaci Amazon Quick, nikoli člověka, který se zeptal.
Zdroje
- Sweep thousands of leases for compliance using Amazon Quick and the Adjudicated Query pattern | Artificial Intelligence — AWS Machine Learning Blog
Článek vznikl s pomocí AI; podklady a odkazy jsou uvedeny výše.