Jak jsem vyvíjel Agenta (1): Nejdražší agent, kterého zatím nikdo nepoužil
Jak jsem vyvíjel Agenta (1): Nejdražší agent, kterého zatím nikdo nepoužil
Proč jsem začal vyvíjet vlastního Agenta, přestože ho zatím nikdo nepoužil. Experiment s generativní AI, první práce s ChatGPT a pozdější přechod na Codex.

Agenta zatím nikdo nepoužil. S jistou nadsázkou mu proto říkám nejdražší agent, kterého nikdo nepotřeboval. Jeho skutečný účel však byl od začátku jiný: chtěl jsem zjistit, jak generativní umělá inteligence funguje a co všechno s její pomocí dokážu vytvořit.
Mohl jsem si to jednoduše předplatit
Podobnou službu jsem si mohl někde předplatit. Pravděpodobně by fungovala dříve, vyšla levněji a ušetřila mi spoustu starostí. Jenže bych přišel právě o to, kvůli čemu jsem se do projektu pustil: o možnost projít celým procesem a pochopit, co se děje pod povrchem. A také o všechny ty starosti, ze kterých se člověk nakonec naučí nejvíc.
Nejdřív jsem se nechal vést
Na začátku jsem používal ChatGPT jako průvodce. Ptával jsem se, co je potřeba udělat, proč to tak funguje a jak jednotlivé technologie propojit. Připravené soubory jsem sám nahrával na server. Chat mi postup vysvětloval a pomáhal mi orientovat se v technických rozhodnutích.
Byla to zvláštní forma učení: místo abych nejprve prostudoval všechny potřebné technologie a teprve potom začal programovat, učil jsem se během stavby konkrétního systému. Každý nový požadavek přinesl další otázky.
Učebnice, nebo rozhovor?
Při práci jsem si začal uvědomovat ještě jednu věc. Možná právě zkouším jiný způsob vzdělávání: místo abych nejprve přečetl učebnici a potom hledal příklad, začnu konkrétním problémem a nechám si vysvětlit, co potřebuji vědět. Mohu se doptávat, nesouhlasit a hned zkoušet, zda odpověď funguje. Není to ovšem kouzelná náhrada odborných zdrojů. Chat umí podat i chybnou radu velmi přesvědčivě; důležitou součástí učení se tak stává ověřování, vlastní úsudek a schopnost poznat, kdy něco nevím.
Možná právě teď nastal čas otevřít i ty učebnice, které jsem na začátku přeskočil. S vlastní zkušeností bych v nich mohl najít souvislosti, které by mi tehdy unikaly. A dost možná bych zjistil, že některé věci šly udělat mnohem jednodušeji. Jenže kdybych nejdřív všechno nastudoval a teprve potom začal vyvíjet, neprošel bych všemi těmi odbočkami, slepými uličkami a nečekanými cestami. Některé byly zbytečně dlouhé, ale právě díky nim jsem se naučil víc než jen dojít k cíli.
A knihy mají v oblasti generativní AI ještě jeden problém: než se dostanou z tiskárny ke čtenáři, mohou být některé popisované nástroje už jinde. Rozhovor s AI mi dovoloval řešit problémy průběžně, i když ani její rady nemusely být vždy aktuální nebo správné. Dnes mi proto dává smysl obojí kombinovat: experimentovat s novými nástroji a vracet se ke knihám kvůli principům, které nestárnou tak rychle jako konkrétní postupy.
Pak přišel Codex
Později jsem přešel na Codex. Tím se změnil způsob vývoje: místo ručního přenášení jednotlivých souborů začala být důležitější práce s repozitářem, zadávání změn a kontrola výsledků. Postupně přibývalo také testování, řešení integrací a provozních problémů.
Větší automatizace ale neznamenala konec potřeby rozumět tomu, co vzniká. Naopak: čím rozsáhlejší systém byl, tím důležitější bylo poznat, zda je návrh bezpečný, zda test skutečně něco prokazuje a co se stane při výpadku.
Experiment, který přerostl původní představu
Agent postupně získal veřejnou a soukromou část, vlastní znalostní bázi, rozhraní pro další aplikace, analytiku i mechanismy synchronizace a obnovy. Vedle Cloudflare Workers a databáze D1 jsem využíval WordPress, vektorové vyhledávání a PHP s MariaDB na hostingu WEDOS.
Objevily se i nepříjemné situace. Například růst databáze při synchronizaci ukázal, že nestačí pouze vytvořit funkční přenos dat: je potřeba kontrolovat jeho náklady, dočasné tabulky, přerušení a obnovu. Některé části systému přitom stále čekají na dokončení a nezávislé ověření.
Co bylo vlastně výsledkem?
Kdybych úspěch měřil počtem uživatelů, zatím bych neměl co oslavovat. Ale tento projekt jsem nezačínal kvůli počtu uživatelů. Zajímal mě samotný proces: co mi generativní AI vysvětlí, co za mě zvládne připravit a kde naopak potřebuji vlastní úsudek.
Jsem rád, že jsem se do toho pustil. Mohl jsem si sám vyzkoušet, co znamená takový systém postupně vytvářet, a získal jsem zkušenosti, které bych pouhým čtením o generativní AI nezískal. Agent zatím nemá uživatele, ale nevidím ho jako uzavřený experiment. Předpokládám, že se postupně stane součástí mého širšího ekosystému aplikací, pomůže mi jej spravovat a koordinovat a nakonec najde i praktické využití. To je ovšem budoucí cíl, nikoli něco, co bych už dnes mohl prohlásit za hotové.
V dalších dílech chci popsat nejen zvolené technologie, ale především chyby, slepé uličky a změny rozhodnutí. Zkušenost s vývojem Agenta je totiž možná zajímavější než Agent samotný.
V příštím dílu: Jak vypadal vývoj s ChatGPT, když jsem ještě soubory ručně nahrával na server.







