Frankie Research
Ty části systémů s jazykovými modely, které se snadno přeskočí a draze se platí: co model smí
vidět, kdy má říct „nevím“, čím odpověď doloží, odkud pochází, a jak nasazení prokáže, že
funguje, dřív než se dostane k lidem.
Systémy
Znalostní báze s řízením přístupu. Firma se ptá svých vlastních dokumentů. Některé dokumenty
jsou pro všechny, jiné jen pro majitele nebo pro konkrétní lidi. Přístup se vynucuje přímo
v databázovém dotazu, ještě než se cokoli dostane k modelu — včetně statistik slov, podle
kterých se řadí výsledky, protože kdyby se počítaly i z dokumentů, které uživatel nesmí vidět,
prozradily by jejich slovník.
Vyhledávání je hybridní: vektorová podobnost a vedle ní fulltextový index, ve kterém je každé
slovo uložené ve svém základním tvaru (lemma) a zároveň jako kmen. V ohebném jazyce právě to
spáruje všechny tvary jednoho slova — pes / psa, den / dne, liška / lišce — a zároveň odliší
slova, která si jsou jen podobná (pes není pesto); oba směry hlídají regresní testy. Slovo v otázce s překlepem nebo bez diakritiky se opraví podle slovníku sestaveného jen
z dokumentů, které tazatel smí vidět.
Filtr relevance pak rozhodne, jestli vůbec existuje doklad. Pokud ne, odpověď zní „tohle ve
znalostní bázi není“ a model se vůbec nevolá. Jako zdroje se zobrazují jen dokumenty, které
odpověď skutečně cituje. Přístupové údaje k propojeným službám jsou uložené šifrovaně a používá
je jen proxy na serveru, takže token se do prohlížeče nikdy nedostane.
Governance runtime
Druhý systém stojí mezi AI nástroji a firmou a rozhoduje, co smějí udělat.
- Pravidla jako data. Pravidla jsou soubory YAML („playbooky“) se spouštěči, kontrolami
a závažností. Kontrolou může být regulární výraz, test odvozování v přirozeném jazyce (NLI)
nebo malý výraz v izolovaném prostředí. Změna pravidel nepotřebuje nové nasazení.
- Tři úrovně: doporučit, varovat, zablokovat. Pravidlo určí nejnižší úroveň, kterou potřebuje;
volající ji může zpřísnit, nikdy potichu zmírnit.
- Kotva proti odbíhání. Pracovní relace nese kotevní embedding svého tématu; každé volání
hlásí, jak daleko se rozhovor odchýlil, a když odběhne, vyzve k návratu k tématu.
- Závora před vším, co jde ven. Akce, které jdou ven, hlídá závora. Závažnost odvozuje podle
pravidla z typovaných dat, nikdy z toho, jak volající sám popíše, co dělá. Pak sestaví zprávu ze
šablony a zapíše auditní záznam.
- Při pochybnosti zavřeno. Pravidlo bez spouštěčů se nikdy nespustí a neznámý operátor se
vyhodnotí jako nepravda.
Oba systémy jsou soukromé. Kód zpřístupňuji na pozvání — požádat o přístup.
Problémy, které mě baví
- Udělat z „nevím“ přednost, ne selhání.
- Vyhledávání v ohebných jazycích, kde má jedno slovo mnoho tvarů. Mým příkladem je čeština:
liška, lišku, lišce — jedna liška, tři pády.
- Řízení přístupu, které vydrží, i když je model vynalézavý.
- Kontroly a nasazovací brány, které při pochybnosti zavírají: kontrola, která neproběhla, je
neúspěšná kontrola.
Texty
Rozhodnutí
Krátké záznamy rozhodnutí — kontext, možnosti, které jsem zamítl, co jsem zvolil a co to stojí:
záznamy rozhodnutí.
Jak pracuji
- Nejdřív napíšu selhávající případ jako test, teprve pak opravu.
- Volání modelu mám v jediné funkci, takže jde nahradit atrapou, měřit nebo vyměnit.
- „Nebyla hlášena chyba“ pro mě znamená „neověřeno“.
- Zapisuji si, proč rozhodnutí padlo a co stojí — další člověk, často já sám, to bude potřebovat.
Kontakt
Frankie Research · [email protected] · Telegram t.me/frankie_research · požádat o přístup ke kódu