Blog

Nega Claude Code butun loyihani qayta o‘qiydi va buni qanday tuzatish mumkin

Markdown

Claude Code kodni indekslamaydi va tokenlarni sarflab loyihani boshidan qayta o‘qiydi. MCP orqali doimiy kod xotirasini qanday berish va foydalanishni kamaytirish mumkin.

Maqolani to‘liq o‘qish

Asosiy xulosa

Claude Code kodingiz indeksini saqlamaydi. Har bir sessiyada u loyihani yana qidiradi va fayllarni boshidan o‘qiydi, shu sababli tokenlar ish bajarishga emas, dastlabki o‘rganishga sarflanadi. Buni kod xotirasi yordamida tuzatish mumkin: MCP orqali indeks serverini o‘rnating, shunda Claude hamma narsani qayta o‘qish o‘rniga tayyor loyiha xaritasidan foydalanadi.

Ailoot hujjatlari: API, kalitlar va ulanish.

Nega Claude Code har safar loyihani boshidan qayta o‘qiydi?

Asosiy xulosa

Claude Code’da ichki kod indeksi yo‘q. U loyihani uchta vosita yordamida qidiradi: fayllarni qolip bo‘yicha topadi, matndan satrlarni qidiradi va butun fayllarni o‘qiydi. Bu agentik qidiruv deb ataladi: model qayerdan izlashni o‘zi hal qiladi va har bir yangi vazifada jarayonni takrorlaydi. U oldingi sessiyani eslab qolmaydi, shu bois har bir yangisi boshidan boshlanadi.

Ko‘pchilik buni xato deb o‘ylaydi. Aslida, Claude Code aynan shunday ishlash uchun yaratilgan: uning o‘z loyiha indeksi yo‘q. Undan biror narsani tuzatishni so‘raganingizda, tayyor kod xaritasi bo‘lmaydi — u loyihani yana o‘rganadi: tegishli fayllarni topadi, kerakli satrlarni qidiradi va fayllarni xotiraga o‘qiydi.

Bu yondashuvning haqiqiy afzalliklari bor. Kod doimo yangicha bo‘ladi — eskirib qolgan indeks yo‘q. Hech narsani sozlash shart emas. Kodingiz hech qanday ma’lumotlar bazasiga yuborilmaydi.

Ammo buning salbiy tomoni ham bor: har bir yangi vazifada qidirish va fayllarni o‘qish jarayoni yangidan boshlanadi. Claude oldingi sessiyada hammasini aniqlagan bo‘lsa-da, tokenlar har bir narsaning qayerdaligini yana topishga sarflanadi. Loyiha qanchalik katta bo‘lsa, bu dastlabki o‘rganish shunchalik qimmatga tushadi. Agent “hamma narsani o‘qiyotgandek” tuyulishining sababi aynan shu mexanizmdir.

Bu aslida qancha token sarflaydi?

Asosiy xulosa

Kodni qayta o‘qishdan oldin ham Claude Code har bir so‘rovda taxminan 33 000 tokenlik tizim ma’lumotini yuboradi. Haqiqiy ish konfiguratsiyasida jami miqdor siz birorta so‘z yozishingizdan avval 75 000–85 000 tokenni tashkil etadi. Buning ustiga fayllarni qayta o‘qish qo‘shiladi; rasmiy hujjatlarga ko‘ra, kontekstning eng katta qismi fayllarni o‘qishga sarflanadi.

Xarajat siz so‘rov yuborishingizdan oldin boshlanadi. Bir mustaqil o‘lchovga ko‘ra, Claude Code xabaringizning birinchi belgisini o‘qishdan oldin taxminan 33 000 tokenlik tizim so‘rovi va vositalar tavsiflarini yuboradi. Taqqoslash uchun, OpenCode taxminan 7 000 tokendan boshlaydi.

Keyin fayllarni qayta o‘qish boshlanadi. Har bir fayl qidiruvi va o‘qilishi kontekstga tokenlar qo‘shadi. Claude Code’ning rasmiy hujjatlarida bu to‘g‘ridan to‘g‘ri aytilgan: kontekst sarfida fayllarni o‘qish ustunlik qiladi. 2 400 tokenlik auth.ts tahlil qilinsa, bu 2 400 tokenni faqat Claude ko‘radi; dastlabki o‘rganishda ochilgan har bir faylga ham xuddi shu qoida amal qiladi.

Bizning auditoriyamiz uchun bu pul va limitlarga taqaladi. Vibe coding’ga qiziqa boshlaganlar orasidagi eng katta xavotir: “Pul to‘ladim-u, limitlar bekorga tugadi.” Agar agent har bir vazifada loyihani ko‘zdan kechirib, fayllarni boshidan qayta o‘qisa, kontekst ikki baravar tez tugaydi: avval tizimning qo‘shimcha sarfi, keyin dastlabki o‘rganish. “Claude Code tokenlari qayerga ketadi” qo‘llanmasida Claude Code tokenlari aynan qayerga sarflanishining to‘liq xaritasini ko‘rib chiqqanman — loyiha fayllarini qayta o‘qish undagi to‘qqizta qolipdan biri.

Doimiy kod xotirasi nima?

Asosiy xulosa

Kod xotirasi — agent fayllarni qayta o‘qish o‘rniga murojaat qilishi mumkin bo‘lgan tayyor loyiha xaritasi. Alohida vosita kodingizni bir marta skanerlaydi, funksiyalar, fayllar va bog‘lanishlar tuzilmasini yaratadi hamda diskda saqlaydi. Keyin “to‘lov qayerda qayta ishlanadi?” deb so‘rasangiz, Claude har bir faylni ko‘zdan kechirish o‘rniga xaritadan bitta so‘rov orqali javob oladi.

Kod xotirasi Claude’ni loyihani qayta o‘qishga majbur qiladigan aynan shu bo‘shliqni to‘ldiradi. G‘oya oddiy: biror vosita barcha kodni bir marta skanerlab, undan xarita tuzsin va uni tayyor holda saqlasin. Shunda agent har safar boshidan qidirishiga hojat qolmaydi — u xaritadan so‘raydi.

Texnik jihatdan bu quyidagicha ishlaydi. Alohida vosita loyihani skanerlab, qismlarga ajratadi: qanday funksiyalar va sinflar borligi, kim kimni chaqirishi va qaysi fayllar o‘zaro bog‘liqligi aniqlanadi. Bu tuzilma diskda saqlanadi. Claude to‘lov mantig‘i qayerdaligini yoki funksiya tahrirlansa nima buzilishini tushunmoqchi bo‘lganda, o‘nlab faylni o‘qish o‘rniga xaritaga bitta aniq so‘rov yuboradi.

Bu xarita MCP orqali ulanadi — Claude Code’ga tashqi vosita ulashning standart usuli (boshqa serverlarni ulash haqida “Claude Code uchun MCP serverlari” qo‘llanmasida yozganman). Kod xotirasi vositasi xaritada qidirish uchun o‘z buyruqlarini qo‘shadi, Claude esa loyihada yo‘l topishi kerak bo‘lganda ulardan mustaqil foydalanadi.

Amalda farq “bitta funksiyani topish uchun butun papkani o‘qish” bilan “xaritadan o‘sha funksiya qayerdaligini so‘rash” o‘rtasidadir. Birinchisi o‘n minglab token, ikkinchisi esa yuzlab token sarflaydi.

Kod xotirasining ikkita yondashuvi: ular qanday farq qiladi?

Asosiy xulosa

Foydali ikkita vosita bor va ularning ikkalasi ham MIT litsenziyasi ostida bepul. Serena agentga aqlli dasturlash muhitidagidek kod bo‘ylab harakatlanish imkonini beradi va aniq tahrirlar uchun qulay. claude-context embeddinglardan foydalanib ma’no bo‘yicha qidiradi, ammo tashqi ma’lumotlar bazasi va kalit talab qiladi. Farqi — ularning har biri nimani eslab qolishida.

Kod xotirasi vositalari loyihangizdan nimalar yaratishiga qarab farqlanadi. Ularni tushunishning eng oson yo‘li: biri tahrirlar uchun jarrohning aniq qo‘llaridek xizmat qiladi, ikkinchisi esa ma’no bo‘yicha qidiradi.

Taqqoslash mezoniSerenaclaude-context
Xotira turiDasturlash muhiti mexanizmi orqali kod bo‘ylab harakatlanishEmbeddinglar orqali ma’no bo‘yicha qidiruv
Nimalarni topadiTa’riflar, haqiqiy chaqiruv joylari, belgi bo‘yicha tahrirlarTavsif asosida kod: “to‘lov mantig‘i qayerda”
Tashqi bog‘liqliklaruv paket menejeri; TypeScript va JavaScript uchun Node 20+ va npm ham kerakTashqi ma’lumotlar bazasi + kalit + Node 20+
O‘rnatishBitta buyruqUchta sozlamali buyruq
Token tejalishiAniq foiz e’lon qilinmaganBir xil sifatda taxminan 40%
GitHub yulduzlari26 46812 138
Kuchli tomoniButun kod bazasi bo‘ylab ehtiyotkorlik bilan refaktoring qilishAniq nomlarni bilmasdan keraklisini topish
Zaif tomoniKamroq til, ma’no bo‘yicha qidiruv yo‘qMurakkab sozlash, bulut xizmatini talab qiladi

GitHub yulduzlari soni 2026-yil 15-iyul holatiga ko‘ra (GitHub API ma’lumotlariga binoan). Ikkala vosita ham bepul va ochiq kodli, Claude Code bilan ishlaydi hamda MCP serverlari sifatida ulanadi.

Dasturchi bo‘lmaganlar uchun qisqacha xulosa. Serena — jarrohning mohir qo‘llari: loyiha bo‘ylab bir xil qismni tahrirlash va aniqlik muhim bo‘lganda undan foydalaning. claude-context — ma’no bo‘yicha qidiruv: u kodni tavsif asosida topadi, ammo buning uchun bulutdagi ma’lumotlar bazasini sozlash va kalit kerak.

Qachon Serena yoki claude-context’ni tanlash kerak?

Asosiy xulosa

Aniq tahrirlar muhim bo‘lganda Serena foydali: loyiha bo‘ylab funksiya nomini o‘zgartirish, uning tanasini almashtirish yoki haqiqiy chaqiruv joylarini topish. U aqlli dasturlash muhitlaridagi kabi mexanizm orqali ishlaydi va kodni matnni moslashtirish bilan emas, ma’nosiga qarab tahrirlaydi. Kodni tavsif bo‘yicha qidirish kerak bo‘lsa va tashqi ma’lumotlar bazasi hamda kalitni sozlashga qarshi bo‘lmasangiz, claude-context’ni tanlang.

Ikkala vosita bitta sovrin uchun raqobatlashmaydi. Ular turli narsalarni eslab qoladi, shu bois tanlov vazifaga bog‘liq.

Ko‘p refaktoring qilsangiz, Serena’ni tanlang. U agentga aqlli dasturlash muhitidagidek kod bo‘ylab harakatlanish imkonini beradi: funksiya ta’rifi va uning haqiqiy chaqiruv joylarini topadi, so‘ngra funksiya nomini o‘zgartiradi yoki butun loyiha bo‘ylab tanasini ehtiyotkorlik bilan almashtiradi. Muallif foydasini shunday ta’riflaydi.

MCP orqali ishlaydigan kuchli kod vositalari to‘plami: semantik qidiruv va tahrirlash — agentingiz uchun dasturlash muhiti.

— Serena, https://github.com/oraios/serena

Serena aniq tejam foizini e’lon qilmagan, men ham unga to‘qib chiqarilgan raqamni nisbat bermayman. Uning foydasi boshqacha: oddiy qidiruv izohlar va satrlarni ham qo‘shib qirqta moslik qaytarganidan, Claude esa to‘rtta butun faylni o‘qiganidan ko‘ra, Serena bir nechta aniq so‘rov bilan javob beradi. Bu kamroq chaqiruv va noto‘g‘ri mosliklarni, demak agentning noto‘g‘ri narsani tahrirlash xavfi ham kamayishini anglatadi.

Ma’no bo‘yicha qidirish kerak bo‘lsa va sozlash murakkabligi sizni cho‘chitmasa, claude-context’ni tanlang. U kodni vektorlarga (ma’noning sonli izlariga) aylantirib, tavsif bo‘yicha qidiradi: “to‘lov mantig‘imiz qayerdaligini top”, hatto funksiya nomlarini bilmasangiz ham. Bu qidiruv uchun qo‘shimcha sozlash talab etiladi.

claude-context qidiruv sifatini saqlagan holda token sarfini o‘rtacha taxminan 40% kamaytiradi.

— zilliztech/claude-context, https://github.com/zilliztech/claude-context

claude-context tashqi vektor ma’lumotlar bazasi, embedding provayderi kaliti va Node’ning yangi versiyasini talab qiladi. Ikkalasidan sozlashi murakkabrog‘i shu, shuning uchun yangi boshlovchilarga boshqa vositadan boshlashni tavsiya qilaman.

Claude Code’da uchinchi tomon vositalarisiz nima qilish mumkin?

Asosiy xulosa

Ichki buyruqlar muammoning yarmini hal qiladi. /context kontekstdan aynan nimalar foydalanayotganini ko‘rsatadi. /compact tarixni ixchamlaydi, /clear yangi vazifadan oldin uni tozalaydi, /doctor esa keraksiz qismlarni topib, tozalashni taklif qiladi. Juda katta CLAUDE.md o‘rniga qisqa fayl ishlatish har bir xabarda minglab tokenlarni tejaydi.

Uchinchi tomon vositalarini o‘rnatishdan avval, Claude Code’ning o‘zida bor imkoniyatlardan to‘liq foydalaning. Bu buyruqlar bepul va tayyor ishlaydi.

  1. /context — oynada nimalar joy egallayotganini jonli tarzda ko‘rsatadi: tizim so‘rovi, CLAUDE.md, xotira, vositalar va fayllar. /mcp buyrug‘i ulangan har bir serverning xarajatini, /memory esa ishga tushishda yuklangan narsalarni ko‘rsatadi.
  2. /compact — suhbat tarixini qisqa xulosaga siqadi va ayni vazifani davom ettiradi. /compact buyrug‘iga saqlanishi kerak bo‘lgan narsalarni qo‘shib, e’tiborni yo‘naltirishingiz mumkin.
  3. /clear — butun tarixni o‘chiradi. Rasmiy tavsiyaga ko‘ra, boshqa vazifaga o‘tayotganda uni bajaring, shunda eski suhbat kerakli fayllarga xalaqit bermaydi.
  4. /doctor (/checkup nomi bilan ham tanilgan, 2026-yil 8-iyulda joriy etilgan) — sozlamalarni tekshiradi va tuzatishlar taklif qiladi: CLAUDE.md ichidagi takrorlarni o‘chiradi, ishlatilmayotgan vositalar va serverlarni topadi, sekin ishlovchilarni aniqlaydi.

CLAUDE.md haqida alohida izoh. Bu fayl har bir sessiya boshida kontekstga yuklanadi va har bir xabarga kiritiladi. U haddan tashqari katta bo‘lsa, uning uchun doim to‘lov qilasiz. Rasmiy tavsiya — uni 200 qatordan kam tutib, ma’lumotnoma tafsilotlarini talab bo‘yicha yuklanadigan ko‘nikmalarga ko‘chirish. CLAUDE.md’ni to‘g‘ri tuzish haqida alohida “CLAUDE.md’ni qanday sozlash kerak” qo‘llanmasida yozganman.

Yana bir ichki imkoniyat — subagentlar. Ularning alohida konteksti bor, shu bois asosiy oynani ortiqcha to‘ldirmasdan ularga ko‘p o‘qish va dastlabki o‘rganish ishlarini topshirishingiz mumkin. Anthropic o‘zining muhandislik tahlilida umumiy tamoyilni shunday bayon qiladi.

Kontekst bilan yaxshi ishlash degani — kerakli natijani beradigan, axborotga boy eng kichik tokenlar to‘plamini topishdir.

— Anthropic, https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents

Qo‘shimcha MCP serveri kontekstni yanada kattalashtiradimi?

Asosiy xulosa

Bu o‘rinli xavotir, ammo javob yo‘q. 2026-yildan boshlab Claude Code MCP vositalarining to‘liq tavsiflarini sukut bo‘yicha kontekstga yuklamaydi — ularni kechiktirib, faqat kerak bo‘lganda yuklaydi. Ishga tushishda kontekstga faqat nomlar kiritiladi. Shuning uchun kod indeksi tizim sarfiga juda oz qo‘shimcha qo‘shib, fayllarni qayta o‘qishga ketadigan minglab tokenlarni tejaydi.

“Yana bitta server — yana ko‘proq kontekst sarfi” degan mantiq avval to‘g‘ri edi, ammo Claude Code o‘zgardi. MCP vositalarining tavsiflari endi sukut bo‘yicha kechiktirib yuklanadi: ishga tushishda kontekstga faqat server nomlari kiritiladi, to‘liq tavsiflar esa vazifa uchun muayyan vosita kerak bo‘lganda yuklanadi. Hujjatlarda bu to‘g‘ridan to‘g‘ri aytilgan.

Vositalarni qidirish MCP konteksti sarfini past ushlab turadi: vositalar tavsiflari Claude’ga kerak bo‘lmaguncha yuklanmaydi. Sessiya boshlanganda faqat vosita nomlari yuklanadi, shu bois MCP serverlarini qo‘shish kontekst oynasiga deyarli ta’sir qilmaydi.

— Claude Code Docs, https://code.claude.com/docs/en/mcp

Kod xotirasining hisob-kitobi oddiy. Vosita nomlari uchun oz miqdordagi doimiy sarf, agent fayllarni qayta o‘qimay qo‘ygani uchun tejaladigan minglab tokenlar bilan qiyoslanadi. Muvozanat aniq indeks foydasiga.

Mo‘jiza kutmasligingiz uchun bir nechta halol izoh. Indeksni vaqti-vaqti bilan qayta yaratish kerak — xarita skanerlash paytidagi kodni aks ettiradi, katta o‘zgarishlardan keyin esa uni yangilash lozim (bu vositaga bog‘liq: ayrimlari buni avtomatik bajaradi, boshqalari esa buyruq talab qiladi). “120 baravar kam token” kabi katta da’volar har bir vazifadagi natijani emas, tanlangan so‘rovlardagi eng yaxshi holatni ifodalaydi. Haqiqiy tejam kamtarona, ammo baribir sezilarli. Umuman olganda limitlarga yetib qolmaslik haqida batafsilroq ma’lumot kerak bo‘lsa, “Claude Code limitlarini tez tugatmaslik yo‘llari” nomli alohida tahlilim bor.

Bugun nimadan boshlash kerak?

Asosiy xulosa

Bepul va tez ishga tushadigan imkoniyatlardan boshlang. Keraksiz qismlarni tozalash uchun /doctor buyrug‘ini bajaring. CLAUDE.md’ni 200 qatorgacha qisqartiring. Bu qadamlar Claude har bir vazifaga olib kiradigan yukni kamaytiradi va token hamda limitlaringizni tejashni boshlaydi.

Keraksiz hamma narsani olib tashlasak, bugungi reja oddiy:

  1. /doctor buyrug‘ini bajaring va u taklif qilgan takroriy CLAUDE.md yozuvlari hamda ishlatilmayotgan vositalarni tozalang.
  2. CLAUDE.md’ni 200 qatorgacha qisqartirib, ma’lumotnoma materiallarini ko‘nikmalarga ko‘chiring.

Keyin ehtiyojingizga qarab tanlang: ko‘p refaktoring qilsangiz, aniq tahrirlar uchun Serena’ni qo‘shing; ma’no bo‘yicha qidirish kerak bo‘lsa, claude-context’ni sozlang. Ammo loyiha xaritasi va tartibli kontekst bugungi asosiy muammoni hal qiladi.

Ailoot orqali AI modellaridan foydalanish kerak bo‘lsa, Ailoot saytiga kiring.

Batafsil

Ko‘p beriladigan savollar

Qachon ma’no bo‘yicha qidiruvdan ko‘ra symbol navigation ma’qul?

Ta’riflar, chaqiruv joylari va aniq refaktoring uchun Serena usulidagi symbol navigation mos. Nomi noma’lum xatti-harakatni topishda claude-context kabi ma’no qidiruvi foydali; unga qo‘shimcha baza va embedding sozlamasi kerak.

Kod o‘zgargach ham xaritaga ishonsam bo‘ladimi?

Indeks yangilanganini tekshiring. Xarita skan qilingan kodni aks ettiradi, yangilanish tartibi vositaga qarab farq qiladi. Tegishli kodni xaritada toping, ammo o‘zgartirishdan oldin joriy fayllarni tekshiring.

Barcha maqolalar