Model agentů
Co je agent?
Sekce “Co je agent?”Agent je pojmenovaný aktér s personou, sadou skillů a adaptérem, na kterém běží. Agenti jsou principálové ve stejném smyslu jako lidé: píší zprávy, vlastní tickety, odevzdávají revize a objevují se na stejném seznamu. Práci dělají oni.
Každý agent patří právě do jednoho pracovního prostoru. To je tvrdý invariant: agent.workspaceId není null, vlastní pracovní prostor agenta vybírá databázový soubor, do kterého spadnou jeho řádky, a vytvoření agenta bez pracovního prostoru se odmítne.
Agent je také adresář. Jeho definice leží v agents/<slug>/AGENTS.md v datovém adresáři pracovního prostoru a skilly, které drží, jsou do agents/<slug>/.agents/skills připojené symbolickými odkazy. Řádek v databázi a soubor se zapisují společně. Naplnění je idempotentní: když řádek agenta už existuje, soubory na disku a odkazy na skilly se stejně přepíšou. V produkci to spouští vytvoření pracovního prostoru, ne každé spuštění serveru.
Co agent nese
Sekce “Co agent nese”| Atribut | K čemu slouží |
|---|---|
name |
Krátký identifikátor ve tvaru slugu (architect, qa). Podle něj se také rozpoznávají @mentions |
title |
Lidsky čitelný název pozice |
persona |
Volný text osobnosti a pokynů k chování, vložený jako sekce promptu |
systemPrompt |
Volitelné další pokyny, vložené jako sekce „Agent instructions“. Zbytek složeného promptu nenahrazují |
skills |
Množina názvů skillů bez rozlišení velikosti písmen, na disku zrcadlená jako odkazy na skilly |
adapterId |
Na který runner se agent odesílá. Null spadne zpět na vestavěnou smyčku |
modelId |
Který model v rámci daného adaptéru |
effort |
Úroveň uvažování podle slovníku vybraného modelu |
contextSize |
Přepsání velikosti kontextového okna |
silenceTimeoutMinutes |
Přepsání pro tohoto agenta (1–240) u watchdogu ticha |
reportsTo |
Id nadřízeného agenta: řetězec podřízenosti, který kreslí organizační schéma |
Tohle všechno upravujete v Nastavení → Pracovní prostor → Agenti. Nový agent založí nepojmenovaného agenta, kterého pak doplníte.
Skilly
Sekce “Skilly”Skilly jsou na entitě agenta názvy bez rozlišení velikosti písmen. Dějí se s nimi dvě oddělené věci:
- Názvy se vypíšou ve složeném promptu pod nadpisem „Skills“. To je vše, co sada na entitě sama dělá. Knihovna promptů po jednotlivých skillech, která by se z ní odvozovala, neexistuje.
- Adresář každého pojmenovaného skillu (
skills/<slug>/SKILL.mdv pracovním prostoru) se nalinkuje do vlastní složky agenta. Ve vestavěném harnessi se frontmatter nalinkovaných skillů automaticky načte do systémového promptu a tělo si agent přečte, až ho potřebuje. Zadání/skill:<name>v konverzaci načte toto tělo jako pokyn pro daný tah.
Skilly stažené zvenčí procházejí mezi stažením a zápisem kontrolou dodavatelského řetězce, která bez verdiktu nic nepropustí: žádný obsah skillu se nedostane na disk ani do promptu. Tím vnějškem jsou repozitáře na GitHubu, které sami zaregistrujete jako zdroje skillů. Spravovaný katalog neexistuje, takže vlastní metadata repozitáře (popis, hvězdičky, název skillu) jsou nedůvěryhodná data k zobrazení a verdikt kontroly je jediný bezpečnostní signál. Instalace stáhne celý adresář skillu, v skills-lock.json ho připne ke commitu, ze kterého přišel, a pozdější aktualizace znovu projde branou, než cokoli nahradí. Postup popisuje stránka Instalujte a spravujte skilly.
Skilly vázané na repozitář
Sekce “Skilly vázané na repozitář”Repozitář si může vézt vlastní skilly, v kterémkoli z obvyklých míst (.agents/skills/, .claude/skills/, .opencode/skills/). Prostor si všechny propojené repozitáře vycheckoutuje vedle sebe pod repos/<name>/, ale agent pracuje vždy v jednom repozitáři. Nese tedy jen skilly tohoto repozitáře a při přesunu se vymění.
Aktivní repozitář se pozná podle souborů, kterých se agent dotkne: zápis souboru pod repos/<name>/ z něj udělá aktivní repozitář, pouhé čtení napříč repozitáři ne. Dohledání symbolu v sousední službě proto sadu pod rozpracovaným úkolem nikdy nevymění. V prostoru s jedním repozitářem je to jasné ještě před prvním tahem.
Omezení na jeden repozitář je rozhodnutí o rozpočtu kontextu. Index skillů je v promptu při každém tahu, těla ne. Vypsat skilly všech repozitářů najednou proto stojí tokeny pořád. Skill testing z jedné služby navíc mate, když práce probíhá v jiné. Ze stejného důvodu nese index agenta jeden repozitář, composer takto omezený není: sami skill pojmenovat je jeden výslovný krok, takže /skill:<repo>:<name> dosáhne na libovolný repozitář v prostoru.
Skilly repozitáře se načítají pro každý adaptér, nejen pro vestavěný harness. Skilly aktivního repozitáře se zapíšou do pracovního adresáře agenta. To je cesta, kterou Claude Code už prochází. Stejný index se složí do AGENTS.md, který čte vestavěný harness. Než k tomu dojde, skilly repozitáře projdou stejnou kontrolou jako nainstalovaný skill, která bez verdiktu nic nepropustí. Repozitář po checkoutu je naklonovaný obsah a jeho frontmatter se dostane do promptu.
Oprávnění
Sekce “Oprávnění”Agent nemá vlastní příznaky oprávnění. Jestli smí vytvořit commit, pushovat, otevřít pull request, zapisovat do trackeru nebo sahat na síť, rozhodují guardraily akcí — povolit, nejdřív se zeptat nebo zakázat, v rozsahu pracovního prostoru, agenta nebo prostoru — a stejná pravidla platí bez ohledu na to, který adaptér ho spouští.
To, co se běhu předá, se s těmi pravidly nemění. Běh ve worktree GitHubu dostane vždycky token GitHub jen pro čtení a na push se ptá ve chvíli, kdy nastane: konfigurace gitu agenta posílá každý push na GitHub přes Control Center, které před předáním dál uplatní pravidlo Odeslat na remote.
Jak to funguje, včetně toho, co se na úrovni souborového systému vynucuje a co ne, popisuje Sandbox a zabezpečení.
O vynucení rozhoduje adaptér
Sekce “O vynucení rozhoduje adaptér”Pole s největšími důsledky je adaptér, protože jeho transport určuje, kolik z politiky Control Center se skutečně dá vynutit.
| Transport | Adaptéry | Co Control Center vynucuje |
|---|---|---|
| Vestavěný harness | Control Center (built-in) | Všechno. Plocha nástrojů se z režimu sestaví, takže zakázaný nástroj je neviditelný a nestačí ho jen odmítnout. Každé volání projde bránou schválení a guardraily akcí. Kontrakt dokončení umí běh pobídnout a pak ho ukončit chybou, když skončí bez požadovaného výstupu |
| Claude CLI | Claude Code | Nástroje mcp__*, které dostane, a jeho příkazy Bash, které hook před spuštěním pošle politice akcí. Vlastní nástroje Claude pro čtení, zápis a úpravy žijí v jeho procesu a běží mimo dohled. Spouští se s --dangerously-skip-permissions, protože neinteraktivní claude -p by jinak navždy čekalo na vlastní výzvu |
Konkrétně jen vestavěný harness umí subagenty, řízení uprostřed běhu, pozastavení a obnovení (a tedy převzetí) a strukturální vynucení režimu. Claude Code z toho neumí nic.
Agent bez adaptéru spadne zpět na Control Center (built-in), smyčku uvnitř serveru, takže není žádné CLI k instalaci, a záznam běhu zapíše cc-harness. Každý takto založený agent vznikne bez adaptéru i modelu, takže pět agentů v novém pracovním prostoru tam běží všichni, na výchozím modelu Anthropic, dokud u každého nenastavíte adaptér a model. Volba „výchozího adaptéru“ při úvodním nastavení je preference na straně klienta. Server ji nečte a na už vytvořené agenty se zpětně nepromítne.
Odkud se agenti berou
Sekce “Odkud se agenti berou”- Založeni s pracovním prostorem. Každý pracovní prostor, nejen první, dostane CEO a čtyři specialisty (
qa,architect,engineer,librarian), kteří jsou mu podřízeni. Vzniknou idempotentně na pozadí při vytvoření pracovního prostoru. Viz Pracovní prostory a izolace. - Přidaní ručně v Nastavení → Pracovní prostor → Agenti. Požádat agenta, aby najal kolegu, řádek nevytvoří. Použijte tuto obrazovku.
Živý stav
Sekce “Živý stav”Agent nemá uložený sloupec stavu. Při každém čtení se jeho živý stav odvodí z nejnovějších záznamů běhů:
| Stav | Význam |
|---|---|
neverRun |
Neexistuje žádný záznam běhu |
running |
Alespoň jeden běh právě probíhá |
failed |
Poslední běh skončil chybou, nebo je jeho liveness failed či dead |
blocked |
Liveness posledního běhu je blocked, stalled nebo looping |
idle |
Všechno ostatní: agent už dříve běžel a nic nemá rozběhnuté |
Další dva stavy, queued a succeeded, existují pro jednotlivé běhy ve stromu běhů konverzace. Seznam je nikdy neukáže, protože zelený dokončený běh je fakt o běhu, ne o agentovi.
Přehled přítomnosti ukazuje souběžný, hrubší obraz sestavený na serveru ze živých událostí běhu: přemýšlí, běží, blokováno na schválení, hotovo. Díky tomu se agenti objevují vedle lidí. Viz Multiplayer a přítomnost.
Související koncepty
Sekce “Související koncepty”- Životní cyklus odeslání agenta: co se stane, když se agent skutečně spustí
- Režimy: nastavení dané konverzace, které tvaruje plochu nástrojů agenta
- Multiplayer a přítomnost: agenti jako principálové, přítomnost a volič autonomie
- Sandbox a zabezpečení: co běh dnes omezuje
- Konfigurace agentů: úplný seznam polí