This commit is contained in:
lachtan
2026-09-08 20:37:38 +02:00
parent af0ffc522a
commit a3f007bea3
7 changed files with 310 additions and 1 deletions

View File

@@ -0,0 +1,43 @@
# Převod agent-nástrojů na nástroje pro člověka
Ověřený postup. Když AI agent napsal nástroj (runbook, skripty) původně
**pro sebe**, nejde ho přímočaře zjednodušit pro lidské použití.
## Proč opačný postup nefunguje
- Model nevidí hranici, kde končí pro člověka použitelná složitost —
„zjednoduš to" produkuje kosmetické úpravy, ne redesign.
- Existující podoba psaná pro agenta (hromada parametrů, dlouhé runbooky)
model **ukotvuje** — upravuje, co vidí, místo aby navrhl jiné rozhraní.
- Plan mode u designu rozhraní nestačí: plánuje implementaci, ne podobu
rozhraní. Tu musí určit člověk.
## Princip
**Rozhraní navrhuje člověk, model implementuje.** LLM je nejsilnější v
dokódování těla funkce se zadaným podpisem — přebírání designu je jeho slabá
stránka.
## Postup
1. **Existující agent-runbook ani skripty nepoužívat jako základ** — jen jako
zdroj doménových faktů (co nástroj umí, jaké scénáře existují, jak se čeká
na konec testu). Strukturu ne. Začít v čistém adresáři.
2. **Tabulka scénář → příkaz** — člověk ručně napíše, co kdy spouští.
To je celý human-runbook; žádný postup kroků.
3. **Kostry skriptů píše člověk** — param block, komentáře po sekcích,
protokol čekání na dokončení (např. čekat na exit procesu, žádný polling).
Složitost je tím rozhodnutá předem.
4. **Model jen dokódovává těla** — zadání: „dokóduj těla, parametry
a strukturu neměň, nic nepřidávej.“ Review pak kontroluje jen implementaci,
ne design.
## Pravidla pro zadání
- Složitost zadávat **čísly, ne adjektivy**: max počet parametrů na skript,
max počet kroků, jeden skript = jeden scénář. Model na numerické limity
reaguje spolehlivě; na „simple" ne.
- Negativní omezení („žádné extra parametry") prosadit **v kódu kostry,
ne v promptu** — když param block má 3 parametry, model 15 nedoplní.
- Agent-runbook pro sebe si nechat vedle — převod „agent-runbook →
human-runbook" je cesta, kde se to pořád láme. Nejsou to stejný dokument.

View File

@@ -0,0 +1,54 @@
# Anotace v souborech místo chatu („mob with AI")
Zdroj: článek „Don't Chat With Your AI. Mob With It." (David Rodenas, Medium,
2026). Článek sám je slabý — argument o latenci (GPU sloty, uvolňování/
načítání inference) je nedoložený a nesedí; reálná latence je round-trip
klient↔server, sériovost kroků a opakovaný prefill. Analogie s mob
programmingem taky ne — v mobu píše jeden driver a víc lidí řídí, tady je to
obráceně. Jádro je ale použitelné.
## Co drží (jádro oddělené od balastu)
- **Instrukce patří tam, kde je předmět instrukce.** Tag na konkrétním řádku
dá kontext pozicí — agent nepotřebuje popis „v tom souboru, u té funkce".
Stejný princip jako TODO komentář / poznámka v code review.
- **Trvalost:** anotace nesedí v chatu, který se zavře — je v souboru, vidět
v diffu, přežije session.
- Není to o latenci ani paralelizaci. „Zrychlení" je ve skutečnosti **fronta**:
zadám a nejdu čekat. Round-trip se nezkrátil, jen u něj nestojím.
- Článek si protiřečí vlastním východiskem (DORA/TDD = rychlý feedback):
hromadné zadání a společný review na konci **prodlouží feedback loop pro
člověka**, ne pro agenta. „Hotovo dřív, než si všimnu" je z tohoto pohledu
špatná zpráva, ne dobrá.
## Mechanismus
Komunikace přes tagy přímo v souborech (autor: `[[CLAUDE: …]]` instrukce,
`[[DAVID: …]]` dotaz agenta). Pravidlo v CLAUDE.md: agent tagy hledá, provádí,
odpovídá. Autor tag po provedení maže — to je chyba.
## Úpravy oproti článku
- **Tag nemaže, jen připisuje odpověď pod něj** — vlákno zůstane v souboru
a v diffu; mazání je jen člověk, před commitem (grep na prefix).
- **Nespouštět agenta ve smyčce nad soubory** (autonomní reakce = ztráta
kontrolního bodu). Místo toho explicitní příkaz „projdi tagy a vyjádři se".
- **Max 12 tagy na kolo.** Deset tagů = deset změn ke společnému review =
nejasné, co odkud přišlo.
## Varianty kam dát vlákno
1. **Anotace jako komentáře v kódu** — nulová infrastruktura, funguje všude,
diff ukáže celou historii výměny. Nevýhoda: zaneřádí kód, hlídání ručně.
Dobré na krátké výměny u konkrétního místa.
2. **Vedlejší soubor** (`file.notes.md` vedle zdrojáku, odkaz na symbol,
ne na číslo řádku) — kód čistý, vlákna libovolně dlouhá, .gitignore.
Dobré na dlouho se vlečoucí věci.
## Otevřené otázky
- Korekce agentových odpovědí („odpověď chci přepsat") — chat to řeší tím,
že je mimo kód; anotace v souboru to nemají kde. Varianta 1 to řeší
nejlíp (přepis = nová verze vlákna na místě), ale je potřeba vyzkoušet.
- Vazba na symboly místo řádků u varianty 2 — jinak se odkazy rozbijí
při každém editu.