Pouštět si víc AI pomocníků naráz je dnes běžná praxe – tři okna, tři úkoly, trojnásobná rychlost. Nám to jednou vzalo víc než polovinu vlastního seznamu úkolů. Nebyla to chyba v žádném z nich. Byla to chyba v tom, kam všichni psali.
Co se stalo
Naši AI pomocníci si vedou společný seznam rozdělané práce – co je hotové a co čeká. Jeden soubor, do kterého si každý z nich zapisuje, když skončí. Vypadá to nevinně a fungovalo to měsíce.
Pak jsme jednoho odpoledne pracovali ve třech oknech současně. Pomocník si seznam přečte, chvíli pracuje a na konci ho zapíše zpátky – jenže zapisuje tu verzi, kterou si přečetl na začátku. Všechno, co mezitím dopsali ostatní, tím přepíše. Ze seznamu zmizely dvě třetiny položek a obě strany přitom dostaly potvrzení, že se zápis povedl.
V databázích se tomu říká ztracená aktualizace a je to poučka stará desítky let. Jen se dnes vrací v novém kabátě: dřív se o jeden soubor prali dva lidé, teď se o něj perou dva stroje – a ty pracují mnohem rychleji, takže se trefí do sebe mnohem častěji.
Proč zámek problém nevyřeší
První nápad je vždycky stejný: zamknout. Kdo píše, ten drží zámek, ostatní počkají. Má to jednu podmínku, která se špatně plní – zámek musí respektovat úplně každý, kdo do souboru sahá. Stačí jeden nástroj, který o něm neví, a ochrana je jen zdánlivá. Přesně to byl náš případ: zámek jsme měli, ale část zápisů šla cestou, která ho neuměla přečíst.
Co zabralo: seznam, do kterého se jen připisuje
Řešení nakonec nebylo přidat další kontrolu, ale změnit tvar dat. Společný seznam jsme zrušili. Každý pomocník má vlastní soubor a smí do něj jen připisovat – nikdy nic nemaže ani nepřepisuje, ani u sebe, ani u ostatních. Výsledný přehled se poskládá až ve chvíli, kdy si ho někdo chce přečíst.
Důsledek je zásadní: není co přepsat. Dva pomocníci mohou psát naráz a nemají se jak potkat, protože každý sahá jen na svoje řádky. Odpadá čekání i zamykání a hotová položka se neztratí ani tehdy, když někdo zapíše zastaralou verzi.
Ztráta dat tu nemizí díky kontrole, ale díky návrhu. Kontrola je vždycky jen tak dobrá, jak důsledně ji všichni dodržují. Tvar dat platí pro každého, kdo se k nim dostane – i pro toho, kdo o pravidlech vůbec neví.
A druhá vrstva navrch
K tomu jsme přidali jednoduchou pojistku: kontrolu před zápisem, ne po něm. Když by operace ze seznamu ubrala víc než pár položek, neprovede se a vyžádá si potvrzení. Běžná práce jí projde bez povšimnutí, hromadné smazání ne. Dvě nezávislé vrstvy jsou lepší než jedna dokonalá – každá totiž selhává jinak.
Kde to platí i mimo umělou inteligenci
Tenhle vzorec potkáváme u klientů pořád, jen bez agentů:
- Sdílená tabulka, kterou má naráz otevřenou půl kanceláře a večer v ní chybí půl dne práce.
- Konfigurace, kterou ráno upraví jeden technik a odpoledne ji druhý přepíše svojí starší kopií.
- Data z terénu, která sbírá víc zařízení do jednoho souboru na síti.
Když se u vás něco „záhadně ztrácí“, první otázka nemá být kdo to smazal, ale kdo všechno na to smí sahat současně. Odpověď bývá překvapivější než viník.
Proč o tom píšeme
Umělá inteligence zrychluje práci, ale nezruší staré zákony toho, jak se chovají data. Spíš je zviditelní – to, co se dřív stalo jednou za rok, se teď stane za odpoledne. My si na vlastních nástrojích ověřujeme, kde takové věci prasknou, aby to u klientů praskat nemuselo.
Ztrácí se vám data ve sdílených souborech?
Rádi se podíváme, kdo všechno k nim přistupuje a jak to udělat tak, aby si práci nepřepisovali navzájem.
Napište nám