Lekce 04.8: Smyčka Grill-Execute-Clear (The Grill-Execute-Clear Loop)
🧠 Mentální model & teoretický rozbor
Jádrem inženýrské metodiky Matta Pococka je cyklus Grill ➔ Execute ➔ Clear:
┌─────────────────────────────────────────────────────────────┐│ 1. GRILL (Nelítostný výslech & vyjasnění zadání) ││ Agent vás podrobí sérii otázek. Odhalí hraniční případy, ││ datové typy a závislosti PŘED napsáním jediného řádku. │└──────────────────────────────┬──────────────────────────────┘ │ Krystalicky čistá specifikace┌──────────────────────────────▼──────────────────────────────┐│ 2. EXECUTE (Rychlá exekuce v čistém sezení) ││ Implementace testu a kódu na jeden zátah ve Smart Zone. ││ Deterministické ověření kompilátorem a test runnerem. │└──────────────────────────────┬──────────────────────────────┘ │ Git commit┌──────────────────────────────▼──────────────────────────────┐│ 3. CLEAR (Vyčištění stolu) ││ Příkaz /clear. Okamžitý návrat na 0 tokenů. Žádný balast ││ pro další úkol. │└─────────────────────────────────────────────────────────────┘Tato smyčka eliminuje jak unáhlené programování bez rozmyslu (vibe coding), tak znečištění kontextu dlouhými konverzacemi.
🏢 Realistický scénář z praxe
Chcete implementovat funkci pro smazání uživatelského účtu (GDPR):
- Bez grilování: Agent napíše
prisma.user.delete(). V produkci to spadne na chybě cizího klíče (Foreign Key Constraint), protože uživatel má navázané objednávky a faktury, které zákon zakazuje smazat! - S grilováním: Agent se v první fázi zeptá: „1. Co máme udělat s existujícími objednávkami uživatele – anonymizovat, nebo smazat? 2. Máme zrušit aktivní Stripe předplatné před smazáním záznamu? 3. Má být smazání okamžité, nebo soft-delete s 30denní lhůtou pro obnovu?“
- Vývojář odpoví a teprve poté vznikne robustní kód, který v produkci nezpůsobí právní ani databázovou katastrofu.
💻 Konkrétní ukázky kódu & promptů
A) V Antigravity (agy): Nativní příkaz /grill-me
Google Antigravity CLI má smyčku grilování zabudovanou přímo jako systémový slash command /grill-me a odpovídající dovednost. Když ho vyvoláte, agent přepne do režimu interaktivního tazatele a použije strukturovaný dotazník:
# V terminálu Antigravity:/grill-me Chci implementovat funkci pro export uživatelských dat do ZIP archivuAgent nezačne chrlit kód, ale položí vám sérii zacílených otázek s možnostmi výběru (výběr formátu, streaming vs. paměť, práva administrátora).
B) V Claude Code: Promptová šablona nebo dovednost .claude/skills/grill/SKILL.md
V Claude Code (pokud nemáte nadefinovanou skill) můžete grilování vyvolat explicitním promptem:
Mám záměr: Chci implementovat funkci pro export uživatelských dat do ZIP archivu.
NAPIŠ ZATÍM NULOVÝ KÓD.Podrob mě nelítostnému výslechu (Grill me).Polož mi 3 klíčové otázky na:1. Datové entity, které do exportu patří a které ne.2. Způsob generování ZIPu (streamování vs paměť) s ohledem na paměťové limity Node.js.3. Bezpečnost, oprávnění a autorizaci požadavku.Ptej se strukturovaně s konkrétními možnostmi odpovědí.⚠️ Analýza selhání & Anti-patterns
Chyba: Přeskočení kroku Clear po úspěšném commitu
Vývojář dokončil funkci, testy prošly, commitnul kód, ale neprovedl /clear.
- Začne řešit další úkol ve stejném sezení.
- Agent má v kontextu stovky řádků z předchozího grilování a začne si plést požadavky nového úkolu se starým.
Chyba: Pasivní schvalování bez zamyšlení
Vývojář na otázky odpovídá jednoslovně: „udělej to jakkoliv“.
- Tím se vracíte zpět do vibe codingu. Cílem grilování je přinutit vás jako technického lídra rozhodnout architektonické kompromisy ještě před tím, než vznikne commit.
🛠️ Inženýrský postup krok za krokem (Playbook)
- Fáze Grill: V
agyzadejte/grill-me <záměr>(nebo vclaudezadejte grilovací prompt). Diskutujte s agentem, dokud nejsou zodpovězeny všechny hraniční stavy. - Fáze Spec: Nechte agenta shrnout výsledky do stručné specifikace (3-5 odrážek).
- Fáze Execute: V čistém nebo vyjasněném kontextu nechte agenta napsat test a implementační kód.
- Fáze Verify: Spusťte linter a testy (
vitest,tsc). - Fáze Clear: Zkontrolujte
git diff, commitněte a zadejte/clear.
🧪 Praktické cvičení (Hands-on Lab)
Úkol:
Vyzkoušejte si grilování na reálném webovém scénáři.
Kroky:
- Spusťte
agy(neboclaude). - V
agyzadejte:(VTerminál /grill-me Chci do projektu přidat rate-limiting na přihlašovací endpoint /api/auth/login.claudezadejte: „Chci do projektu přidat rate-limiting na /api/auth/login. Než napíšeš kód, vygriluj mě 3 otázkami na architekturu a edge-cases.“) - Zodpovězte jeho otázky (např. Redis vs. in-memory, IP vs. user account, HTTP hlavičky 429).
- Sledujte, o kolik přesnější, bezpečnější a čistší kód agent následně vygeneruje.
- Proveďte commit a zadejte
/clear.