Blog

Vývoj softwaru s AI agenty: rychlost bez ztráty kontroly

Jak využít AI agenty při profesionálním vývoji softwaru: zadání, testy, řízená workflow, evals, oprávnění a kontrola výsledku.

Vývoj softwaru s AI agenty: rychlost bez ztráty kontroly

AI dnes zvládne převzít překvapivě velkou část vývoje softwaru. U profesionálního vývoje proto není hlavní otázkou, kolik kódu agent napíše, ale jak dobře má připravené zadání, kontext, nástroje a kontroly. Při správném nastavení může AI práci výrazně zrychlit a zkušený tým si přitom zachová kontrolu nad architekturou, kvalitou i provozem výsledné aplikace.

Nástroje typu Lovable nebo Replit ukázaly, jak nízká může být bariéra pro vytvoření nové aplikace – interní nástroj nebo první verzi produktu postaví během krátké doby i člověk bez hlubší znalosti vývoje. Pro rychlé experimentování a vibe coding je to obrovský posun.

U složitější aplikace ale začíná být důležité, co se děje pod povrchem. Agent může během několika iterací vytvořit stovky souborů, přidat závislosti, zacyklit se nebo jít s kladivem na komára a kvůli malé úpravě zasáhnout do mnohem větší části systému.

V COexu proto používáme agentic development jako součást standardního software engineeringu. AI agenti mohou převzít velkou část implementace, analýzy, testování nebo dokumentace a u vhodných úloh práci zrychlit i násobně. Zdrojový kód, architektura, Git, testy, deployment a infrastruktura ale zůstávají v prostředí, kterému rozumíme a do kterého můžeme kdykoli zasáhnout.

Dobré zadání má větší cenu než další hodina psaní kódu

Čím schopnější jsou agenti, tím větší část úkolu dokážou zvládnout samostatně. O to důležitější je přesně popsat, jaký problém řešíme a podle čeho poznáme správný výsledek.

Zadání typu „vylepši objednávkový proces“ je problematické pro AI stejně jako pro lidský tým. Potřebujeme znát hlavní scénáře, důležité výjimky, business pravidla a omezení systému. Klíčové scénáře se vyplatí sepsat jako akceptační kritéria – co přesně má systém v dané situaci udělat. Právě z nich pak vznikají první testy. S kvalitním kontextem může agent projít codebase, připravit plán, implementovat změnu a doplnit testy s minimem průběžných zásahů.

S klesající cenou samotné implementace proto roste význam analýzy, architektury a udržované dokumentace. Podobný posun popisujeme i v článku AI zlevňuje výrobu kódu. Odpovědnost za software zůstává na firmě.

Model je jen jedna část vývojového systému

Při debatách o AI vývoji se řeší hlavně to, který model je nejlepší. V praxi má podobně velký význam prostředí kolem něj, často označované jako harness.

Harness určuje, jaký kontext agent dostane, ke kterým částem projektu má přístup, jaké nástroje může použít a které kontroly se během práce automaticky spouštějí. Dobře připravená codebase, dokumentace a vývojový proces proto mají delší životnost než výběr konkrétního modelu. Modely se budou měnit, schopnost dát jim správný kontext a bezpečné pracovní prostředí zůstane.

Víc instrukcí přitom neznamená lepší výsledek. Pravidla pro agenta držíme krátká a průběžně z nich mažeme to, co nemá viditelný efekt. Převzaté konfigurace z internetu nepoužíváme bez kontroly – i instrukce pro agenta mohou obsahovat útok.

Co lze ověřit automaticky, automaticky ověřujeme

Jazykové modely pracují pravděpodobnostně. Instrukce „před změnou spusť všechny testy“ tedy není totéž jako mechanismus, který testy skutečně spustí. Pravidla, která musí platit vždy, proto vynucujeme automatickým krokem ve vývojovém procesu.

V profesionálním vývoji používáme klasické engineering nástroje všude, kde dávají smysl. CI ověří build, testy kontrolují klíčové scénáře, type checking a linting zachytí další třídu problémů. Čím více výsledku dokážeme ověřit deterministicky, tím větší autonomii můžeme agentovi bezpečně dát.

AI tak může vytvořit velkou část implementace, ale zpráva agenta „hotovo“ sama o sobě nestačí. Výsledek musí projít stejnými kontrolami jako každá jiná změna při vývoji firemních aplikací.

Platí to i obráceně: kde výsledek objektivně ověřit nejde, agent tolik nepomůže. Požadavek „ať je to přehlednější“ nemá měřitelné kritérium, a o tom, jestli je hotovo, proto musí rozhodnout člověk.

Velký prompt postupně nahrazují řízená workflow

Jednomu agentovi lze zadat celý úkol: analyzuj problém, najdi příčinu, oprav ji a připrav pull request. U jednorázové práce to může fungovat velmi dobře. U opakovaných nebo důležitějších procesů se nám osvědčuje práci rozdělit na menší kroky.

Jeden krok získá potřebné informace, další projde dokumentaci a codebase, následuje rozhodnutí, implementace a kontrola výsledku. Tam, kde jsou pravidla jednoznačná, pracuje klasický kód. AI dostává prostor hlavně tam, kde je potřeba interpretace, práce s neúplnými informacemi nebo návrh řešení.

Takový proces lze lépe měřit, opakovat a postupně zlepšovat. Agent se stává součástí softwarové architektury, místo aby byl jen chytrým chatem vedle vývojového prostředí.

AI vývoj potřebuje vlastní kontrolu kvality

Když se v běžné aplikaci něco pokazí, potřebujeme zjistit kde a proč. U agentního procesu navíc chceme vědět, jaké informace agent dostal, jaké nástroje použil, jaký byl výstup a proč se workflow vydalo konkrétní cestou.

Vedle klasických logů proto přibývají traces a evals, tedy způsoby, jak sledovat a vyhodnocovat kvalitu AI výstupů. Některé kontroly mohou být jednoduché a přesné, jiné pracují s referenčními příklady nebo hodnotí výsledek podle předem definovaných kritérií. U produkčního systému nestačí vědět, že agent běží. Potřebujeme vědět, jak dobře svoji práci dělá.

Chování AI komponenty se navíc může změnit, aniž bychom sáhli do vlastního kódu – třeba když poskytovatel upraví model. Evals proto pouštíme na sadě typických příkladů před každou změnou modelu, promptu nebo logiky a průběžně na vzorku skutečného provozu. Stejná data ukážou i to, jestli by pro konkrétní krok nestačil levnější model.

Kontext je pracovní paměť

Velké množství kontextu svádí k představě, že jednomu agentovi předáme celý projekt a necháme jej pracovat prakticky neomezeně. V praxi může s rostoucím kontextem klesat pozornost k původním instrukcím a detailům.

Pomáhá proto práci rozdělovat na menší celky, průběžně ukládat stav a místo nekonečně dlouhé session začít znovu s čistým kontextem. Stejně důležitá je kvalitní projektová dokumentace. Ta už neslouží pouze lidem, ale také jako pracovní paměť pro AI agenty. Usnadňuje předávání práce mezi lidmi, modely i nástroji a snižuje závislost na jednom konkrétním řešení.

Autonomie potřebuje jasné hranice

Agent, který připravuje kód ve vlastní branche, představuje jiný typ rizika než agent s přístupem k produkční databázi nebo deploymentu. Přístupy proto rozšiřujeme podle konkrétního úkolu a kritické operace chráníme automatickou kontrolou nebo schválením člověka. Jednoduché pravidlo: agent nemá dostat přístup, který bychom nesvěřili novému kolegovi v prvním týdnu.

Dobře navržený proces navíc nemusí každou situaci vyřešit samostatně. Kvalitní agent má umět poznat, kdy nemá dost informací a kdy má rozhodnutí předat člověku. Human-in-the-loop tak není překážkou automatizace, ale běžnou součástí jejího návrhu – za předpokladu, že člověk návrhy agenta opravdu čte. Technický dluh dnes vzniká i tím, že je schvalujeme naslepo.

Podobná pravidla platí i při nasazování AI agentů, integrací a automatizace do firemních procesů.

Co to mění pro vývojové týmy a firmy

Ruční psaní každého řádku zabírá postupně menší část vývoje. Větší význam získává návrh systému, rozklad problému, příprava kontextu, automatické kontroly a schopnost posoudit výsledek.

Zkušený engineer tak může s pomocí agentů obsáhnout výrazně větší část projektu a menší seniorní tým se rychleji dostane od zadání k funkčnímu řešení. Pro CTO a management to zároveň znamená, že se víc vyplácí investovat do architektury, dokumentace, testů a automatizovaného vývojového prostředí.

AI může výrobu softwaru výrazně zrychlit. Kvalita výsledku stále stojí na engineeringu kolem agentů.

Pokud řešíte nový firemní systém nebo modernizaci současného softwaru a chcete možnosti AI využít v profesionálním vývoji, popište nám, co chcete postavit.

Nejčastější otázky

Jak velkou autonomii dát AI agentovi?

Podle dopadu konkrétního úkolu a toho, jak dobře lze výsledek automaticky ověřit. Agent může mít vysokou autonomii při práci v oddělené branche s kvalitními testy, zatímco zásah do produkčních dat nebo kritického provozu má mít výrazně přísnější kontrolu.

Může AI agent vyvíjet aplikaci bez průběžných zásahů programátora?

U dobře připravených úloh často ano. Agent může samostatně analyzovat zadání, implementovat změnu a spustit kontroly. Zkušený tým ale stále nastavuje architekturu, pravidla a způsob ověření výsledku a v případě potřeby do práce zasáhne.

Kde mají AI agenti při vývoji největší přínos?

Typicky tam, kde lze práci dobře popsat a výsledek spolehlivě zkontrolovat: implementace jasně definovaných funkcí, práce se stávající codebase, refactoring, testování, dokumentace nebo analýza opakujících se problémů.

Domluvte si konzultaci, rychlou analýzu nebo nezávazný rozhovor zdarma

Získáte nezávislý pohled na váš záměr, doporučení, jak postupovat dál, oponenturu nabídky jiného dodavatele nebo indikativní odhad náročnosti řešení.