Každá heuristika v systému je stopa po měření, které si nikdo nemohl dovolit
Backlog Next.js měl v lednu 2025 přes tři tisíce otevřených issues a přibývalo jich šestatřicet týdně. Tým zavedl workflow, které označilo issue po dvou letech bez aktivity jako stale a po odkladu ho zavřelo. Do srpna 2026 to backlog stáhlo na 2 244.
Ta heuristika nebyla lenost. Byla to cena. Neaktivita zastupovala nedůležitost, protože posoudit důležitost doopravdy znamená přečíst konverzaci, dohledat, jestli propojený fix opravdu přistál, a zkusit reprodukci na nahlášené i aktuální verzi. Krát dva tisíce.
Problém je, že časové razítko ty případy nerozliší. Issue může být opravená, duplicitní, očekávané chování, hlášená proti nepodporované verzi — nebo pořád platná chyba, ke které se jen nikdo nevrátil. Všech pět vypadá po osmnácti měsících stejně.
Když zlevní zjišťování, heuristika ztratí důvod
Tým místo lepšího odhadu stáří pořídil zjišťování. Agent closability běží v čerstvém sandboxu s repozitářem, Node.js, Playwrightem a Chromiem. Přečte konverzaci, dohledá související PR, commity a releasy, a když je potřeba, zkusí reprodukci na nahlášené verzi, na stabilní a na canary.
Jedno vyšetření trvalo v průměru půl hodiny. To by ručně bylo nezaplatitelné, ale běželo dvě stě sessions naráz. Za tři týdny se zavřelo 1 462 issues a backlog spadl pod tisíc. Rozpad důvodů říká, jak špatný ten původní odhad byl: 37 % už opravených, 19 % duplicit, 16 % očekávané chování.
Nezměnil se úsudek. Změnila se jeho jednotková cena, a tím se posunula hranice, za kterou se vyplatí odhadovat.
Když neexistuje správná odpověď, postav cestu zpět
Na otázku, jestli se má issue zavřít, neexistuje pass/fail signál. Není proti čemu agenta validovat. Návrh té úlohy je proto zajímavější než samotný agent.
Skóre jistoty drží tým záměrně konzervativní: neúspěšná reprodukce sama o sobě k zavření nestačí, vysoké skóre vyžaduje aktuální důkaz a zároveň nic věrohodného proti. Agent má v instrukcích explicitně hledat důkazy, které vyvracejí jeho vlastní závěr. Mimo sandbox je jen pro čtení — nesmí komentovat, zavírat ani pushovat. A má ignorovat instrukce nalezené v textu issue, protože ten text píše kdokoli.
Ověření pak nepřišlo z metriky nad agentem, ale ze zavedení reverzní cesty. Ještě před spuštěním přidali GitHub Action, která k zavřené issue přidá komentář s možností ji znovu otevřít. Míra znovuotevření je to měření. Teprve na základě těch čísel nechali agenty zavírat samostatně, a i tak jen případy nad osmdesát bodů, které druhý agent nezávisle prověří proti, v objemu do pětadvaceti týdně.
Co si z toho odnést
Projdi si pravidla ve svém systému, která se rozhodují podle stáří, počtu nebo prahu, a u každého si zkus vzpomenout, co vlastně zastupuje. To pravidlo je skoro vždycky náhrada za informaci, která byla v době jeho vzniku moc drahá. Heuristika se sama neozve, když ta cena spadne.
Kde není správná odpověď, nedá se odhadovat kvalita ani po faktu. Dá se ale postavit levný návrat: ať je rozhodnutí vratné a měř, jak často se vrací. Zpětný chod je zároveň bezpečnostní ventil i jediný dostupný měřicí přístroj.
A hranici mezi zjišťováním a jednáním drž ostrou. Agent, který smí prozkoumat a nesmí zasáhnout, je nesrovnatelně levnější na kontrolu než agent, který smí obojí — a při takovém objemu je kontrolovatelnost to jediné, co drží chybovost na uzdě.