Consulting Work Blog Kontakt
← Zpět na blog

Jak postavit AI agenta, který v produkci opravdu funguje

Jak postavit AI agenta, který v produkci opravdu funguje

Ukázka proběhla bezchybně. Samozřejmě že proběhla: pětkrát jsem ji prohnal, než jsem ji komukoli ukázal. O dva týdny později, v nějakou nelidskou hodinu, se tentýž agent zasekl, znovu a znovu volal tentýž rozbitý nástroj, spálil celý rozpočet a nevyprodukoval vůbec nic. Právě tahle propast, mezi verzí, která ohromí místnost, a verzí, která se potichu sesype, když se nikdo nedívá, je celý příběh nasazování AI agentů do produkce. Toho svého, Tree AI, provozuji každý jediný den už přes rok. Skoro všechno, co o agentech doopravdy vím, jsem se naučil v té propasti, ne při ukázce.

Ve zkratce

  • Ukázka dokazuje, že agent dokáže uspět jednou. Produkce je o tom, co dělá, když selže.
  • Ve skutečném světě agenty rozbíjejí čtyři věci: bobtnající kontext, selhání nástrojů, nekonečné smyčky a pomalé odchylování persony. Nápravy jsou záměrně nudné.
  • Agent, který přežije produkci, není ten nejschopnější. Je to ten, který selhává elegantně a čistě se zotaví.

Co vlastně dělá

Tree AI běží nepřetržitě na témž malém serveru jako zbytek mé infrastruktury. Mluvím s ním: hlas dovnitř přes rozpoznávání řeči, odpověď, hlas zase ven. Stará se o část mé domácnosti, hlídá kalendář a e-mail, žene konvejer tržní analýzy, který publikuje na mé telegramové kanály, a přepíná persony podle toho, co po něm chci. Je to nástroj, kterým si řídím den, a proto jeho selhání nikdy nejsou teoretická: dějí se mně, v úterý, přesně když jsem tu věc potřeboval, aby fungovala.

Čtyři způsoby, jak agent umírá

Když s agentem chvíli žijete, ukáže se, že selhání jsou překvapivě konzistentní.

První je kontext. Dlouhé konverzace se hromadí, dokud nenarazíte na limit, nebo se odpovědi potichu nerozpadnou na kaši. Moje odpověď je strukturovaná komprese: čas od času se konverzace shrne do kompaktního objektu a agent začne nanovo s tímto shrnutím jako pamětí. Není to elegantní, ale drží to.

Druhý je selhání nástroje. Nástroje vypadávají, API běží do timeoutu, narazíte na limity počtu volání. Agent, který se sesype při prvním selhání nástroje, je k ničemu, protože nástroje selhávají neustále. Náprava je opakem chytrosti, k té se ještě vrátím.

Třetí je smyčka zkázy. Agent se zamotá, zkusí stejnou akci, selže a zkusí to znovu, donekonečna, když mu to dovolíte. Tak mu to nedovolím. Každý běh má tvrdý strop na volání nástrojů; jakmile na něj narazí, zastaví se a nahlásí, co zkoušel. Tenhle jediný limit mě před rozjetými smyčkami zachránil víckrát, než dokážu spočítat.

Čtvrtý je ten tichý: odchylování persony. Během dlouhé konverzace se agent pomalu vzdaluje od toho, jak se má chovat. Nejdřív se posune jazyk, pak tón, pak, a to je ta nebezpečná část, rozhodnutí. Náprava spočívá v tom, že systémový prompt pravidelně vkládáte znovu, místo abyste se spoléhali, že úvodní instrukce ještě platí o tisíc kol později.

Agent, který se sesype při prvním neúspěšném volání nástroje, je jen ukázka s kroky navíc.

Protokol vítězí nad chytrostí

Tady je ta kontraintuitivní lekce. Když nástroj selže, nenechte model, aby se z toho vyimprovizoval. Dejte mu pevný protokol: když selže nástroj X, zkus Y, pak Z a pak natvrdo řekni, že to nešlo. Natvrdo zadané záložní řetězce porazí „inteligentní" zotavení pokaždé, protože improvizace modelu je přesně to místo, odkud pochází nepředvídatelné, drahé a těžko laditelné chování. V agentovi je nudná, deterministická cesta předností.

MCP změnil samotný tvar práce

Model Context Protocol byl to nejlepší, co se vývoji agentů v poslední době přihodilo. Předtím každá schopnost znamenala integraci na míru, přilepenou k jednomu klientovi. S MCP napíšete server jednou a kterýkoli kompatibilní agent ho dokáže objevit a použít. Moje domácí automatizace, kalendář i přístup k souborům vystavují MCP servery; agent se připojí a sám zjistí, co je k dispozici. Přidat novou schopnost se z projektu stalo rutinou: napsat server, restartovat agenta, hotovo.

Co bych poradil někomu, kdo začíná teď

Použijte pořádný model: propast mezi špičkovým modelem a malým otevřeným je u neuspořádaných úloh reálného světa obrovská a šetření na modelu vás obvykle stojí víc všude jinde. Postavte pozorovatelnost dřív než funkce, protože nemůžete ladit to, co nevidíte. Začněte s přesně jedním scénářem použití a udělejte ho doopravdy spolehlivým, než přidáte druhý. A předem přijměte, že se to rozbije způsoby, které jste si nepředstavovali.

Agent, který v produkci funguje, není nikdy ten s nejdelším seznamem schopností. Je to ten, který zůstává ve svém rozsahu, selhává bez dramatu a sám se zotaví. Která část vašeho dne je ta, kterou byste doopravdy svěřili něčemu, co selhává tak elegantně, a co by to muselo nejdřív dokázat?

Stack: Python · Claude API · MCP · Whisper · Telegram Bot API

Potřebujete něco podobného pro svou vlastní firmu? Podívejte se, jak můžu pomoct →