Protokol odpovede
Čo agent vygeneruje, v akom poradí, a čo jednotlivé časti vypína — špecifikované namiesto ponechané na vkus.
Každá odpoveď sa skladá z pevnej usporiadanej sady blokov, z ktorých každý má svoj vlastný spúšťač a svoj vlastný supresor. Špecifikovanie poradia odstraňuje jedno rozhodnutie z každej jednotlivej odpovede; špecifikovanie supresorov je to, čo bráni agentovi hovoriť popri žiadosti o stručnosť.
Problém
Agent, ktorý pri každej odpovedi nanovo rozhoduje o jej podobe, produkuje nekonzistentný výstup: niekedy zhrnutie, niekedy stenu textu, niekedy tri návrhy, o ktoré nikto nežiadal.
Nekonzistentnosť nie je len neupratanosť. Stojí čitateľa dekódovanie pri každej odpovedi — na čo sa to pozerám, je tam odporúčanie, kde je to číslo — a táto cena sa platí stokrát.
Naivná oprava, pevná šablóna, zlyháva opačným smerom: šablóna vygeneruje svoje bloky bez ohľadu na to, či sa hodia, a presne takto agent skončí pripájaním navrhovaných ďalších krokov k jednoslovnej faktickej odpovedi.
Návrh
Odpovede sa skladajú z usporiadanej sady blokov, z ktorých každý má spúšťač a supresor.
| Blok | Spustí sa keď | Potlačí ho |
|---|---|---|
| Hlavička | prvá odpoveď v relácii | nikdy |
| Pozdrav | nová relácia | nie je nová relácia |
| Odpoveď | vždy | nikdy |
| Rizikové upozornenie | nezvratný alebo závažný negatívny dopad | nič |
| Zdroje | rámec zmenil metódu | nezmenil |
| Ďalšie kroky | obchodná úloha alebo rozhodnutie | žiadosť o stručnosť, faktická otázka |
| Jednotlivý ďalší krok | audit, ladenie, plánovanie | žiadosť o stručnosť |
| Myšlienka | pozorovanie s vysokou hodnotou, obmedzené na reláciu | žiadosť o stručnosť, pod prahom |
Sada obsahuje 8 blokov. Prácu odvádzajú tri vlastnosti.
Poradie je pevné. Čitateľ sa naučí, kde čo je, iba raz. Odporúčanie je vždy na tom istom mieste, takže sa dá nájsť bez čítania všetkého nad ním.
Každý blok má explicitný spúšťač. Bloky sa nespúšťajú predvolene; spúšťajú sa na základe podmienky. Práve to bráni tomu, aby faktická otázka dostala plánovací aparát.
Brána potlačenia je napísaná raz, centrálne:
brief mode: omit suggestions, framing, sources, extras. Exceptions: risk flag, safety lens, anything the operator asked to always receive.
Supresory sú špecifikované a jeden blok ich nemá žiadne. Žiadosť o stručnosť odstráni návrhy, rámcovanie, zdroje a extra doplnky. Neodstráni rizikové upozornenie — pretože momenty, keď niekto žiada o rýchlosť, sú empiricky presne tie momenty, keď na varovaní najviac záleží.
Nikdy oba odporúčacie bloky naraz. Viaceré ďalšie kroky a jednotlivý ďalší krok sú alternatívy, a vygenerovanie oboch je spoľahlivým znakom, že protokol nebol aplikovaný.
Kompromisy
Špecifikácia je rigidná tam, kde by bol lepší vkus. Niektoré odpovede by pôsobili prirodzenejšie v inom poradí. Protokol vymieňa malé množstvo elegancie jednotlivej odpovede za predvídateľnosť naprieč stovkami odpovedí, čo je správna výmena pre nástroj používaný denne a nesprávna pre kus písaného textu.
Spúšťače sú úsudky prezlečené za pravidlá. Obchodná úloha a závažný negatívny dopad nie sú ostro definované. V praxi sú hraničné prípady zriedkavé a cena chybného úsudku je jeden zbytočný blok, čo je akceptovateľné.
Zoznam supresorov je tá časť, ktorá hnije. Každý nový blok prichádza so zjavným spúšťačom a nejasným supresorom, a o rok neskôr sa polovica blokov spúšťa častejšie, ako bolo zamýšľané.
Jedno slovo znamená tri veci. Stručne znamená vygeneruj v tomto protokole menej, neblokuj ma plánom v plánovacej bráne a neeskaluj uvažovanie v politike úsilia. Udržiavanie ich oddelene stojí odsek špecifikácie a zabraňuje tomu, aby zvíťazil ten nesprávny výklad.
Ako je blok špecifikovaný
Pridanie bloku do protokolu je operácia, ktorá sa najčastejšie pokazí, takže má svoj vlastný tvar. Každý blok je definovaný 5 poľami a blok, ktorému niektoré z nich chýba, sa do mesiaca bude správať zle.
názov · spustí sa keď — podmienka, nie pocit · potlačí ho — explicitný zoznam, alebo slovo nothing · pozícia — pevný index v poradí · limit — ako často sa môže objaviť na odpoveď a na reláciu
Pole limit je to, ktoré vyzerá zbytočne a nie je. Blok s dobrým spúšťačom a bez limitu sa spustí 3-krát v jednej odpovedi, keď sa kvalifikujú 3 veci, čo je technicky správne, ale pôsobí to ako šum. Blok myšlienky nesie limit 1 na odpoveď a 3 na reláciu presne z tohto dôvodu.
Pole pozícia zabraňuje jemnejšiemu zlyhaniu. Neskôr pridané bloky bývajú pripájané na koniec, takže časom najnovšie pridaný blok sedí najbližšie ku koncu — čo je miesto, kde je pozornosť čitateľa najnižšia, bez ohľadu na dôležitosť bloku. Explicitné priradenie pozície vynucuje otázku kam toto patrí namiesto predvoleného umiestnenia na koniec.
Zmeny sady ako celku sa riadia dvomi pravidlami.
Nový blok pomenúva, čo nahrádza alebo zužuje. Inak protokol rastie monotónne a odpoveď zostavená z 12 podmienených blokov je odpoveď, ktorú nikto nedokáže predvídať.
Brána potlačenia je centrálna, nikdy nie na úrovni jednotlivého bloku. Toto sa naučilo tou drahou cestou: ten istý supresor napísaný v 3 samostatných protokoloch sa v priebehu týždňov rozišiel a verzia, ktorá riadila najhlučnejší blok, bola tá, ktorá sa nikdy neaktualizovala. Jedna brána, jeden zoznam výnimiek, na ktorý sa odkazuje, nie ktorý sa kopíruje.
Čo sa pokazilo
Návrhy po žiadosti o stručnosť. Supresor existoval v jednom protokole a nie v ostatných dvoch, ktoré tiež generovali bloky. Opravené tak, že sa potlačenie stalo globálnou bránou s krátkym zverejneným zoznamom výnimiek, namiesto pravidla opakovaného pri každom bloku — opakovanie je to, čo spôsobuje rozchádzanie kópií.
Bezpečnostné upozornenie potlačené spolu so zvyškom. Brána sa aplikovala jednotne, čím sa odstránil presne ten blok, ktorý by sa nikdy nemal odstrániť. Opravené explicitným pomenovaním výnimiek namiesto spoliehania sa na úsudok.
Oba odporúčacie bloky v jednej odpovedi. Spoľahlivý príznak, že protokol nebol vôbec aplikovaný, a užitočný ako sebakontrola.
Prečo nenechať rozhodnutie na model
Zjavná námietka: schopný model dokáže posúdiť, čo odpoveď potrebuje, a pevný protokol mu v tom bráni.
To je pravda a je to výmena, ktorá sa robí. Tri dôvody, prečo je to tu správna voľba.
Konzistentnosť sa naprieč stovkami interakcií kumuluje. Čitateľ, ktorý sa naučil, kde sa nachádza odporúčanie, si šetrí dekódovanie pri každej jednej príležitosti. Mierne lepšie tvarovaná jednotlivá odpoveď sa vôbec nekumuluje.
Úsudok je pod záťažou nestabilný. Tvar odpovede sa mení v závislosti od dĺžky kontextu, časového tlaku a spôsobu formulácie žiadosti — pričom nič z toho by nemalo meniť, kde sa objaví varovanie. Protokol túto variabilitu odstraňuje zadarmo.
Potlačenie je časť, ktorú nemožno ponechať na úsudok. Agent, ktorý sa prípad od prípadu rozhoduje, či operátor chce extra doplnky, vyrieši nejednoznačnosť smerom k ich generovaniu, pretože generovanie je voľba, ktorá pôsobí nápomocne. Presne takto sa explicitná žiadosť o stručnosť obíde.
Miesto, kam úsudok skutočne patrí, je vnútri bloku, nie v tom, či sa objaví. Čo odpoveď hovorí, ako je riziko charakterizované, ktorý ďalší krok je odporúčaný — to všetko je úsudok. Rámec okolo toho je špecifikácia, a udržiavanie týchto dvoch oddelene je to, čo umožňuje, aby rámec bol nudný.
Súbory
Jeden súbor protokolu obsahujúci tabuľku blokov, poradie a globálnu bránu potlačenia s jej výnimkami. Podrobnosti jednotlivých blokov sú v samostatných súboroch načítaných pri spustení, takže vždy načítaná špecifikácia zostáva krátka.
Zoznam výnimiek je zámerne ťažké rozšíriť. Má 3 položky a pridanie štvrtej by malo pôsobiť ako rozhodnutie, nie ako úprava.
Pozri tiež
fn-what-briefly-switches-off · mixing-the-scales
$ head -12 the-response-protocol.md
$ cite the-response-protocol
Citation id SV-2178 is stable. It resolves at
https://stillvalid.dev/sk/c/SV-2178 even if this artifact moves to another section,
which a bare URL does not survive. The verification date is part of the citation on
purpose — this site says out loud when it last checked.
[Protokol odpovede](https://stillvalid.dev/sk/architecture/the-response-protocol) — stillvalid, SV-2178 (deep-dive, verified 2026-08-14)