Agentní systémy v praxi: jak jsme postavili AI poradce a účetní asistentku

Všichni mluví o AI agentech. My jsme je postavili. Tady je co jsme se naučili.


Když se řekne AI agent, většina lidí si představí ChatGPT s přístupem k internetu. Realita je o dost zajímavější a komplikovanější. V posledních měsících v Etneteře pracujeme na dvou interních projektech, které nám ukazují, co agentní systémy skutečně obnáší. A hlavně kdy dávají smysl a kdy jsou jen drahá hračka.

Co je vlastně AI agent (a co není)

Než se pustíme do technických detailů, ujasněme si pojmy. AI agent není chatbot. Chatbot reaguje na dotazy. Agent jedná autonomně. Má cíl, plánuje kroky k jeho dosažení, používá nástroje a adaptuje se podle výsledků. Rozdíl je jako mezi GPS navigací (za 200 metrů odbočte vpravo) a osobním řidičem (dovezu vás na letiště, po cestě natankuji a vyzvednu vaši zásilku).

Klíčové vlastnosti agenta:

  • Autonomie: rozhoduje se sám, bez neustálého lidského vstupu
  • Nástroje: umí používat API, databáze, webové služby
  • Paměť: pamatuje si kontext napříč interakcemi
  • Plánování: rozkládá komplexní úkoly na kroky

Dva projekty, dva přístupy

EŤA: Účetní asistentka s vlastním názorem

První projekt vznikl z reálné bolesti. Faktury od dodavatelů přicházejí emailem a někdo je musí projít, zkontrolovat a rozhodnout, co s nimi. Manuální práce, která spolkne hodiny času.

EŤA (Elektronická účeTní Asistentka) monitoruje emailovou schránku, rozpozná faktury v přílohách, extrahuje z nich data a validuje je. Pokud je vše v pořádku, přepošle k proplacení. Pokud něco nesedí, upozorní. 

Čtyři agenti, každý se svou specializací. Email Monitor třídí příchozí poštu a stahuje přílohy. Invoice Analyzer čte PDF a ISDOC. Business Validator porovnává údaje na faktuře s dalšími daty. A Decision Maker dělá finální verdikt — schválit, vrátit, nebo předat člověku. Právě Decision Maker pak odesílá emailovou odpověď podle výsledku.

Proč čtyři agenti místo jednoho? Specializace. Menší, rychlejší model zvládne třídit emaily levně. Na analýzu faktury potřebujete těžší kalibr. A hlavně, když něco nefunguje, víte přesně kde hledat.

Tech stack

  • Backend: Python, FastAPI
  • Orchestrace: LangGraph
  • AI modely: Anthropic Claude (Haiku pro rychlé úlohy, Sonnet pro komplexní analýzu) přes Azure AI Foundry
  • Databáze: PostgreSQL
  • Monitoring: LangSmith EU
  • Frontend: Next.js, shadcn/ui

AI Advisory Board: Poradní sbor na steroidech

Druhý projekt je jiná liga. Představte si zasedání managementu a šest virtuálních poradců, kteří v reálném čase komentují diskuzi. Martin (stratég) vidí tržní příležitosti. David (technolog) varuje před implementačními úskalími. Tereza (finanční analytička) počítá ROI. Jitka (HR) myslí na lidi. A Lukáš (devil's advocate) hledá díry v každém návrhu. Celé to moderuje Jiří jako předseda.

Tři způsoby interakce:

  • Přímý dotaz: napíšete otázku a poradci reagují
  • Poslech v zasedačce: mikrofon zachytává diskuzi, stream se přepisuje v reálném čase a poradci reagují na položené otázky
  • Online meeting: systém se připojí do Google Meet přes Recall.ai a poslouchá poradu na dálku

Předseda Jiří orchestruje diskuzi a rozhoduje, kdo dostane slovo, moderuje debatu a snaží se dovést tým ke shodě. Každý poradce používá jiný LLM model od různých poskytovatelů (GPT, Claude, Gemini) přes OpenRouter. Proč? Různé modely mají různé silné stránky a různé názory.

Znalostní báze: Poradci nečerpají jen z obecných znalostí modelů. Mají přístup k interním dokumentům firmy přes Airweave. Jedná se o automaticky synchronizovanou vektorovou databázi napojenou přes MCP (Model Context Protocol). Takže když se Martin vyjadřuje ke strategii, má k dispozici aktuální interní materiály.

Tech stack:

  • Backend: Python, FastAPI s WebSocket podporou
  • Orchestrace: LangGraph + LangSmith pro monitoring
  • LLM: OpenRouter (multi-model — každý poradce jiný provider)
  • Knowledge base: Airweave (vektorová DB, sync přes MCP)
  • Speech-to-text: Azure Speech Services (čeština)
  • Meet integrace: Recall.ai pro napojení na Google Meet
  • Databáze: Redis (session state) + PostgreSQL (historie)
  • Frontend: React s TypeScript, NES.css (pixel art styl), Zustand
  • Real-time: socket.io pro WebSocket komunikaci
Zvolili jsme vizuální styl pixel artu. Retro estetiku, která tvoří hravý kontrast k jinak serióznímu světu strategického poradenství.

LangGraph: orchestrace, která dává smysl

Srdcem obou projektů je LangGraph (framework od LangChain). Jeho největší síla spočívá v modularitě: umožňuje vám libovolně střídat modely od OpenAI, Anthropicu nebo Googlu, aniž byste museli sahat do samotné logiky systému. Zapomeňte na jednoduché tutoriály, kde agent funguje jako přímka: zadání → model → akce → konec. LangGraph dovoluje mnohem víc.

Realita je složitější. Potřebujete:

  • Větvení: agent A předá práci agentovi B nebo C podle situace
  • Smyčky: opakovat krok dokud není výsledek uspokojivý
  • Paralelismus: pustit více agentů současně
  • Stav: pamatovat si co se dělo v předchozích krocích

LangGraph na to jde jinak – workflow modeluje jako graf složený z uzlů a hran. Představte si to jako inteligentní mapu, kde uzly (nodes) představují konkrétní akce, jako je volání AI modelu, použití nástroje nebo důležité rozhodnutí. Hrany (edges) pak tvoří cesty, které určují, kam se agent na základě výsledku vydá dál. Celý proces díky tomu už není jen jednosměrná linka, ale komplexní pavučina možností, ve které se agent dokáže samostatně orientovat.

Supervisor pattern, který používáme v obou projektech, má jednoho šéfa (supervisor node), který řídí ostatní agenty. Rozhoduje kdo má slovo, sbírá výsledky a určuje další krok. LangChain tento pattern doporučuje pro většinu multi-agentních systémů, protože do celého procesu vnáší potřebnou kontrolu a přehlednost.

Co se nám osvědčilo:

  • Typed state: striktní definice co může být ve stavu (TypedDict v Pythonu)
  • Conditional edges: větvení na základě výstupu předchozího nodu
  • Checkpointing: možnost uložit stav a pokračovat později (důležité pro dlouhé běhy)
  • Human-in-the-loop: možnost zastavit workflow a požádat o lidský vstup

LangSmith: protože „ono to nějak funguje“ nestačí

Postavit agenta je jedna věc. Debugovat ho je noční můra.

Představte si scénář, kde agent zpracoval fakturu špatně. Kde je chyba? V extrakci dat? Ve validaci? V rozhodovací logice? S klasickým logováním jste ztraceni. LangSmith je observability platforma od LangChain. Každý běh agenta je zaznamenán jako trace. Vidíte přesně co se dělo, v jakém pořadí, s jakými vstupy a výstupy.

Co LangSmith ukazuje:

  • Kompletní strom volání (který agent volal koho)
  • Vstup/výstup každého LLM callu
  • Latence jednotlivých kroků
  • Token usage a náklady
  • Chybové stavy a stack traces

LangSmith Fetch: pohodlnější přístup k traces

Traces jsou samozřejmě dostupné přes API a nástroje jako Claude Code s nimi umí pracovat přímo. Ale pro rychlý debugging je někdy příjemnější CLI. langsmith-fetch je jednoduchý nástroj pro stahování traces do terminálu.

K čemu se hodí:

Rychlý přehled — co se dělo za posledních X minut bez otevírání UI

Skripty a automatizace — pipeline traces do jq, grepu, vlastních nástrojů

Offline analýza — export traces pro pozdější studium

Regression testy — sbírejte traces jako testovací datasety

Místo proklikávání se skrze UI můžete jít přímo ke zdroji. Pomocí terminálu a příkazu langsmith-fetch threads --last-n-minutes 5 | jq '.[] | select(.error != null)' získáte okamžitý seznam všech chybových stavů za posledních pět minut. Pro vývojáře je to ta nejkratší cesta k diagnostice problému.

Kdy agenti dávají smysl (a kdy ne)

Po měsících práce s agentními systémy máme jasno:

Agenti se hodí na:

  • Opakující se úlohy s jasným cílem (zpracování dokumentů, emailů).
  • Úlohy vyžadující kombinaci více zdrojů dat.
  • Procesy, kde člověk dělá rutinní rozhodnutí podle pravidel.
  • Situace, kde potřebujete 24/7 dostupnost.

Agenti se nehodí na:

  • Jednorázové úlohy (rychlejší je udělat ručně).
  • Kritická rozhodnutí bez lidského dohledu.
  • Situace s nejasným zadáním (agent potřebuje jasný cíl).
  • Když nemáte data pro validaci výsledků.

Praktické rady na závěr

V LangChainu pro to mají speciální termín: agent engineering. Je to iterativní proces, díky kterému z nepředvídatelných AI modelů vybudujete skutečně spolehlivou aplikaci. Celý cyklus je v podstatě nekonečná smyčka: Postavit → Otestovat → Nasadit → Sledovat → Vylepšit → Opakovat.

Co dělá agenty těžké? Nepředvídatelnost (přirozený jazyk = nekonečné edge cases), nebinární úspěch (agent běží, ale vrací špatné výsledky) a širší prostor chování (uživatelé interagují způsoby, které nepředvídíte).

Pro ty, kdo chtějí začít:

  • Začněte jednoduše — jeden agent, jeden úkol. Složitost přidávejte postupně.
  • Investujte do observability — LangSmith nebo podobný nástroj od začátku. Debugging bez něj je utrpení.
  • Definujte jasné stavy — co agent ví, co může udělat, kdy končí.
  • Testujte na reálných datech — syntetické testy nezachytí edge cases.

Pro ty, kdo už staví:

  • Produkce je váš učitel — přestaňte perfekcionovat před spuštěním. Nejúspěšnější týmy se učí z reálného provozu.
  • Supervisor pattern — nechte jednoho agenta řídit ostatní, usnadní to debugging.
  • Specializace modelů — rychlé/levné pro jednoduché úlohy, silné pro komplexní.
  • Human-in-the-loop — vždy mějte možnost lidského zásahu.
  • Checkpointing — ukládejte stav, aby běh mohl pokračovat po výpadku.

Pro manažery:

  • Tři dovednosti v týmu — potřebujete product thinking (prompty, uživatelský záměr),
  • engineering (infrastruktura, tooling) a data science (evaluace, monitoring). Tohle není práce pro jednotlivce.
  • ROI přijde až s objemem — agentní systém se vyplatí při desítkách až stovkách běhů denně.
  • Počítejte s údržbou — agenti nejsou »postav a zapomeň«.
  • Začněte interně — první projekty na interních procesech, kde chyba nebolí.

Závěr: agenti jsou nástroj, ne magie

AI agenti nejsou kouzelným proutkem, ale mocným nástrojem. Pokud je použijete správně, zbaví vás té nejnudnější rutiny a uvolní vám ruce pro práci, která má skutečný smysl.

V praxi to vidíme u našich projektů: EŤA spolehlivě pomáhá s validací faktur, zatímco Advisory Board vnáší nečekané perspektivy do strategických diskuzí. Ani jeden z těchto systémů není neomylný, ale oba jsou v každodenním provozu nesmírně užiteční. A právě reálný přínos je to jediné, co se ve výsledku počítá.

Zajímá vás víc? V Etneteře pomáháme firmám s AI transformací — od strategie přes prototypy až po produkční nasazení. Ozvěte se nám.

Chci s vámi spolupracovat
Mám zájem o AI transformaci
Děkujeme za Vaši zprávu. Co nejdříve Vás budeme kontaktovat.
Nastala chyba při vyplňování formuláře. Zkuste jej vyplnit znovu, nebo se nám ozvěte přímo uvedený email.
Stáhněte si materiály zdarma
Děkujeme za Vaši zprávu. Co nejdříve Vás budeme kontaktovat.
stáhnout záznam
Nastala chyba při vyplňování formuláře. Zkuste jej vyplnit znovu, nebo se nám ozvěte přímo uvedený email.

Přečti si taky