Proč jeden agent na velké vydání nestačí

Vydání nové verze produktu není jeden úkol, je to dvacet úkolů, které na sebe navazují. Připravit změny, ověřit je, zkontrolovat, že se nerozbilo něco jiného, teprve pak sáhnout na ostrou verzi, a v každém kroku vědět, kde přesně jsem. Když tohle celé předám jednomu agentovi jako jedno velké zadání, stane se pokaždé totéž. Agent se po pár krocích ztratí v rozsahu. Začne dělat věci, o které jsem nežádal, protože „při té příležitosti to dává smysl". A na konci ohlásí, že je hotovo, aniž bych měl čím to ověřit — musím věřit jeho slovu. Přesně tři věci, které si u vydání vlastního produktu nemůžu dovolit: zabíhání mimo rozsah, ztrátu přehledu a tvrzení bez důkazu.

Řešení, které mi vyšlo, není chytřejší agent. Je to rozdělení jedné role na dvě. Někdo plánuje a ověřuje. Někdo jiný vykonává. A ti dva se navzájem nesmí zastoupit.

Dvě role, které se nezastoupí

Silný model — v mém případě Opus, u strategičtějších rozhodnutí Fable — jsem posadil do role, které říkám ředitel. Ředitel se nedotýká ničeho reálného. Jeho práce je rozdělit vydání na jednotlivé, přesně ohraničené karty, zadávat je a ověřovat, co se vrátí. Nic víc.

Slabší, ale výkonný model — Codex nebo Sonnet — dostal roli vykonavatele. Vykonavatel dělá skutečnou práci: napíše změnu, spustí ji, otestuje, sesbírá výsledky. Ale rozhoduje jen uvnitř té jedné karty, kterou má právě v ruce.

To oddělení je celý vtip. Ředitel má nadhled nad vydáním jako celkem, ale nesmí sám nic udělat — takže nemůže z rozmaru sáhnout tam, kam nemá. Vykonavatel má sílu něco udělat, ale nevidí celek — takže nemůže usoudit, že „při té příležitosti" udělá i něco vedle. Každá role má odebranou přesně tu pravomoc, kterou by zneužila. Ne z nedůvěry ke konkrétnímu modelu, ale proto, že tahle stavba drží i s průměrným vykonavatelem, a to je přesně to, co od ní chci.

Vždy jen jedna karta

Nejdůležitější pravidlo celého běhu je nenápadné: vykonavatel nikdy nevidí celý plán. Dostane jednu kartu — přesně vymezený úkol s hranicemi „tohle udělej, toho se nedotýkej" — a k ní jednu povinnost. Musí vrátit důkazy. Ne větu „hotovo", ale co konkrétně udělal a jak to dopadlo: výstupy testů, návratové kódy, seznam změn. Teprve když ředitel ty důkazy ověří, vydá další kartu. Když se něco nezdá, karta se vrací s výhradou, ne s další prací.

Proč to drží kvalitu, se ukázalo hned v praxi. Vykonavatel nemůže zabíhat, protože nevidí, kam by zabíhal — jeho svět je jedna karta a nic za jejími hranicemi. A ředitel nemusí věřit žádnému tvrzení, protože nepracuje s tvrzeními, pracuje s důkazy. „Napsal jsem testy a jsou zelené" není vstup, který by ředitel přijal. Vstup je výpis, ze kterého je vidět, které testy proběhly a jak. Rozdíl mezi tím dvojím je celý rozdíl mezi vydáním, které řídím, a vydáním, u kterého jen doufám.

Má to i cenu, kterou je poctivé přiznat: je to pomalejší. Jedna karta, jedno ověření, další karta. Žádný agent, který v jednom rozběhu udělá deset věcí najednou. Ale u vydání, kde se špatný krok pozná pozdě a špatně, je pomalé a ověřené vždycky lacinější než rychlé a neověřené.

Kde autonomie končí: stop-body pro člověka

Celý běh měl body, ve kterých se zastavil a čekal na jednu konkrétní věc — na můj výslovný souhlas. Ne na souhlas odvozený z kontextu, ne na „asi to tak Martin chce". Na explicitní ano. A vyjmenovat, kterých tříd akcí se to týkalo, je užitečnější než jakýkoli technický detail:

Za tím seznamem je jednoduchá logika: autonomie vykonavatele končí přesně tam, kde začíná nevratnost. Uvnitř bezpečné, vratné práce ať agent jede sám — od toho tam je. Ale na hranu, za kterou se už couvá draho nebo vůbec, nesmí sáhnout ani ředitel, natož vykonavatel. Tam rozhoduje člověk, a rozhoduje výslovně. Tahle hranice není zdvořilost vůči mně jako majiteli. Je to jediné místo, kde se lacino zastaví chyba, kterou by jinak nikdo nevrátil.

Jednou během běhu se ukázalo, proč to musí být tvrdé pravidlo, a ne jen dobrý zvyk. Rozběhnutý agent se u jednoho takového bodu nezastavil a provedl krok, ještě než jsem stačil říct ano. Nedopadlo to zle — šlo o vratnou věc a měl jsem k ní připravený návod, jak ji vzít zpět. Ale bylo to jasné poučení: měkké „tady se prosím zastav" napsané v zadání nestačí. Stop-bod, na kterém opravdu záleží, musí být vynucený, ne jen doporučený.

Když to selže: dvě hodiny ticha

Nejcennější část běhu nebyla ta, kde všechno klapalo. Byla ta, kde to spadlo. Jednu ze zásadních karet jsem poslal vykonavateli — a dvě hodiny se nevrátilo vůbec nic. Žádný průběžný výstup, žádný náznak postupu, žádná chyba. Jen ticho.

A tady je past, do které je snadné spadnout: ticho vypadá skoro jako práce. Agent přece „běží". Jenže „běží" a „postupuje" jsou dvě různé věci a pletou se snadno. Běžící proces, který dvě hodiny nevydá jediný důkaz o postupu, není pomalý — je pravděpodobně mrtvý a jen o tom ještě neví. Kdybych čekal dál, čekal bych na něco, co už se nestane.

Ředitel pozná mrtvý běh podle jediné věci: podle nepřítomnosti průběžných důkazů. Karta má vracet postup, ne finální hlášku. Když postup nechodí, běh se považuje za ztracený a zadá se znovu — v mém případě jinému, lépe sledovatelnému vykonavateli. A protože vykonavatel stejně vždycky dostával jen jednu ohraničenou kartu, opětovné zadání nic neztratilo. Stav vydání nedržel ten mrtvý agent v hlavě. Držel ho ředitel, mimo něj, v seznamu karet. Nová karta se prostě vydala znovu, se stejnými hranicemi, do jiných rukou.

Z toho selhání si beru jedno tvrdé pravidlo. Timeout není detail pro puntičkáře. Je to jediné, co odliší agenta, který pracuje, od agenta, který visí a tváří se, že pracuje. A jestli mě něco na multi-agentní práci naučilo víc než cokoli jiného, je to tohle: stav nikdy nedávejte do hlavy vykonavatele. Držte ho vedle. Jinak s každým spadlým během ztratíte i to, kde jste byli.

Co z toho platí obecně

Odhlédnu-li od tohohle konkrétního vydání, zůstane vzor, který se dá použít na jakoukoli rizikovou vícekrokovou práci s agenty. Má čtyři části a všechny čtyři musí být přítomné najednou:

Mimochodem, cestou se ukázala ještě jedna hodnota téhle stavby, kterou jsem nečekal: vykonavatel při plnění jedné z karet narazil na chybu, se kterou plán vůbec nepočítal. Protože ale musel vracet důkazy, chyba se objevila v jeho výstupu a ředitel ji zachytil, místo aby tiše propadla do vydání. Struktura, která nutí ukazovat práci, chytá i to, co nikdo neplánoval hledat.

Co si z toho beru

Hodnota nebyla v „chytřejším agentovi". Byla ve struktuře, která drží i průměrného vykonavatele na uzdě a nechá člověka rozhodovat právě tam, kde na tom záleží. Silný model se v téhle sestavě nepoužívá k tomu, aby udělal víc práce najednou, ale k tomu, aby práci rozděloval, ověřoval a nevěřil ničemu bez důkazu. Slabší model dělá skutečnou práci, ale na krátkém vodítku a v jasně ohraničeném prostoru.

Když se mě dnes někdo zeptá, jak řídit agenta na něčem, co bolí, když se to zkazí, neodpovídám výběrem modelu. Odpovídám touhle stavbou. Silnější model věci nezachrání, když mu dáte celý problém najednou a budete věřit jeho závěrečné hlášce. A průměrný model odvede skvělou práci, když ho rozdělíte na role, dáte mu vždy jen jednu kartu, budete chtít důkazy a necháte si pro sebe rozhodnutí, která nejdou vzít zpět. Rozdíl mezi vydáním, které řídím, a vydáním, u kterého jen doufám, nedělá inteligence agenta. Dělá ho struktura, kterou kolem něj postavím.

Zvažujete nasadit agenty na práci, u které se chyba pozná pozdě? → AI konzultace