Söhbət xeyli uzanıb. Həll variantlarından birini artıq rədd edib səbəbini izah etmisiniz, amma on mesaj sonra agent eynisini yenidən təklif edir. İlk ağla gələn fikir aydındır: hər şeyi silib yenidən başlamaq.

Rədd edilmiş həllin təkrarlanması diqqətəlayiq siqnaldır, amma hələ diaqnoz deyil. Tək bir cavaba əsasən səbəbin yığılıb qalmış söhbət olduğunu demək olmaz: tapşırığın təsviri ziddiyyətli olanda və ya agent yarım saat əvvəlki fayl versiyasına baxanda da eyni hal yaranır.

Söhbətin özü ilə işləyən üç əmri nəzərdən keçirək: /context kontekst pəncərəsinin nələrlə dolu olduğunu göstərir, /compact tarixçəni qısa xülasəyə çevirir, /clear isə yeni söhbət başladır. Əsas məsələ əmrlərin sintaksisi deyil, aralarından seçimdir: əvvəl nəyi saxlamaq, sonra nəyi tutuşdurmaq və problemin söhbətin həcmində olmadığını necə anlamaq.

Əvvəlcə problemi tapın

Nəyisə sıxmazdan və ya təmizləməzdən əvvəl dörd vəziyyəti bir-birindən ayırın. Kənardan oxşar görünürlər: dördündə də agent guya "eşitmir", amma hər birində fərqli addım lazımdır.

  • İlkin məlumat çatışmır. Mükafatın hansı qayda ilə hesablandığını heç kim deməyib, oxunan fayllarda da bu məlumat yoxdur. Söhbəti qısaltmaq orada olmayan məlumatı yaratmayacaq; çatışmayanı özünüz verməlisiniz.
  • Məlumat köhnəlib. Söhbətdə yarım saat əvvəl oxunmuş faylın məzmunu var, amma diskdəki versiya artıq başqadır. Sıxmaq yox, faylı yenidən oxumaq kömək edər.
  • Tapşırığın təsviri ziddiyyətlidir. Çatda bir şey deyilib, saxlanmış tapşırıq sənədində isə başqa. Hansı tələbin qüvvədə olduğuna özünüz qərar verin və mənbəni düzəldin. Sənəd sadəcə fayl olduğuna görə avtomatik olaraq haqlı sayılmır.
  • Söhbətdə artıq səs-küy yığılıb. Çoxlu rədd edilmiş variantlar, əmrlərin uzun çıxışları, tapşırığa aid olmayan faylların müzakirəsi. Məhz bu halda kontekstlə işləmək yerinə düşür.

Kontekst pəncərəsinin dolması bu siyahıda beşinci hal deyil və hər xətanın izahı da sayılmır. Faizin yüksək olması agentin buna görə səhv etdiyini sübut etmir, aşağı olması isə söhbətdə hər şeyin qaydasında olduğunu göstərmir. Yoxlama ardıcıllığı sadədir: tapşırığın təsviri, faylların aktuallığı, çıxışların aktuallığı və yalnız bundan sonra söhbətin vəziyyəti.

Yoxlama sualı

Claude Code-dan tapşırığın hazırkı məqsədini, məhdudiyyətlərini və təklif etdiyi həllin əsaslandığı faylları sadalamağı xahiş edin. Cavabı öz gördüklərinizlə tutuşdurun. Tapşırığa aid olmayan fayl ortaya çıxsa və ya məqsəd sizin qoyduğunuz kimi səslənməsə, artıq nəyi düzəltmək lazım olduğunu bilirsiniz; səbəb söhbətin həcmi də olmaya bilər. Eyni sual sıxılmadan sonra və yeni söhbətin əvvəlində də işə yarayacaq.

Kontekst pəncərəsinin doluluğuna baxın

Şübhə yenə də söhbətin özünə düşürsə, /context əmrindən istifadə edin. Əmr pəncərənin nələrlə dolu olduğunu kateqoriyalar üzrə göstərir: sistem hissəsi, layihə təlimatları, oxunmuş fayllar və əmrlərin çıxışı, yazışma, boş yer. Tapşırıq üçün hansı məlumatların artıq lazım olmadığına siz qərar verirsiniz. Əmr oxunanların mənasını qiymətləndirmir; ümumi mesaj sətri də məhz hansı faylın artıq olduğunu göstərməyəcək.

"Filan faizdən yuxarıdırsa, sıxmaq vaxtıdır" kimi universal hədd yoxdur; pəncərənin ölçüsü də modeldən və tənzimləmələrdən asılıdır. Faizə yox, tərkibə baxın. Nəzərə alın ki, redaktorda tabı bağlamaq söhbətdə artıq oxunmuş məlumatı silmir.

Sıxılmadan sonra tapşırığı davam etdirin

/compact əmri tarixçəni qısa xülasəyə çevirir, siz isə eyni tapşırıqda qalırsınız. Pəncərə dolduqca Claude Code bunu özü də edir. Əmri əl ilə sıxılma anını seçmək (məsələn, işin yeni böyük mərhələsindən əvvəl) və diqqəti müəyyən istiqamətə yönəltmək istəyəndə işə salırlar.

Əsas məhdudiyyət budur: söhbətin özü yox, xülasəsi qalır. Xülasəyə düşməyən təfərrüatları pəncərədə qalmış kimi qəbul etmək olmaz. "Filan şərtləri saxla" cümləsi də xülasənin tam olacağına zəmanət vermir; bu, xahişdir, mexanizm deyil.

Nələri saxlamaq lazımdır

Əmrdən əvvəl tapşırıq barədə qısa qeyd hazırlayın: məqsəd, sərhədlər, qəbul edilmiş qərarlar, yoxlanmış faktlar, növbəti addım. Bir neçə dəqiqə çəkər. Əvəzində qeydi, söhbət barədə xatirələrdən fərqli olaraq, fayllar və yoxlamaların çıxışı ilə tutuşdurmaq olar. Bunun üçün ayrıca fayl yaratmağa ehtiyac yoxdur, tapşırığın mövcud sənədi bəs edər.

Mükafatın təkrar hesablanması barədə təlim tapşırığının vəziyyəti belədir. Bu, nümunədir, aparılmış yoxlamanın hesabatı deyil:

Məqsəd: tamamlanmış bir raundda mükafat bir dəfə hesablanır; yeni raundda yenidən hesablana bilər.
Sərhədlər: src/reward-flow.js və mövcud mükafat yoxlaması; tərtibatı dəyişməyin.
Təsdiqlənib: ilk hesablamadan sonra həmin raundda düyməyə yenidən basmaq xalı yenə artırır.
Mənbə: təkrarlama qeydi və ilkin vəziyyət TASK_SPEC.md faylında göstərilib.
Rədd edilib: təkrar basılmanın işlənməsini düzəltmədən düyməni gizlətmək.
Növbəti addım: işləyicini yoxlayıb düzəliş təklif etmək; düzəliş və testlər hələ yerinə yetirilməyib.

Sonuncu sətrə diqqət yetirin. Təkrarlamanın təsdiqlənməsi ilə düzəlişin tamamlanması ayrı-ayrı şeylərdir. Qeyddə bu fərq görünməsə, sıxılmadan sonra "yoxladıq" asanlıqla "düzəltdik" kimi başa düşülə bilər. Buradakı tapşırıq sənədi təlim üçündür, yolu öz sənədinizlə əvəz edin.

Qeydi tutuşdurduqdan sonra fokusu göstərərək sıxmaq olar:

/compact Təkrar mükafat hesablanmasının düzəldilməsinə diqqət yetir. Məqsədi, TASK_SPEC.md faylındakı sərhədləri, təsdiqlənmiş təkrarlama addımlarını, rədd edilmiş həlli və növbəti addımı saxla. Düzəliş və testlərin hələ yerinə yetirilmədiyini qeyd et.

Sonra nəyi tutuşdurmalı

Sıxılmadan sonra cümlənin ortasından davam etməyin. Əvvəlcə dəqiq qalmalı olan məlumatı söhbətə qaytarın və yoxlama sualı verin:

TASK_SPEC.md və src/reward-flow.js faylının aktual versiyasını oxuyun. Məhdudiyyəti və növbəti addımı qısa şəkildə deyin. Xülasə fayllarla uyğun gəlmirsə, fərqi göstərin. Hələ kodu dəyişməyin.

Cavabı ümumi təəssürata görə yox, qeyddəki sətirlərlə tutuşdurun. Nümunəmizdə üç yoxlama var:

  • "Növbəti addım" sətrinə əsasən düzəliş və testlərin tamamlandığı iddia edilmir;
  • "Sərhədlər" bölməsində tərtibata toxunmamaq şərti qalır;
  • "Məqsəd" bölməsindəki yeni raund şərti itməyib.

Agent bunu başqa cür ifadə edə bilər, bu normaldır. Şərt itib? Düzəlişdən əvvəl onu mənbədən geri gətirin. Burada söhbətin vəziyyətini yoxlayırsınız, kodu yox; belə tutuşdurma növbəti düzəlişin düzgünlüyünü sübut etmir.

Sıxılma nə etmir

Sıxılma yalnız söhbət tarixçəsi ilə işləyir. Fayllardakı dəyişiklikləri geri qaytarmır və Git-i əvəz etmir. Kök qovluqdakı CLAUDE.md yenidən yüklənir, buna görə layihə qaydaları sıxılmadan sonra da qalır. Amma tapşırığın müvəqqəti vəziyyətini ora yazmaq olmaz: "indi mükafat hesablanmasını düzəldirəm" sətri tapşırıq bitəndən sonra da qalacaq. Agentin sıxılmadan sonra dediyi məlumatlar da avtomatik olaraq etibarlı sayılmır. Mənbəni dəqiqləşdirin: xülasə, yenidən oxunan fayl, yoxsa yeni işəsalma?

Yeni tapşırığa başlayın

/clear əmri əvvəlki yazışma olmadan yeni söhbət başladır. Diskdəki fayllar və layihə təlimatları qalır, aktiv avtomatik yaddaşdan da istifadə oluna bilər. Deməli, burada "sıfırdan" ifadəsi yazışmaya aiddir. Əvvəlki söhbət silinmir; /resume ilə ona qayıtmaq olar.

Bu əmri claude --continue ilə qarışdırmaq asandır, halbuki bunlar əks addımlardır. /clear yığılan tarixçədən ayrılmaq üçün sessiyanın daxilində yazılır. claude --continue isə həmin qovluğun son söhbətinə bütün tarixçəsi ilə qayıtmaq üçün terminalda, proqramı başladarkən yazılır. Problem məhz söhbət idisə, --continue sizi elə həmin söhbətə qaytaracaq.

Təmizləməzdən əvvəl sonra lazım olacaq məlumatı saxlayın: qeydi, gərəkli yolları, yoxlama çıxışını. Yeni söhbətə eyham yox, tapşırığın təsviri lazımdır: məqsəd, məhdudiyyətlər və yollar. Konkret faylı göstərmək üçün @fayl kömək edir, amma bu qeyd oxunuşu yönləndirir, digər fayllara girişi məhdudlaşdırmır.

Hansı addımı seçməli

Ardıcıllıq qısadır: dayanın, yoxlama sualı verin, pəncərənin nələrlə dolu olduğu aydın deyilsə, doluluğa baxın, bir addım seçin və nəticəni tutuşdurun. Mesajları saymağın faydası yoxdur; söhbətin tərkibinə və bundan sonra nə etmək istədiyinizə baxın.

VəziyyətAddım və səbəb
Agentə mükafatın hesablanma qaydası verilməyibQaydanı və faylı təqdim edin; sıxılma çatışmayan məlumatı verməyəcək
Cavab artıq dəyişmiş fayla əsaslanırAktual versiyanı yenidən oxumasını xahiş edin; sıxmağa ehtiyac yoxdur
Çatda bir şey razılaşdırılıb, TASK_SPEC.md faylında başqa şey yazılıbHansı tələbin qüvvədə olduğuna qərar verib mənbəni düzəldin
Eyni tapşırıqdır, çoxlu rədd edilmiş variant var, faydalı yer az qalıbQeyd hazırlayın, fokusu göstərərək /compact işlədin və yoxlama sualı verin
Sıxılmadan sonra qonşu modula toxunmamaq şərti itibMəhdudiyyətlərin mənbəyini yenidən oxuyub dəyişiklikdən əvvəl anlayışı yoxlayın
Tərtibatla bağlı müstəqil tapşırıq başlayırLazım olan nəticəni saxlayın, /clear işlədin və yeni tapşırıq verin

İş prosesində nə dəyişir

Bu üç əmr öz-özlüyündə heç nəyi düzəltmir. Dəyişən uzun tapşırığı necə idarə etməyinizdir:

  • qəribə cavab əvvəlcə tapşırığın təsvirinə və faylların aktuallığına, yalnız sonra söhbətə yönəldir;
  • sıxmazdan və ya təmizləməzdən əvvəl fayllarla tutuşdurulmuş qeyd olur, sıxılmadan sonra isə cavab qeyddəki sətirlərlə yoxlanır;
  • yeni tapşırıq əvvəlki söhbətin qalıqları yox, öz təsviri ilə başlayır.

Fərqi bir xahiş nümunəsində görmək olar. Əvvəl belə idi:

Çaşmısan, gəl yenidən başlayaq.

İndi isə:

Hazırkı tapşırıq src/reward-flow.js faylında mükafatın təkrar hesablanmasını düzəltməkdir.
TASK_SPEC.md faylını oxuyun, məhdudiyyəti və növbəti addımı deyin. Hələ kodu dəyişməyin.

İkinci ifadəyə yoxlanıla bilən cavab gəlir: göstərilən məhdudiyyəti və addımı fayllarla tutuşdurub uyğunsuzluğu dərhal görürsünüz. Birinci replikada isə tutuşdurmağa heç nə yoxdur.