20. června 2026

Asociace: Jak naučit bota mluvit řečí vaší domény

Tady je otázka, která rozbíjí víc znalostních botů než jakékoli omezení modelu: uživatel se zeptá „kolik máme zaměstnanců?" a vaše databáze ukládá lidi v tabulce jménem H_OSOBA. Nic v těch osmi znacích modelu neřekne, že právě tady zaměstnanci bydlí. Sloupec pro jejich titul je TITUL_PRED_KOD. Číselník, který z kódu udělá „inženýr", je H_C_TITUL_PRED. Pro jazykový model — pro kohokoli, kdo tohle schéma nestavěl — jsou to neprůhledné šifry.

Týmy nejdřív sáhnou po zřejmém řešení: určitě má databáze někde lidsky čitelné názvy? Obvykle má, a obvykle jsou k ničemu — automaticky vygenerované, zkrácené nebo špatné. Skutečná doménová znalost — že „personál", „lidi", „stav" i „zaměstnanci" míří na H_OSOBA — ve schématu vůbec nežije. Žije v hlavách těch tří lidí, co tu pracují nejdéle.

Úkolem je dostat tuhle znalost z jejich hlav před model. Artefaktem, který to dělá, je to, čemu říkáme vrstva asociací, a je to ta nejmocnější věc, kterou můžete postavit.

Co asociace vlastně je

Asociace je malý, lidsky napsaný překlad mezi jazykem vaší domény a názvy ve vašem schématu. Přichází ve třech podobách, od nejjednodušší po nejbohatší.

  • Aliasy — slova, která uživatelé skutečně říkají. Pro H_OSOBA: zaměstnanec, osoba, personál, pracovník, lidi, stav. Holá klíčová slova, slovník lidí, kteří se ptají.
  • Nápovědy — věta kontextu v přirozeném jazyce. „Tato tabulka drží hlavní záznam o každém zaměstnanci." Ne klíčové slovo, ale vysvětlení — to, co byste řekli nováčkovi první den.
  • Poznámky ke sloupcům — cílené vysvětlivky k záhadným polím. TITUL_PRED_KOD: kód titulu před jménem, např. Ing., Mgr. Právě tady leží většina bolesti se záhadným schématem a právě tady jeden řádek textu ušetří model od hádání.

Nic z toho neučí model nové uvažování. Učí model váš slovník. A slovník, jak se ukazuje, je skoro celá bitva.

Pokud jste někdy viděli, jak Rovo od Atlassianu podtrhne v Confluence zkratku a vysvětlí, že „SB" znamená „Stylebot", viděli jste vrstvu asociací v akci. Je to stejný tah: prohledat soukromý jazyk domény a udělat ho čitelným. My to jen děláme pro databázi místo pro wiki.

Proč je tohle knowledge management, ne konfigurace

Je lákavé zařadit asociace pod „konfiguraci" a jít dál. Tím se ale podceňuje, co se děje. Vrstva asociací je akt zachycení znalosti: berete tichou institucionální znalost — nezdokumentovanou, kmenovou, odcházející ze dveří, když někdo dá výpověď — a kódujete ji do trvalé, dotazovatelné podoby.

To mění, jak s ní zacházíte. Slovník, který zachycuje institucionální znalost, si zaslouží být vlastněn, verzován a udržován jako aktivum, kterým je — ne zahrabán v komentáři v kódu. Nejlepší vrstvy asociací umí editovat doménový expert, který nenapíše ani řádek SQL, protože člověk, který , že „stav lidí" znamená H_OSOBA, je málokdy ten, kdo napsal dotazovací engine.

Vkládáte ji — neučíte se na ní

Mechanismus je záměrně nudný, a to je přednost. Asociace se doručují přes in-context learning: ve chvíli, kdy se bot rozhoduje, kterých tabulek se otázka týká, vložíte relevantní asociace přímo do promptu. Žádný fine-tuning, žádný tréninkový běh, žádný modelový artefakt k verzování.

Místo holého názvu tabulky ukážete modelu název s briefingem:

Tabulka: H_OSOBA — Aliasy: zaměstnanec, personál, pracovník, lidi — Popis: hlavní záznam o každém zaměstnanci — Sloupce: TITUL_PRED_KOD (titul před jménem, např. Ing., Mgr.), H_OSO_PXID (primární klíč)

Rozdíl v přesnosti výběru tabulek není nenápadný. A protože jde o vkládání, ne o trénink, může doménový expert vylepšit bota v 16:00 a v 16:01 je bot chytřejší — žádný deploy, žádné přeučování, žádné čekání.

Jeden detail stojí za ukradnutí: krmte asociacemi obě fáze. Bot je použije, když vybírá relevantní tabulky, a znovu, když píše samotný dotaz. Tentýž slovník, který mu pomůže najít H_OSOBA, mu zároveň připomene, že tituly se připojují přes H_C_TITUL_PRED, a ne že jsou volným textem.

Stavte ji odzadu, od otázek, na které musíte odpovědět

Instinkt velí napsat asociace pro každou tabulku ve schématu. Nedělejte to. To jsou týdny práce, z velké části promrhané na tabulkách, na které se nikdo nikdy nezeptá. Budujte slovník odzadu, od otázek, které bot musí zvládnout.

  1. Vezmi otázku, kterou musíš podporovat. „Kolik zaměstnanců má inženýrský titul?"
  2. Najdi tabulky správné odpovědi. Napiš nebo si půjč dotaz, který na ni odpoví; poznamenej si přesně, kterých tabulek a sloupců se dotýká.
  3. Napiš asociace přesně pro ně. Dej H_OSOBA a H_C_TITUL_PRED aliasy a poznámky, které by k nim bota dovedly rovnou.
  4. Opakuj, hnaný selháními. Když skutečná otázka dopadne na špatné tabulky, to je tvoje další asociace. Telemetrie ti řekne, kde je mezera ve slovníku — nemusíš hádat.

Tím se z otevřeného dokumentačního projektu stane těsná smyčka řízená poptávkou. Píšete slovník, který bot opravdu potřebuje, v pořadí, v jakém ho potřebuje.

Ať přežije smazání databáze

Draze zaplacená lekce: vývojové databáze se neustále mažou a stavějí znovu a jakákoli znalost, kterou jste do nich napsali přímo, umírá s nimi. Asociace proto nemají svůj zdroj pravdy v databázi. Žijí ve verzovaném souboru — bohatě stačí JSON — který leží ve verzování vedle kódu.

Malý migrační krok ten soubor přečte a naplní úložiště asociací při každém čerstvém buildu: smaž vše, vlož vše, hotovo. Vaše institucionální znalost je teď stejně trvalá jako váš kód, přežije každý reset a cestuje s repozitářem.

To zároveň řeší obavu z přenositelnosti, která spoustu týmů zastaví. „Stavíme asociace pro demo databázi, ale klient běží na jiné — není tohle práce na jedno použití?" Data jsou per-nasazení, ano. Mechanismus — formát souboru, loader, místo vkládání — je univerzální. Postavíte ho jednou a pro každého nového klienta naplníte nový slovník (zprvu ručně, později poloautomaticky z jeho dokumentace). Těžká část je instalatérská práce, a ta se přenáší dokonale.

Neokázalá věc, díky níž všechno ostatní funguje

Strategie vyhledávání, vektorové vyhledávání, chytrá orchestrace — ty sklízejí pozornost. Ale žádná z nich nenajde H_OSOBA ze slova „zaměstnanec", pokud ty dvě věci v systému nikdy nic nepropojilo. Vrstva asociací je to, co zbytek stroje vůbec umožňuje. Je to skoro podvod: pár set řádků pečlivě napsaného slovníku udělá pro přesnost vašeho bota víc než spousta ladění modelu.

Pište ji odzadu, držte ji ve verzování, předejte klíče doménovému expertovi a vkládejte ji všude tam, kde model musí pochopit, co vaši uživatelé myslí. Je to nejméně okázalý artefakt celého projektu. A zároveň ten, bez kterého bychom odmítli nasadit.


Sedíte na schématu, kterému plně rozumí jen tři lidé? Přesně tuhle znalost vrstva asociací zachytí. Domluvte si hovor a společně namapujeme vaši první sadu asociací proti otázkám, které nejvíc potřebujete zodpovědět.