
Jak jsme si postavili TestBench
…aneb proč nepotřebujete celý mikroskop, když chcete otestovat firmware
Přejít na obsah|Přejít k hlavnímu menu|Přejít k vyhledávání
Na začátku nebyl žádný velkolepý plán na stavbu autonomního agenta. Byla jen tabulka se 700 řádky a nechuť trávit týdny manuálním copy-paste maratonem. Poměrně rychle jsme zavrhli klasickou cestu v podobě univerzálního skriptu, protože napsat scraper se sadou regulárních výrazů, které by spolehlivě vytáhly informace ze stovek webových stránek, by byla programátorská sebevražda. Moc jiných možností automatizace neexistovalo, a tak padla otázka: “A co kdybychom na to pustili tu kouzelnou ‘áí’ ?”
Následovala rychlá rešerše frameworků, AI-native nástrojů a knihoven (nepopírám použití ChatGPT), které by pro náš use-case mohly dávat smysl, trocha inspirace z YouTube a pak už VS Code, pár řádků v Pythonu, zkusit provolat API OpenAI, sestavit agenta v LangChain frameworku, dát mu první nástroj. Výsledek?

Jak jsme očekávali, téměř okamžitě jsme při vývoji narazili na zásadní problém LLM: halucinace a nekonzistentnost. Pokud jsme agentovi nechali příliš volnou ruku nad postupem a volbou nástrojů, často se zacyklil, zapomněl cíl, přeskakoval důležité kroky a vracel neúplné, a hlavně nekonzistentní výstupy. Kognitivní zátěž byla příliš vysoká a plně autonomní agent ve smyslu ReAct (Reasoning – Acting), kdy agent přemýšlí → koná → pozoruje → zase přemýšlí, tedy pro naše potřeby nedával smysl.
Museli jsme proto upustit od maximální autonomie a přejít k řízené pipeline. Python drží pevnou strukturu procesu, AI slouží jako kognitivní engine uvnitř jednotlivých kroků a mozek, který vyhodnocuje výstupy z jednotlivých nástrojů a rozhoduje, jestli je v pořádku pokračovat dalším krokem.
Výsledný proces vypadá takto:

Pojďme se na jeden z kroků podívat o něco podrobněji. Kdyby byl vývoj tohoto agenta sport, pak extrakce finančních dat by byla jeho královskou disciplínou. České firmy ve sbírce listin často zveřejňují účetní závěrky jako naskenovaná PDF (obrázky), která jsou pro běžné textové scrapery nečitelné.
Řešení jsme postavili na multimodálních modelech (Vision LLMs) bez použití tradičního OCR (optické rozpoznávání znaků). Pipeline automaticky:
Tento přístup je robustnější než klasické OCR. Model vidí tabulku jako celek, ignoruje šum, razítka, podpisy i křivé skenování a vrátí strukturovaná data.
Je důležité zmínit, že s automatizovaným sběrem dat se pohybujete na tenkém ledě technicky i eticky. Automatizace neznamená, že budeme bezohlední. Náš nástroj není žádný agresivní bot, který bezhlavě vysává internet.
Vývoj nástroje nebyl jen o skládání knihoven, ale především o řešení limitů současných velkých jazykových modelů:
Možná jsem vás dosud nepřesvědčil, že stojí za to podobný nástroj programovat. Tak proč tedy?
Protože škálování. Když potřebujete analyzovat pět, deset, možná i padesát firem, uděláte to ručně. Když jich máte v seznamu sedm set, ručně to uděláte jen stěží.
Upřímně? Kdybychom počítali hodiny vývoje jen proti té jedné tabulce, dost možná by se to v čistém čase nevyplatilo. Ale není to jen o tom. My teď máme replikovatelnou pipeline, která kombinuje spolehlivost Python skriptů se schopností LLM rozumět nestrukturovanému obsahu. Když zítra přijde požadavek na analýzu dalšího segmentu trhu, nezačnou nám z té představy hrůzou vstávat vlasy na hlavě. Škálování z padesáti firem na pět set už není otázka týdnů lidské práce, ale jen spuštění skriptu a pár dolarů za API. A to nám dává svobodu věnovat se tomu, co AI (zatím) neumí.
Golden Retriever vznikl jako pragmatická reakce na nudný úkol. Ukazuje, že zapojení AI do firemních procesů nemusí znamenat revoluci a může lidem výrazně uvolnit ruce. Stejně jako u čtyřnohého společníka, i tento Retriever však potřebuje vodítko. Když mu dáte až moc prostoru a nebudete jej hlídat, dost možná se budete divit, že je vlastně docela pako.

…aneb proč nepotřebujete celý mikroskop, když chcete otestovat firmware

Jak probíhá organizace game jamu, od prvotních kroků až po finální vyhlášení? V čem se náš game jam lišil od těch tradičních a proč je vlastně super nápad takový game jam ve firmě zorganizovat?

Každý projekt, ve kterém se používají LLM pro generování kódu, testů nebo dokumentace, by měl obsahovat i nějakou harness – sadu pravidel, podle které se má agent chovat. Konfigurace těchto pravidel je bohužel stále rozdílná; jednotlivé cloudové AI nástroje (Copilot, Codex, Claude) mají různé formáty. Náš tým je složen z lidí z různých organizací, proto se snažíme vytvořit harness, která by byla pro všechny nástroje společná a vedla by k podobnému chování agentů.
Děkujeme za váš zájem o odběr našeho newsletteru! Pro dokončení registrace je potřeba potvrdit vaše přihlášení. Na zadaný e-mail jsme vám právě zaslali potvrzovací odkaz. Klikněte prosím na tento odkaz, aby bylo vaše přihlášení dokončeno. Pokud e-mail nenajdete, zkontrolujte prosím složku nevyžádané pošty (spam) nebo složku hromadné pošty.
