Všechny články

Jak jsem si shodil vlastní web

2 min čtení

Na tomhle webu pracují AI agenti. Napíšu jim, co je potřeba udělat, oni to udělají a já to po nich zkontroluju. Šetří mi to spoustu času a většinou to funguje překvapivě dobře.

Dnes ráno měl jeden z nich po sobě uklidit — vypnout testovací kopii webu, kterou si pouštěl při práci. Uklidil. Bohužel vypnul i tu ostrou, na které tenhle text právě čtete.

Proč to nikdo hned nepoznal

Nejlepší na tom je, jak dlouho trvalo, než si toho někdo všiml.

Testovací i ostrá verze webu běží na jednom serveru a pro počítač se jmenují úplně stejně. Agent tedy poslal příkaz „vypni to, co se jmenuje takhle“ a trefil obojí. Jenže ostrá verze běží v Dockeru, a ten má hlídače, který vypnutou aplikaci automaticky nastartuje zpátky.

Takže: agent vypnul web, Docker ho hned zase zapnul, agent se podíval, že aplikace pořád běží, a usoudil, že příkaz nezabral. Tak ho poslal znovu. Po něm totéž udělali ještě dva další agenti — mezi nimi i ten, který jim práci rozdával. Web mezitím sedmkrát spadl a sedmkrát naskočil, každý pád na pár vteřin — a každý z nich se divil, proč nejde vypnout něco, co právě vypnul.

Chyba přitom nebyla v agentech. Byla v prostředí, které jsem jim připravil. Zadání znělo jen „server ukonči“. Vypnout proces podle jména je na počítači, kde vedle neběží ostrý provoz se stejným jménem, naprosto rozumný postup. Na tomhle jednom ostrý provoz běžel pod stejným jménem — a že se proto procesy nesmí vypínat podle jména, nestálo nikde. Mě nenapadlo to napsat do pravidel, která čtou všichni.

Proč o tom píšu

Mohl jsem to tiše opravit. Nikomu to nespadlo do práce, nikdo z návštěvníků si toho nevšiml, škoda byla nula.

Jenže právě tohle je věc, kterou by měl potenciální zákazník vědět předem. Ne že se mi nikdy nic nepokazí — to by byla lež a on to ví. Ale že když se něco pokazí, dozví se to ode mě, a ne od svých lidí. A že to má šanci vzít zpátky dřív, než z toho bude problém.

Ten web má proto dvě věci, které nesouvisí s tím, jak vypadá. Sám hlásí, jestli je v pořádku, takže se stav nezjišťuje tak, že se na něj někdo náhodou podívá. A každá verze se dá vrátit zpátky během minuty.

Nic z toho nezabrání chybám. Zkracuje to ale dobu mezi „něco se pokazilo“ a „už je to zase v pořádku“ — a to je jediné číslo, které v takové chvíli opravdu někoho zajímá.

Další články