
Ze série interních optimalizací posledního roku patří automatizace výkazů u dlouhodobých projektů k těm s nejrychlejší návratností. U větších zakázek uzavíráme každý měsíc desítky až 150+ ticketů v našem project management systému a zákazník u nás musí vidět, za co platí. Transparentnost jsme chtěli zachovat, ale ruční skládání Excelu bralo den měsíčně seniorním lidem. Postavili jsme proto interního AI agenta v n8n: navrhne kategorizaci, finální slovo nechá člověku.
U dlouhodobých klientských projektů bereme strukturu evidence úkolů velmi vážně. Každý měsíc uzavíráme desítky i více ticketů s úkoly v systému Redmine a skládáme z nich srozumitelný rozpoložkovaný výkaz. Ten pak slouží jako podklad k faktuře.
Transparentnost je jednou z našich zásad, ale s přibývajícím objemem práce se tvorba výkazů přehoupla přes člověkoden. Každou issue jsme totiž přiřazovali ručně do Excelu. Seskupili jsme tickety do srozumitelných položek, aby faktura neměla 150 položek, ale maximálně 15, sčítali čas v několika sazbách a až potom jsme měli připravený výkaz prací ke schválení.
V ročním součtu je to 100 hodin práce lidí, kteří mají firmu strategicky posouvat — ne třídit řádky v tabulce. Motivace nebyla „mít AI“. Motivace byla vrátit seniorům čas a snížit riziko špatně sečteného času nebo zapomenutého úkolu ve výkazu.
Zpočátku jsme si mysleli, že tvorba výkazu bude „jen“ klasifikace s pravidly a výjimkami — ideální pro AI agenta. Narazili jsme ale na dvě věci:
Proto jsme nešli do monolitické aplikace, ale postavili workflow na n8n: Redmine, LLM a Google Sheets propojené dvěma kroky s člověkem mezi nimi.
Nejdřív si workflow stáhne uzavřené tickety a přiřadí jim správné fakturační období. Pak je pošle AI agentovi se třemi vrstvami kontextu: system prompt s rolí a úkolem, dokument s pravidly kategorizace a historie předchozích běhů včetně ručních oprav z minulých měsíců. Agent se neučí z obecných dat z internetu, ale z našich reálných rozhodnutí. Výstup zapíše do Google Sheets ke kontrole.
V druhé části nastupuje kontrolor — projde kategorie od agenta a chybu opraví ve sloupci human_fixed_category. Po schválení spustí z webového rozhraní druhou část workflow. Ta data rozdělí do listů, pokud zákazník rozděluje práce do více faktur — např. podle oddělení. Místo 150 řádků (jeden ticket = jeden řádek) máme 10–15 srozumitelných položek, za které klient platí. Každá lidská oprava se uloží do historie — agent se z ní poučí příští měsíc. Ticket musí být v Redmine uzavřený; to systém neudělá za člověka.
Agent potřeboval model, který zvládne češtinu, technický kontext a dlouhou historii našich oprav. Otestovali jsme mimo jiné GPT-5 a GPT-5.2, Gemini Flash 3 a Gemini 3 Pro, Gemini 2.5 Flash a Gemini 2.5 Pro a Grok 4.1 Fast. Grok láká cenou, ale v našem kontextu nestačil. Flash varianty Gemini byly rychlé, ale dělaly moc chyb v detailu. ChatGPT měl srovnatelnou kvalitu, ale vyšší spotřebu tokenů při dlouhé historii. Produkčně běží Gemini 3.0 Pro — o zhruba 30 % vyšší přesnost než předchozí verze a context window, které zvládne historii oprav a pravidel v jednom běhu. Cenu za token jsme záměrně neoptimalizovali na minimum: hodina seniora stojí víc než provoz modelu.

Typická úspora seniorního času na jeden měsíční výkaz klesla z řádově člověkodne ručního seskupování, sčítání a kontroly na zlomek toho — kontrola návrhu agenta místo stavění tabulky od nuly. Ročně jde o 100 hodin, které se vrátily k projektům. Chybovost ve vykázaných hodinách — špatně přiřazené položky nebo nesoulad součtů oproti Redmine — klesla na nulu oproti období před agentem. A ticketů, které ve výkazu chyběly, je zhruba o 60 % méně; pořád platí, že úkol musí být v Redmine uzavřený.
Největší změna není v tabulce, ale v hlavě: místo „kdo to zase složí“ je otázka „kdo to zkontroluje“.

Jde sice o interní projekt — postavili jsme ho pro sebe. Ale ve výsledku z něj benefitují naši zákazníci: neplýtváme časem na administrativu a věnujeme se projektům, za které nám platí.
A dnešní doba je v tomhle příznivá. Konečně reálně jde automatizovat a propojovat i systémy, u kterých to dřív bylo nemožné nebo nesmyslně drahé.
Máte-li podobný proces ve firmě, který bere čas nejcennějším lidem v týmu, ozvěte se nám. Rádi s vámi projdeme, zda existují možnosti k částečné nebo plné automatizaci.


