Preskočiť na obsah

Claude Code subagenti a worktrees: kedy čo použiť

Pre CTO a vývojárovAI vo vývojovom tíme · Aktualizované

Filip Papraneczakladateľ Digitaliko

Subagenti čítajú. Worktrees píšu. Ilustrácia: jedna session na main s pomocníkmi, ktorí len čítajú, a vedľa tri worktrees, každý s vlastnou vetvou a pull requestom.Subagenti čítajú. Worktrees píšu. Ilustrácia: jedna session na main s pomocníkmi, ktorí len čítajú, a vedľa tri worktrees, každý s vlastnou vetvou a pull requestom.

Claude Code subagenti delia prácu v jednej session. Každý beží vo vlastnom kontextovom okne, urobí jednu úlohu a vráti zhrnutie. Worktrees oddeľujú úpravy súborov: každá session má vlastnú kópiu repozitára a vlastnú vetvu. Naše pravidlo z každodennej práce s paralelnými agentmi: subagenti len čítajú a každá zmena má vlastný worktree, vlastnú session a vlastný pull request.

Dnes za nás píše AI všetok kód a senior ručí za to, čo ide do produkcie. Vďaka paralelným agentom sa naraz hýbe viac úloh a navzájom si nezavadzajú. Nižšie je, kedy čo používame, príkaz, na ktorom to stojí, a čo sa cestou pokazilo.

Čo sú Claude Code subagenti?

Subagent je pomocník, ktorého Claude spustí vo vašej session. Dokumentácia Claude Code to hovorí jednou vetou: „Each subagent runs in its own context window with a custom system prompt, specific tool access, and independent permissions.“ Každý subagent má teda vlastné kontextové okno, vlastný systémový prompt, nástroje a oprávnenia.

V tom je celý zmysel. Subagent prečíta kopu súborov a do hlavnej konverzácie sa vráti jeden odsek. Vlastných subagentov si zadefinujete v .claude/agents/: názov, popis, nástroje a model. Claude si ich vyberá podľa popisu, alebo si o konkrétneho poviete menom.

Cenou je práve ten odsek. Vidíte, čo subagent nahlási, nie čo prečítal. Ak niečo prehliadol, zo zhrnutia to nespoznáte.

Subagenti, alebo worktrees: čo na čo?

Každé rieši iný problém. Subagenti chránia váš kontext. Worktrees chránia vaše súbory. Dokumentácia k worktrees opisuje worktree ako samostatný pracovný priečinok s vlastnými súbormi a vetvou, ktorý zdieľa históriu repozitára aj remote s hlavnou kópiou.

SubagentSession vo worktree
Oddeľujekontextsúbory a vetvu
Žijev jednej session, kým nenahlási výsledokpočas celej úlohy, aj na pozadí
Hodí sa naprieskum, review, rešerš, dlhý beh testovzmenu, ktorá skončí ako PR
Dostanete späťzhrnutievetvu, diff, pull request
Typické rizikosebavedomé zhrnutie z neúplného čítaniapríprava: env súbory, závislosti, staré vetvy

Prečo naši subagenti len čítajú?

Zapísali sme to do zadania, ktoré dostane každá session s kódom:

Only you write code. Subagents only read (explore the repo, run a long test suite and return just the failures).

Kód píše len hlavná session. Subagenti len čítajú: preskúmajú repozitár alebo pustia dlhé testy a vrátia len chyby. Pri písaní dokumentov a pri QA v prehliadači je hranica ešte prísnejšia: „Do it yourself, no subagents.“ Rešerš je opak. Tam zadanie škáluje subagentov podľa úlohy: jeden na jeden fakt, pár na porovnanie, jeden na každú položku pri širokom prieskume. Každý zapíše zistenia do súboru a vráti len cestu k nemu.

Claude Code vie subagentom dovoliť aj písať. Stačí pridať isolation: worktree a subagent dostane vlastný dočasný worktree. My aj tak držíme jedného pisateľa na úlohu. Recenzent sleduje jeden diff a jednu líniu uvažovania. Viac pisateľov na jednej úlohe znamená viac diffov, ktoré musí niekto zlúčiť v hlave.

Ako púšťame jedno issue v jednom worktree?

Jedna úloha je jeden worktree, jedna vetva, jedna Claude Code session a jeden pull request. Orchestračná session ostáva na main v hlavnej kópii a vetvy tam nikdy neprepína. Každá zmena začína jedným príkazom wizrd, nášho interného pluginu a CLI pre Claude Code (nie je verejný):

wizrd task start <repo> "<brief>"
Jedna orchestračná session ostáva na main a posiela subagentov, ktorí len čítajú: prieskum, review, rešerš. Každá zmena beží ako vlastná session na pozadí vo vlastnom worktree a vetve a končí vlastným pull requestom.Jedna orchestračná session ostáva na main a posiela subagentov, ktorí len čítajú: prieskum, review, rešerš. Každá zmena beží ako vlastná session na pozadí vo vlastnom worktree a vetve a končí vlastným pull requestom.

Čo príkaz urobí:

  1. Worktree. wizrd worktree new ho vytvorí v jednom priečinku na worktrees pre celý počítač. Env súbory prelinkuje z hlavnej kópie a závislosti nainštaluje podľa lockfilu.
  2. Kontext. Služba, ktorá žije v repozitári klienta, dostane worktree celého tohto repozitára a službu vnorenú na ceste submodulu. Tak sa načíta každý CLAUDE.md smerom nahor. Skills a agenti z repozitárov nad ňou prídu cez --add-dir.
  3. Session. Vo worktree sa spustí claude --bg na pozadí. Sledujeme ju v claude agents a keď niečo potrebuje, píšeme jej správou medzi sessions.
  4. PR. Session commitne, pushne a otvorí pull request zo svojej vetvy. Po merge wizrd worktree prune worktree odstráni.

Issue, ktoré dáme nášmu AI agentovi, beží rovnako, v slučke z článku Harness engineering v praxi: AI agent od issue po PR. Ten istý kód pre worktrees beží na notebooku človeka aj na stroji agenta. Ako si agent pred prácou spíše plán, je v článku Claude Code plan mode.

Kedy subagenti míňajú tokeny zbytočne?

Každý subagent začína s čistým kontextom. Nevidí, čo hlavná session už prečítala, takže to číta znova. Keď sa na ten istý modul spýtate viacerých subagentov, každý ho číta od nuly.

Na čo si dávame pozor:

  • Úloha je malá. Jedno hľadanie nepotrebuje pomocníka. Zhrnutie stojí viac než samotná odpoveď.
  • Úlohy sa prekrývajú. „Ako funguje prihlásenie“ a „kde sa kontroluje session“ pošlú dvoch subagentov do tých istých súborov.
  • Potrebujete detaily. Review, ktoré musí citovať presné riadky, sa robí lepšie tam, kde tie riadky ostávajú v kontexte.

Riešenie je zvyčajne menej subagentov, nie múdrejší subagenti.

Možno by sme mali radšej niečo zjednodušiť. Nemusíme stále len pridávať.

Filip Papranec
Filip Papranec
zakladateľ Digitaliko

Úprimne: spotrebu tokenov na jedného subagenta nemeriame. Sledujeme kolá a aktívny čas na úlohu a tam sa plytvanie ukáže. Viac subagentov naraz sa nám jasne oplatí pri širokej rešerši s nezávislými otázkami a pri práci, ktorá by zahltila volajúceho. Náš skill na spracovanie stretnutí beží ako fork (context: fork), takže dlhý prepis sa do kontextu volajúceho nikdy nedostane.

Čo sa pokazilo pri worktrees?

Oddelenie je ľahká časť. Láme sa to na príprave. Tieto chyby stojí za to poznať:

  • Obnovená úloha nedostala svoj worktree. Jej vetva bola stále checknutá v staršom priečinku na worktrees, takže git worktree add zlyhal. Dnes CLI použije worktree, ktorý vetvu už má, a jeden priečinok na worktrees je pre celý počítač pevne daný, pre ľudí aj pre agenta.
  • Príprava env bola príliš snaživá. Linkovala env súbory do prázdnych priečinkov submodulov a z príkladov vyrábala .env s náhradnými hodnotami. Dnes linkuje len to, čo hlavná kópia naozaj má.
  • Vetva úlohy posunula ukazovateľ submodulu. V repozitári zloženom z repozitárov to potichu zmení, čo dostanú všetci ostatní. Dnes naša brána zhodí každú vetvu úlohy, ktorá ho posunie. Ukazovatele sa hýbu len cez samostatný sync.
  • Paralelné sessions v jednej kópii. Dve sessions, ktoré v tom istom priečinku prepínajú vetvy, si navzájom zničia necommitnutú prácu. Preto hlavná kópia ostáva na main a nikto v nej nestavia.

Posledný bod je dôvod, prečo worktrees vôbec existujú. Prvé tri sú dôvod, prečo sme ich zabalili do jedného príkazu namiesto ručného git worktree add.

Ako začať vo vlastnom repozitári?

Naše CLI nepotrebujete. Základ pokryje Claude Code:

  1. Jeden worktree na úlohu

    claude --worktree <názov> ho vytvorí v .claude/worktrees/ na novej vetve.

  2. Ignorovať a pribaliť

    Pridajte .claude/worktrees/ do .gitignore. Env súbory pre čerstvú kópiu vypíšte v .worktreeinclude.

  3. Subagenti len na čítanie

    Vlastným subagentom dajte len nástroje na čítanie. Písanie ostáva v session úlohy.

  4. Jeden PR na úlohu

    Session pushne vetvu a otvorí jeden PR. Po merge worktree odstráňte.

Potom pridajte kontroly, vďaka ktorým sa dá paralelná práca bezpečne reviewovať: testy, typy a CI bránu, ktorá musí prejsť na každej vetve. Hooky, ktoré zastavia nebezpečné príkazy, sú v našom verejnom Claude Code production starteri. Čo patrí do pravidiel, ktoré číta každá session, je v článku Pravidlá pre AI kód v tíme.

Je váš repozitár pripravený na paralelných agentov?

Skutočný limit je review. Náš dispečer nespustí novú úlohu agenta, kým jeho PR čakajú na ľudí. Viac paralelných agentov než recenzentov len predĺži rad.

Chcete paralelných agentov v repozitári vášho tímu?

Toto nastavujeme priamo v repozitári tímu v rámci služby AI-native SDLC pre vývojové tímy: worktrees, pravidlá, hooky a kontroly, vďaka ktorým sa dajú PR od agentov reviewovať. Chýbajú vám skôr ruky než nastavenie? Pozrite si seniorského vývojára do tímu. Od roku 2023 sme dodali 15+ produkčných projektov.

Ozveme sa do dvoch pracovných dní a spolu vyberieme, čo vyriešime ako prvé.

Ak sa chcete najprv porozprávať, dohodnite si meeting na 15 minút s Filipom.

Koľko agentov dnes váš tím púšťa naraz a kto reviewuje ich prácu?

V skratke

  • Subagenti chránia kontext: vlastné kontextové okno, jedna úloha, späť zhrnutie.
  • Worktrees chránia súbory: vlastná kópia, vlastná vetva, vlastný pull request.
  • Naše pravidlo: subagenti len čítajú, každá zmena má vlastný worktree a session.
  • Častejšie sa láme príprava než oddelenie: env súbory, staré vetvy, ukazovatele submodulov.
  • Limit je review. Paralelných agentov pridávajte len tak rýchlo, ako ich ľudia stihnú reviewovať.

Časté otázky

Čo je subagent v Claude Code?

Pomocník, ktorého Claude spustí vo vašej session. Beží vo vlastnom kontextovom okne s vlastným promptom, nástrojmi a oprávneniami, urobí jednu úlohu a vráti zhrnutie. Hlavná konverzácia ostane malá.

Aký je rozdiel medzi subagentmi a worktrees?

Subagenti delia prácu v jednej session a chránia jej kontext. Worktrees oddeľujú úpravy súborov: každá session má vlastnú kópiu súborov a vlastnú vetvu. Subagentov používame na čítanie, worktree na každú zmenu.

Môžu subagenti písať kód paralelne?

Môžu. S isolation: worktree dostane každý od Claude Code vlastný dočasný worktree. My aj tak držíme jedného pisateľa na úlohu, lebo recenzent sleduje jeden diff a jednu líniu uvažovania oveľa lepšie než niekoľko.

Ako spustím Claude Code vo worktree?

Príkazom claude --worktree <názov>. Claude Code vytvorí worktree v .claude/worktrees/ na novej vetve. Pridajte .claude/worktrees/ do .gitignore a env súbory, ktoré čerstvá kópia potrebuje, vypíšte v .worktreeinclude.

Kedy subagenti míňajú tokeny zbytočne?

Keď je ich úloha malá alebo sa prekrýva s inou. Každý subagent začína s čistým kontextom, takže znova číta, čo hlavná session už prečítala. Viac subagentov naraz sa oplatí pri širokej rešerši s nezávislými otázkami.

Opýtajte sa AI na tento článok

AI pri odpovedi využije aj naše ďalšie články a skúsenosti z reálnych projektov.

ChatGPTClaudePerplexity
Engineering

Ostatné články

AI vo vývojovom tíme

Claude Code best practices pre tím: 7, ktoré držia

Väčšinu tipov na Claude Code píšu ľudia, ktorí pracujú sami. Týchto sedem je pre tím: krátky CLAUDE.md, ktorý stráži CI, jeden zdieľaný plugin, oprávnenia a hooky v repozitári, jedno issue na jeden PR, test, ktorý najprv padne, a reviewer, ktorý kód nepísal.

AI vo vývojovom tíme

Claude Code skills a pluginy: jedna sada pre každé repo

Claude Code skills sú inštrukcie v SKILL.md, ktoré si agent načíta, keď ich úloha potrebuje. Plugin dodá skills, agentov a hooky ako jeden celok. Ako púšťame jeden plugin vo všetkých repozitároch a čo sa cestou pokazilo.

AI vo vývojovom tíme

Cursor vs Claude Code: prečo staviame na termináli

Cursor vs Claude Code pre tím, nie benchmark: Cursor je editor s agentom vnútri, Claude Code je agent, ktorý beží rovnako na notebooku, v CI aj v slučke na pozadí. Prečo celý náš harness beží na Claude Code a kedy je lepšou voľbou Cursor.

Čas prestať plánovať a začať riešiť.

Kontakt

  • Digitaliko s.r.o.
    Šípková 377/17
    958 03 Malé Uherce, Slovensko
  • Ozvite sa nám
    info@digitaliko.com
    +421 950 595 506
    WhatsApp