Aplikace na míru od týmu AI agentů. Rozhoduje člověk.
Agenti programují, kontrolují a testují. Vy zadáte, co potřebujete, a schválíte výsledek.
- 5× rychleji hotová aplikace interní webová aplikace
- 2 agenti kontrolují každou změnu
- 100 % změn pouští do provozu člověk
Pět kroků od zadání k hotové aplikaci
-
Zadáte
Vlastními slovy popíšete, co má aplikace umět.
-
Agenti vyvinou
Specializovaní agenti si rozdělí práci a napíšou kód.
-
Jiný agent zkontroluje
Každou změnu projde agent, který ji nepsal.
-
Automatické testy
Testy aplikaci vyzkouší v prohlížeči i na mobilu.
-
Vy schválíte
Do provozu jde jen to, co odsouhlasíte.
Noční režim
Agenti pracují i v noci, kdy nikdo nečeká. Ráno máte hotové a otestované změny připravené ke schválení.
Příklad: oprava chyby krok za krokem
Zadání:
Oprava chyby: „Na mobilu nejde odeslat formulář.“
- Na mobilu nejde odeslat formulář. Zákazníci si stěžují. Člověk popíše problém vlastními slovy. Víc dělat nemusí.
- Zakládám úkol „Formulář nejde odeslat na mobilu“. Přebírá ho vývojář pro frontend, priorita je vysoká. Dispečer z hlášení udělá konkrétní úkol a určí, kdo ho převezme a jak je naléhavý.
- Hotovo. Tlačítko bylo na malém displeji překryté jiným prvkem. Posílám ke kontrole. Vývojář pracuje na vlastní kopii kódu. Změnu předloží ke kontrole, sám ji do produkce poslat nemůže.
- Oprava funguje, ale chybí test, který by stejnou chybu příště zachytil. Vracím k doplnění. Kontrolu dělá jiný agent než autor. Změnu vrátil, protože chyběla pojistka proti opakování chyby.
- Test je doplněný a automatické kontroly prošly. Autor připomínku zapracuje a změnu předloží znovu.
- Teď je to v pořádku. Z pohledu kódu schvaluji a předávám testerovi. Kontrola kódu prošla. V produkci ale změna ještě není.
- Vyzkoušeno v prohlížeči na třech velikostech mobilu. Formulář se odešle. Tester opravu vyzkouší tak, jak ji použije zákazník.
- Oprava běží na zkušební adrese a čeká na vaše schválení. Zkušební verze (náhled) je oddělená od produkce, zákazníci ji nevidí.
- Prošel jsem náhled, schvaluji. Tohle je jediný krok, který pouští změnu do produkce. Dělá ho vždy člověk.
- Nasazeno do produkce, kontrola po nasazení je v pořádku. Nasazení proběhne automaticky až po schválení a dá se vrátit na předchozí verzi.
Časy jsou ilustrativní průběh, příklad je modelový.
Stejná hodinová sazba, až 5× méně hodin
Počítáme stejnou sazbu jako běžný dodavatel (1 500 Kč za hodinu bez DPH). Agenti ale potřebují mnohem méně hodin.
- Vývoj aplikace 5×rychleji
Interní webová aplikace
Například evidence docházky: přihlášení, zápis příchodů a odchodů, měsíční přehledy, export a správa uživatelů.
Programátor u dodavatele 60 pracovních dní (≈ 3 měsíce)NetVoice s agenty 12 pracovních dní (≈ 2,5 týdne)Dodavatel≈ 720 000 Kč NetVoice≈ 144 000 Kčo 70–80 % levněji ušetříte ≈ 576 000 Kč
Z toho 2 pracovní dny práce člověka (zadání, průběžné kontroly a schválení).
- Návrh uživatelského rozhraní 4×rychleji
Návrh 10 obrazovek včetně mobilní verze
Designér kreslí ve Figmě, agent navrhuje obrazovky přímo v kódu podle design systému a připraví varianty k výběru.
UI designér (Figma) u dodavatele 10 pracovních dní (≈ 2 týdny)NetVoice s agenty 2,5 pracovního dneDodavatel≈ 120 000 Kč NetVoice≈ 30 000 Kčo 70–80 % levněji ušetříte ≈ 90 000 Kč
Z toho 4 hodiny práce člověka (výběr variant a připomínky).
- Provoz a infrastruktura 3,3×rychleji
Kompletní prostředí v Azure
Síť, servery, databáze, zálohy, monitoring a přístupová práva, celé popsané jako kód, aby šlo prostředí kdykoli znovu vytvořit.
DevOps specialista u dodavatele 10 pracovních dní (≈ 2 týdny)NetVoice s agenty 3 pracovní dnyDodavatel≈ 120 000 Kč NetVoice≈ 36 000 Kčo 70 % levněji ušetříte ≈ 84 000 Kč
Z toho 1 pracovní den práce člověka (kontrola návrhu, bezpečnosti a schválení).
Srovnání s vlastním zaměstnancem
Když práci dělá váš zaměstnanec, platíte jeho mzdu a odvody za odpracované hodiny.
| Zakázka | Vlastní zaměstnanec | NetVoice | Rozdíl |
|---|---|---|---|
| Interní webová aplikace | ≈ 334 000 Kč | ≈ 144 000 Kč | o 56 % levněji |
| Návrh 10 obrazovek včetně mobilní verze | ≈ 56 000 Kč | ≈ 30 000 Kč | o 46 % levněji |
| Kompletní prostředí v Azure | ≈ 56 000 Kč | ≈ 36 000 Kč | o 35 % levněji |
Náklad zaměstnance 117 000 Kč/měs = průměrná mzda 87 153 Kč + odvody zaměstnavatele 33,8 %. Hodina zaměstnance = měsíční náklad / 168 hodin = 696 Kč.
Zdroje sazeb a mezd: INITED Solutions: hodinová sazba agentury 2 000 Kč (2024) · Agionet: design a programování 1 100–1 250 Kč/h · Zdeněk Skulínek: senior programátor 1 500–2 500+ Kč/h · Jooble: průměrná mzda ve vývoji softwaru 87 153 Kč/měs (23. 9. 2026)
Aplikace, které jsme takto postavili
Na snímcích jsou osobní a obchodní údaje rozmazané.
-
nDoklad
Účetní platforma, která čte faktury z PDF a hlídá účetnictví i DPH.
- Vytěží údaje z faktur a ukáže, jak si je jistá.
- Vystaví fakturu s QR platbou a zopakuje ji další měsíc.
- Předá doklady do Pohody, Money, Heliosu nebo ABRY.
Další snímky
- Snímky s ukázkovými daty doplníme
Docházka
Evidence docházky pro menší firmy, ovládaná i z mobilu.
- Příchod a odchod jedním tlačítkem.
- Přehled hodin, přesčasů a dovolené.
- Měsíční uzávěrka jako podklad pro mzdy.
-
Energy Monitoring
Průběžné měření energie ve výrobním závodě a hlídání nákladů.
- Varuje před překročením sjednané kapacity dřív, než se platí pokuta.
- Hlásí úniky, výpadky a neobvyklou spotřebu.
- Posílá reporty vedení a podklady pro audit.
ukázka s ilustrativními daty
Další snímky a video
-
Rónin
3D hra v prohlížeči, kterou vyvíjí tým specializovaných agentů.
- Šest agentů podle oblastí: grafika, terén, herní systémy a další.
- V noci pracují agenti sami, ráno schvaluje člověk.
- Každá změna projde kontrolou a testy před zveřejněním.
Ukázka ze hry: vesnice a souboj Další snímky
Čtyři pojistky u každé změny
-
Kontrola jiným agentem
Kód, který agent napíše, vždy zkontroluje jiný agent.
-
Automatické testy
Každou změnu ověří testy dřív, než ji uvidíte.
-
Schvaluje člověk
Do provozu nejde nic bez vašeho souhlasu.
-
Každou změnu jde vrátit
Každé zveřejnění je zaznamenané a jde vrátit o krok zpět.
Posílíte svůj tým agenty
Agenti můžou pracovat i přímo ve vašem týmu. Vaši lidé zadávají a schvalují, agenti jim pomáhají s prací.
Spočítat pro naši firmu
Potřebujete aplikaci?
Napište, co má aplikace umět a pro koho je: interní systém, portál pro zákazníky, napojení na účetnictví nebo automatizace. Připravíme odhad ceny a termínu a navrhneme, s čím začít.
netvoice@netvoice.cz
NetVoice s.r.o.Pobřežní 249/46, 186 00 Praha 8 – Karlín
IČ 27592570 · DIČ CZ27592570
Pro IT specialisty: jak to funguje uvnitř
Architektura, komunikace agentů na GitHubu, servery a náklady. Každou záložku jde poslat odkazem.
Architektura
Tok práce od zadání po produkci
Každý krok má jednoho odpovědného. Chyby z testů se vracejí dispečerovi jako nové úkoly, ne přímo vývojáři. Vyberte uzel v diagramu a zobrazí se popis role.
Vyberte uzel v diagramu.
-
Člověk priority, schválení
Určuje priority a zadání, schvaluje merge do produkce a spravuje přístupy, licence a secrets. Ve sporných věcech rozhoduje on, ne agent.
-
Dispečer plánování
Převádí zadání na konkrétní úkoly, přiřazuje štítky a hlídá závislosti mezi nimi. Zpracovává hlášení testeru a rozhoduje, co se opraví hned a co počká.
-
Fronta úkolů GitHub Issues
Jediné místo, kde úkoly existují. Každý issue má štítek domény, stav a historii diskuse. Agenti si berou práci odsud, ne z chatu.
-
Vývojáři více instancí
Několik instancí, každá pro svou doménu (např. grafika, terén, herní logika, návrh UI). Pracují ve vlastní větvi a výsledek odevzdávají jako pull request.
-
Reviewer kontrola kódu
Čte pull request jinou instancí, než která kód napsala. Kontroluje soulad s AGENTS.md, chyby, bezpečnost a zbytečnou složitost. Může změnu vrátit.
-
Tester Playwright
Spouští automatické testy a průchody aplikací v prohlížeči, porovnává screenshoty. Nalezené chyby zakládá jako nové issues a vrací je dispečerovi.
-
DevOps CI, nasazení
Udržuje CI pipeline, build a nasazení. Hlídá logy a stav prostředí. Do produkce jde změna až po schválení člověkem.
-
Produkce Cloudflare
Nasazená verze po merge do main. Každé nasazení je dohledatelné ke konkrétnímu commitu a jde vrátit zpět.
Komunikace agentů
Jak spolu agenti mluví
Čtyři modelové situace krok za krokem: kdo komu co předává a kde vstupuje člověk. Nic nejde do produkce bez jeho schválení.
Pravidlo: do produkce jde změna až po schválení člověkem. Agenti připravují, kontrolují a testují.
Zadání:
Oprava chyby: „Na mobilu nejde odeslat formulář.“
- Na mobilu nejde odeslat formulář. Zákazníci si stěžují. Člověk popíše problém vlastními slovy. Víc dělat nemusí.
- Zakládám úkol „Formulář nejde odeslat na mobilu“. Přebírá ho vývojář pro frontend, priorita je vysoká. Dispečer z hlášení udělá konkrétní úkol a určí, kdo ho převezme a jak je naléhavý.
- Hotovo. Tlačítko bylo na malém displeji překryté jiným prvkem. Posílám ke kontrole. Vývojář pracuje na vlastní kopii kódu. Změnu předloží ke kontrole, sám ji do produkce poslat nemůže.
- Oprava funguje, ale chybí test, který by stejnou chybu příště zachytil. Vracím k doplnění. Kontrolu dělá jiný agent než autor. Změnu vrátil, protože chyběla pojistka proti opakování chyby.
- Test je doplněný a automatické kontroly prošly. Autor připomínku zapracuje a změnu předloží znovu.
- Teď je to v pořádku. Z pohledu kódu schvaluji a předávám testerovi. Kontrola kódu prošla. V produkci ale změna ještě není.
- Vyzkoušeno v prohlížeči na třech velikostech mobilu. Formulář se odešle. Tester opravu vyzkouší tak, jak ji použije zákazník.
- Oprava běží na zkušební adrese a čeká na vaše schválení. Zkušební verze (náhled) je oddělená od produkce, zákazníci ji nevidí.
- Prošel jsem náhled, schvaluji. Tohle je jediný krok, který pouští změnu do produkce. Dělá ho vždy člověk.
- Nasazeno do produkce, kontrola po nasazení je v pořádku. Nasazení proběhne automaticky až po schválení a dá se vrátit na předchozí verzi.
- Zapojení agenti: 5 (Dispečer, Vývojář (frontend), Reviewer, Tester, DevOps)
- Člověk zasáhl 2×: zadání, schválení
- Kontroly před nasazením do produkce: 5 (2× automatické testy, 2× kontrola kódu, 1× test v prohlížeči)
Nová funkce: „Export faktur do Excelu.“
- Potřebujeme export faktur do Excelu za zvolené období a zákazníka. Zadání stačí napsat jako běžný požadavek.
- Rozdělil jsem zadání na tři úkoly: popis rozhraní, vytvoření souboru a tlačítko s filtrem. Architekte, navrhni rozhraní. Velké zadání se rozdělí na menší úkoly, které můžou běžet souběžně.
- Export dostane období a zákazníka a vrátí soubor pro Excel. Oba stavíte na tomto popisu. Architekt předem určí, jak do sebe části zapadnou. Dva vývojáři pak nepracují proti sobě.
- Vytváření souboru je hotové. Backend a frontend vznikají souběžně, každý ve své větvi.
- Tlačítko a filtr jsou hotové. Druhá část práce doběhla nezávisle na první.
- Obě změny odpovídají popisu rozhraní. Z pohledu kódu schvaluji. Reviewer kontroluje i to, že obě části dodržely společný popis.
- Export s více než 1 000 fakturami skončí chybou. Vracím dispečerovi. Tester našel chybu dřív než zákazník. Hlásí ji dispečerovi, který rozhodne o prioritě.
- Nový úkol: velké exporty padají. Blokuje vydání, řeš přednostně. Chyba se vrací jako nový úkol s prioritou. Nic se neztratí v chatu.
- Export se teď zpracovává po částech, velké objemy projdou. Oprava jde znovu přes všechny kontroly, ne zkratkou.
- Oprava je v pořádku. Schvaluji z pohledu kódu. I malá oprava prochází kontrolou jiným agentem.
- Export 5 000 faktur proběhl, obsah souboru odpovídá. Tester ověří přesně ten případ, který předtím selhal.
- Export je na zkušební adrese. Čeká na vaše schválení. Člověk si funkci může vyzkoušet dřív, než ji uvidí zákazníci.
- Vyzkoušeno, schvaluji. Bez tohoto schválení by funkce zůstala jen na zkušební adrese.
- Nasazeno do produkce. Nová funkce je dostupná zákazníkům. Předchozí verze zůstává připravená pro návrat.
- Zapojení agenti: 7 (Dispečer, Architekt, Vývojář (backend), Reviewer, Vývojář (frontend), Tester, DevOps)
- Člověk zasáhl 2×: zadání, schválení
- Kontroly před nasazením do produkce: 7 (3× automatické testy, 2× kontrola kódu, 2× test v prohlížeči)
Zásah člověka: „Dva agenti narazí na rozpor v zadání.“
- Úkol #240 říká zobrazovat ceny s DPH, úkol #241 pro firemní zákazníky bez DPH. Na jedné stránce nejde splnit obojí. Agent si všimne, že si dvě zadání odporují, a neřeší to po svém.
- Potvrzuji. Návrh obrazovky počítá s jednou cenou a potřebuji vědět, kterou zobrazit. Druhý agent narazil na stejný problém ze své strany.
- Rozpor v zadání. O cenách nemají rozhodovat agenti, předávám člověku. Jde o obchodní rozhodnutí, takže agenti nehádají. Úkol se označí a čeká na člověka.
- Než přijde rozhodnutí, pokračuj úkolem „Rychlejší načítání seznamu objednávek“. Práce nestojí, agenti mezitím dělají jiné úkoly.
- Firmám bez DPH, ostatním s DPH. Rozlišit podle typu účtu. Stačí jedna věta. Rozhodnutí se zapíše k úkolu a platí i pro další práci.
- Rozhodnuto. Zadání je upravené, pokračujte. Úkol se vrací do fronty s jasným zadáním.
- Ceny se zobrazují podle typu účtu. Vývojář staví přesně na rozhodnutí, které člověk zapsal.
- Kód odpovídá rozhodnutí u úkolu. Z pohledu kódu schvaluji. Reviewer porovná změnu s tím, co člověk rozhodl.
- Ověřeno pro firemní i běžný účet. Tester vyzkouší obě varianty, o kterých člověk rozhodl.
- Změna je na zkušební adrese. Čeká na vaše schválení. I po rozhodnutí člověka platí stejné pravidlo: nejdřív náhled, pak schválení.
- Schvaluji. Do produkce nic nejde bez schválení člověkem.
- Nasazeno do produkce. Zákazníci vidí ceny podle typu svého účtu.
- Zapojení agenti: 6 (Vývojář (frontend), Dispečer, Designér UI, Reviewer, Tester, DevOps)
- Člověk zasáhl 2×: rozhodnutí, schválení
- Kontroly před nasazením do produkce: 3 (1× automatické testy, 1× kontrola kódu, 1× test v prohlížeči)
Noční běh: „Agenti pracují bez zásahu člověka, ráno čeká jen schválení.“
- Noční test objednávky selhal: při slevě nesedí přepočet DPH v košíku. Testy běží každou noc samy. Chybu najde agent, ne zákazník.
- Zakládám úkol na opravu přepočtu DPH se slevou a přiřazuji ho vývojáři pro backend. Dispečer sám rozhodne o prioritě a přidělí práci. V noci k tomu nikoho nebudí.
- Oprava hotová: DPH se teď počítá ze zaokrouhleného základu po slevě. Oprava vzniká v samostatné větvi, hlavní verze se nemění.
- Chybí test na hraniční zaokrouhlení (0,005 Kč). Vracím. Kontrolu dělá jiný agent. Vrací změnu, i když ji nikdo nesleduje.
- Test doplněný, všechny kontroly prošly. Autor připomínku zapracuje sám, bez čekání na ráno.
- Schvaluji z pohledu kódu. Druhá kontrola prošla.
- Celá sada 48 testů objednávky prošla, včetně obou případů se slevou. Tester ověří přesně ten případ, který v noci selhal, a k tomu vše ostatní.
- Náhled s opravou běží na zkušební adrese. Zkušební verze je připravená k ranní kontrole. Produkce se nemění.
- Hotovo a otestováno. Ráno čeká na schválení merge do produkce. Tady noční práce končí. Do produkce změnu pustí až člověk.
- Zapojení agenti: 5 (Tester, Dispečer, Vývojář (backend), Reviewer, DevOps)
- Člověk zasáhl 0×: celý běh proběhl bez něj, merge do produkce čeká na jeho schválení
- Kontroly před nasazením do produkce: 6 (2× test v prohlížeči, 2× automatické testy, 2× kontrola kódu)
Časy jsou ilustrativní průběh, scénáře jsou modelové.
Slovníček pojmů 8 pojmů bez žargonu
- Úkol (issue)
- Záznam o jedné práci, ve kterém je zadání, diskuse i výsledek na jednom místě.
- Štítek
- Značka na úkolu, podle které se pozná, kdo ho převezme a jak je naléhavý.
- Větev
- Samostatná kopie kódu, ve které se pracuje, aniž by se měnila funkční verze.
- Pull request (PR)
- Žádost o přijetí změn z větve do hlavní verze s přehledem, co se mění.
- Review
- Kontrola změn jiným agentem nebo člověkem dřív, než se přijmou.
- CI
- Automatické sestavení a testy, které proběhnou při každé změně bez lidského zásahu.
- Nasazení
- Zveřejnění nové verze: nejdřív na zkušební adrese, po schválení pro zákazníky.
- Merge
- Začlenění schválené změny do hlavní verze. Tady ho vždy potvrzuje člověk.
Na GitHubu
Noční běh na GitHubu: bez zásahu člověka až po schválení
Konkrétní podoba scénáře „Noční běh“: úkol, pull request, review, CI a pravidla repozitáře. Agenti mají vlastní strojové účty. Mezi 1:10 a 2:46 nezasáhne žádný člověk, merge do produkce ale zůstává zamčený pro člověka.
- stav: nový
- stav: v práci
- review
- CI zelená
- test
- náhled
- čeká na schválení
- merge: člověk
Úkol #251
Úkol založil dispečer sám z nočního selhání testu. Štítky určují doménu, stav a prioritu.
#251 Košík: nesedí DPH při slevě (zaokrouhlení)
Štítky: chyba · backend · stav: nový · noc
Založil: agent-dispecer · Přiřazeno: agent-backend
## Co se děje
Noční e2e test selhal ve 2 ze 48 případů. Při slevě 10 % a DPH 21 %
se DPH v souhrnu košíku liší o 0,01 Kč od DPH na faktuře.
## Jak zopakovat
1. Košík s položkou 1 234,50 Kč
2. Sleva 10 %
3. Porovnat DPH v souhrnu košíku a na faktuře
## Očekáváno
DPH se počítá ze zaokrouhleného základu po slevě (AGENTS.md → Ceny).
## Hotovo, když
- [ ] testy pro oba případy z nočního běhu
- [ ] e2e sada košíku zelená
- [ ] náhled nasazený, štítek „čeká na schválení“ Pull request #252
Vývojář otevře PR z vlastní větve. Poslední bod (schválení člověkem) agenti splnit nemohou.
#252 fix(kosik): DPH ze zaokrouhleného základu po slevě
fix/251-dph-sleva → main · autor: agent-backend · review: agent-reviewer
Opravuje #251
## Změny
- `src/pricing/vat.ts` – základ se po slevě zaokrouhlí před výpočtem DPH
- `src/pricing/vat.test.ts` – 3 nové testy, včetně hranice 0,005 Kč
## Ověření
- [x] unit testy 212/212
- [x] e2e košík 48/48
- [x] náhled: fix-251-dph-sleva
- [ ] schválení člověkem (merge do main) Review
Reviewer je jiný agent s vlastním účtem. Vrací změnu s konkrétním návrhem.
# agent-reviewer · Požadovány změny · src/pricing/vat.ts
# „Zaokrouhluj základ po slevě zvlášť a doplň test pro hranici 0,005 Kč.“
export function vatFromDiscounted(base: number, discount: number, rate: number) {
- return round2(base * (1 - discount) * rate);
+ const discounted = round2(base * (1 - discount));
+ return round2(discounted * rate);
}
+test('DPH ze zaokrouhleného základu po slevě 10 %', () => {
+ expect(vatFromDiscounted(1234.5, 0.1, 0.21)).toBe(233.32);
+}); CI
Kontroly u každého PR a noční běh testů. Selhání se samo zapíše jako nový úkol.
# .github/workflows/ci.yml – kontroly u každého PR a noční e2e běh
name: ci
on:
pull_request:
schedule:
- cron: '0 1 * * *' # každou noc v 1:00 UTC
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with: { node-version: 22, cache: npm }
- run: npm ci
- run: npm test # unit testy
- run: npx playwright install --with-deps chromium
- run: npx playwright test # e2e v prohlížeči
# Noční selhání se samo stane úkolem pro dispečera
- if: failure() && github.event_name == 'schedule'
run: gh issue create --title "Noční e2e selhalo" --label "chyba,noc" --body-file e2e-report.md
env:
GH_TOKEN: ${{ github.token }} Ochrana main
Pravidla repozitáře vynucují schválení člověkem. Agenti je nemohou obejít ani změnit.
# Pravidla větve main (GitHub → Settings → Rules)
main:
require_pull_request: true # nic se nezapisuje přímo do main
required_approvals: 1
require_code_owner_review: true # schválit musí vlastník kódu = člověk
dismiss_stale_approvals: true # nový commit = nové schválení
required_status_checks:
- ci / test # unit + e2e musí být zelené
block_force_push: true
bypass: none # výjimky nemá nikdo, ani agenti
# .github/CODEOWNERS
# * @firma/vedeni # vlastníci kódu jsou jen lidé
#
# Agenti mají vlastní strojové účty (GitHub App). Schválení od agenta-revieweru
# je kontrola kvality, ale nesplní „code owner review“. Merge proto vždy dělá člověk. AGENTS.md
Společná pravidla, která čtou všichni agenti před začátkem práce.
# AGENTS.md (výňatek)
## Úkoly
- Ber jen úkoly se štítkem své domény a `stav: nový`.
- Při převzetí změň štítek na `stav: v práci` a napiš plán do komentáře.
- Jedna větev na úkol: `fix/<číslo>-<popis>` nebo `feat/<číslo>-<popis>`.
## Pull request
- Popis podle šablony, vždy „Opravuje #číslo“.
- O review žádej až při zelené CI.
- Do main nikdy nemerguj. To dělá člověk.
## Ceny
- DPH se počítá ze zaokrouhleného základu po slevě, zaokrouhlení na 2 desetinná místa.
## Když si nevíš rady
- Rozpor v zadání nebo obchodní rozhodnutí: štítek `čeká na člověka`
a pokračuj jiným úkolem.
## Zakázáno
- Měnit secrets, nastavení repozitáře, produkční data a pravidla větví. Příkazy gh
Takhle agenti pracují s GitHubem z terminálu. Poslední příkaz spouští jen člověk.
# Dispečer: z nočního selhání udělá úkol
gh issue create --title "Košík: nesedí DPH při slevě (zaokrouhlení)" \
--label "chyba,backend,stav: nový,noc" --assignee agent-backend --body-file report.md
# Vývojář: převezme úkol, opraví a otevře PR
gh issue edit 251 --remove-label "stav: nový" --add-label "stav: v práci"
git switch -c fix/251-dph-sleva
git commit -am "fix(kosik): DPH ze zaokrouhleného základu po slevě"
git push -u origin fix/251-dph-sleva
gh pr create --base main --title "fix(kosik): DPH ze zaokrouhleného základu po slevě" --body "Opravuje #251"
# Reviewer: projde změny a rozhodne
gh pr diff 252
gh pr review 252 --request-changes --body "Doplň test pro hranici 0,005 Kč."
gh pr review 252 --approve
# Tester a DevOps: počkají na kontroly, nasadí náhled, označí PR
gh pr checks 252 --watch
gh pr edit 252 --add-label "čeká na schválení"
# Člověk ráno – jediný krok, který agenti nesmějí udělat
gh pr merge 252 --squash --delete-branch Role agentů
Kdo v týmu co dělá
Každý agent má úzce vymezenou roli a typ modelu, který jí odpovídá. Drahý model tam, kde se rozhoduje nebo píše kód, levnější tam, kde jde o rutinu.
-
Dispečer
- Rozkládá zadání na úkoly a přiřazuje štítky.
- Sleduje stav fronty, závislosti a blokované úkoly.
- Třídí hlášení z testů podle závažnosti.
-
Architekt
- Navrhuje strukturu modulů a rozhraní mezi doménami.
- Udržuje AGENTS.md a technická rozhodnutí.
- Posuzuje větší změny dřív, než se začnou psát.
-
Vývojář
3 instance- Implementuje úkoly své domény ve vlastní větvi.
- Píše testy ke změnám a odevzdává pull request.
- Počet instancí odpovídá počtu domén projektu.
-
Reviewer
- Kontroluje pull requesty jinou instancí, než kód napsala.
- Hledá chyby, bezpečnostní problémy a porušení konvencí.
- Vrací změny s konkrétními připomínkami.
-
Designér UI
- Navrhuje obrazovky a komponenty přímo v kódu podle design systému.
- Čte podklady z Figmy a screenshoty, připravuje varianty k výběru.
- Hlídá konzistenci barev, typografie a přístupnosti.
-
Tester
- Spouští testy a průchody aplikací v prohlížeči (Playwright).
- Porovnává screenshoty a hledá regrese.
- Zakládá nalezené chyby jako issues pro dispečera.
-
DevOps
- Udržuje CI pipeline, build a nasazení.
- Sleduje logy, chyby buildu a stav prostředí.
- Připravuje vrácení verze, když nasazení selže.
Náklady jsou výchozí hodnoty z kalkulačky níže. Přepočet kurzem ČNB ke dni 25. 9. 2026: 1 USD = 21,359 Kč.
Co zůstává na člověku
Agenti odvedou většinu rutinní práce. Odpovědnost za výsledek, peníze a přístupy nepřebírají.
-
Priority a zadání
Rozhoduje, co se dělá a v jakém pořadí. Zadání formuluje tak, aby šlo ověřit, že je hotové.
-
Schvalování merge do produkce
Žádná změna nejde do main bez lidského schválení. Agent může připravit, otestovat a doporučit, ne nasadit.
-
Licence
Posuzuje licence knihoven a zdrojů, které agenti chtějí použít, a odpovídá za ně.
-
Secrets a přístupy
Spravuje klíče, tokeny a oprávnění. Agenti dostávají jen přístupy nutné pro svou roli.
-
Sporné věci
Když se agenti neshodnou nebo úkol nemá jasné řešení, rozhodne člověk a rozhodnutí se zapíše k úkolu.
Denní a noční režim
| Den | Noc | |
|---|---|---|
| Kdo řídí | Člověk, dispečer mu připravuje podklady | Dispečer podle schválených priorit |
| Co se děje | Review výsledků, schvalování, nové zadání | Implementace, testy, opravy chyb z testů |
| Merge do main | Ano, po schválení | Ne, pull requesty čekají na ráno |
| Při problému | Rozhodne člověk hned | Úkol se označí jako blokovaný a agent pokračuje jiným |
Servery a nasazení
Buňka: dispečer a jeho tým
Základní jednotkou je buňka: jeden dispečer a skupina agentů, kteří sdílejí frontu úkolů a repozitář. Větší projekt nedostane většího dispečera, ale další buňku.
Kapacita jednoho serveru
Server s 8 GB RAM zvládne 4–6 agentů, se 16 GB zhruba 8–10. Agenti většinu času čekají na odpověď modelu. Paměť berou hlavně buildy a testy v prohlížeči.
Procesor se vytíží méně než paměť. Proto rozhoduje hlavně velikost RAM.
Úzká hrdla
- Rate limity API. Víc agentů na jednom účtu znamená víc čekání, ne víc práce.
- Konflikty v kódu. Agenti ve stejné části kódu si překážejí. Pomáhá rozdělení podle domén.
- Kapacita člověka. Každý merge do produkce někdo schvaluje. To je obvykle první limit.
Na jakých serverech agenti běží
Samotný model AI běží u poskytovatele (Anthropic) a platí se v ceně agenta. Na vlastním serveru běží jen to, co agent potřebuje k práci: kopie repozitáře, build, testy a prohlížeč pro testera. Proto stačí levný linuxový server. Na jedné buňce tvoří server asi 4 % měsíčních nákladů na agenty a servery, zbytek je cena modelů.
| Varianta | Server | Parametry | Agentů | Cena / měs | Kdy zvolit |
|---|---|---|---|---|---|
| Menší tým | Hetzner Cloud CPX32 | 4 vCPU (vyhrazené), 8 GB RAM, 160 GB disk | 4–6 | 35,49 EUR ≈ 864 Kč | Menší buňka nebo pilot. Na testy v prohlížeči stačí několik souběžných běhů. |
| Doporučená výchozí | Hetzner Cloud CPX42 | 8 vCPU (vyhrazené), 16 GB RAM, 320 GB disk | 8–10 | 69,49 EUR ≈ 1 692 Kč | Plná buňka. Odpovídá výchozí ceně serveru v kalkulačce. |
| Úsporná | Hetzner Cloud CX43 | 8 vCPU (sdílené), 16 GB RAM, 160 GB disk | 8–10 | 15,99 EUR ≈ 389 Kč | Levnější varianta plné buňky. Výkon je sdílený, ve špičkách může být pomalejší. |
| Firemní | Microsoft Azure B4ms | 4 vCPU, 16 GB RAM, disk se platí zvlášť | 8–10 | 140 USD ≈ 2 990 Kč | Firma už má Azure, smlouvu s Microsoftem a správu identit. Levnější s rezervací na 1–3 roky. |
Ceny bez DPH, stav září 2026. Přepočet kurzem ČNB ke dni 25. 9. 2026 (1 EUR = 24,350 Kč, 1 USD = 21,359 Kč). Buňka s 8–10 agenty potřebuje server se 16 GB RAM, menší buňce stačí 8 GB.
Co na serveru běží
- Ubuntu Server 24.04 LTS. Operační systém serveru, bez licenčních poplatků.
- Claude Code. Agent v terminálu. Jeho cena je cena agenta v kalkulačce, server ji nezvyšuje.
- Git, GitHub CLI, Node.js. Práce s repozitářem, build a spouštění testů.
- Playwright s prohlížečem Chromium. Tester v něm prochází aplikaci. Spotřebuje nejvíc paměti.
- Docker. Každý agent běží odděleně ve vlastním kontejneru s vlastní kopií repozitáře.
- Firewall a SSH klíče. Server nepřijímá žádná příchozí spojení kromě správy. Hesla a klíče k produkci na serveru nejsou.
Další provozní náklady
- Zálohy serveru (Hetzner): 20 % ceny serveru. Volitelné, kód je stejně uložený na GitHubu.
- GitHub: 0 Kč pro začátek. Zdarma soukromé repozitáře a 2 000 minut CI měsíčně, placený plán od 4 USD za uživatele.
- Cloudflare Pages: 0 Kč. Hosting webů a náhledů na plánu Free.
- Model AI (Claude): cena agenta. Největší položka. Model běží u Anthropic, na serveru se nic nepočítá.
Velikosti nasazení
| Varianta | Agenti | Složení | Buňky | Servery | Lidé na řízení | Agenti + servery / měs | Akce |
|---|---|---|---|---|---|---|---|
| Malý | 4 | Dispečer, 2× Vývojář, Tester Review, design a nasazení zůstávají u lidí nebo běží automaticky. Stačí server s 8 GB RAM. | 1 | 1× 8 GB | 1 | ≈ 21 000 Kč | |
| Střední | 8 | Dispečer, Architekt, 2× Vývojář, Reviewer, Designér UI, Tester, DevOps Kompletní buňka: každá role je obsazená jedním agentem, vývojáři dva. | 1 | 1× 16 GB | 1–2 | ≈ 31 000 Kč | |
| Velký | 15 | 2× Dispečer, Architekt, 6× Vývojář, 2× Reviewer, Designér UI, 2× Tester, DevOps Dvě buňky se sdíleným architektem, designérem a DevOps. Každá buňka má vlastního dispečera. | 2 | 2× 16 GB | 2 | ≈ 70 000 Kč |
Náklad nezahrnuje lidi na řízení. Kompletní výpočet včetně nich je v kalkulačce.
Případová studie Rónin
Jak to děláme dnes: projekt Rónin
Rónin je 3D hra běžící v prohlížeči. Vyvíjí ji skupina specializovaných AI session, které řídí dispečer. Člověk určuje směr a schvaluje, co jde do produkce.
Specializované session
Každá session má svou doménu a vlastní štítek ve frontě úkolů.
- Grafika Shadery, osvětlení, efekty a výkon vykreslování.
- Herní systémy Pravidla hry, inventář, souboje, ukládání stavu.
- Svět a ekonomika Obchod, suroviny, ceny a rovnováha herního světa.
- Terén Generování krajiny, výšková data, přechody a navigace.
- Modely Příprava a optimalizace 3D modelů a jejich načítání.
- Tester Automatické průchody hrou, screenshoty, hlášení chyb zpět do fronty.
- Terén Plynulejší přechod mezi dlaždicemi terénu v práci
- Grafika Stíny u vzdálených objektů review
- Tester Regrese: ukládání hry po načtení mapy nový
- Rozhodnutí Schválit merge do main čeká na člověka
Pravidla spolupráce
- Úkoly jako GitHub Issues Dispečer zakládá a třídí issues. Štítek určuje, která session úkol převezme. Diskuse a výsledek zůstávají u úkolu.
- Společná pravidla v AGENTS.md Jeden soubor v repozitáři popisuje konvence, hranice domén a postup práce. Všechny session ho čtou před začátkem úkolu.
- Vlastní větev pro každou session Session nepracují ve stejné větvi. Změny se potkávají až v pull requestu, kde je vidět, co se mění a proč.
- CI a nasazení Po merge do main spustí CI build a nasadí hru na Cloudflare. Ruční nahrávání souborů se nepoužívá.
Agenti pracují samostatně na připravených úkolech. Vznikají pull requesty, výsledky testů a nové chyby ve frontě.
Člověk projde výsledky, schválí nebo vrátí změny, upraví priority a rozhodne sporné body.
Nástroje a drobné zakázky
Na čem to běží
-
Claude Code
agentiAgent v terminálu, který čte repozitář, spouští příkazy a píše kód. Na něm běží jednotlivé role.
-
GitHub Issues + Actions
fronta a CIIssues slouží jako fronta úkolů se štítky, Actions spouští build, testy a nasazení po merge.
-
Playwright
testyAutomatizovaný prohlížeč, ve kterém tester prochází aplikaci a pořizuje screenshoty pro porovnání.
-
Cloudflare Pages, R2, Workers
provozPages hostuje statické buildy, R2 ukládá větší soubory a Workers obslouží logiku na straně serveru.
-
Azure
alternativaVarianta pro firmy, které mají infrastrukturu a smlouvy u Microsoftu: VM pro agenty, hosting a správa identit.
Drobné zakázky
Nastavení hostingu a domény při stejné hodinové sazbě jako u dodavatele.
- Provoz a infrastruktura přes 5×rychleji
Nasazení webu na Cloudflare Pages
Napojení repozitáře, automatický build, náhledy větví, HTTPS a bezpečnostní hlavičky.
DevOps specialista u dodavatele 4 hodinyNetVoice s agenty 45 minutDodavatel≈ 6 000 Kč NetVoice≈ 1 100 Kčo 80–90 % levněji ušetříte ≈ 4 900 Kč
Z toho 15 minut práce člověka (kontrola a schválení).
- Provoz a infrastruktura 2,6×rychleji
DNS u Forpsi
Nasměrování domény na web a záznamy pro e-mail (SPF, DKIM, DMARC). Agent připraví přesné záznamy, člověk je vloží do správy Forpsi.
DevOps specialista u dodavatele 2 hodinyNetVoice s agenty 45 minutDodavatel≈ 3 000 Kč NetVoice≈ 1 100 Kčo 62 % levněji ušetříte ≈ 1 900 Kč
Z toho 15 minut práce člověka (vložení záznamů do správy Forpsi). Šíření změn DNS (až 24 hodin) trvá u obou stejně.