16. září 2026

Co má bot zjistit před sestavením dotazu

„Díky, to je ono“ není zadání pro SQL. „Jak jsi k tomu číslu došel?“ zase může vyžadovat vysvětlení předchozího výsledku. Pokud každá zpráva spustí nové hledání a nový dotaz, bot dělá práci, kterou uživatel nepožadoval.

Před přístupem k datům proto pomáhá rozlišit, co má odpověď udělat. Počet, seznam, porovnání a vysvětlení mají jiné požadavky na data i podobu výsledku.

Rozpoznání záměru

Pro první verzi stačí několik kategorií odvozených od skutečných otázek. Požadavek na seznam potřebuje limit řádků. Agregace potřebuje určit, co se počítá a podle čeho se seskupuje. Porovnání může jít vyřešit jedním dotazem nebo několika dílčími kroky.

Klasifikace může být samostatné volání modelu, ale má smysl ověřit, zda jeho cena a zdržení přinášejí užitek. U jednoduché aplikace lze část rozhodování spojit s dalšími kroky.

Rozpoznání záměru také nenahrazuje kontrolu oprávnění. I správně rozpoznaná otázka může žádat data, ke kterým uživatel nemá přístup.

Pojmy z otázky potřebují význam

Ve větě „Ukaž zaměstnance v Praze“ je potřeba propojit zaměstnance s odpovídajícími záznamy a Prahu s konkrétní pobočkou nebo lokalitou. Překlepy a různé tvary slov mohou vést ke stejnému pojmu.

Kód lokality však nemá vzniknout odhadem. Systém ho dohledá v datech. Pokud existuje více odpovídajících položek, musí mít možnost nejednoznačnost předat dál nebo se doptat.

Čas převeďte na hranice

„Minulý měsíc“ vyžaduje aktuální datum, časové pásmo a dohodu, zda jde o kalendářní měsíc. Výsledkem má být konkrétní interval, se kterým další krok pracuje.

Výpočet hranic lze udělat v kódu. Stále ale zbývá rozhodnout, zda se otázka týká například data nástupu, zaúčtování nebo uzavření smlouvy. Tyto rozdíly patří do testovacích otázek stejně jako překlepy a navazující zprávy.