Automatski okidači događaja (hooks.json)
Automatski okidači događaja (Lifecycle Hooks) su unaprijed definirane naredbe u bash ljusci koje CLI alat automatski pokreće u točno određenim trenucima životnog ciklusa agenta. Izvršavaju se neovisno o odluci modela i troše točno 0 tokena.
Usporedba s kuhinjom: Vještina protiv automatskog okidača (Hook)
Odjeljak s naslovom “Usporedba s kuhinjom: Vještina protiv automatskog okidača (Hook)”Zašto programeri često kažu: “Za to nemoj pisati Vještinu (Skill), nego upotrijebi automatski okidač (Hook)!”?
Razmislite o higijeni u profesionalnoj kuhinji:
- Način s vještinom (Umjetna inteligencija razmišlja):
Kuharu kažete: “Molim te, nakon svakog sjeckanja povrća ne zaboravi oprati nož i pokrenuti Prettier alat.”
Budući da je AI vjerojatnosni model, kuhar u žurbi može zaboraviti, pogriješiti ili previdjeti grešku u kodu. Osim toga, model pri svakom upitu troši dragocjene tokene razmišljajući o pravilima oblikovanja. - Način s okidačem (100% pouzdana automatizacija bez razmišljanja):
Iznad sudopera postavite automatski infracrveni senzor: onog trenutka kada nož spustite na pult, senzor pušta vruću vodu i sterilizira ga.
To zahtijeva nula ljudskog razmišljanja, događa se uvijek i bez iznimke te košta 0 tokena, jer vaše računalo jednostavno izvršava naredbu u sustavu.
Zlatno pravilo za odabir
Odjeljak s naslovom “Zlatno pravilo za odabir”- Upotrijebite Vještinu (Skill) kada zadatak zahtijeva kreativno razmišljanje umjetne inteligencije (npr. pronalaženje uzroka neobičnog rušenja programa, planiranje arhitekture nove komponente, programiranje nove funkcije).
- Upotrijebite automatski okidač (Hook) kada je zadatak deterministički i mehanički (npr. automatsko formatiranje koda pomoću alata Prettier, sprječavanje opasnih naredbi u terminalu, provjera uspješnosti testova prije završetka sesije).
Ključni događaji životnog ciklusa
Odjeljak s naslovom “Ključni događaji životnog ciklusa”| Događaj | Kada se pokreće | Tipičan primjer uporabe |
|---|---|---|
PreToolUse |
Prije nego što se alat počne izvoditi | Sigurnosna vrata (blokira opasne naredbe kao što su rm -rf / ili drop database). |
PostToolUse |
Odmah nakon završetka izvođenja alata | Automatski formater (pokreće prettier ili black odmah nakon uređivanja datoteke). |
PreInvocation |
Prije nego što se pozove AI model | Umeće privremene podsjetnike ili dinamički kontekst sustava u upit. |
Stop |
Kada agent pokuša završiti svoj rad | Provjera testova (pokreće pytest; prisiljava agenta na nastavak rada ako testovi padnu). |
Primjer konfiguracije: .agents/hooks.json
Odjeljak s naslovom “Primjer konfiguracije: .agents/hooks.json”Spremite u .agents/hooks.json (za trenutni projekt) ili u ~/.gemini/antigravity-cli/hooks.json (za cijeli sustav):
{ "auto-formatter": { "PostToolUse": [ { "matcher": "replace_file_content|write_to_file", "hooks": [ { "type": "command", "command": "npx prettier --write ." } ] } ] }, "command-guard": { "PreToolUse": [ { "matcher": "run_command", "hooks": [ { "type": "command", "command": "./scripts/guard-rail.sh" } ] } ] }, "test-enforcer": { "Stop": [ { "type": "command", "command": "./scripts/verify-tests-pass.sh" } ] }}Agentu uopće nije potrebno objašnjavati kako oblikovati kôd niti ga podsjećati na pokretanje testova — vaše lokalno računalo to obavlja automatski i pouzdano!