Modul tuzilishi
AI ahmoqlashmaydi. Uning diqqati tugaydi.
«AI nimani ko'rmoqda — va nimani unutib qo'ydi»Bu texnika kursdagi eng foydalisidir. Lekin qaror o‘zingizga bog‘liq. Bitta ko‘nikma: agentning context'ida nima borligini, nimani allaqachon yo‘qotganini va nimani qo‘shish kerakligini ko‘rish. Buni bilmasangiz, Claude Code uchinchi soatga kelib folbinga aylanadi.
Hook — nima uchun kuchli AI kechga borib ahmoqlashadi.Nega kuchli AI kechqurun ahmoqlashadi
Ertalab siz claude ni ~/mars/src/ da ochdingiz. G‘oya — bildirishnomalar routerini qayta yozish. Ertalab hamma narsa silliq kechdi: agent 12 ta faylni o‘qidi, kerakli modulni topdi, reja taklif qildi. Siz rozi bo‘ldingiz. U bajardi. Testlar yashil.
Keyin siz o‘sha chatda qoldingiz. Ikkinchi vazifani qo‘shdingiz. Uchinchisini. Peshin payti — migratsiyalarni refaktor qilish. Soat beshga kelib — sales-voronka'ning yana bir qismini muhokama qildik.
Kechki yettida “ertalab o‘tkazgan testlarni ishga tushir” deb so‘radingiz. Va u mutlaqo boshqa faylni qayta yozishni boshladi. Ertalab nima qaror qilganingizni eslamaydi. Ishonch bilan devorga qarab ketyapti.
Bu xato emas. Bu “model charchadi” degani emas. Bu context rot — va bu operator o‘rganadigan birinchi narsa.
Men tekshiradigan uchta ko‘nikma
- Ishga tushirish
/compactagent uzoq sessiyada gallyutsinatsiya qilishni boshlashidan oldin – taymer boʻyicha emas, balki kuzatilgan signallar boʻyicha. - Delegatsiya qilish
ExploreyokiPlansub-agent (built-in yoki oʻzingizniki/agentsorqali), vazifa fayllarni tahrirlashni emas, balki tadqiq qilishni talab qilganda. - Nima survives
/compact, nima yoʻq , va nima uchun project-rootCLAUDE.mduzoq sessiya uchun yagona ishonchli qoidalar tashuvchisi ekanligini tushuntirish.
Mental model — context window ishchi xotira sifatida.Context window — bu working memory
Modulning asosiy gʻoyasi: agentning cheklangan diqqat byudjeti bor. Keling, u qanday sarflanishini, nega kechga borib agent «ahmoqlashib» qolishini va buni davolaydigan uchta usulni koʻrib chiqamiz.
1. Diqqat – bu byudjet, javon emas
Modelda diqqat byudjeti bor – insonnikidek cheklangan. Har bir yangi token (soʻz, belgi, kod qismi) – bu byudjetdan chegirish. 200 000 token bersangiz – diqqat hamma joyga yoyilib ketadi. 10 000 kerakli token bersangiz – diqqat jamlangan boʻladi. Koʻproq context ≠ yaxshiroq.
Oynadagi matn qancha koʻp boʻlsa, har bir soʻzning qolgan barcha soʻzlar bilan aloqani saqlashi shunchalik qiyin boʻladi – diqqat tarqalib ketadi. Muhim: bu maʼlum bir raqamda uzilish emas, balki silliq xiralashish.
2. Context rot – «unutgan» emas, «xiralashgan»
Buning nomi bor – context rot («contextning chirishi»): oynada qancha koʻp token boʻlsa, agent ulardan keraklisini shunchalik yomon oladi. Bu maʼlum bir modelning xatosi emas, balki umumiy xususiyatdir – u «qattiqroq prompt» bilan emas, balki keyingi boʻlimdagi usullar bilan davolanadi.
Operator qoidasi: agar siz konvensiya buzilishini, ortiqcha Read'larni yoki «ishonchli bema'nilikni» payqasangiz — bu prompt'ni qattiqroq yozishga sabab emas. Bu keyingi bo'limdagi texnikani qo'llash uchun signal.
3. Samarali kontekst anatomiyasi — oynada nimalarni saqlash kerak?
Bir jumla bilan ta'rif: yaxshi kontekst — bu kerakli tokenlarning minimal to'plami, bu kerakli natijani olish uchun maksimal imkoniyat beradi. «Ko'proq kontekst» emas, balki kamroq shovqin va ko'proq zichlik.
Oltin o'rtalik — ikki chekka o'rtasida: juda qattiq «har bir holat uchun» qoidalar (mo'rt, yangisida buziladi) va juda umumiy «o'zing top» (agent taxmin qiladi). O'rtada bo'lishi kerak: tekshirish mumkin bo'ladigan darajada aniq va agent o'ylashi uchun yetarli darajada moslashuvchan.
Operator uchun bu shuni anglatadi: CLAUDE.md — bu «loyiham haqida bilganlarimning hammasi» emas. Bu aniq qoidalar to'plami bo'lib, ularning har birini diff orqali qo'llanilganligini tekshirishingiz mumkin. Agar qoidani tekshirib bo'lmasa — u kontekstda bekorga joy egallaydi.
Uchta texnika long-horizon Anthropic blogidan.Uzun masofa uchun uchta texnika
Bu modulning yuragi. Bitta oynaga sig'maydigan vazifalar uchun uchta usul — har birining Claude Code'da o'z buyrug'i bor. «Usul → buyruq» juftliklarida o'rganing.
Dialog'ni siqing, ma'nosini qoldiring
Oynaning chegarasidagi uzun chatni olamiz, umumlashtiramiz, yangi oynani ushbu xulosadan boshlaymiz. Claude Code'da — buyruq /compact.
Eslatmalarni diskka yozing
Agent yoki siz NOTES.md / todo-list kontekstdan tashqarida yozasiz. Kerak bo'lganda qayta yuklanadi. Bu agentic memory.
Vazifani toza oynaga delegatsiya qiling
Sub-agent o'zining context window'sida ishlaydi, o'z oynasida 15 ta faylni o'qiydi, main'ga faqat siqilgan summary (1-2K token) qaytaradi.
Compaction — /compact Claude Code'da
/compact sessiya tarixini siqadi: model dialogni o'zi qayta hikoya qilib, muhimlarini qoldiradi va keraksizlarini tashlab yuboradi. Nimalar saqlanadi: arxitektura yechimlari, hal qilinmagan buglar, muhim detallar + oxirgi 5 ta o'qilgan fayl. Nimalar tashlab yuboriladi: ortiqcha buyruq natijalari, takrorlanuvchi xabarlar.
Yana bir muhim fakt Claude Code docs (docs/04-claude-code-memory.md): project-root CLAUDE.md survives compactiondan. /compactdan keyin Claude uni diskdan qayta o'qiydi va sessiyaga qayta inject qiladi. Bu degani:
/compactCLAUDE.md (diskdan re-injected — yagona tasdiqlangan survivor docs bo'yicha)~/.claude/CLAUDE.md va subdirectoriesdagi nested CLAUDE.md fayllari avtomatik ravishda yuklanadi Claude Code tomonidan ishga tushirilganda, lekin bu boshqa mexanika, /compact'ning survivor'i emasAmaliy natija. Agar uzoq sessiya davomida agentga “mana bu funksiyaga hech qachon tegma” degan bo'lsang — /compactdan keyin bu yo'qoladi. Agar saqlanib qolishini istasang — CLAUDE.mdga /memory buyrug'i orqali yozib qo'y (eski #-shortcut Anthropic Academy lesson 9da eskirgan deb e'lon qilindi).
$ /compact ⠋ Summarizing conversation… ⠙ Preserving: 3 architectural decisions, 2 open bugs, recent file edits ⠹ Discarding: 28 stale tool outputs, 41 redundant turns ✓ compacted 142k → 18k tokens (-87%) ✓ CLAUDE.md re-injected from disk /Users/rus/mars/src/CLAUDE.md ✓ 5 recent files kept in context src/notify/router.py src/notify/handlers.py src/notify/__init__.py tests/test_notify.py CLAUDE.md › davom etishimiz mumkin. keyingisi nima?
Structured note-taking — NOTES.md va agentic memory
Bu diskdagi xotira, oynadagi emas. Oddiy pattern: agent NOTES.mdni kontekstdan tashqarida olib boradi. Uzun vazifa — progressni yozib qo'ydi; yangi sessiya — NOTES.mdni o'qidi, davom ettirdi. Sessiyalar orasidagi kontekst qayta hikoya qilishga sarflanmaydi.
Claude Codeda bu allaqachon ishlaydigan uchta amaliy joy (hech narsa sozlash shart emas):
NOTES.md repozitoriyaning ildizida (sen qo'lda yuritasan yoki agentdan so'raysan)CLAUDE.mdga /memory/memory — u darhol oynada paydo boʻladi, /compact siqilishdan keyin ham saqlanib qoladi, yangi sessiyada avtomatik yuklanadi.Write-back vs in-context — asosiy farq. CLAUDE.md = in-context, har doim oynada joy egallaydi. NOTES.md = write-back, diskda yotadi, soʻrov boʻyicha yuklanadi. Qoidalar uchun CLAUDE.md, progress uchun NOTES.md dan foydalaning.
Sub-agentlar — toza context ga delegatsiya
Asosiy usul — shovqinni izolyatsiya qilish. Sub-agent oʻzining oʻn minglab tokenlarini oʻz oynasida qidirishga sarflaydi, asosiy sessiyaga esa faqat siqilgan natijani (1-2K token) qaytaradi. Asosiy oyna toza qoladi. Bu «tezroq» emas — bu diqqat boʻyicha arzonroq.
Claude Code dagi built-in sub-agentlar — uchta, darhol mavjud:
Explore · Haiku · read-onlyPlan · inherits model · read-onlygeneral-purpose · all toolsQaysi usul qachon:
Demo — mentor butun kun ~/mars/src/ ni refaktoring qiladi.Mentor butun kun ~/mars/src/ refactor qiladi
Hayotiy ssenariy. Zuhra, Yunusobodlik Python mentori (kechqurun, ishdan keyin — Mars IT ga ichki skript bilan yordam beradi): bildirishnomalar routerini ikkita modulga ajratish. Katta repo, uzun kun, biz hozirgina koʻrib chiqqan hamma narsa — bu yerda bosqichma-bosqich.
Zuhra soat 14:30 da context da 118k token (200k dan) ga ega. Soat 18:42 ga kelib — undan ham yomonroq. Sizningcha, qaysi bosqichda, agent xato qila boshlaydi? Va Zuhra birinchi boʻlib nima qiladi, buni sezganida? Ikkita javobingizni yozing, keyin pastda tekshiring.
10:14 · Ertalab, toza context
$ claude ✓ CLAUDE.md loaded ~/mars/src/CLAUDE.md (2,140 tokens) ✓ user CLAUDE.md loaded ~/.claude/CLAUDE.md (1,820 tokens) › src/notify/router.py ni router.py + handlers.py ga ajrating. publich API ni buzmaslik kerak. Avval reja, keyin kod. ⠋ Using Plan sub-agent… (main context'ni spam qilmaydi) ✓ reja tayyor: 1. 4 ta hendlerni handlers.py'ga ko'chirish 2. router.py'ni dispatcher sifatida qoldirish 3. __init__.py — qayta ishlash uchun eski nomlarni saqlash 4. tests/test_notify.py — importlarni to'g'rilash, mantiqni emas
Eslatma: Zuhra plan mode'da. Plan sub-agent main'ni spam qilmaydi — main context faqat yakuniy rejani ko'radi.
14:30 · Tushlik qildim, yana bir vazifa qo'shdim
Amalga oshirgandan so'ng Zuhra chatni yopmadi, balki qo'shdi: «endi migratsiyalarni to'g'rila». Keyin «sales-voronka'dagi warning'ni ko'rib chiq». Chat 118k tokengacha kengaydi. CLAUDE.md qayerdadir boshida, notify-router muhokamasi o'rtada.
18:42 · Context rot ushlanadi
› ertalab o'tgan testlarni ishga tushir ⠋ Reading tests/test_billing.py… ⠋ Reading tests/test_billing_v2.py… ⚠ agent billing'ga ketdi ertalab notify edi. u eslamaydi. › Escape (to'xtatish) › sen noto'g'ri yo'lga ketyapsan. ertalab notify edi, billing emas. ha, uzr — tests/test_notify.py'ni ko'rib chiqaman… ⚠ 2 turn'dan keyin yana child-friendly kodda f-string taklif qildi bu CLAUDE.md'da qat'iyan taqiqlangan
Nima sodir bo'ldi: CLAUDE.md oynaning boshida, uning qoidalari o'rtadagi 156k token og'irligi ostida «oqarib ketdi». Notify haqidagi ertalabki context ham oqarib ketdi. Agent ishonch bilan devorga qarab ketyapti.
18:45 · Davolash — /compact + Explore
› /compact ⠋ Summarizing… preserving: notify split (DONE), migrations (DONE), sales warning (OPEN — root cause unclear) ✓ compacted 156k → 14k tokens (-91%) ✓ CLAUDE.md re-injected › sales warning ochiq qoldi. Explore orqali voronka'da nima borligini top, main context'ni spam qilma. ⠋ Delegating to Explore subagent… ⠋ Explore reading: src/sales/*.py (~22 files)… ⠋ Explore: targeted grep for warning source… ✓ Explore returned summary (28k tokens explored → 1.4k returned) warning manbai: src/sales/funnel.py:241 12 kun oldin refactor'dan keyin ishlatilmagan import tuzatish: 11-qatorni o'chirish.
Zuhra nima yutdi: main context — 156k o'rniga 14k. Explore 22 ta faylni ko'rib chiqdi, lekin main'ga faqat muammoning manzilini va yechimini qaytardi. CLAUDE.md'dagi ertalabki qoidalar yana «yangi». Davom etish mumkin.
/compact + Explore orqali izolyatsiya qilingan qidiruvdan keyin. Asosiysi — sen main'ga nima qaytganini ko'rasanBu Timur uchun qanday ko'rinadi (Python olimpiadasi 12–14, Chilonzor)
Timurda boshqa ssenariy bor: o'quvchi olymp.uz'dagi masalani noto'g'ri yechdi — 200 qatorlik uzun yechim, ishlaydi, lekin hakam TLE beradi. Timur o'zining tayyorgarlik repo'sida allaqachon mavjud bo'lgan o'xshash yechimlar.
orqali refactor'ni ko'rsatmoqchi. Main-agentni ~40 ta fayl oʻtgan vazifalarni va kontekstni toʻldirishni – Timur delegatsiya qiladi Explore sub-agentga: «~/olymp-prep/ ichidan prefiks yigʻindilariga oid masalalarni top, 2-3 ta etalon yechimni qaytar va hozirgi yechimdan farqini ayt».
main'da nima olinadi: 1.5K tokenli summary – fayllarga havolalar va asosiy gʻoya. main'ga nima tushmaydi: 35k tokenli xom yechimlar. Keyin oʻquvchi bilan faqat saralanganini muhokama qiladi – agentning diqqati tarqalmaydi.
Xuddi shu texnika, boshqa vazifa. Timur Compaction'dan deyarli foydalanmaydi – uning sessiyalari qisqaroq. Lekin sub-agentlardan – har kuni.
Mashq – 3 probe Before-and-After.Uchta probe — Before va After
Uchta mashq uzoq sessiyalaringiz uchun. Uchtasini ham qoʻlda bajaring – busiz keyingi uzoq sessiya hamma kabi tasodifga qarab oʻtadi.
Ikkita repoda claude CLAUDE.md'ni oching
Modul 1da yaratgan CLAUDE.md'ingizni olamiz.
- CLAUDE.mdsiz repoda ni ishga tushiring
claude. Soʻrov: «X funksiyasini qoʻsh, ushbu loyihadagi kabi bezat». Yozib oling: agent nechta aniqlovchi savol berdi va uslubga mos keldimi. - CLAUDE.md bilan oʻsha repoda ni ishga tushiring
claude. Xuddi shu soʻrov. Oʻsha ikkita raqamni yozib oling. - Solishtiring. Agar farq boʻlmasa – CLAUDE.md'ingiz kuchsiz, aniqroq qilib qayta yozing.
Muhim cheklovni oʻrtaga koʻming
Bu probe «oʻrtani yoʻqotish»ni – yaʼni uzun oynaning oʻrtasida muhokama qilingan narsalar boʻyicha aniqlikning pasayishini aniqlaydi.
- Uzoq chat. 30+ turn: agentdan turli fayllarni oʻqishni, refaktoringni muhokama qilishni, mavzular orasida almashishni soʻrang.
- ~10–15-turnda kritik cheklovni kiriting: «bu loyihada
requestskutubxonasidan hech qachon foydalanma, faqathttpx». Keyin takrorlamang. - 30+ turn'da tabiiy ravishda paydo bo'ladigan kodni so'rang
requests(HTTP-so'rov). Yozib oling: agent foydalandimirequests? yokihttpx? - Xuddi shu constraint'ni
CLAUDE.mdbuyrug'i bilan yozing/memory. Toza sessiyasini ochingclaudeshu repo'da. Xuddi shu so'rovni bajaring. Natijani yozib oling.
CLAUDE.md toza sessiyada. 3-qadam va 4-qadam – ikkita mustaqil natija, to'g'ridan-to'g'ri solishtirasiz.main'da nima qolganini ko'ring
- Toza
claudeishga tushadi. So'rang: «src/api/(yoki 10+ faylli istalgan papkangiz) tuzilishini tasvirlang». Agentga main context ichidagi hamma narsani o'qishga ruxsat bering./costyoki/transcriptqiling — oynadagi tokenlar sonini. - Toza
claudeishga tushadi. So'rang: yozing.src/api/»«Explore sub-agent'dan foydalanib,/costtuzilishini tasvirlang». Unga ishlashga ruxsat bering. - qiling. Yana yozib oling.
Reflection · quiz oldidan
? Hozirgacha o'ylaganingizga nima mos kelmaydi?
Quiz — 3 daqiqada o‘zingizni tekshiring.O'zingni sina — 3 daqiqada
Uchta savol. Agar bittasida ham xato qilsangiz – tegishli bo‘limga qayting. Bu baho emas, bu keyingi uzoq sessiya oldidan sizning sug‘urtangiz.
Siz refaktor ustida ishlayapsiz ~/mars/src/ bir sessiyada ketma-ket 3 soat. Avvaliga agent CLAUDE.md’dagi konvensiya bo‘yicha fayllarni aniq to‘g‘rilagan. Endi uni buzishni boshladi. Nima bo‘ldi?
Claude Code’da /compact nima qiladi?
/clear, emas /compact.Sub-agent qachon mos keladi (Anthropic blog’iga ko‘ra)?
/compact, /memory, /agents, /cost, sub-agents, hooks
Keyingisi – 5-modul.Keyingisi — Modul 5
O‘z sub-agentlaringiz va Agent Skills
Siz endi agentning oynasida nima borligini ko‘ra olasiz. Keyingi modulda – o‘zingiznikini sub-agentlar (masalan, homework-checker guruhning uy vazifasini tekshirish uchun) va Agent Skilllar (pygame-starter bolalar yoshiga mos), ular takrorlanuvchi ishlarni bitta buyruqqa siqib chiqaradi. Hozir sening bir oqshomingni oladigan ish – 5 daqiqa vaqtingni oladi.
Atributsiya va litsenziya
Ushbu modul Mars IT School (2026) tomonidan quyidagilar asosida moslashtirilgan:
— Anthropic Engineering Blog «Effective context engineering for AI agents» (Sep 2025) – markaziy manba, so‘zma-so‘z iqtiboslar.
— «AI Capabilities and Limitations» – Anthropic Academy, 2026, Working Memory bo‘limi (8, 9-darslar).
— «AI Fluency: Framework & Foundations» — Dakan, Feller, Anthropic, 2025 (CC BY-NC-SA 4.0).
— Claude Code documentation (claude.com/docs) – /compact, sub-agents, what survives compaction.
— «Claude Code in Action» va «Introduction to Subagents» — Anthropic Academy, 2026.
ta’riflariCC BY-NC-SA 4.0Bizning moslashuvimiz – . Ko‘chirish, remiks qilish, o‘qitishda foydalanish mumkin – Mars IT Schoolni ko‘rsatgan holda va shu litsenziyani saqlab qolgan holda.