← Všechny články

Když chat nestačí: vlastní rozhraní v aplikaci GitHub Copilot pomocí canvas

Chat není vždy nejvhodnější způsob práce s AI. Canvas v aplikaci GitHub Copilot umožňuje vytvořit vlastní interaktivní nástroje, které mohou komunikovat s agentem, spouštět místní kód a automatizovat vývojářské postupy.

Neoficiální české shrnutí a překlad článku Microsoftu. Web není oficiálním kanálem Microsoftu. Originál: When chat is the wrong UI (GitHub Blog).

Proč chat nemusí být správné rozhraní

I po třech letech rozvoje generativní AI zůstává chat hlavním způsobem, jak lidé pracují s velkými jazykovými modely. Jako univerzální rozhraní funguje dobře: předem totiž není jasné, co všechno budou uživatelé chtít s AI dělat.

Jakmile ale víte, jaký úkol potřebujete vyřešit, nemusí být textové pole tou nejlepší volbou. Vhodnější může být vlastní rozhraní přizpůsobené konkrétní práci.

Akademik Steven Pinker tuto myšlenku vyjádřil takto:

„Je trochu škoda, že první rozsáhlé nasazení AI bylo tak trochu efektní hříčkou – chatbotem, který mluví v první osobě. AI ale nabízí obrovský potenciál, pokud je zaměřená na konkrétní úkoly.“

Steven Pinker

Právě takové přizpůsobitelné rozhraní nabízí aplikace GitHub Copilot prostřednictvím canvas.

Co je canvas

Canvas je malá full-stack aplikace, která běží uvnitř aplikace GitHub Copilot bez okolních ovládacích prvků prohlížeče. Agent může komunikovat s její serverovou částí a ta může komunikovat zpět s agentem.

Výsledkem je pracovní plocha, která může dělat to, co běžný počítačový program, a zároveň si obousměrně vyměňovat informace s agentem GitHub Copilot.

Jednoduchým příkladem je hra Connect 4, v níž můžete hrát proti agentovi přímo v aplikaci GitHub Copilot. Uživatel ovládá herní plochu, canvas předává informace agentovi a agent může na ploše provádět vlastní tahy. Autor v ukázce zkouší hru proti GPT-5.6 Sol s vysokou úrovní uvažování a uvádí, že porazil GPT-5.6 Luna bez uvažování.

K vytvoření takového canvas stačí zadat prompt:

„Vytvořte nový canvas s hrou Connect 4, který ukáže, jak může uživatel pracovat s canvas, jak může canvas komunikovat s agentem a jak může agent canvas ovládat.“

Aplikace GitHub Copilot ví, co canvas znamená, takže tento koncept nemusíte v promptu dále vysvětlovat.

Vlastní nástroj místo opakovaných požadavků agentovi

Canvas není jen webová stránka. Protože jde o full-stack aplikaci, může volat rozhraní API třetích stran a také spouštět kód lokálně na Vašem počítači.

Jednou z ukázek je vlastní rozhraní pro Winget. Umožňuje vyhledávat balíčky v registru a spravovat místní balíčky včetně instalace a odinstalace. Samotné používání takového nástroje přitom AI nepotřebuje – a právě v tom spočívá jeho přínos.

Pokud je hlavním rozhraním chat, svádí to k zadávání každé drobnosti agentovi. To ale může zbytečně spotřebovávat tokeny. Autor proto doporučuje nechat agenta vytvořit nástroj, jehož další běžné použití už tokeny nespotřebovává, místo aby agent sám opakovaně zastával roli tohoto nástroje. Typickým příkladem je zadávání požadavku na přidání změn do stagingu a vytvoření commitu modelu GPT-5.6 Sol Max.

Další možnosti zahrnují:

  • Rozhraní pro SQLite: místo požadavků v chatu můžete s databází pracovat přímo ve vlastním canvas, psát SQL a využívat i IntelliSense.
  • Editor příspěvků pro Jekyll: místo psaní pouze v prostém Markdownu si můžete nechat vytvořit editor ve stylu někdejšího Windows Live Writer.

Automatizace vývojářského postupu

Větší přínos vlastního rozhraní se ukazuje při automatizaci pracovních postupů. Autor používá při práci s agenty přibližně tyto kroky:

  • Průzkum
  • Tvorba prototypu
  • Plánování
  • Implementace
  • Iterace
  • Dokončení

Při práci pouze přes chat vyžaduje každý krok přítomnost uživatele: je potřeba reagovat, prohlížet prototypy, usměrňovat práci a přecházet mezi jednotlivými fázemi.

Agent ale dokáže průzkum i tvorbu prototypů provést samostatně a uživatele upozornit až ve chvíli, kdy je výsledek připravený ke kontrole. Podle autora je cílem práce s agenty co nejvíce omezit potřebu průběžných zásahů člověka. Pokud máte k dispozici jen textové pole, není vždy zřejmé, jak takový postup nastavit.

Canvas může sloužit jako rozhraní pro automatizaci celého procesu. Míru zapojení si přitom můžete přizpůsobit: některé kroky nechat běžet samostatně a u jiných zachovat vlastní kontrolu. Uvedený postup je příkladem, nikoli univerzálním návodem pro všechny týmy.

Od popisu k interaktivnímu rozhraní

Náročnost vytvoření canvas závisí na úkolu. Jednodušší nástroj, například rozhraní pro SQLite, může vzniknout na jediný prompt. U ukázky automatizovaného pracovního postupu zabralo autorovi doladění návrhu a automatizace většinu dne.

Hlavní myšlenkou je nepovažovat chat za jediný možný způsob práce s AI. Potřebné rozhraní můžete popsat běžným jazykem a nechat agenta vytvořit funkční pracovní plochu, kterou následně používáte a upravujete Vy i agent. Místo přizpůsobování práce textovému poli tak získáte nástroj odpovídající konkrétnímu úkolu.