← Všechny články

Canvases v GitHub Copilot: přehlednější řízení agentů a efektivnější workflow

Funkce canvases v aplikaci GitHub Copilot poskytuje sdílenou pracovní plochu, na které můžete sledovat postup agentů, řídit jejich práci a schvalovat výsledky. Článek na příkladech modernizace Javy a správy webového obsahu ukazuje, jak může tento přístup omezit ztrátu kontextu a náklady opakovaných workflow.

Neoficiální české shrnutí a překlad článku Microsoftu. Web není oficiálním kanálem Microsoftu. Originál: How canvases make agentic workflows visible, steerable, and cost-efficient (GitHub Blog).

Chat se dobře hodí k vyjádření záměru, ale práce agentů se v dlouhé konverzaci snadno ztratí. Canvases nabízejí způsob, jak dát agentním workflow trvalou strukturu a udržet přehled o jejich průběhu.

Autor článku Ayan Gupta vzpomíná, že se během studia zapojil do betaverze jedné z prvních podob doplňování kódu pomocí AI ve VS Code. Už tehdy to vnímal jako zásadní změnu. Od té doby generativní AI výrazně proměnila vývoj softwaru: vznikají hybridní týmy, v nichž spolupracují lidé a agenti a vývojář určuje směr a koordinuje práci.

Rychlý vývoj generativní AI přinesl nástroje pro plánování, tvorbu, kontrolu i dodávání kódu. Mnohá workflow ale stále působí roztříštěně. Kontext se ztrácí mezi vlákny a pracovními prostředími a kontrola výstupů agentů zabírá příliš času. Agenti dokážou vytvářet změny rychleji, než je člověk zvládne zkontrolovat, přičemž většina vývojářských nástrojů původně nevznikala pro koordinaci více agentů. Snadno tak zanikne přehled o tom, co se spustilo, co se změnilo, co prošlo ověřením a co ještě vyžaduje lidské posouzení.

Aplikace GitHub Copilot představuje významný krok k řešení těchto problémů. Autor v ní téměř denně používá právě canvases. Tato funkce umožňuje vývojářům a agentům spolupracovat na trvalé sdílené ploše. Chat už není jediným místem, kde se práce odehrává: její průběh je viditelný a můžete ji průběžně řídit i schvalovat.

Chat dobře zachycuje záměr, hůře udržuje přehled o provádění práce

Chat patří podle autora k nejlepším rozhraním pro formulování záměru. Můžete v něm promýšlet problém, upřesňovat zadání a určovat směr. Je rychlý a flexibilní, zejména pokud problém ještě nemá jasné obrysy.

Jakmile ale agent začne skutečně pracovat, konverzace se promění v dlouhou řadu instrukcí, protokolů, změn směru a oprav. Důležité informace v ní sice zůstávají, ale jsou pohřbené v historii: plán, rozhodovací body, výsledky ověřování i okamžiky vyžadující schválení. Pokud je musíte pokaždé zpětně rekonstruovat, vzniká zbytečná režie spojená s koordinací.

Canvases dávají workflow vlastní trvalé místo. Jeho stav je jednoznačný a průběžně se uchovává. Lidé mohou práci kontrolovat a směrovat, agenti mohou aktualizovat stav a pokračovat v úkolech. Obě strany tak zůstávají sladěné bez neustálého obnovování kontextu.

První řešení: Java Modernization Studio

Jedním z prvních řešení, která autor pomocí canvases vytvořil, bylo Java Modernization Studio. Modernizace Javy je typickým příkladem workflow, kde záleží na přehledu a řízení: zahrnuje posouzení výchozího stavu, plánování, migrační úkoly, kontrolní body ověřování a vyhodnocení připravenosti k nasazení.

V prostředí založeném pouze na chatu tyto kroky splývají. Práce může pokračovat, ale hůře se audituje a ve větším měřítku se obtížněji buduje důvěra v její výsledky, zvlášť pokud se zapojuje více lidí. Týmy se opakovaně vracejí ke stejným otázkám: V jaké fázi se práce nachází? Jaká rozhodnutí padla? Co je zablokované? Co ještě čeká na lidské schválení?

Java Modernization Studio jednotlivé fáze jasně oddělilo a zpřístupnilo ke kontrole. Místo pročítání historie konverzace mohly týmy přímo sledovat aktuální stav práce. Nemusely odhadovat, co se stalo – mohly si to ověřit. Lidé provádějící kontrolu se mohli soustředit na podstatná rozhodnutí, zatímco agenti pokračovali v práci mezi kontrolními body.

Poté autor vytvořil Site Studio pro výrazně odlišný scénář: tvorbu a správu obsahu osobního webu. Namísto migrace je těžištěm obsah, ale problém koordinace je podobný. Je potřeba sledovat postup jednotlivých sekcí, opakované úpravy, cykly kontroly a přechody mezi stavy.

Pokud vše probíhá jen v chatu, snadno se ztratí přehled o aktuální podobě obsahu. Sekce projde jednou úpravou, pak další, a přestává být jasné, která verze platí. Připomínky jsou rozptýlené, návrhy se opakují a každá další iterace začíná obnovováním kontextu.

Site Studio stav průběžně uchovává. Stav jednotlivých sekcí je viditelný, rozpracovaný obsah se ukládá už během práce a body vyžadující lidskou kontrolu jsou jasně označené. Agent může pokračovat, zatímco člověk práci směruje, schvaluje nebo mění její zadání, aniž by ztratil přehled.

U obou řešení se autorovi osvědčil stejný opakovatelný postup:

  • Jasně definovat stavy workflow.
  • Zviditelnit důležitá rozhodnutí.
  • Okamžitě ukládat postup a rozpracované návrhy.
  • Zachovat explicitní body lidského schvalování.

Tím se spolupráce posouvá od jednotlivých promptů k trvalému sdílenému workflow. Každá další výměna už není novým začátkem. Workflow funguje jako systém s pamětí, strukturou a možností řízení.

Náklady a efektivita: canvases vyžadují počáteční investici

Vytvoření canvases něco stojí. Autor uvádí, že Site Studio jej stálo přibližně 2 000 AI kreditů a řešení pro modernizaci přibližně 3 000 AI kreditů. Dobře navrhnout a doladit takové prostředí vyžaduje také čas a úsilí.

Z dlouhodobého pohledu se však podle autora může investice vrátit, zejména u opakovaných workflow. Trvalé pracovní plochy omezují opakované zadávání promptů, ztrátu kontextu, zbytečné výměny zpráv i předělávání práce. Postupně tak mohou šetřit čas a peníze a zároveň zvyšovat důvěru ve výsledky i objem dokončené práce.

Nejde tedy jen o vyšší spotřebu tokenů výměnou za příjemnější uživatelské prostředí. Smyslem je investovat do lepší architektury workflow, aby opakovaná práce byla efektivnější, předvídatelnější a lépe řiditelná.

Java Modernization Studio a Site Studio jsou dostupné v awesome-copilot

Obě autorova řešení – Java Modernization Studio a Site Studio – jsou dostupná v awesome-copilot. Můžete je používat, upravovat nebo se jimi inspirovat.

Pokud už používáte agenty v GitHub Copilot, praktickým dalším krokem je vybrat jedno opakované workflow a pomocí příkazu /create-canvas pro něj vytvořit jednoduchou pracovní plochu. Začněte v malém, ověřte řešení na skutečné práci a upravujte je podle zkušeností z používání.

Tento způsob spolupráce je stále v počátcích, ale rozdělení rolí je zřejmé: agenti mohou urychlit provádění úkolů, zatímco lidé určují směr, posuzují výsledky a nesou odpovědnost. Canvases představují jeden ze způsobů, jak této spolupráci dát trvalou a škálovatelnou podobu.