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“, jak odpověď dokáže, 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á nad vlastními dokumenty. 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é jako svůj slovníkový základní tvar (lemma) a svůj 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ň drží
od sebe slova, která si jsou jen podobná (pes není pesto); oba směry jsou 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. Má závoru pro akce ven, která odvozuje závažnost
pravidlem z typovaných dat — nikdy z toho, jak volající sám popíše, co dělá —, 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“ vlastnost, 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 pracuju
- Nejdřív napíšu selhávající případ jako test, teprve pak opravu.
- Model držím za jedinou funkcí, aby šel nahradit atrapou, měřit nebo vyměnit.
- „Nebyla hlášena chyba“ pro mě znamená „neověřeno“.
- Zapisuju 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