Upravljanje zadacima AI agenata: petlja preuzimanja kao ugovor, a ne prompt
Kako upravljati zadacima AI agenata uz petlju preuzimanja koju provodi poslužitelj: zakupi, signali života, pitanja, potvrde i ograničenje ljudske pažnje.
Weft je AI upravitelj zadataka za samostalne osnivače i male timove.
Autor: Andrei Finogeev ·
Upravljanje zadacima AI agenata funkcionira kad petlju drži ploča, a ne prompt: agent pita što da radi, preuzima jedan zadatak sa zakupom koji istječe ako agent utihne, pita osobu samo za odluke koje su njezine i završava potvrdom koju netko može provjeriti. U Weftu je svaki od tih koraka MCP alat koji poslužitelj provjerava, pa agent koji preskoči korak dobiva odbijenicu ili gubi zadatak, umjesto da se tiho raziđe sa stvarnim stanjem.
Mi razvijamo Weft. Podaci o drugim proizvodima preuzeti su s njihovih službenih stranica i provjereni 27. listopada 2026.
Zašto popis zadataka zalijepljen u razgovor prestaje funkcionirati?
Lijepljenje zadataka u razgovor prvo je što svi pokušaju, i to funkcionira jedno poslijepodne. Onda razgovor završi, a s njim i stanje. Agent je znao koju je stavku dovršio, od koje je odustao i u što nije bio siguran. Sada to nitko ne zna.
Osoba koja je zalijepila popis postaje posrednik: prepisuje rezultate natrag na pravu ploču i ponavlja posao koji je preuzela druga sesija jer ništa nije govorilo da je zauzet.
Pristup ploči rješava problem zastarjele snimke stanja, ali ne i ostalo. Ako su jedini alati „premjesti karticu“ i „dodaj komentar“, petlja i dalje ovisi o tome hoće li agent poštovati konvenciju zapisanu u njegovim uputama. Konvencije pucaju upravo kad stvari krenu po zlu: agent se sruši usred rada ili dva agenta krenu u istom trenutku.
Kako izgleda petlja preuzimanja kao ugovor?
U Weftu petlja ima pet koraka, a svaki je zaseban alat na jednom MCP endpointu, https://letsweft.com/api/mcp. Poslužitelj čuva stanje između njih, pa petlja preživljava kraj bilo kojeg razgovora.
- get_my_work: pitaj prije odabira. Odgovor obuhvaća što ovaj klijent već drži, što čeka na osobu, što kasni ili uskoro dospijeva i ima li uopće mjesta za početak nečeg novog.
- start_task: preuzmi sa zakupom. Preuzimanje traje 20 minuta i premješta zadatak u Doing. Odgovor sadrži
runId,leaseTokenirenewEverySeconds: 300. Drugi klijent koji pokuša isti zadatak dobivaalready_claimedi naputak da ne duplicira posao. - report_progress: signal života. Svaki poziv s identifikatorom izvođenja i tokenom zakupa obnavlja zakup. Ako se agent sruši, signali prestaju, a 20 minuta kasnije izvođenje se označava kao zastarjelo i zadatak se vraća među nedodijeljene, da ga bilo tko preuzme. Izgubljeni zakup odgovara s
lease_lost, pa agent zna da posao više nije njegov. - request_input: samo za odluke koje pripadaju osobi. Pitanje do 500 znakova, s najviše 10 opcija. Preuzimanje ostaje dok agent čeka.
- complete_task: završi s potvrdom.
outcome,artifacts(dokazi poput URL-a, commita ili hasha datoteke),notDone,unknownsinextStep.
Zašto zakup, a ne status? Zato što je tišina jedini signal koji srušeni agent može poslati. Kartica u stupcu Doing kaže da je netko jednom radio na njoj. Zakup kaže da netko radi na njoj sada i sam to prestaje tvrditi kad više nije istina.
Samo preuzimanje jedan je upis u bazu podataka zaštićen jedinstvenim indeksom. Kad se dva agenta utrkuju, baza odlučuje tko pobjeđuje, pa zadatak ne mogu dobiti oba. Dva komentara „Preuzeto“ objavljena u razmaku od sekunde, naprotiv, oba su valjani komentari.
Kada agent treba pozvati request_input?
Kad dođe do nečega o čemu može odlučiti samo osoba: bilo što nepovratno, poput novca, objavljivanja, produkcije ili pravnih pitanja, ili stvarno račvanje bez razumne zadane opcije. Ne zato da traži dopuštenje za nastavak.
Ta suzdržanost važna je jer pitanje osobu stoji jednako pažnje kao dovršen zadatak, a u Weftu se ubraja u isto ograničenje. Pitanje stiže u Inbox, uz push obavijest na mobitelu i, za stavke koje čekaju 20 minuta ili dulje, podsjetnik e-poštom. Weft nikad ne poziva agenta natrag: odgovor stiže pri njegovu sljedećem start_task ili get_my_work. Dok je pitanje otvoreno, agent zadržava zadatak 60 minuta; nakon toga zakup prestaje, ali pitanje ostaje.
Što ide u poziv complete_task?
Kratak ishod, dokazi i iskren opis rubnih slučajeva. Evo realnog sadržaja poziva za ispravak buga:
{
"id": "9b2f6c1e-4d7a-4c3b-8e21-5a0f3d9c7b14",
"runId": "d41e8a90-2f6b-4e17-9c3a-71b5e0a4c8f2",
"leaseToken": "lt_3f9a…",
"outcome": "Fixed the 500 on /api/invoices when the customer has no billing address. Fix is in PR #418; the route now returns 422 with a field error.",
"artifacts": [
{ "kind": "url", "uri": "https://github.com/acme/app/pull/418" },
{ "kind": "commit", "uri": "a1c9e07" },
{ "kind": "url", "uri": "https://preview-418.acme.dev/api/invoices/health", "httpStatus": 200 }
],
"claims": [
"Added a test for an empty billing address; the invoices test file passes locally"
],
"notDone": [
"Did not merge the PR",
"Did not backfill the 14 invoices that failed last week"
],
"unknowns": [
"Whether the mobile app shows the 422 message or a generic error"
],
"nextStep": "Merge PR #418 to main"
}Artefakti su stvari koje osoba može provjeriti bez da agentu vjeruje na riječ. notDone i unknowns nisu priznanja; oni odvajaju rezultat na koji se možete osloniti od onoga koji iznova slažete iz diffa. Poziv nikad ne pada zbog nedostatka dokaza, jer je gubitak dovršenog posla gori od toga da ostane zabilježen neprovjeren. Više o čitanju tih potvrda u članku što je moj AI agent zapravo napravio.
Po čemu se to razlikuje od premještanja kartice i pisanja komentara?
Hypertaskov vodič kroz istu petlju (preuzmi, ažuriraj, izvijesti, zatvori) dobro opisuje tu naviku. Njegova MCP inačica preuzimanja znači učitati zadatak, premjestiti ga u radni odjeljak i objaviti komentar o preuzimanju, prema promptu koji tim upiše u upute agenta. Evo iste petlje korak po korak:
| Korak petlje | Ploča samo s konvencijama (agent premješta karticu i komentira) | Što Weft provodi i kojim MCP alatom |
|---|---|---|
| Odabir posla | Agent izlista zadatke i bira. Ništa mu ne govori da je osoba već zatrpana pregledima. | get_my_work vraća što ovaj klijent već drži, što čeka na osobu, što kasni i ima li mjesta za početak nečeg novog. |
| Preuzimanje | Premjesti karticu u Doing i objavi „Preuzeto.“ Dva agenta to mogu učiniti u istom trenutku i oba vjeruju da je zadatak njihov. | start_task uzima zakup od 20 minuta jednim upisom u bazu zaštićenim jedinstvenim indeksom. Gubitnik dobiva already_claimed s ID-jem i naslovom zadatka. |
| Signal života | Komentari o napretku, ako se agent sjeti. Srušeni agent ostavlja karticu u Doing unedogled. | report_progress obnavlja zakup (agentu je rečeno da to radi svakih 5 minuta). Nakon 20 minuta tišine izvođenje se označava kao zastarjelo i zadatak je ponovno slobodan. |
| Pitanje | Komentar „Blokirano:“. Agent stane ili nagađa; kartica i dalje može izgledati kao da je u tijeku. | request_input stavlja pitanje s najviše 10 opcija u Inbox osobe i zadržava preuzimanje (60 minuta dok je na čekanju). Odgovor se vraća preko start_task ili get_my_work. |
| Izvještaj | Završni komentar slobodnim tekstom. Njegov oblik ovisi o tome koliko je prompt bio dobar. | complete_task prima imenovana polja: outcome, artifacts, notDone, unknowns, nextStep. |
| Zatvaranje ili pregled | Agent premješta karticu u Review ili Done, kako je već prompt rekao. | Zadano zadatak ide u Done. Zaustavlja se u Inboxu za Accept / Rework / Later / Drop kad zadatak traži pregled ili provjera ne prođe. |
| Preopterećenje | Ništa. Agenti stalno započinju posao, a stupac Review raste. | start_task odbija s attention_queue_full čim na ljude čeka 5 stavki (jedna osoba) ili 10 (tim), ili 45 minuta pregleda. |
Da budemo pošteni prema Hypertasku: on ima prave zakupe. Njegova dokumentacija navodi endpointe za preuzimanje zakupa, signal života i otpuštanje, a tablica poznatih ograničenja kaže da su zakupi zadataka, dokazi i eskalacija namjerno dostupni samo kao REST endpointi (Hypertask MCP pregled). Njegov popis alata nema alat za zakup među 21 MCP alatom (popis alata). I njegov CLI može preuzimati, kao opcionalna naredba (dnevnik promjena, CLI referenca). Dakle, skriptirani agent na Hypertasku može držati zakup; agent koji radi preko MCP-a u Claude Codeu ili Cursoru dobiva inačicu s karticom i komentarom, osim ako netko ne ugradi REST pozive.
Ako vaši agenti rade kao skripte i CI poslovi, Hypertaskov CLI i REST API stvarna su prednost, a Weft nema ni jedno ni drugo: nema CLI, javni REST API ni webhookove. Weft je za agente koji žive unutar MCP klijenta i trebaju da petlja ondje drži.
Što osoba vidi?
Većinu vremena karticu u stupcu Done: zadano dovršeni zadatak ide izravno onamo, s priloženim ishodom i dokazima.
Zadatak se zaustavlja u Inboxu osobe kad je označen kao zadatak koji traži pregled ili kad provjera ne prođe. Ondje osoba bira jedan od četiri odgovora:
- Accept: posao stoji. Ako je agent proslijedio nextStep, osoba ga vidi iznad gumba („Ako prihvatite, agent će …“), a prihvaćanje odobrava točno taj korak, ništa šire. Odobrenje vrijedi 72 sata i vraća se agentu preko get_my_work ili start_task.
- Rework: vrati na doradu, uz bilješku o tome što ne valja.
- Later: ne sada. Drop: prestani raditi na tome.
Inbox je na webu, a kad nešto uđe u njega, osoba dobiva i push obavijest u mobilnoj aplikaciji Weft. Dogovor oko nextStep sprječava agenta da „izgleda u redu“ shvati kao dopuštenje za merge, deploy i slanje: smije napraviti jedan odobreni korak, a zatim ponovno dovršiti zadatak.
Zašto agent dobiva odbijenicu umjesto da započne još posla?
Zato što je oskudan resurs pažnja, a ne posao. Agent može započeti deset stvari u vremenu u kojem osoba pregleda jednu.
Weft broji što čeka na ljude: zadatke koji čekaju pregled plus otvorena pitanja. Kad to dosegne 5 stavki u radnom prostoru jedne osobe, 10 u timu ili oko 45 minuta procijenjenog vremena pregleda, što god nastupi prije, start_task odbija s attention_queue_full. Ograničenje ovisi o broju ljudi u radnom prostoru, a ne o paketu.
Odbijenica je uputa, a ne slijepa ulica. Navodi veličinu reda, starost najstarije stavke i pozive koji su još dopušteni: report_progress, get_my_work, get_board_state i search. Korak koji je osoba već odobrila na toj kartici izuzet je, pa prihvaćeni „merge PR #418“ red ne blokira.
Kako to postaviti?
Povežite klijenta i prijavite se u pregledniku; nema ključa za kopiranje. Weft izdaje refresh tokene, pa klijent sam obnavlja prijavu. U Claude Codeu to je jedna naredba, claude mcp add --transport http weft https://letsweft.com/api/mcp (stranica za postavljanje). Cursor ima instalaciju jednim klikom (Cursor), Codex traži unos u konfiguraciji i codex mcp login weft (Codex), a ChatGPT ima objavljenu Weft aplikaciju na svim paketima, uključujući Free (ChatGPT). Poslužitelj sam opisuje petlju agentu, pa nije potreban prompt o životnom ciklusu.
Za vodič kroz Claude Code pogledajte ploču zadataka za Claude Code. Za više agenata na jednoj ploči, gdje su zakupi i already_claimed najvažniji, pogledajte više AI agenata, jedna ploča. Sam protokol dokumentiran je na modelcontextprotocol.io, a druge MCP ploče uspoređene su na stranici MCP upravitelji zadataka.
Što Weft ovdje ne radi?
- Nema CLI, javni REST API ni webhookove, pa cron poslovi i CI cjevovodi ne mogu pokretati petlju izvan MCP klijenta.
- Nema integracije s GitHubom ni Slackom. Dokaz je ono što agent poveže u artifacts.
- Nema ugrađenog AI-ja. Razmišljanje se odvija u vašem AI klijentu, zbog čega Weftu ni ne trebaju AI krediti.
Free pokriva 50 zadataka i 200 AI poziva mjesečno. Pro stoji 8,13 € po korisniku mjesečno ili 68,75 € po korisniku godišnje (cijene).
- Zar dobar prompt nije dovoljan da agenti poštuju petlju?
- Prompt opisuje petlju; ne može je provesti. Ne sprječava dva agenta da preuzmu isti zadatak i ne može osloboditi zadatak koji drži agent koji se srušio. U Weftu je preuzimanje zakup u vlasništvu poslužitelja, pa su ti slučajevi riješeni bez obzira na to je li se agent sjetio svojih uputa.
- Što se događa ako se moj agent sruši na pola posla?
- Njegovi signali života prestaju. Dvadeset minuta nakon posljednjeg report_progress izvođenje se označava kao zastarjelo, token zakupa briše se, a zadatak ponovno postaje nedodijeljen, pa ga može preuzeti drugi agent ili osoba. Kartica ne stoji tjedan dana u Doing.
- Čeka li svaki dovršeni zadatak da ga pregledam?
- Ne. Zadano dovršeni zadatak ide izravno u Done, s ishodom i dokazima. U vašem Inboxu za Accept, Rework, Later ili Drop zaustavlja se samo kad zadatak traži pregled ili provjera ne prođe.
- Zašto bih htio da moj agent dobije odbijenicu?
- Zato što bi inače stalno proizvodio stvari koje nemate vremena provjeriti. Čim na ljude čeka 5 stavki (10 za tim) ili oko 45 minuta pregleda, start_task vraća attention_queue_full i upućuje agenta na ono što još smije raditi. Pražnjenje reda ga odblokira.
- I Hypertask ima zakupe. Zašto je MCP važan?
- Hypertaskovi zakupi su REST endpointi, prema njegovoj vlastitoj dokumentaciji (MCP pregled), a preuzimati može i njegov CLI. To odgovara skriptiranim agentima. Agent koji radi preko MCP alata u editoru ili razgovoru ondje ih ne dobiva, a u Weftu ih dobiva: start_task, report_progress i complete_task su MCP alati.