Přeskočit na obsah

Režimy

Režim je vlastnost prostoru, uložená jako jeden sloupec na řádku prostoru. Sdílí ho každá konverzace v prostoru, vlákna v to počítaje — vlákno dědí režim svého prostoru jako každá jiná konverzace. Stejný agent proto může být ve stejnou chvíli v různých režimech v různých prostorech a přepnutí režimu prostoru změní, co se stane v dalším tahu, aniž by se sáhalo na agenta.

Jsou přesně čtyři: chat, review, plan, orchestrate. Samotný enum žádnou politiku nenese. Všechno, co režim zaručuje, je deklarované jednou, v profilu schopností, a z něj každá vrstva vynucení promítá:

  1. Plocha nástrojů — které nástroje v tom režimu vůbec existují: maximální úroveň schválení, seznam povolených, seznam zakázaných a sada odmítnutých tříd efektů.
  2. Povinné výstupní sloveso — co musí běh zavolat, aby něco doručil.
  3. Odmítnuté třídy efektů — co strážce akcí odmítne rovnou.
  4. Postoj worktree — jestli se do worktree smí zapisovat. Vynucuje se tím, že se měnící nástroje z plochy úplně sundají, a proto to platí na každém hostiteli. Kde má hostitel sandbox operačního systému, stejný postoj navíc vyřeže pravidla zápisu na souborový systém — režim jen pro čtení připojí worktree jen pro čtení — ale to je druhá kopie záruky, ne ta, která práci dělá.
  5. Blok systémového promptu — generovaná preambule schopností odvozená ze skutečného materializovaného seznamu nástrojů, plus ručně psané pokyny.

Každá vrstva vynucení vychází z toho jednoho profilu, takže plocha nástrojů, strážce, postoj worktree a prompt se nemůžou rozejít.

Chat — v composeru jako „Agent“

Sekce “Chat — v composeru jako „Agent“”

Výchozí režim a jediný bez dalších omezení: plná plocha nástrojů až po úroveň provedení, zapisovatelný worktree, žádné odmítnuté třídy efektů a žádný kontrakt dokončení. Hodí se na implementaci, opravy chyb, otázky ke kódu a cokoli ad hoc.

Pozor na popisek: v composeru se režim ukazuje jako „Agent“, ne jako „Chat“.

Plan — jen pro čtení, jeden výstup

Sekce “Plan — jen pro čtení, jeden výstup”

Režim Plan udělá worktree jen pro čtení a z plochy úplně sundá nástroje pro zápis, takže omezení je ve struktuře, ne v pokynu. Agent čte, hledá a zkoumá a doručí přesně jednu věc: volání submit_plan s typovaným grafem závislostí — cíl plus uzly s klíči, názvy, popisy a klíči uzlů, na kterých každý závisí.

Plán se v konverzaci vykreslí jako kompaktní řádek a vedle něj otevře Plan Studio na záložce. Schválení zkompiluje graf do orchetrace, spustí vygenerovanou práci a prostor, ve kterém plán vznikl, přepne zpět do režimu agenta.

Když běh v režimu Plan skončí, aniž by kdy zavolal submit_plan, smyčka nejdřív vloží pobídku: plán neexistuje, dokud to volání neuspěje. Pobídka výslovně povoluje poctivý odchod „tady plán není potřeba“, protože režim Plan je nastavení prostoru a obyčejná otázka položená uvnitř něj nemá vynutit vymyšlený plán.

Druhá, oddělená cesta ven je exit_plan_mode. Je to tvrdá brána schválení, ne výstupní sloveso — agent, který ho zavolá místo submit_plan, nic nedodal. První volání otevře trvalé schválení plan_exit a vrátí pending a prostor zůstane jen pro čtení; opakovaná volání zůstanou pending a druhou bránu neotevřou. Teprve když je schválení udělené, další volání přepne prostor na chat. Zamítnutí nechá agenta otevřít novou žádost o upravený plán.

Sám režim Plan opustíš přepnutím rozbalovací nabídky v composeru (nebo Shift+Tab). O exit_plan_mode se rozhoduje nástrojem MCP decide_approval. Řádky „schválení agenta“ v Doručené poště jsou něco jiného: potvrzovací výzvy z běžícího agenta, na každý tah zvlášť.

Review — jen pro čtení, bez kontraktu

Sekce “Review — jen pro čtení, bez kontraktu”

Režim Review je na kontrolu PR. Worktree je jen pro čtení, plocha nástrojů je zastropovaná pod úrovní provedení a platí sestavený seznam povolených nástrojů pro kontrolu, tickety a komunikaci. Prostor otevřený pro pull request vznikne v režimu review automaticky.

Výstupem agenta jsou strukturovaná zjištění — uzly kontroly — a po finalizaci kontroly verdikt. Uzel nese druh (bug, suggestion, recommendation, question nebo ticket), prioritu od P0 (blokuje vydání) po P3 (drobnost), vlastní odhad jistoty, volitelnou kotvu (soubor plus rozsah řádků; poznámky k celému repozitáři žádnou nemají) a stav životního cyklu, který přejde z open na consensusReady, jakmile ho potvrdí kolega, autor nikdy. Zjištění, kterému chybí priorita nebo jistota, nebo je mimo rozsah, se na hranici čtení zahodí, aby verdikt neznečistilo.

Verdikt je Ship, Hold nebo Block a výsledky po osách ho umějí jen zpřísnit: osa s bránou, která selhala, vynutí block a osa s bránou, která nedoběhla, vynutí aspoň hold. Chybějící důkaz bránu nikdy neobarví na zeleno.

Na rozdíl od Plan a Orchestrate režim Review nemá kontrakt dokončení. Zjištění se hromadí přes add_review_node a zveřejňuje je finalize_review a obě volání smějí legitimně proběhnout nulakrát — agent pipeline v režimu review tam může být proto, aby dokončil ticket.

Orchestrate — jen pro čtení, navrhuje tým

Sekce “Orchestrate — jen pro čtení, navrhuje tým”

Režim Orchestrate udělá z jednoho cíle plán pro celý tým. Stejně jako Plan je jen pro čtení a soubory zapisovat neumí; nad výzkumnou plochou má jediné privilegované sloveso propose_orchestration, které vydá strukturovaný návrh: role, strom podřízených ticketů, krok syntézy a rozpočet. Prompt jmenuje jen nástroje na ploše, takže model netráví tahy vyprávěním o najímání nebo práci s tickety, kterou zavolat neumí.

Z návrhu se nic nespustí, dokud ho neschválíš. Po schválení deterministický materializátor najme agenty, založí tickety a projekt a spustí vygenerovanou pipeline. Schvalovat smí jen operátor: nástroj MCP na to není, takže agent návrh podat umí a vlastní plán schválit ne. Opakované návrhy, které spustí agent, omezuje dvouminutový cooldown, takže navazující přeplánování se odmítne s pokynem sloučit je. Viz Orchestace.

Dvě pravidla, která stojí za to znát

Sekce “Dvě pravidla, která stojí za to znát”

Vlastní výstupní sloveso režimu se nedá zakázat. submit_plan a propose_orchestration jsou připnuté do plochy nástrojů a předschválené přes filtr nástrojů, bránu schválení i strážce akcí, takže volič autonomie na prostoru výstup režimu umlčet neumí. ask_user vestavěného harnessu je připnuté ze stejného důvodu: tím se běh dostane k operátorovi, takže brána kolem něj by zablokovala běh, který se potřebuje na něco zeptat. Je na úrovni čtení, takže ho má každý režim jen pro čtení, a je vyňaté z obalu schválení — výzva před výzvou bez připojeného schvalovatele selže uzavřeně a agentovi by upřela samotné zeptání.

Režimy jen pro čtení neodpírají síť ani tajemství. Třídy efektů, které Review, Plan a Orchestrate odmítají, jsou ty, které mění svět: mazání souborů, zápisy mimo worktree, commity, pushe, založení a zveřejnění PR, zápisy synchronizace dodavatele, instalace balíčků, spouštění procesů, mutace pracovního prostoru a řízení enclosure. Odchozí síť a přístup k tajemstvím schválně zůstávají na výchozích hodnotách — výzkum je celý smysl režimu jen pro čtení.

Rozbalovací nabídka režimu v composeru nabízí tři možnosti: Agent (chat), Plan a Orchestrate. review nejde vybrat — nastaví ho systém, když vznikne prostor kontroly PR, a kroky pipeline.

Uzel pipeline, který otevírá prostor, umí režim toho prostoru připnout klíčem extras['mode'] (chat, review nebo plan). Shoda klíče je přesná: jakékoli jiné znění, včetně orchestrate, se potichu ignoruje a prostor dostane výchozí hodnotu těla (review na těle create-space). Krok agenta vstoupí do prostoru, který nezaložil, a oprávnění mu znovu nenastaví.

Samotné rozlišení je prosté. Dispečer čte sloupec mode prostoru; odeslání bez prostoru — one-shot, volání z CLI, nebo id prostoru z jiného pracovního prostoru, které v databázovém souboru tohoto pracovního prostoru prostě není — se rozliší na chat. Změna režimu platí od dalšího tahu.

Kde záruka skutečně drží

Sekce “Kde záruka skutečně drží”

Plochu nástrojů režimu sestavuje a vynucuje vestavěný harness. Je to jediný transport, který umí nástroj zneviditelnit, ne ho jen odmítnout, každé volání zabránit dřív, než doběhne, a sledovat kontrakt dokončení.

Na transportu Claude Code se režim jiný než chat předává jako --permission-mode plan. Claude to dodržuje konvencí; jeho vlastní nástroje pro čtení, zápis a úpravy běží mimo dohled a jeho příkazy shellu kontroluje jen hook, který čte příkazový řádek. Pro ten transport je režim vedení, ne hranice Control Center — viz Model agentů.

Seznamy povolených omezují nástroje od úrovně zápisu výš. Úroveň čtení vestavěného harnessu pořád dosáhne na nástroje, které žádný seznam nejmenuje; na Claude Code se nástroj, který seznam povolených vynechá, odmítne, ať ho server má, nebo ne.