Hooks: proč bez nich nepustíš AI na opravdovou práci (a jak mi jednou smazala soubory)
Hook je kus kódu, který stojí mezi AI agentem a tvým počítačem. Každá akce, kterou chce AI udělat - smazat soubor, spustit příkaz, přepsat dokument - musí přes něj projít. A hook ji umí zastavit dřív, než se stane. Bez hooků dáváš AI klíče od celého baráku a doufáš. S nimi jí dáváš klíče jen tam, kde nemůže nic rozbít.
Napíšu to na rovinu, protože mě to samotného stálo nervy: dokud jsem hooky neměl, pustit AI na opravdovou práci se soubory byla loterie. Teď to není loterie. A přijde mi šílený, že o hoocích skoro nikdo nemluví, přitom rozhodují o tom, jestli si agenta můžeš dovolit pustit na reálná data, nebo jen na hraní.
Co se stane, když AI smaže soubory natrvalo?
Mně se to stalo. Na mém vlastním Macu, když jsme spolu s AI uklízeli disk. Ne do koše. Natrvalo. Prostě fuč.
Předtím jsem měl v instrukcích napsáno "nemaž nic důležitého". A tady je ta lekce, kterou si musíš zapamatovat: instrukce v promptu je prosba, ne pravidlo. AI ji poslechne v 99 % případů. A pak přijde ten jeden den, kdy má "lepší nápad". Můj přišel přesně při tom úklidu.
Od té doby jsem nepřišel ani o jeden soubor. A není to štěstí. Je to tím, že mezi AI a disk jsem postavil závoru, kterou nemá jak obejít.
Co je to hook u AI agenta?
Hook (česky "háček" nebo "zaháknutí") je malý skript, který se automaticky spustí ve chvíli, kdy agent chce provést nějakou akci. Funguje jako jednoduché "když (chce udělat tohle), tak (udělej kontrolu / zastav)". Není to AI. Je to obyčejný, hloupý, ale neúprosný kód. A přesně proto se na něj dá spolehnout.
Nejlíp to sedne na příměr ze silnice:
- Cedule "Zpomal" = prompt. Doufáš, že ji řidič poslechne. Většina jo. Ten jeden ne.
- Retardér = hook. Zpomalí každého. I toho, kdo ceduli ignoruje. Nemá na výběr.
Prompt spoléhá na dobrou vůli modelu. Hook na fyziku. To je celý rozdíl a je to zásadní ve chvíli, kdy AI pracuje s něčím, co jde těžko vrátit.
Prompt vs. hook: v čem je rozdíl?
| Vlastnost | Prompt / instrukce | Hook |
|---|---|---|
| Kdo rozhoduje | Model (může si to "rozmyslet") | Kód (rozhoduje vždy stejně) |
| Spolehlivost | ~99 % (a to zbylé 1 % bolí) | 100 %, deterministicky |
| Kdy se spustí | Když se model rozhodne poslechnout | Před KAŽDOU akcí, automaticky |
| Jde obejít? | Ano, halucinací nebo "lepším nápadem" | Ne, stojí fyzicky v cestě |
Jak hook technicky funguje?
Konkrétně u Claude Code (AI kódovací nástroj od Anthropicu, ve kterém svůj systém provozuju) se hooky vážou na události v životě agenta. Ty nejdůležitější jsou:
- PreToolUse - spustí se PŘED tím, než agent použije nástroj (třeba smaže soubor nebo pustí příkaz v terminálu). Tady se dá akce zablokovat.
- PostToolUse - spustí se PO akci. Ideální na zálohu, log nebo kontrolu výsledku.
- Stop / UserPromptSubmit - reagují na konec práce agenta nebo na tvůj nový zadaný úkol.
Trik je jednoduchý: hook je obyčejný shell skript. Když u PreToolUse vrátí chybový kód (v Claude Code konkrétně exit code 2), agent tu akci NEsmí provést. Žádná diskuse. Napíšeš pár řádků kódu a máš tvrdou závoru, kterou model neobejde, ani kdyby chtěl.
Jakých 5 hooků mi běží v systému?
V mém AI operačním systému (říkám mu AI Chief of Staff) běží pět hooků. Popíšu ti je od toho, který oceníš nejvíc.
1. Blokátor katastrof
Každý příkaz, který chce AI spustit, nejdřív projde kontrolou. A ta má dvě úrovně:
- Nevratné akce (trvalé smazání souborů, zformátování disku) zablokuje úplně. Vždycky.
- Rizikové akce, které jdou vrátit jen těžko, pustí dál jen s mým souhlasem.
Přesně tenhle hook by mi tenkrát ty soubory zachránil. Žádný slib od AI. Závora, kterou nemá jak obejít.
2. Automatický checkpoint (Ctrl+Z na cokoliv)
Než agent sáhne na jakýkoliv soubor, tiše se udělá záloha bokem. Přepsal ti něco, co neměl? Jedním povelem to vrátíš. Je to jako tlačítko zpět, ale na všechno, co ti AI provedla v souborech.
3.-5. Záloha, učení a měření
Zbylé tři hooky pracují na pozadí:
- Záloha na GitHub - práci průběžně commituje a posílá do vzdáleného repa, takže se nemůže ztratit ani při přesunu mezi počítači.
- Učení z oprav - když AI opravím, systém si z toho udělá pravidlo, aby stejnou chybu neudělala podruhé.
- Měření skillů - sleduje, které skills (uložené postupy) fakt používám, a které jsou jen mrtvá váha.
Kdy hooky NEpotřebuješ (a kdy nestačí)?
Nebudu ti tvrdit, že hook je lék na všechno. Není.
- Když AI používáš jen jako chat v prohlížeči (píšeš texty, brainstormíš), hooky neřešíš - AI nemá přístup k tvým souborům, takže nemá co rozbít.
- Ve chvíli, kdy pustíš agenta na svůj disk, do mailu nebo do fakturace, se hooky stávají povinnou výbavou, ne bonusem.
- Hook taky není bezpečnostní firewall proti útočníkovi. Chrání tě před AI, ne před hackerem. Na cizí skripty a skilly potřebuješ ještě další vrstvu (scanner), ale to je téma na jindy.
Pro koho to celé je?
Pro začátečníka: ber hooky jako pojistku, díky které se nemusíš bát pustit AI na reálnou práci. Nemusíš je psát ručně, dají se převzít hotové.
Pro freelancera a firmu: jestli má AI sahat na klientská data, faktury nebo produkční systém, bez tvrdých závor to je hazard. Jeden špatný příkaz a řešíš průšvih, ne úsporu času.
Pointa je jednoduchá: prompt je slib, hook je závora. Slib se dá porušit. Závora ne. A když necháváš mašinu makat za tebe, chceš mít jistotu, že když se jednou "rozhodne mít lepší nápad", narazí na retardér - ne na tvoje důležité soubory.