R7 Kdy a jak dlouho agent pracuje

Jak dlouho agent výzkumu pracuje sám, kdy začne další sezení a proč běh skončí. Popisuje výzkum 1.25.2 a aplikaci Strom 3.21.2. Změny z novější verze mají u sebe její číslo.

R7.1 Samostatná práce běží po sezeních

Při samostatné práci agent bere úkoly z fronty (R2.2) bez člověka. Jedno sezení je jeden úkol. Běh spustí jedno nebo víc sezení za sebou; mezi nimi se může ptát podmínky (R7.4).

  • Hranice:
    • bez volby 1 sezení; --max <n> nejvýš n; --loop sezení za sezením, dokud je práce;
    • --task T…: vybrané úkoly v zadaném pořadí, každý jedno sezení; mezitím hotový nebo vzatý úkol se vynechá;
    • --until HH:MM: potom žádné sezení nezačne, rozběhnuté doběhne. Čas, který dnes už byl, znamená zítra;
    • bez otevřeného úkolu ve frontě skončí každý běh.
  • Ovládání: terminál: menu Nechat agenta pracovat samotného, volby Pracovat v pořadí fronty – počet úkolů se zadá (1–100, jako --max), Jen vybrané úkoly ze seznamu (jako --task) a Nechat ho pracovat, dokud je co dělat a dovolí to podmínka „…“ (jako --loop, jen s nastavenou podmínkou); příkaz strom run. Aplikace Strom 3.21.2 samostatnou práci nenastavuje; ukazuje stav běhu (R7.4) a sezení z ní jde dokončit (R7.3).
  • Platí od: výzkum 1.0.0 (--max, --until, --task), --loop od 1.2.0

R7.1.1 Proč běh skončí

  • Na konci běh vypíše sezení: N · konec: …: hotovo, žádné otevřené úkoly, časový limit (--until), zastaveno ručně (R7.3), limit předplatného (R7.6), agent není přihlášený (R7.7), odpověď podmínky (R7.4), nebo chyba (doklady, agent selhal, model).
  • Když zbylé úkoly potřebují archiv, který neodpovídá, běh s --loop a --until počká (⏸ čekám do …), jiný skončí.
  • Platí od: výzkum 1.0.0; čekání na archiv, který neodpovídá, od 1.22.0

R7.2 Každé sezení má časový limit

Jedno sezení trvá nejvýš nastavený počet minut, výchozí 60. Agent čas konce zná předem a strom mu ho připomíná. Při limitu ho strom zastaví a nedokončený úkol vrátí do fronty.

  • Hranice:
    • posledních 10 minut (krátké sezení: poslední čtvrtinu) každý příkaz strom řekne, kolik času zbývá; poslední 3 minuty (krátké sezení: poslední osminu) vyzve zapsat nalezené a sezení zavřít;
    • při limitu dostane agent, který to umí (Claude Code, Codex, OpenCode, Grok), ještě 5 minut na zápis a zavření;
    • úkol, na kterém 2 sezení za sebou nic nezapsala, se odloží (… odložen); sezení ukončená člověkem se nepočítají;
    • pořadí: --minutes > proměnná STROM_RUN_MINUTES > nastavení rodokmenu > nastavení počítače > 60.
  • Ovládání: terminál: Nastavení: agent, samostatná práce, zprávy, archivy, údržba → Samostatná práce agenta → Čas na jeden úkol: N min (5–600; 0 vrátí zpět beze změny); strom config set run.minutes <n> (--for-tree: jen tento rodokmen). Aplikace: nic.
  • Platí od: výzkum 1.0.0 (60 minut, odložení úkolu); připomínky a 5 minut na zápis od 1.2.0

R7.3 Sezení jde požádat o dokončení

Člověk může běžící sezení požádat, aby skončilo. Agent nezačne nic nového, zapíše, co našel, a sezení zavře. Pak běh skončí a další sezení nezačne. Nic se nezastaví násilím.

  • Hranice:
    • agent žádost uvidí u dalšího příkazu strom; nový čtenář nezačne, práci subagenta strom v půli nezastaví;
    • Ctrl-C v terminálu běhu: poprvé tatáž žádost, podruhé okamžité zastavení (úkol se vrátí do fronty). Ve Windows a s --interactive zastaví hned první Ctrl-C.
  • Ovládání: terminál: strom session finish [N…] (běží-li víc sezení, uvést které), Ctrl-C. Aplikace: Přehled výzkumu, u pracujícího agenta Dokončit a skončit; potvrzuje se v terminálu výzkumu. Když běh čeká na podmínku, tlačítko chybí.
  • Platí od: výzkum 1.8.0, aplikace 3.5.0

R7.4 Podmínka rozhoduje, zda začne další sezení

Podmínka je program, kterého se strom před sezením ptá: pokračovat, počkat, nebo zastavit. Nastavuje ji jen člověk, pro celý počítač. Bez podmínky běh pokračuje, dokud je práce.

  • Hranice:
    • pokračovat: sezení začne; počkat: běh počká a zeptá se znovu; zastavit: běh skončí. Cokoli jiného (pád programu, žádná odpověď do 120 s, claude-usage 660 s) je chyba a běh skončí;
    • kdy se zeptat znovu, řekne podmínka; jinak za 15 minut, nikdy dřív než za 1 minutu. Ctrl-C čekání ukončí; s --until ho ukončí zadaný čas (časový limit);
    • --loop a --until: dotaz před každým sezením; ručně spuštěné úkoly: jeden dotaz (R7.4.1);
    • strom dodává podmínku claude-usage (R7.5); vlastní podmínka je složka plugins/gates/<název>/;
    • běh bez nastavené podmínky (--no-gate) nebo s jinou (--gate) potřebuje souhlas člověka.
  • Ovládání: terminál: Nastavení → Samostatná práce agenta → Práce pořád dál pod podmínkou: … (podmínka, nebo žádná); strom config set run.gate "<název> [co jí předat]", strom config unset run.gate; obojí potvrzuje člověk. Aplikace: Přehled výzkumu u čekajícího běhu ukáže Pozastaveno a pokračuje v ….
  • Platí od: výzkum 1.2.0, aplikace 3.5.0 (stav Pozastaveno)

R7.4.1 Ručně spuštěné úkoly: „Spustit přesto?“

  • Jedno sezení, --max, --task a menu jsou volba člověka. Podmínka se zeptá jednou, před prvním sezením. Když by nespouštěla (počkat, zastavit, chyba), padne otázka Podmínka „…“ by teď nespouštěla — …. Spustit přesto? Enter znamená ne: běh skončí (nespuštěno — podmínka „…“: …). Ano: sezení začnou a podmínka se dál neptá, kromě stropu (R7.4.2).
  • Spouští-li běh agent, odpovídá člověk v okně systému. Skript, kterého se nikdo nemůže zeptat, se podmínky drží.
  • Platí od: výzkum 1.2.0

R7.4.2 Strop: pevná hranice

  • Podmínka může odpověď označit jako pevnou hranici člověka (hard). Běh pak skončí (strop podmínky „…“) a žádné „přesto“ ji nepřekročí.
  • Podmínka může hlídat okno plánu agenta (watch). Pak se ptá před každým sezením každého běhu a sezení v práci dostane žádost o dokončení (R7.3), když agent ohlásí využití okna na zadané hranici.
  • Platí od: výzkum 1.14.0

R7.4.3 Záznam odpovědí podmínky

  • Každá odpověď má řádek ve výstupu běhu: · podmínka …: … (kód …; .strom/gate.log): název podmínky, její odpověď s důvodem a kód.
  • Zároveň řádek JSON v .strom/gate.log rodokmenu: kdy, podmínka a co jí bylo předáno, kód, verdikt, důvod, čekání, limity plánu a co běh udělal (go, wait, stop, anyway). Drží se 90 dní, nejvýš 2 MB.
  • Ovládání: terminál: Samostatná práce agenta → Co by podmínka řekla teď?, strom gate test.
  • Platí od: výzkum 1.14.0 (záznam); dotaz z menu od 1.3.0

R7.5 Podmínka claude-usage drží tempo týdne

claude-usage drží samostatnou práci v týdenním limitu předplatného Claude. Porovná, kolik procent týdne uplynulo od jeho obnovení (den ≈ 14,3 %), s využitím týdne. Sezení začne, jen když je náskok (uplynulo − využito) aspoň zadané číslo n.

  • Hranice: kroky jdou v tomto pořadí, rozhodne první, který platí:
    1. n není celé číslo 0–99, nebo strop není celé číslo 1–100: zastavit (každý běh);
    2. agent není Claude Code, nebo Claude Code běží na API klíči: pokračovat;
    3. využití z hlášení agenta v tomto běhu (nejvýš 15 minut staré), jinak z claude -p /usage. Nejde přečíst: 3 pokusy po 30 s, pak počkat 15 minut. Claude Code není přihlášený: zastavit (R7.7);
    4. týden bez času obnovení: využito 0 % → pokračovat, jinak počkat 15 minut;
    5. využito ≥ strop: zastavit, pevně (R7.5.4);
    6. pětihodinové okno vyčerpané (100 %): počkat do jeho obnovení a 1 minutu;
    7. náskok ≥ potřeba (R7.5.1), po čekání s přídavkem (R7.5.2): pokračovat;
    8. poslední 2 hodiny před obnovením týdne a do 100 % (nebo do stropu) zbývá aspoň 10 bodů: pokračovat;
    9. jinak počkat (R7.5.3).
  • Ovládání: terminál: Práce pořád dál pod podmínkou → Claude usage → zadat n (nabízí 10; jen s Claude Code na počítači); strom config set run.gate "claude-usage 10". Bez čísla platí 0.
  • Platí od: výzkum 1.2.0; nečitelné využití a nepřihlášení od 1.25.2
  • Od výzkumu 1.26.0: menu i strom config set přijmou jen celé n 0–99 (v 1.25.2 i desetinné, které pak běh zastaví).

R7.5.1 Začátek týdne

  • Potřeba je menší z čísel n a polovina uplynulé části týdne; celé n platí od 2·n % týdne. Hned po obnovení sezení začne. Příklad: n = 10, uplynulo 12 % → potřeba 6; sezení začne při využití nejvýš 6 %.
  • Platí od: výzkum 1.15.0

R7.5.2 Přídavek po čekání

  • Když podmínka čekala pro malý náskok, pustí znovu až s přídavkem 2 bodů (při 15: náskok 17), na začátku týdne poměrně menším (2 · potřeba / n). Pak pouští sezení za sebou, dokud náskok neklesne pod potřebu.
  • Týden čekání si pamatuje v hold.json ve své složce; nový týden začíná bez přídavku.
  • Platí od: výzkum 1.22.0

R7.5.3 Jak dlouho čeká

  • Do první z chvil: týden dožene náskok s přídavkem; začnou poslední 2 hodiny týdne (jen když do 100 % nebo do stropu zbývá aspoň 10 bodů); týden se obnoví (a 1 minuta). Nikdy přes obnovení, vždy aspoň 5 minut.
  • Odpověď říká využití, uplynulou část, náskok a na jaký náskok čeká.
  • Platí od: výzkum 1.2.0; poslední 2 hodiny od 1.15.0

R7.5.4 Strop týdne

  • claude-usage 10 --cap 95: při využití týdne 95 % a víc žádné sezení nezačne, v žádném běhu ani po „Spustit přesto?“. Běh skončí a řekne využití a kdy se týden obnoví.
  • Ptá se před každým sezením každého běhu (R7.4.2). Rozběhnuté sezení dostane žádost o dokončení až při 99 % týdne, i když je strop nižší. --cap bez n: platí strop i tempo s n = 0.
  • Ovládání: terminál: strom config set run.gate "claude-usage 10 --cap 95". Menu strop v 1.25.2 nepřijme, od 1.26.0 ano.
  • Platí od: výzkum 1.14.0
  • Od výzkumu 1.26.0: rozběhnuté sezení dostane žádost o dokončení už při stropu (--cap 95: při 95 % týdne; --cap 100: při 99 %).

R7.6 Limit předplatného zastaví běh

Když agent během sezení narazí na limit svého předplatného, sezení se zavře a běh skončí: limit předplatného (obnoví se …). Běh nečeká ani s --loop. Nezávisí to na podmínce.

  • Hranice: úkol se vrátí do fronty; čas obnovení se ukáže, jen když ho agent řekl. Čekat umí jen podmínka.
  • Platí od: výzkum 1.0.0

R7.7 Nepřihlášený agent

Agent, který není přihlášený ke svému předplatnému, sezení neudělá. Běh skončí: agent není přihlášený – jednou spustit … a přihlásit se.

  • Hranice:
    • před prvním sezením to strom ověří jen u Claude Code se zvláštní složkou (agent.claudeConfigDir nebo CLAUDE_CONFIG_DIR, jiná než ~/.claude). Běh pak skončí bez sezení a bez dotazu na podmínku;
    • jinak to pozná podmínka claude-usage (zastaví; u ručního běhu padne Spustit přesto?, R7.4.1), nebo sezení, které skončí chybou přihlášení.
  • Platí od: výzkum 1.25.2; zastavení po sezení s chybou přihlášení od 1.0.0

R7.8 Archiv Stromu: výzkum, na kterém agent nepracuje

Výzkum může být jen Archiv Stromu: data se zadávají v aplikaci Strom a výzkum je drží i s prameny, originály a historií. Agent na něm nepracuje a nic nezkoumá. Archiv zapíná a vypíná jen člověk, tam i zpět; nic se při tom nemaže.

  • Hlídá kód:
    • práce agenta je v archivu odmítnutá: rozhovor (strom chat), samostatná práce, nová linie, revize osoby, čtení skenů (strom read, strom clips, strom transcripts), čtení dokumentu, ztotožnění míst. Odmítnutí řekne jednou větou, kde se výzkum zapíná;
    • přepnutí na archiv odloží otevřené, rozdělané i čekající úkoly s důvodem „odloženo: výzkum je Archiv Stromu“. Nový úkol v archivu čeká odložený. Po zapnutí výzkumu se úkoly vrátí, kde byly: do fronty, nebo zpět k čekání na člověka;
    • na archiv nejde přepnout, dokud někdo na výzkumu pracuje. Sezení se nejdřív dokončí;
    • zapnutí výzkumu bez agenta na počítači nabídne agenta nainstalovat. Bez agenta zůstane archiv, jak byl;
    • přepnutí potvrzuje člověk; agent ho neudělá.
  • Co aplikace do archivu pošle, se zapíše, jak to přijde: S2.4. Jak archiv ukazuje aplikace: S1.3.
  • Proč: archiv je pro rodokmen bez AI agenta: data z aplikace mají svou historii, prameny a zálohu (strom pack) a nic se neplatí za čtení (kód, CHANGELOG 1.20.0).
  • Ovládání: terminál: menu výzkumu, první položka; strom mode (ukáže), strom mode archive, strom mode research. Pro nové výzkumy se ptá strom setup (Čím má být nový výzkum na tomto počítači?); změní to Nastavení → Nové výzkumy: výzkum, nebo jen Archiv Stromu.
  • Platí od: výzkum 1.12.0; volba pro nové výzkumy i s agentem na počítači 1.15.0; odmítnuté čtení skenů 1.20.0

R7.8.1 Výzkum čeká na agenta

Výzkum, jehož agent na tomto počítači není (nenainstalovaný, nebo výzkum přenesený z jiného počítače), na něj čeká. Do té doby se chová jako Archiv Stromu.

  • Hlídá kód:
    • co pošle aplikace, se zapíše jako v archivu; pro agenta nic nevzniká a práce agenta je odmítnutá s větou, že výzkum čeká na agenta, a kde ho nainstalovat nebo vybrat jiného;
    • uložený režim se nemění a úkoly se neodkládají. Po instalaci agenta výzkum pokračuje sám s úkoly, které měl;
    • agent, který ve výzkumu právě pracuje (i jiný než nastavený), ho dělá výzkumem.
  • Proč: archiv je volba člověka a strom ji za něj nezapíše. Výzkum bez agenta se jen chová jako archiv, takže po instalaci agenta sám pokračuje s úkoly, které měl; žádný není odložený.
  • Ovládání: terminál: menu, první položka (Nechat jen jako Archiv Stromu: ukládat data z aplikace Strom, nebo instalace agenta); strom mode ukáže stav. Aplikace ukazuje takový výzkum jako Archiv (S1.3).
  • Platí od: výzkum 1.15.0