Konverzace se táhne. Jedno řešení jste už odmítli a vysvětlili proč, ale o deset zpráv později agent navrhne přesně totéž. První reakce je pochopitelná: všechno smazat a začít znovu.
Opakovaný návrh odmítnutého řešení je výrazný signál, ale ještě ne diagnóza. Z jedné odpovědi nelze poznat, že za to může nahromaděná konverzace. Stejně vypadá i situace, kdy si zadání protiřečí nebo agent pracuje s verzí souboru starou půl hodiny.
Podíváme se na tři příkazy, které pracují přímo s konverzací: /context ukazuje, co zabírá okno, /compact zkrátí historii do stručného shrnutí a /clear začne novou konverzaci. Zajímavější než jejich syntaxe je volba mezi nimi: co uložit předem, co zkontrolovat potom a jak poznat, že problém vůbec nesouvisí s objemem konverzace.
Nejdřív najděte problém
Než začnete něco zkracovat nebo mazat, rozlište čtyři situace. Navenek vypadají podobně, agent ve všech čtyřech "neslyší", ale každá vyžaduje jiný postup.
- Chybí vstupní informace. Pravidlo pro přidělení odměny nikdo neuvedl a v přečtených souborech také není. Zkrácení konverzace nevymyslí něco, co v ní nikdy nebylo. Chybějící informaci musíte dodat.
- Zastaralé informace. V konverzaci je obsah souboru přečteného před půlhodinou, ale na disku už vypadá jinak. Pomůže nové načtení, ne zkrácení.
- Rozporuplné zadání. V chatu zaznělo jedno, v uloženém zadání je napsáno něco jiného. Rozhodněte, který požadavek platí, a opravte zdroj. Soubor nemá automaticky pravdu jen proto, že je to soubor.
- Nahromaděný šum. Spousta odmítnutých variant, dlouhé výstupy příkazů, debata o souborech, které s úkolem nesouvisejí. Tady už práce s kontextem dává smysl.
Zaplnění okna není pátá položka tohoto seznamu ani vysvětlení každé chyby. Vysoké procento samo o sobě nedokazuje, že agent udělal chybu kvůli němu, a nízké zase neznamená, že je konverzace v pořádku. Pořadí kontroly je jednoduché: zadání, aktuálnost souborů, aktuálnost výstupů a teprve potom stav samotné konverzace.
Požádejte Claude Code, aby pojmenoval aktuální cíl úkolu, jeho omezení a soubory, o které se navržené řešení opírá. Odpověď porovnejte s tím, co vidíte sami. Pokud se objeví soubor, kterého se úkol netýká, nebo cíl zní jinak, než jste ho zadali, už víte, co opravit - a problém vůbec nemusí být v délce konverzace. Stejná otázka se hodí po zkrácení i na začátku nové konverzace.
Zkontrolujte zaplnění okna
Pokud podezření přece jen padlo na samotnou konverzaci, podívejte se na /context. Příkaz ukazuje, co zabírá okno, a rozděluje to do kategorií: systémová část, pokyny projektu, přečtené soubory a výstupy příkazů, zprávy a volné místo. Vy rozhodujete, které informace už úkol nepotřebuje. Příkaz nehodnotí význam přečteného a souhrnný řádek zpráv vám neřekne, který konkrétní soubor je navíc.
Neexistuje univerzální hranice typu "nad tolik a tolik procent je čas zkracovat". Velikost okna navíc závisí na modelu a nastavení. Sledujte jeho složení, ne procenta. A počítejte s tím, že zavření karty editoru samo o sobě neodstraní z konverzace to, co už bylo přečteno.
Pokračujte v úkolu po zkrácení
Příkaz /compact zkrátí historii do stručného shrnutí a zůstanete u stejného úkolu. Claude Code to dělá také automaticky, jak se okno plní. Ručně se proto příkaz spouští, když chcete zvolit okamžik (například před další velkou částí práce) a určit, na co se má zaměřit.
Hlavní omezení: zachová se shrnutí, ne celá konverzace. Na podrobnosti mimo shrnutí se nemůžete spoléhat, jako by stále byly v okně. A věta "zachovej tyto podmínky" nezaručuje úplné shrnutí - je to prosba, ne mechanismus.
Co uložit
Před příkazem si připravte krátkou poznámku k úkolu: cíl, hranice, přijatá rozhodnutí, ověřená fakta a další krok. Zabere to pár minut. Na rozdíl od vzpomínek na konverzaci lze poznámku porovnat se soubory a výstupy kontrol. Kvůli ní nemusíte vytvářet nový soubor, stačí existující dokument k úkolu.
Takhle vypadá stav cvičného úkolu s opakovaným přidělováním odměny. Jde o příklad, ne o zprávu o skutečně provedené kontrole:
Cíl: v jedné dokončené hře se odměna přidělí jednou; v nové hře ji lze přidělit znovu.
Hranice: src/reward-flow.js a stávající kontrola odměny; vzhled neměnit.
Potvrzeno: po prvním přidělení další kliknutí ve stejné hře znovu zvýší skóre.
Zdroj: záznam reprodukce a původní stav jsou uvedené v TASK_SPEC.md.
Odmítnuto: skrýt tlačítko bez opravy zpracování opakovaného kliknutí.
Další krok: zkontrolovat handler a navrhnout úpravu; oprava ani testy ještě nejsou hotové.Všimněte si posledního řádku. Potvrzená reprodukce a dokončená oprava jsou dvě různé věci a poznámka to musí jasně ukazovat. Jinak se po zkrácení "ověřili jsme to" snadno změní na "opravili jsme to". Dokument k úkolu je tu jen cvičný, nahraďte cestu svou.
Jakmile poznámku zkontrolujete, můžete zkrátit konverzaci s konkrétním zaměřením:
/compact Zaměř se na opravu opakovaného přidělení odměny. Zachovej cíl, hranice z TASK_SPEC.md, potvrzenou reprodukci, odmítnuté řešení a další krok. Uveď, že oprava ani testy ještě nejsou hotové.Co ověřit potom
Po zkrácení nepokračujte uprostřed věty. Nejdřív do konverzace vraťte informace, které musí být přesné, a položte kontrolní otázku:
Přečtěte TASK_SPEC.md a aktuální src/reward-flow.js. Stručně pojmenujte omezení a další krok. Pokud se shrnutí liší od souborů, popište rozdíl. Zatím kód neměňte.Odpověď porovnejte s poznámkou řádek po řádku, ne podle celkového dojmu. V našem příkladu jde o tři kontroly:
- u řádku "Další krok" nejsou oprava ani testy označené jako hotové;
- z části "Hranice" zůstává zákaz měnit vzhled;
- neztratila se podmínka nové hry z části "Cíl".
Agent to může formulovat po svém, to je v pořádku. Pokud nějaká podmínka chybí, vraťte ji ze zdroje ještě před úpravou. Kontrolujete tím stav konverzace, ne kód: takové ověření nedokazuje, že další úprava bude správná.
Zkrácení pracuje jen s historií konverzace. Nevrací změny v souborech a nenahrazuje Git. Kořenový soubor CLAUDE.md se načte znovu, takže pravidla projektu zůstanou, ale dočasný stav úkolu tam nepatří: řádek "právě opravuji přidělování odměny" tam zůstane i po dokončení úkolu. Informace, které agent po zkrácení uvede, se automaticky nestávají spolehlivými. Ověřte jejich zdroj: shrnutí, znovu načtený soubor nebo nové spuštění.
Začněte nový úkol
Příkaz /clear začne novou konverzaci bez předchozích zpráv. Soubory na disku i pokyny projektu zůstávají a může se použít také zapnutá automatická paměť, takže "od začátku" se tu týká konverzace. Předchozí rozhovor se nemaže, můžete se k němu vrátit pomocí /resume.
Snadno si ho spletete s claude --continue, přestože dělají přesný opak. /clear zadáte během relace, abyste opustili nahromaděnou historii. claude --continue zadáte v terminálu při spuštění a vrátíte se k poslední konverzaci v této složce i s celou její historií. Pokud byl problém právě v konverzaci, --continue vás vrátí přesně do ní.
Před vymazáním si uložte, co budete potřebovat dál: poznámku, důležité cesty a výstup kontroly. Nová konverzace potřebuje zadání, ne náznak - cíl, omezení a cesty. Konkrétní soubor můžete uvést pomocí @soubor. Jen pamatujte, že zmínka nasměruje čtení, ale neomezuje přístup k ostatním souborům.
Vyberte akci
Postup je krátký: zastavte se, položte kontrolní otázku a pokud není jasné, co zabírá okno, podívejte se na jeho zaplnění. Pak vyberte jednu akci a zkontrolujte výsledek. Počítat zprávy nemá smysl, důležité je složení konverzace a to, co chcete udělat dál.
| Situace | Akce a důvod |
|---|---|
| Agent nedostal pravidlo pro přidělení odměny | Dodejte pravidlo a soubor; zkrácení mezeru nedoplní |
| Odpověď vychází ze souboru, který se od té doby změnil | Požádejte o nové načtení aktuální verze; zkracovat není třeba |
V chatu jste se dohodli na jednom, v TASK_SPEC.md je zapsáno něco jiného | Rozhodněte, který požadavek platí, a opravte zdroj |
| Stejný úkol, mnoho odmítnutých variant, málo užitečného místa | Poznámka, /compact se zaměřením, kontrolní otázka |
| Po zkrácení zmizel zákaz upravovat sousední modul | Znovu načtěte zdroj omezení a před úpravou ověřte porozumění |
| Začíná samostatný úkol týkající se vzhledu | Uložte potřebný výsledek, spusťte /clear a zadejte nový úkol |
Co to změní při práci
Samotné tři příkazy nic neopraví. Změní se způsob, jakým vedete dlouhý úkol:
- u podivné odpovědi nejdřív zkontrolujete zadání a aktuálnost souborů, až potom samotnou konverzaci;
- před zkrácením nebo vymazáním máte poznámku ověřenou podle souborů a po zkrácení s ní odpověď porovnáváte řádek po řádku;
- nový úkol dostane vlastní zadání, ne zbytky předchozí konverzace.
Rozdíl ukazuje jediná žádost. Původně:
Zamotal ses, začněme znovu.Nově:
Teď je úkolem opravit opakované přidělování odměny v src/reward-flow.js.
Přečtěte TASK_SPEC.md, pojmenujte omezení a další krok. Kód zatím neměňte.Druhá formulace přináší ověřitelnou odpověď: omezení a další krok porovnáte se soubory a hned uvidíte případný rozpor. První repliku není s čím porovnat.
GO TO FULL VERSION