Report, který pět dní lhal a ani jednou nevyhodil chybu

Každé ráno mi asistent, kterého jsem si postavil, posílá krátký přehled: co je na dnešek, na co si dát pozor, co potřebuje odpověď. Pět rán po sobě začínal nějakou variací na „nic naplánováno, volný den doma". Celou tu dobu jsem byl na cestách s nabitým programem. Přehled byl veselý, sebevědomý a úplně vedle, a nikde v systému se neozval jediný poplach.
TL;DR
- Automatický denní report běžel pět dní „úspěšně", a přitom potichu chrlil nesmysly: jeden zdroj dat vrátil „úspěch, žádné výsledky" místo chyby, takže nic nevypadalo rozbitě.
- „Proběhlo to bez chyb" není totéž co „fungovalo to". Hlídejte si i prázdnou odpověď, nejen pád.
- Dejte AI okolní kontext a nechte ji interpretovat, místo abyste natvrdo zakódovali jedno rigidní pravidlo.
Report, který vypadal v pořádku
Ten přehled je nudná, ale užitečná drobnost. Čte několik zdrojů, jedním z nich je můj kalendář, a každé ráno mi přistane, aniž bych hnul prstem. Měsíce měl pravdu. To je první tichá past automatizace: věc, která je dost dlouho spolehlivá, se stane neviditelnou a vy přestanete kontrolovat ten jeden výstup, kterému jste se rozhodli věřit.
Takže když mi to začalo tvrdit, že mám prázdné dny, mávl jsem rukou a předpokládal, že jsem si zapomněl něco zapsat do kalendáře. Upřímná verze je míň lichotivá: věřil jsem vlastnímu kódu, protože si nestěžoval. Žádné červené logy, žádný pád, žádný alert. Úloha každé ráno skončila čistě, takže pokud šlo o jakýkoli můj dashboard, všechno bylo v pořádku.
Co se ve skutečnosti rozbilo
Pár dní předtím vyřadila nesouvisející změna v systému pod tím tu část, která čte můj kalendář. Neselhala. Vrátila „úspěch, nula událostí". Prázdnou odpověď s palcem nahoru. Pro zbytek programu je to nerozlišitelné od opravdu prázdného kalendáře: dnes žádné události, super, volný den, napiš to.
Nástroj, který vrátí „úspěch, žádná data", je nebezpečnější než ten, který spadne. Pádu si všimnete. Prázdnému úspěchu uvěříte.
Tomuhle se říká problém tichého selhání a žije všude tam, kde žije automatizace. Hlučné poruchy někdo uvidí a opraví. Drahé poruchy jsou ty tiché, kdy komponenta vrátí něco technicky platného a úplně špatného, a každá vrstva nad ní přikývne a pošle to dál jako fakt.
Proč to nic nezachytilo
Dva důvody, a oba koušou i skutečné týmy.
Zaprvé, nikdy jsem nehlídal prázdný případ. Můj kód se ptal „selhalo čtení kalendáře?" a odpověď byla vždycky ne, protože prázdný úspěch není selhání. Otázka, kterou jsem si měl klást, zní „dává tenhle výsledek vůbec smysl?". Nula událostí pět pracovních dní v řadě není normální čtení; je to známka toho, že je rozbité čidlo. Napsal jsem logiku na odchytávání pádu a nic na odchytávání nesmyslu.
Zadruhé, report byl příliš rigidní na to, aby byl podezíravý. „Volný den" určoval z jediného políčka: je na dnešní přesné datum nějaká událost, ano nebo ne. To jedno úzké pravidlo nemělo jak zaznamenat, že okolní týden byl plný cestování. Nečetlo to situaci. Četlo to jedno políčko, a to políčko bylo náhodou prázdné.
Oprava ve dvou částech
První část byla udělat z ticha hluk. Prázdný výsledek z toho čtení kalendáře se teď ve výchozím stavu bere jako podezřelý. Když data vypadají nepravděpodobně, celý pracovní týden a v něm nic, report to řekne nahlas, místo aby to uhladil do úhledné věty. Cílem nikdy nebylo postavit něco, co nemůže selhat, ale selhávat tak, abych to skutečně viděl.
Druhá část byla přestat zapisovat úsudek jako pravidlo. Místo jediného ano/ne políčka teď asistentovi předávám okno okolních dní a nechám ho přečíst týden tak, jak by to udělal člověk. „Včera pryč, dnes nic, zítra pryč" se čte jako „pořád na cestách", ne „volný den doma". Čím usilovněji se snažíte natvrdo zakódovat každý hraniční případ do rigidní logiky, tím křehčí je celek. Předejte modelu skutečný kontext a jasnou otázku a dostanete úsudek místo vyhledávání.
Co bych udělal jinak
Kontrolu na podezřelé prázdno bych napsal hned první den. Stojí to asi deset minut a je to ten nejužitečnější návyk, jaký v automatizaci znám. Rozhodněte předem, jak vypadá nemožný, ale platný výsledek, a přimějte systém zařvat ve chvíli, kdy ho uvidí. Ne „spadlo to", ale „je tahle odpověď vůbec věrohodná?". Špatné odpovědi s odznakem úspěchu na klopě tam budou sedět a vypadat zdravě, jak dlouho jim to dovolíte.
Manažerská verze téhle lekce nemá s kalendáři nic společného. Jakýkoli automatický report, dashboard nebo shrnutí od AI, o které se váš tým opírá, může udělat přesně to co můj: běžet dál, vypadat zdravě a potichu vám servírovat čísla, která se po nějaké změně výš v řetězci, již nikdo s tím nespojil, odplazila do nesmyslu. „Pipeline proběhla" není „pipeline měla pravdu". Otázka pro toho, kdo má opakovaný automatický výstup na starosti, nezní „běží to?". Zní „jak bychom poznali, že nám to začalo lhát?".
Takže tady je ta, kterou stojí za to přežvýkat: který je ten jeden automatický report, co váš tým čte každý týden a nikdo už ho podruhé nekontroluje? Právě ten je teď nejpravděpodobněji potichu špatně.
Stack: Python · Claude API · Google Calendar · Telegram Bot API
Potřebujete něco podobného pro svou vlastní firmu? Podívejte se, jak můžu pomoct →
Získejte checklist AI Audit Kickoff
Patnáct otázek, které si položit o vlastních procesech, než utratíte jediný cent za AI. Přesně ta první hodina, kterou dělám při skutečném auditu, jako jednostránkové PDF. Nechte email a hned ho dostanete, k tomu občas zpráva, když napíšu něco, co stojí za váš čas. Žádný spam, odhlášení jedním kliknutím.