Co udělal můj AI agent? Čtyři otázky, na které chcete odpověď s důkazem
U každého úkolu AI agenta byste měli vidět, kdo ho udělal, co se změnilo, co se vynechalo a proč, s důkazy k ověření místo komentáře „hotovo“.
Weft je AI správce úkolů pro samostatné zakladatele a malé týmy.
Autor: Andrei Finogeev ·
Chcete-li vědět, co váš AI agent udělal, nezačínejte jeho shrnutím. Ověřte čtyři věci: které připojení práci udělalo, co se změnilo (doloženo něčím, co si sami otevřete), co zůstalo neudělané a co se rozhodlo a proč. Pokud cokoli z těch čtyř stojí jen na slově agenta, máte vyprávění, ne záznam.
Weft vyvíjíme my. Údaje o ostatních produktech pocházejí z jejich oficiálních stránek, ověřeno 27. října 2026.
Proč nestačí komentář „hotovo“?
Komentář je agent, který popisuje vlastní práci. Klidně může být přesný, ale komentář to doložit neumí, protože jeho autorem je právě ten, koho se snažíte zkontrolovat. Vědět, že agent na úkol sáhl, odpovídá na otázku kdo. Neodpovídá na to, zda je práce taková, jakou si myslíte.
Článek Hypertasku o přiřazování práce AI má pravdu v jedné věci: práce agentů by měla přistávat na stejné nástěnce jako práce lidí, ne v logu terminálu, který nikdo nečte. Hypertask navíc dává agentům vlastní identitu jako servisní účty, takže zápisy se připisují agentovi, a ne vám, a má i důkazy k úkolům a leasy, i když jeho dokumentace uvádí, že jsou to záměrně jen REST endpointy, ne MCP nástroje. Lišíme se v tom, co má záznam obsahovat. Vlákno komentářů s výstupem agenta je log toho, co agent řekl. My chceme, aby záznam obsahoval důkaz.
V tomto průvodci nejsou žádná čísla z průzkumů. Čtyři otázky si můžete ještě dnes odpoledne vyzkoušet na vlastní nástěnce, a to vám řekne víc než průměr za celé odvětví.
Jaké čtyři otázky to jsou?
Vyberte kterýkoli úkol, který agent minulý týden dokončil. Na každou z těchto otázek byste měli odpovědět do minuty, aniž byste se ptali agenta nebo otevírali jeho chat:
- Kdo to udělal? Který klient přes které připojení úkol převzal a dokončil.
- Co se změnilo? Výsledek plus artefakty, které můžete ověřit bez důvěry v agenta: hash commitu, URL, soubor, id zprávy.
- Co se neudělalo? Části, které vynechal, a věci, kterými si nebyl jistý.
- Co se rozhodlo a proč? Každá volba udělaná po cestě, se zvažovanými možnostmi, a každý případ, kdy jste práci vrátili.
| Otázka | Slabá odpověď: komentář „hotovo“ | Silná odpověď: důkaz, který můžete ověřit |
|---|---|---|
| Kdo to udělal? | „Agent“ nebo vaše vlastní jméno u každé změny, protože všechny nástroje sdílejí jeden klíč | Připojení, které úkol převzalo a dokončilo, pod jménem, které klient zaregistroval, a každá událost v deníku označená jako od člověka nebo přes MCP i s id klienta |
| Co se změnilo? | „Refaktoroval jsem auth modul, testy procházejí“ | Hash commitu, URL PR nebo stránky, soubor s jeho sha256, id zprávy: něco, co si otevřete sami |
| Co se neudělalo? | Nic neřečeno, takže předpokládáte, že se nic nevynechalo | Seznam notDone („nespustil jsem migraci na stagingu“) a seznam unknowns („nejsem si jistý, že starý endpoint nemá jiné volající“) |
| Co se rozhodlo a proč? | Pohřbené v chatu, který mezitím odjel nahoru | Záznam rozhodnutí se zvažovanými možnostmi a podmínkou, kdy ho přehodnotit, plus historie rozhodnutí u úkolu, včetně toho, proč byl vrácen |
Jak poznám, který agent to udělal?
Weft se k AI klientům připojuje přes Model Context Protocol na jednom endpointu, https://letsweft.com/api/mcp. Každý OAuth klient a každý osobní přístupový token je samostatný aktér. Úkol zaznamenává, který klient ho založil, a nástěnka ukazuje jméno, pod kterým se klient při přihlášení zaregistroval, plus ikonu. Každá událost v deníku úkolu ukládá, zda přišla od člověka, nebo přes MCP, a který klient ji poslal.
Úplný deník (get_task_history v režimu full) ukazuje u každé události surové id klienta: id OAuth klienta, nebo mcp-token následované id tokenu. Není to přívětivé jméno, ale je přesné a rozliší dvě připojení, i když pocházejí ze stejného produktu.
Vlastnictví během práce je také výslovné. Agent zavolá start_task, který úkol převezme s 20minutovým leasem a přesune ho do Doing. report_progress lease obnovuje. Druhý agent, který zkusí stejný úkol, dostane already_claimed, a lease, který propadne, úkol uvolní pro někoho jiného. Průvodce smyčkou převzetí to popisuje krok za krokem a článek o provozu několika agentů na jedné nástěnce pokrývá případ více klientů.
Jedno praktické pravidlo: dejte každému nástroji vlastní připojení. Pokud dva klienti sdílejí jeden přístupový token, nástěnka vidí jednoho aktéra a otázka kdo ztratí odpověď.
Co se změnilo a dá se to ověřit bez ptaní agenta?
Když agent skončí, zavolá complete_task. Povinné je jen id úkolu; všechno ostatní je volitelné a volání nikdy neselže kvůli chybějícím důkazům. To je záměr: ztratit hotovou práci je horší než ji zaznamenat neověřenou. Co může doklad nést:
- outcome: až 1 000 znaků o tom, co se udělalo a kde výsledek je.
- artifacts: až 20 položek, každá s druhem (url, file, message, commit a další), umístěním a volitelně otiskem sha256.
- claims: co agent tvrdí, že udělal, uložené jako tvrzení, ne jako ověřená fakta.
- notDone a unknowns: o nich je další oddíl.
- nextStep: co by agent udělal dál, pokud přijmete.
complete_task({
"id": "<task id>",
"runId": "<from start_task>",
"leaseToken": "<from start_task>",
"outcome": "Rate limiting added to /login; PR open, not merged.",
"artifacts": [
{ "kind": "commit", "uri": "<repo>/commit/<hash>" },
{ "kind": "url", "uri": "<repo>/pull/<number>" }
],
"notDone": ["Did not change the signup endpoint"],
"unknowns": ["Limit of 5 per minute is a guess; no traffic data"],
"nextStep": "Merge the PR to main"
})Řádek s výsledkem je pořád vyprávění. Artefakty jsou ta část, kterou můžete ověřit. Hash commitu ve vašem repozitáři buď existuje, nebo ne. URL se buď načte, nebo ne. sha256 souboru buď sedí, nebo ne. Pokud má doklad výsledek a žádné artefakty, berte ho jako práci hlášenou agentem, protože přesně tím je. Na webu karty v Done ukazují, zda je úkol Ověřeno, nebo Podle agenta.
Co agent neudělal?
Na tuhle otázku většina záznamů zapomíná, a právě ta vás kousne o dva týdny později. complete_task na ni má dva seznamy, každý až s 20 položkami po 500 znacích: notDone pro to, co agent úmyslně vynechal, a unknowns pro to, čím si není jistý. Popis nástroje sám agenty žádá, aby nahlas řekli, co neudělali. Právě to odděluje výsledek, na který se dá spolehnout, od výsledku, který musíte odvozovat znovu.
Tyto seznamy čtěte jako první. „Nespustil jsem testy proti stagingové databázi“ mění, co uděláte dál. Doklad bez jediné položky notDone u velkého úkolu sám o sobě stojí za otázku.
Co se rozhodlo a proč?
Rozhodnutí udělaná v chatu zmizí, jakmile chat odjede nahoru. record_decision je uchovává dvěma způsoby:
- Samostatný záznam rozhodnutí: název, výsledek, kontext, skutečně zvažované možnosti, důsledky a podmínka, za které ho přehodnotit. Záznamy jsou neměnné; změna znamená zaznamenat nové rozhodnutí, které to staré nahradí, a staré zůstane, označené jako nahrazené.
- Předání verdiktu: když agentovi v konverzaci řeknete „přijato“, „předělej to s X“, „zahoď to“ nebo „teď ne“, zaznamená tento verdikt k úkolu i s vaší poznámkou.
get_task_history ho čte zpátky ve třech režimech: summary (karta, její poslední doklad a počty), decisions (každé rozhodnutí o úkolu, včetně toho, proč byl vrácen, což přetrvá i po pozdějším přijetí) a full (surový deník, nejvýš 100 událostí). get_context předá živá rozhodnutí dalšímu agentovi v rámci rozpočtu tokenů, takže další běh začíná od toho, co se rozhodlo, a ne od nuly. Víc o tom v článku proč se rozhodnutí z AI chatů ztrácejí.
Kde to zkontroluji a na co kliknu?
Ve výchozím stavu jde dokončený úkol rovnou do Done. Ve vašem Inboxu se zastaví, když úkol potřebuje kontrolu nebo když neprojde ověření. Tam uvidíte doklad a čtyři tlačítka: Přijmout, Přepracovat, Později a Zahodit. Přepracovat vyžaduje poznámku a ta se vrátí agentovi.
Pokud agent předal nextStep, zobrazí se nad tlačítkem Přijmout a přijetí schválí přesně tento krok. Schválení platí 72 hodin a vrátí se agentovi přes get_my_work nebo start_task jako jediný krok, který má udělat dál. Otázky, které agent položí přes request_input, přistávají ve stejném Inboxu, na webu i v aplikacích pro iOS a Android, s push notifikací na mobil.
Inbox má limit schválně: 5 čekajících položek v pracovním prostoru pro jednoho, 10 v týmu, nebo 45 minut odhadované kontroly, podle toho, co nastane dřív. Když je plný, start_task odmítne s attention_queue_full, takže agenti práci dokončují nebo vyjasňují, místo aby vám vršili další ke kontrole.
Jaké důkazy chtít podle typu úkolu?
Napište je do popisu úkolu, aby agent věděl, jaký důkaz čekáte:
- Kód: hash commitu a URL PR jako artefakty. notDone by mělo jmenovat nespuštěné testy, neprovedené migrace a soubory, kterých se úmyslně nedotkl.
- Obsah: URL zveřejněné stránky, nebo soubor konceptu s jeho sha256, pokud ještě není venku. unknowns by mělo vypsat fakta, která agent nedokázal ověřit.
- Rešerše: URL zdroje ke každému klíčovému tvrzení a soubor s poznámkami. unknowns by mělo oddělit, co říká zdroj, od toho, co agent vyvodil.
- Oslovování: id každé odeslané zprávy a seznam příjemců jako soubor. notDone by mělo vypsat, kdo osloven nebyl a proč.
Jak předem omezit, co agent smí?
Přiřazení po faktu funguje nejlíp s limity předem. Ve Weftu má každé OAuth připojení jednu ze tří úrovní oprávnění, nastavenou na obrazovce souhlasu nebo později v nastavení v sekci Připojení AI klienti:
- plný přístup (výchozí): všech 32 nástrojů.
- zápis: všechno kromě tří destruktivních nástrojů (trash_task, archive_done_tasks, complete_sprint).
- čtení: jen 11 nástrojů jen pro čtení.
Kontrola probíhá při každém volání. Disconnect zruší refresh tokeny připojení a při dalším volání odmítne každý token vydaný před odpojením. Osobní přístupové tokeny, pro klienty bez OAuth, rozsahy nemají: jeden token dosáhne na všech 32 nástrojů a jeho zrušení platí od dalšího volání. Agenti můžou úkoly přesunout do koše na 30 dní, ale nemůžou je smazat natrvalo; obnovení z koše je funkce Pro.
Co tu Weft nedělá?
- Nemá integraci s GitHubem ani Slackem, takže Weft vaše commity ani zprávy nedohledává. Artefakt otevíráte vy.
- Nemá veřejné REST API, webhooky ani CLI, kterými by posílal doklady do jiných systémů. Je tu export do JSON a Markdownu.
- Nesleduje kroky modelu. Nástroje, které na úrovni modelu logují prompty, tokeny a latenci, dělají jinou práci a možná budete chtít i nějaký z nich.
- Agenti si doklady píšou sami. Weft zviditelní mezeru mezi tvrzením a důkazem; poctivost do agenta vložit neumí.
Pokud chcete agenty spravované jako servisní účty přes REST API, CLI pro skripty v CI nebo vestavěné AI funkce jako psaní a třídění úkolů, sedí vám líp Hypertask. Naše stránka alternativa k Hypertasku je srovnává vedle sebe.
- Nestačí historie v gitu, abych věděl, co agent udělal?
- Git ukazuje, co se změnilo v kódu. Neukazuje, co agent vynechal, čím si nebyl jistý ani kterou ze dvou možností zvolil. Hash commitu použijte jako artefakt u úkolu a zbytek nechte v dokladu a záznamu rozhodnutí.
- Nemůže si agent artefakt prostě vymyslet?
- Poslat může jakýkoli řetězec. Smysl artefaktu je v tom, že ho můžete otevřít: hash, který dohledáte, URL, která se načte, id zprávy, které najdete. Vymyšlený neobstojí ve chvíli, kdy ho ověříte, což u komentáře nenastane nikdy. Když má úkol ověřovací kontrolu a blokující kontrola selže, úkol se do Done nedostane.
- Čeká každý dokončený úkol na moji kontrolu?
- Ne. Ve výchozím stavu jde dokončený úkol do Done. Ve vašem Inboxu čeká na Přijmout, Přepracovat, Později nebo Zahodit jen tehdy, když potřebuje kontrolu nebo neprojde ověření.
- Kteří AI klienti můžou do Weftu zapisovat doklady?
- Jakýkoli MCP klient. ChatGPT má Weft jako zveřejněný plugin ve všech tarifech, včetně bezplatného. Claude Code se připojí příkazem
claude mcp add --transport http weft https://letsweft.com/api/mcp. Claude.ai a Claude Desktop používají vlastní konektor. Stránky s nastavením existují pro 33 klientů, třeba Claude Code, ChatGPT, Cursor a Codex. - Kolik to stojí?
- Free pokrývá 50 úkolů a 200 volání AI měsíčně. Pro stojí $7 za místo měsíčně nebo $60 za místo ročně. Weft nemá AI kredity: přemýšlí se ve vašem vlastním AI klientovi. Viz ceník.