Přeskočit na obsah

Lekce 04.5: Dovednost /teach (The /teach Skill)

⏱️ 3 min čtení Lekce 04.5

🧠 Mentální model & teoretický rozbor

Jak poznáte, že agent skutečně porozuměl vašemu repozitáři a pouze mechanicky nehalucinuje náhodný kód? Matt Pocock v kurzu představuje techniku Obráceného mentora (The /teach Skill):

TRADIČNÍ PŘÍSTUP:
Vývojář se ptá ──> Model generuje kód ──> Vývojář doufá, že to model pochopil správně
METODA /TEACH:
Vývojář vyzve model: "Vysvětli mi architekturu a vyzkoušej mě!"
Model zanalyzuje kód a položí vývojáři 3 záludné kontrolní otázky
Vývojář odpoví ➔ Odhalí se okamžitě, zda model i člověk vidí systém stejně!

Tato technika funguje jako obousměrná kalibrace mentálního modelu před zahájením rizikových úprav.


🏢 Realistický scénář z praxe

Tým potřebuje upravit způsob, jakým aplikace počítá provize prodejců:

  • Vývojář před implementací zadá příkaz /teach nad provizním modulem.
  • Model modul prozkoumá a napíše: „Provize se počítá v calculateCommission.ts. Mám pro tebe kontrolní otázku: Co se stane s DPH, když je prodejce plátcem v jiném státě EU? Podle řádku 56 se provize počítá z částky bez DPH, ale pro neplátce z částky s DPH. Je to záměr?“
  • Vývojář je ohromen: narazil na skrytý edge-case ještě dříve, než sáhl do kódu!

💻 Konkrétní ukázky kódu & promptů

Implementace dovednosti teach (.agents/skills/teach/SKILL.md nebo .claude/skills/teach/SKILL.md):

Oba moderní harnessy (Antigravity i Claude Code) podporují standardizovaný formát dovedností s YAML hlavičkou. V Antigravity se projektové skills umisťují do .agents/skills/<nazev>/SKILL.md (případně globálně v ~/.gemini/config/skills/), zatímco v Claude Code do .claude/skills/<nazev>/SKILL.md:

---
name: teach
description: Režim mentora - agent prozkoumá modul a vysvětlí jeho architekturu s kontrolními otázkami pro vývojáře
---
# Instrukce pro dovednost /teach
Kdykoliv uživatel vyvolá dovednost `/teach <cesta_k_modulu>`:
1. Prozkoumej zadaný adresář nebo soubor pomocí čtecích nástrojů.
2. Sepiš strukturované vysvětlení architektury:
- Jaká je hlavní zodpovědnost tohoto modulu?
- Jaké jsou vstupní a výstupní datové toky (včetně TypeScript typů)?
- Které externí závislosti a databázové entity modul využívá?
3. Zformuluj **3 záludné inženýrské otázky** týkající se hraničních stavů (chybové stavy, konkurence, datová integrita, migrace).
4. Zastav se, předej slovo vývojáři a zhodnoť jeho odpovědi.

[!TIP] Progresivní odkrývání (Progressive Disclosure): Všimněte si, že dokud dovednost nevyvoláte, harness drží v systémovém kontextu pouze pole name a description (cca 30 tokenů). Celé tělo instrukce se do kontextu načte až ve chvíli, kdy dovednost skutečně aktivujete. Šetříte tak drahocennou Smart Zone.


⚠️ Analýza selhání & Anti-patterns

Chyba: Používání /teach uprostřed implementačního sezení

Dovednost /teach načte do kontextu poměrně velké množství vysvětlujícího textu a analýzy.

  • Pravidlo: Výukový režim provozujte v separátním sezení. Jakmile architekturu a edge-cases pochopíte, zadejte /clear a teprve poté začněte implementovat v čistém kontextu!

🛠️ Inženýrský postup krok za krokem (Playbook)

  1. Vytvořte soubor .agents/skills/teach/SKILL.md (pro Antigravity) nebo .claude/skills/teach/SKILL.md (pro Claude Code).
  2. Spusťte CLI (agy nebo claude) a vyvolejte dovednost nad nejsložitějším modulem vašeho projektu (např. /teach src/server/billing).
  3. Zodpovězte kontrolní otázky, které vám agent položí.
  4. Ověřte, že agent odhalil skutečné závislosti a nehalucinuje.
  5. Po vyjasnění mentálního modelu proveďte /clear a pusťte se do psaní kódu s jasným zadáním.

🧪 Praktické cvičení (Hands-on Lab)

Úkol:

Vyzkoušejte si dovednost /teach na existujícím kódu vašeho webu.

Kroky:

  1. Spusťte agy (nebo claude).
  2. Zadejte prompt:
    Aktivuj dovednost /teach pro modul autentizace nebo routování (např. src/app/api/auth).
    Vysvětli mi jeho logiku a polož mi 2 záludné otázky na hraniční případy.
  3. Odpovězte na kontrolní otázky a sledujte reakci agenta.
  4. Zadejte /clear pro návrat na nulový kontext před dalším úkolem.