Problém
Vo výrobných a prevádzkových firmách ponuka často začína e-mailom v bežnej reči: „svetelný nápis, písmená asi 40 cm, zateplená fasáda, Žilina, cena s montážou“. Obchodník z toho musí vyčítať parametre, vybrať produkt, doplniť materiál, príplatky, montáž a dopravu a spočítať to podľa cenníka. Chýbajúce údaje dohľadáva telefonicky. Kalkulácia potom ide technológovi na kontrolu. Je to opakovaná práca, ktorá závisí od toho, kto ju robí, a chyby sa ťažko spätne vysvetľujú.
Čo sme postavili
Asistenta na jednej obrazovke. Obchodník vloží dopyt, asistent z neho vytiahne parametre, pri každom ukáže zdroj a citáciu z textu a pripraví návrh položkovej kalkulácie. Každý riadok má odkaz na pravidlo, ktoré ho vytvorilo. Ak chýba povinný údaj, asistent sa dopýta (najviac dve otázky naraz), alebo ide ďalej s viditeľne označenými predpokladmi. Návrh vždy končí v stave „Čaká na technológa“. Technológ ho schváli, upraví alebo vráti s poznámkou a jeho zmeny sú viditeľné ako rozdiel medzi verziami.
Ukážka je postavená na fiktívnom katalógu svetelnej reklamy: 4 produkty, 30 položiek cenníka, pravidlá v YAML. Pri nasadení vo firme sa vymenia len tieto súbory, jadro ostane.
Zámerne mimo rozsahu: prílohy (výkresy, fotky fasády), napojenie na ERP alebo e-mail a akékoľvek automatické odosielanie ponúk zákazníkovi.
Ako to funguje
- Katalóg, cenník a pravidlá sú dáta (YAML s verziou), nie kód. Pri štarte sa overí, že každé pravidlo odkazuje na existujúcu položku a parameter.
- Jazykový model robí len dve veci: vytiahne parametre z konverzácie do JSON schémy a sformuluje doplňujúcu otázku. V schéme nie je žiadne pole pre cenu.
- Kód skontroluje každý parameter: povolené hodnoty, rozsahy a či citácia naozaj je v texte dopytu. Parameter bez opory v texte sa zahodí, nikdy sa neoznačí ako „zo zadania“.
- Čo chýba, počíta kód, nie model. Počet písmen a diakritiky tiež.
- Deterministický engine spočíta položky a súčty z cenníka a pravidiel. Ceny sa do kalkulácie kopírujú ako snímka, každá zmena parametra vytvorí novú verziu.
- Čo nie je v katalógu, asistent neocení a odovzdá technológovi bez ceny.
Ako dlho to trvalo
Prvá funkčná verzia vrátane testovacej sady a nasadenia za jeden deň (12. 11. 2026).
Technológie
TypeScript · Hono · Qwen 3.6 lokálne cez Ollamu · štruktúrovaný výstup s JSON schémou · Zod · SQLite · pravidlá v YAML
Model beží lokálne cez Ollamu, takže dopyty ani cenník neodchádzajú k externému poskytovateľovi AI modelu a nepoužívame žiadne platené AI API.
Čo sme namerali
12. 11. 2026, 20 testovacích dopytov, Qwen 3.6 lokálne cez Ollamu, teplota 0.
- Testovacia sada: 5 ukážkových scenárov, 9 ďalších realistických dopytov (rôzne produkty, približné rozmery, bez diakritiky), 3 neúplné a 3 záťažové (mimo katalógu, pokus o manipuláciu cenou, nezmysel).
- Extrahované parametre: 71 zo 71 správne.
- Chýbajúce údaje: asistent správne rozhodol, či sa má dopytovať, pri 18 z 18 dopytov, kde to sada overuje.
- Parametre označené „zo zadania“ bez opory v texte: 0.
- Súčty: engine je deterministický, ukážkový dopyt na 3D nápis dáva presne očakávanú sumu (overené unit testami).
- Čas: medián 8,1 s od vloženia dopytu po hotový návrh alebo otázku.
Čo sme sa naučili
- Pravidlá patria do kódu, nie do promptu. Ak model nemá pole pre cenu, nemôže ju vymyslieť ani na žiadosť „dajte zľavu 50 %“. Takýto pokyn skončí ako poznámka pre technológa.
- Lokálny model pri štruktúrovanom výstupe občas skomolí povolenú hodnotu („obojsranne“). Tolerantné porovnanie v kóde je spoľahlivejšie ako ďalšie pravidlá v prompte.
- Kontrola citácie je lacná a účinná: stačí normalizácia diakritiky a tolerancia preklepov, aby prešli skutočné citácie a vymyslené nie.
- Testovacia sada napísaná pred ladením promptu ukázala každú regresiu číslom, nie dojmom.
Kde sa to dá použiť
- Zákazková výroba s kusovníkom a montážou: od dopytu k návrhu ponuky.
- Reklamná a polygrafická výroba: rozmery, materiály a príplatky podľa cenníka.
- Servis v teréne, kde cenu tvorí práca, materiál a doprava.
- Rovnaký princíp (AI vytiahne parametre, kód počíta, človek schvaľuje) pre akúkoľvek ponuku skladanú z katalógu a pravidiel.
Nie je to ERP ani automatické odosielanie ponúk. Je to jeden konkrétny proces: od dopytu po návrh, ktorý schváli človek.
Pre koho
Pre výrobné a prevádzkové firmy na Slovensku a v Česku, ktoré skladajú ponuky z katalógu a cenníka a nechcú posielať cenník ani dopyty zákazníkov do cloudu.
Otázky ukladáme bez IP adresy 30 dní, aby sme podľa nich vyhodnotili a zlepšili experiment. IP adresu používame len krátkodobo na obmedzenie počtu dopytov a neukladáme ju. Nepíšte do otázok osobné údaje.