Krátka verzia
- Päť týždňov som svojho kódovacieho agenta prevádzkoval v rozdelenom režime: hlavný model, Opus a neskôr Fable, číta, rozhoduje a kontroluje, a pracovný agent píše kód z písomného zadania. Nazývam to vzor architekta a dnes je to verejný skill: architect-skill na GitHube , licencia MIT.
- Hlavný model prestal písať. Za 49 architektových sessions upravil zdrojový súbor 6-krát v 1 467 promptoch. V 275 bežných sessions za tie isté týždne upravil 244 súborov v 3 081 promptoch. To je 0,4 proti 7,9 na 100 promptov.
- Celkový počet tokenov na prompt neklesol. Dva týždne rástol, výrazne, potom sa vrátil tam, kde sú bežné sessions. Zmenilo sa to, kto ich minul: podiel Opusu na tokenoch pracovníkov klesol zo 100 % na približne 4 % a od 14. septembra stojí prompt v architektovej session 364 tis. vážených tokenov na hlavnom modeli, 205 tis. na Sonnet pracovníkoch a 80 tis. na Opus pracovníkoch.
- Práve toto rozdelenie je to, na čom predplatnému záleží. Claude Max meria svoj týždenný limit pre všetky modely sadzbou každého modelu, takže Sonnet token ho čerpá na 40 % toho, čo token Opusu, a Fable má vlastný, prísnejší týždenný limit, ktorého sa žiadny pracovník nedotkne.
- Skúsil som tiež smerovať pracovníkov na DeepSeek cez headless Claude Code. Pri katalógových cenách tá istá prevádzka stála 10 $ namiesto 202 $ na Sonnete alebo 505 $ na Opuse. Pri predplatnom tá úspora neexistuje, pretože predplatné je už zaplatené. Zrušil som to. Ak platíte za token, aj tak si prečítajte tú sekciu, pretože práve čísla sú pointa.
Toto je tretí príspevok zo série. Prvý meral, čo jedna voľba urobila s kontextovým oknom, o 17 % menej tokenov , a druhý vysvetľuje, koľko stojí kontextové okno a prečo. Tento je o tej druhej páke: nie o tom, aký veľký je kontext, ale ktorý model ho drží.
Čo je ten vzor
Session kódovacieho agenta robí dva druhy práce. Myslí: číta kódovú základňu, zisťuje, čo zmeniť, rozhoduje o názvoch, signatúrach a okrajových prípadoch, kontroluje diff. A píše: píše kód, spúšťa testovací súbor, opravuje lint. Práve myslenie je to, za čo si špičkový model zaslúži svoju cenu. Písanie nie. Väčšinu z neho určuje rozhodnutie, ktoré prišlo predtým, a menší model vykoná rozhodnutý plán približne rovnako dobre ako veľký.
Skill preto session rozdeľuje. Hlavný model je architekt. V hlavnej slučke robí všetko okrem úpravy zdrojového súboru:
- Vypočuje požiadavku a preskúma kódovú základňu.
- Robí návrhové rozhodnutia: prístup, tok dát, názvy, signatúry, okrajové prípady. Najbližší existujúci vzor, ktorý treba napodobniť. Najmenšiu zmenu, ktorá rieši koreňovú príčinu.
- Rozkladá prácu na diely, ktoré vlastnia disjunktné množiny súborov.
- Píše jedno implementačné zadanie na diel.
- Kontroluje vrátený diff, spúšťa gate-y, commitne.
Pracovník je subagent s čerstvým kontextovým oknom. Dostane zadanie a nič iné, napíše kód, spustí testovacie súbory, ktoré zadanie vymenúva, a vráti krátku štruktúrovanú správu. Potom sa jeho kontext zahodí. Nikdy sa nestane súčasťou histórie hlavnej session, čo je dôležitejšie, než to znie: všetko, čo hlavná session prečíta, sa posiela znova pri každom ďalšom volaní, takže pracovník, ktorý vo svojom vlastnom kontexte prečíta dvanásť súborov a testovací log, drží to všetko mimo architektovho účtu.
Zadanie je celá zmluva. Moje má sedem polí a skill je väčšinou o tom, ako ich dobre vyplniť:
## Implementačné zadanie: <diel>
Cieľ: jedna veta, pozorovateľný výsledok
Kontext: čo našlo skúmanie: výňatky, vzor na napodobnenie, ukotvenia riadkov, úskalia
Súbory: cesty na vytvorenie/úpravu, výhradné vlastníctvo pre tento diel
Návrh: rozhodnutý prístup: tok dát, názvy, signatúry, okrajové prípady
Obmedzenia: platné pravidlá projektu: štýl, vrstvy, bezpečnosť
Mimo rozsahu: čoho sa nedotýkať, vrátane súborov, ktoré vlastnia iné diely
Overenie: presné príkazy a očakávaný výsledok
Zadanie obsahuje rozhodnutia, nie možnosti. Ak ešte stále vážim dva prístupy, nie som pripravený delegovať.
Existuje jedna výnimka. Delegovanie má fixnú réžiu: napísanie zadania, štart pracovníka, čítanie správy, kontrola diffu. Oprava preklepu, hodnota v konfigurácii, zvýšenie verzie, zmazanie mŕtveho kľúča, jednoriadková oprava a jej regresný test: tie architekt upravuje priamo, pretože zadanie by stálo viac než samotná úprava. Kritériom sú náklady, nie počet riadkov. Vo chvíli, keď úprava potrebuje návrhový úsudok alebo sa dotýka cesty, ktorú repo označuje ako kritickú, ide k pracovníkovi.
Prečo predplatné mení aritmetiku
Ak platíte za token, je to jednoduché. Opus 5 je v cenníku za 5 $ za milión vstupných tokenov a 25 $ za milión výstupných; Sonnet 5 za 2 $ a 10 $. Každý token implementácie, ktorý sa presunie z Opusu na Sonnet, stojí 40 % toho, čo predtým.
Platím predplatné a tam je situácia iná a, myslím, silnejšia. Claude Max má dva týždenné limity, nie jeden: limit naprieč všetkými modelmi, ktorý čerpá každý token podľa sadzby daného modelu, a samostatný, prísnejší limit, ktorý čerpá len Fable. Opus nemá vlastný limit. To dáva rozdeleniu dva efekty. Práca, ktorú vykoná Sonnet pracovník, čerpá spoločný limit na 40 % sadzby, akú by mal Opus pracovník, takže presun dvoch tretín tokenov session na Sonnet predĺži týždeň, aj keď celkový počet tokenov zostane rovnaký. A keď je architektom Fable, každý token, ktorý neminie na písanie, je token, ktorý zostáva na limite, ktorý sa vyčerpá ako prvý. Takže aj keby vzor architekta minul presne rovnaký počet tokenov ako bežná session, to, kto ich minie, by stále rozhodovalo o tom, kedy sa týždeň skončí.
Ukázalo sa, že to „aj keby“ nesie veľkú váhu.
Čo hovoria prepisy
Claude Code zapisuje každú session do JSONL prepisu a každé spustenie pracovníka do súrodeneckého súboru v adresári session. Mám ich všetky od 19. augusta: 324 interaktívnych sessions s tromi a viac promptami, z toho 49 použilo ten vzor, teda spustilo implementačného agenta alebo mu poslalo zadanie. Tokeny sú vážené tak ako účet: čerstvý vstup 1, zápisy do cache 1,25 alebo 2, čítania z cache 0,1. CI behy sú vylúčené.
Čítajte zľava doprava a prvé dva týždne nie sú úspešným príbehom.
V týždni 24. augusta stála architektova session 1,40 mil. vážených tokenov na prompt. Bežné sessions v tom istom týždni stáli 0,42 mil. Tri a pol krát viac, a takmer celý prebytok bol oranžový: Opus pracovníci. Dal som pracovníkom dobrý model a žiadne pravidlá a správali sa ako dobrý model bez pravidiel. Medián behu Opus pracovníka bol v tom týždni 176 ťahov. Niekoľko z nich spustilo celú testovaciu sadu backendu, čo do kontextu vloží približne 100 KB výstupu, ktorý sa znova posiela pri každom ďalšom ťahu. Jedna session so šiestimi pracovníkmi zo 14. septembra, keď som už začal veci sprísňovať, spálila 245 mil. vstupných tokenov za 1 585 ťahov, aby vyprodukovala asi šesťtisíc riadkov diffu. Prompt cache fungovala celý čas s 91,6 % zásahov. Na účte bol objem, nie cena.
Pás pracovníkov ukazuje, kde pravidlá zabrali. Väčšinu práce urobili tri z nich a napísal som ich do definícií agentov, nie do zadania, takže platia bez ohľadu na to, či si spomeniem:
- Pracovník nikdy nespúšťa celú testovaciu sadu. Spúšťa testovacie súbory, ktoré vymenúva jeho zadanie. Gate-y spúšťa architekt.
maxTurnsje v definícii agenta obmedzené, 140 pre Sonnet a 160 pre Opus. Diel, ktorý potrebuje 250 ťahov, bol zadefinovaný nesprávne.- Diel zostáva pod približne dvanástimi súbormi a zadanie pod približne 8 KB. Zadanie sa tiež posiela znova pri každom ťahu.
V týždni 31. augusta bol medián behu pracovníka 57 ťahov a 0,8 mil. vážených tokenov. Od 14. septembra, keď som predvolenú trasu presunul na Sonnet, to bolo 40 ťahov a 0,6 mil. a odvtedy žiadny pracovník nespustil celú sadu.
Celkový počet na prompt nasledoval: 711 tis., 425 tis., 684 tis., 483 tis. za posledné štyri týždne, proti bežným sessions s 505 tis., 425 tis., 318 tis., 431 tis. Architektove sessions teraz stoja približne toľko čo bežné sessions. Mierne viac v dvoch zo štyroch týždňov, mierne menej v jednom. To, čo za to kupujú, ukazujú nasledujúce dva grafy.
Hlavný model prestal písať
Toto je číslo, ktoré som si dal za cieľ zmeniť, a zmenilo sa. V bežných sessions hlavný model vykonal 244 volaní Edit alebo Write na zdrojové súbory v 3 081 promptoch. V architektových sessions 6 v 1 467. Tých 6 sú všetko výnimky pre malé úpravy, ktoré viem zdôvodniť.
Pracovníci boli medzitým produktívni. 85 behov pracovníkov urobilo 2 510 úprav zdrojových súborov. Ak spočítame hlavnú slučku a pracovníkov, architektova session vyprodukovala 2 516 úprav kódu z 1 467 promptov; bežné sessions 943 z 3 081. Na jednu úpravu kódu architektova session minula 403 tis. vážených tokenov celkovo a 330 tis. na modeli z rodiny Opus. Bežná session minula 1 410 tis. a 1 324 tis. Pri tom porovnaní chcem byť opatrný, pretože tieto dve populácie nie sú tá istá práca: session sa klasifikuje ako architektova na základe delegovania kódu, takže architektove sessions sú konštrukčne nabité kódovaním, a bežné sessions zahŕňajú prieskum, recenzie a ladenie, ktoré nič needitujú. Čítajte to ako „ten vzor dokáže napísať veľa kódu na token“, nie ako tvrdenie o štvornásobnej efektivite.
Čistejšie tvrdenie je rozdelenie podľa modelov. Od 14. septembra stojí prompt v architektovej session 364 tis. vážených tokenov v hlavnej slučke, 205 tis. v Sonnet pracovníkoch a 80 tis. v Opus pracovníkoch. Podiel Opus pracovníkov na všetkých tokenoch pracovníkov bol v auguste 100 % a v týždni 21. septembra približne 4 %. Na pláne Max to znamená, že spoločný týždenný limit sa takmer pri celej implementačnej práci čerpá sadzbou Sonnetu namiesto sadzby Opusu a žiadna časť sa nedotýka limitu Fable.
Dve veci sa nezlepšili a radšej to poviem, než aby to grafy naznačovali opak. Vlastný kontext hlavnej session sa nezmenšil: architektove sessions kompaktovali 8,7-krát na 100 promptov proti 4,7 pri bežných sessions, pretože architekt pred zadávaním veľa číta. A vzor je pri malých úlohách pomalší v reálnom čase, pretože štart pracovníka a jeho správa sú minúty, ktoré neplatíte, keď úpravu jednoducho urobíte sami. Výnimka pre malé úpravy existuje preto, lebo prvá verzia skillu žiadnu nemala, a sledoval som, ako píšem 3 KB zadanie na dvojriadkovú zmenu.
Obchádzka cez DeepSeek
Keď boli pracovníci na Sonnete, ďalšia očividná otázka bola, či to vôbec musí byť model Claude. Od 13. do 18. septembra som pracovníka nasmeroval na DeepSeek V4.1 Flash cez headless Claude Code s ANTHROPIC_BASE_URL nastavenou na kompatibilný endpoint, najprv cez OpenRouter a potom natívne. Rovnaký formát zadania, rovnaký formát správy, rovnaký architekt. 2 732 volaní, 431 mil. vstupných tokenov, z toho 88 % čítania z cache, 1,7 mil. výstupných tokenov.
Pri katalógových cenách z 22. septembra táto prevádzka stojí približne 10 $ na DeepSeeku mimo špičky, 21 $ v špičke, 202 $ cez Sonnet API a 505 $ cez Opus API. Keby som platil za token, toto by bol titulok príspevku a nechal by som to tak.
Nepočítam za token, a to je celý argument. Predplatné Max je 100 $ mesačne bez ohľadu na to, či využijem 30 % týždenného limitu alebo 100 %. Presun prevádzky pracovníkov na DeepSeek neznížil ten účet ani o cent. Pridal k nemu druhý účet 10 až 21 $ týždenne, aby ušetril kapacitu na pláne, ktorého kapacitu som už zaplatil. Pomýlil som si „lacnejšie než API“ s „lacnejšie než to, čo platím“, a to nie je to isté, keď je to, čo platíte, paušálne. Správne porovnanie pre predplatiteľa je DeepSeek proti druhému predplatnému, a tam druhý plán Claude alebo plán ChatGPT s Codexom stojí približne toľko ako mesiac mierneho používania DeepSeeku a prináša vlastný týždenný limit, vlastný model a žiadne meranie, ktoré treba strážiť.
Kvalita bola druhá polovica. Päť backendových dielov sa vrátilo čistých a boli commitnuté tak, ako boli. Jeden frontendový diel odstránil exportovaný symbol a nechal všetkých jeho konzumentov nedotknutých, takže strom sa nekompiloval a neskorší diel to musel upratať. To je presne zlyhanie, ktoré má model vykonávajúci špecifikáciu a nemá ho model, ktorý si tvar komponentu odvodzuje od jeho súrodencov, a skill to teraz hovorí: zmeny zdieľaného API povrchu idú na Sonnet a pravidlo pre pracovníka znie „nikdy neodstraňuj ani nepremenúvaj exportovaný symbol bez migrácie všetkých konzumentov v tom istom behu“. DeepSeek Flash je dobrý vykonávateľ. Vzor architekta potrebuje pracovníka, ktorý si všimne, keď zadanie podcenilo počet konzumentov, a to je jediná vec, ktorú zadanie nedokáže poskytnúť.
Takže smerovacia tabuľka má dnes dva riadky. Rutinná práca, backendová práca podľa podrobného zadania s testami, ktoré treba splniť, frontendová práca, ktorá nasleduje existujúcu dizajnovú gramatiku, a akákoľvek zmena zdieľaného API povrchu idú na sonnet-implementer. Práca, ktorej obtiažnosť je v uvažovaní, ide na opus-implementer: asynchrónny race, refaktoring na viacerých miestach, ktorého správnosť závisí od miest, ktoré zadanie nedokáže vymenovať, backfill migrácia, ktorú nepreukáže žiadny jednotlivý test. Smerujte podľa tvaru, nikdy podľa rizika. Riziko mení to, ako tvrdo sa diff kontroluje a či ho podpíše človek. Nikdy nemení to, kto ho píše.
Slučka kontroly, v ktorej vzor buď zarobí, alebo stratí
Správa pracovníka je tvrdenie. Kontrolná slučka skillu je krátka a každý riadok vznikol z toho, že ma to popálilo:
- Prečítajte si správu a skutočný
git diff. Skontrolujte diffstat, ktorý pracovník uvádza, proti tomu, ktorý vidíte. - Keď na tvrdení záleží, spustite kľúčové overenie sami.
- Našli ste problém? Pošlite opravu tomu istému pracovníkovi. Ešte má svoj kontext a nadviaže tam, kde skončil. Neopravujte to ručne, nespúšťajte nového.
- Dve neúspešné opravy znamenajú, že zadanie bolo nedostatočne špecifikované, nie že model je primalý. Rozložte to, vložte chýbajúci výňatok do Kontextu, spustite znova. Neprechádzajte na väčší model, pretože ten istý omyl vykoná plynulejšie.
- Pred prijatím čohokoľvek spustite obmedzené gate-y: dotknuté testy, linter na dotknutých súboroch, akýkoľvek konvenčný skript, ktorý repo nesie.
V prepisoch som poslal približne jednu opravu na beh pracovníka, 52 na 85 behov, a 7 behov Opusu narazilo na svoj limit 160 ťahov, každý na dieli, ktorý by som dnes rozdelil. To sú tie dve čísla, ktoré sledujem. Ak počet opráv na beh rastie, moje zadania začínajú byť lenivé. Ak pracovníci narážajú na limit, moje diely sú príliš veľké.
Čo si z toho vziať
Ak platíte za token: dajte drahý model na rozhodnutia a kontrolu, lacný na implementáciu a predtým, než si vyberiete ten lacný, ocenite prevádzku pracovníkov podľa cenníka. Argumentom je ten graf so štyrmi stĺpcami.
Ak platíte predplatné: vzor neznižuje počet vašich tokenov. Presúva implementačné tokeny na model, ktorý čerpá spoločný týždenný limit najpomalšie, necháva limit Fable na prácu, ktorú má robiť len Fable, a zastavuje to, aby váš najdrahší model míňal svoje ťahy na písanie. Nepridávajte bokom merané API, aby ste „ušetrili“ kapacitu, ktorú ste už kúpili. Ak vám dôjde kapacita pracovníkov, kúpte si druhé predplatné.
V oboch prípadoch boli pravidlá, ktoré to rozbehli, tie nudné. Žiadne celé testovacie sady v pracovníkovi. Obmedzené ťahy. Malé diely, krátke zadania. Opravte toho istého pracovníka raz, potom opravte zadanie.
Skill, tri definície agentov a strážny hook sú na github.com/LivinTribunal/architect-skill pod licenciou MIT. Sprievodný skill, ktorý pracovníkovi hovorí, ako písať kód, ktorý sedí do repa, do ktorého sa dostane, je grain-skill , a príspevok o ňom je kód po vlákne .
Metodika
Všetko, čo príspevok opisuje, je na github.com/LivinTribunal/architect-skill : samotný skill, šablóna zadania, smerovacia tabuľka, tri definície implementačných agentov s ich limitmi ťahov a kontextovými pravidlami a strážny hook. Nainštalujte si to a máte nastavenie, z ktorého vzišli čísla nižšie.
Sessions sú JSONL prepisy Claude Code od 19. augusta do 22. septembra 2026, entrypoint cli, tri a viac používateľských promptov. Session sa klasifikuje ako architektova, ak spustila opus-implementer, opus-implementer-xhigh alebo sonnet-implementer, spustila pracovníka ds-slice, zavolala skill architekta alebo poslala správu obsahujúcu implementačné zadanie agentovi na všeobecné použitie, čo je spôsob, akým fungovali prvé týždne, kým neexistovali pomenovaní agenti. Behy pracovníkov sú prepisy subagentov v adresári každej session. Použitie je deduplikované podľa request id a vážené: čerstvý vstup 1, päťminútový zápis do cache 1,25, hodinový zápis do cache 2, čítanie z cache 0,1. „Úprava kódu“ je volanie Edit alebo Write na .py, .ts, .tsx, .js, .sql alebo podobný zdrojový súbor, okrem markdownu a čohokoľvek pod ~/.claude. Ceny DeepSeeku sú natívne katalógové ceny z 22. septembra 2026, mimo špičky a v špičke, pričom čítania z cache sú za sadzbu zásahov do cache a zápisy do cache sú ocenené ako čerstvý vstup; ceny Claude API sú zverejnené katalógové ceny Opus 5 a Sonnet 5 s čítaniami z cache za desatinu vstupu. Týždeň 21. septembra sú dva dni údajov.

