Jinsi ya kupunguza gharama za Claude Code
Jifunze kutumia amri ya /context ili kuona matumizi ya tokeni na kuzuia session kuwa nzito. Punguza gharama kwa kufuta muktadha usiohitajika mara moja.
Jinsi ya kuzuia session ndefu ya Claude Code kuwa nzito na ghali
Session ndefu ya Claude Code inakuwa nzito na ghali kwa sababu kila mzunguko unatuma tena muktadha (context) mzima, na muktadha huo unazidi kukua. Suluhisho ni usafi wa data kwa utaratibu maalum. Tumia /context kuona nini kinajaza dirisha, futa vitu unavyolipia kwenye kila ombi, kisha tumia /clear kati ya kazi zisizoingiliana na /compact ukiwa na maelekezo ndani ya kazi moja ndefu. Fanya kazi kwa vipindi vilivyoendelea, kwa sababu cache ya prompt iliyo baridi inageuza usomaji wa bei nafuu kuwa uandishi upya wa kila kitu ulichosema.
Sababu ya mita ya matumizi kuwaka imejibiwa kwenye mita ya tokeni nyuma ya agent session.
Soma /context kabla ya kubadilisha kitu chochote
Usikisia kile kinachojaza dirisha. Claude Code itakuambia.
/context [all] inaonyesha matumizi ya muktazo wa sasa kama gridi ya rangi, ikiwa na mapendekezo ya uboreshaji kwa zana zinazotumia muktazo mkubwa na upungufu wa kumbukumbu; all inaongeza mchanganuo wa kila kipengele katika hali ya fullscreen. Soma matokeo kama makundi matano.
- System prompt. Maelekezo ya mfumo ya Claude Code. Hayabadiliki kwa kipindi cha kikao.
- Tool definitions. Schema kwa kila zana ambayo agent anaweza kuita, ikiwemo kila seva ya MCP (Model Context Protocol) iliyounganishwa.
- Memory files.
CLAUDE.mdna kumbukumbu ya kiotomatiki, zinazopakuliwa wakati wa kuanza kwa kikao. - Files na matokeo ya zana. Kila faili iliyosomwa, na kila kitu ambacho amri zako zilichapisha.
- Message history. Michakato yako na majibu yake.
Tatu za kwanza ni kodi ya kudumu, inayolipwa kwa kila ombi kwa muda wote wa kikao. Mbili za mwisho hukua. Punguza kodi ya kudumu mara moja, mwanzoni; dhibiti sehemu inayokua kila wakati.
String mbili zinakuambia kuwa dirisha limejaa:
Context exceeds the 200k-token limit by 94k tokens — run /compact or /clear to continue.
Context is 94k tokens past the 200k-token compaction window — run /compact to reduce usage.Ya kwanza ni kikomo kigumu, na ombi linakataliwa; kosa la API (application programming interface) linalolingana ni Prompt is too long. Ya pili ni dirisha la ufungashaji (compaction window), ambalo linaweza kuwa chini ya muktazo halisi wa modeli kwenye modeli ya token 1 million. Maombi bado yanafanikiwa baada ya hapo, hivyo hiyo ni onyo badala ya kukataa.
Kwenye mpango wa kulipia, /usage inaongeza nusu nyingine, ikionyesha tabia kama vile muktazo mrefu au kukosa cache na kuainisha matumizi ya hivi karibuni kwa ujuzi binafsi, subagents na seva za MCP.
CLAUDE.md ni kodi ya kudumu, hivyo iweke iwe nyepesi
CLAUDE.md yako hupakiwa kwenye muktadha wakati wa kuanza kwa kikao na kubaki hapo. Ikiwa ina utaratibu wa kina wa usambazaji, token hizo zitakuwepo hata unaposahihisha kosa la uandishi kwenye faili ya majaribio. Mwongozo wa Anthropic ni kujumuisha vitu muhimu tu na kuweka faili hiyo chini ya mistari 200.
Hamisha utaratibu kwenye skills. Skill hupakiwa tu inapoitwa, hivyo workflow unayotumia mara mbili kwa wiki haitoi gharama katika siku nyingine. Skills zina bajeti yao baada ya compaction: miili hupakiwa upya, ikiwa na ukomo wa token 5,000 kwa kila skill na 25,000 kwa jumla, ambapo ya zamani zaidi huondolewa kwanza. Truncation huacha sehemu ya mwanzo ya faili, hivyo weka maelekezo muhimu zaidi karibu na juu ya SKILL.md.
Kile kinachobaki baada ya compaction ndicho kinaamua mahali maelekezo yanapopaswa kuwa.
- System prompt na mtindo wa matokeo haubadiliki, kwa sababu hayapo kwenye historia ya ujumbe.
- Project-root
CLAUDE.md, sheria zisizo na ukomo, na auto memory hupakiwa upya kutoka kwenye diski. - Sheria yenye frontmatter ya
paths:inapotea hadi faili inayofanana isomwe tena. CLAUDE.mdiliyojificha kwenye subdirectory inapotea hadi faili katika subdirectory hiyo isomwe tena.- Hooks hazioziwi, kwa sababu hook hufanya kazi kama kodi na hauingii kamwe kwenye muktadha.
Hivyo, sheria unayotegemea inapaswa kuwa kwenye project-root CLAUDE.md: Claude Code hufuta matokeo ya zana ya zamani kwanza na kisha hufanya muhtasari, hivyo maelekezo kutoka mapema kwenye mazungumzo yanaweza kupotea. Hariri memory kwa kutumia /memory. Claude Code hushikilia nakala iliyopakiwa wakati wa kuanza kwa kikao, hivyo kukata katikati ya kikao huweka prompt cache na haitafanya kazi hadi /clear, /compact, au restart.
/clear kati ya kazi, /compact ndani ya kazi moja
Hizi mbili zinaonekana kama zinaweza kutumika badala kwa badala, lakini gharama zake ni tofauti sana.
/clear [name] huanzisha mazungumzo mapya yenye muktadha (context) tupu. Haitumi ombi lolote, hivyo haina gharama. Toa jina ili kuweka lebo kwenye mazungumzo yaliyopita kwenye chagua la /resume; /reset na /new ni majina mbadala. Itumie mara tu unapohamia kwenye kazi isiyo na uhusiano, kwa sababu vinginevyo kazi ya zamani itatumwa tena, na kutozwa tena, kwenye kila ujumbe wa kazi mpya.
/compact [instructions] huondoa muktadha huku ikiendelea na mazungumzo yale yale: inatoa muhtasari wa historia hadi sasa na kuibadilisha. Itumie ndani ya kazi moja ndefu, ambapo bado unahitaji mwendelezo.
Daima mpe /compact maelekezo. /compact pekee hutumia muhtasari kwa kutumia maelekezo ya kawaida ambayo hayajui ni sehemu gani ya kazi unayohitaji bado. Maelekezo yanayotolewa yanahifadhi sehemu hiyo:
/compact focus on the auth bug fix
/compact keep only the plan and the diffIkiwa unatumia muhtasari kwa sababu ile ile kila wakati, weka maelekezo ya kudumu kwenye CLAUDE.md ya mradi wako chini ya kichwa cha # Compact instructions. Katika kikao kipya /compact huchapisha Not enough messages to compact., ikimaanisha tu kuwa hakuna historia bado.
Gharama mbili huchanganywa hapa. Ombi la muhtasari linatumia prefix yako, hivyo linasoma cache iliyopo badala ya kusindika historia upya, na muda mwingi hutumika kutengeneza muhtasari. Kufupisha muktadha mkubwa bado ni ombi kubwa, kwa sababu mazungumzo yanayofanyiwa muhtasari ndiyo pembe kuu (input). Mzunguko unaofuata baada ya kufupisha si sehemu inayochelewa: inajenga upya cache kwa prompt fupi zaidi.
Kuna amri mbili rahisi zaidi. /rewind [description] hurudisha kodi na mazungumzo kwenye checkpoint; kwa njia unayotaka kuacha kabisa, ni bora kuliko kufupisha, kwa sababu inakata hadi kwenye prefix ambayo tayari imehifadhiwa kwenye cache. /recap inaongeza muhtasari kama matokeo ya amri badala ya kubadilisha historia, hivyo prefix iliyohifadhiwa inabaki vilevile.
Kufupisha kiotomatiki mara kwa mara huchapisha hii:
Autocompact is thrashing: the context refilled to the limit...Ufupishaji umefanikiwa, lakini faili au matokeo ya zana yamejaza dirisha mara kadhaa mfululizo, hivyo Claude Code imeacha kujaribu tena. Rudia kwa kusoma faili kubwa kwa kutumia viwango vya mistari (line ranges), ukiendesha /compact kwa kutumia focus inayotoa matokeo makubwa, ukihamishia kazi hiyo kwa subagent, au /clear ikiwa mazungumzo ya awali yamekwisha.
MCP servers zina gharama zisizobadilika
Kila server ya MCP unayojiunga nayo huongeza mzigo kwenye kila ombi (request) kwa muda wote wa session. Unalipa gharama hiyo hata kama hutatumia.
Claude Code inapunguza tatizo hili. Maana za zana (tool definitions) za MCP huwekwa kusubiri kwa kimawazo (deferred) kwa kawaida, hivyo majina ya zana pekee ndiyo huingia kwenye context mpaka Claude atumie zana mahususi. Run /context kuona gharama halisi za server zako, na /mcp disable <name> kuondoa server ambayo hutaitumia leo. Ukitumia MCP servers zako kwenye VPS, hesabu ile ile huamua ni zana ngapi zinazopaswa kuwekwa na server moja.
Fanya hivi mwanzoni mwa session. Ingawa maana hubaki zimehifadhiwa (deferred), kuunganisha au kuondoa server huongeza tu kwenye mazungumzo, na cache hubaki. Pale maana zinapopakia kwenye prefix, kwa sababu utafutaji wa zana umewekwa kuwa off au server imepewa ubaguzi wa kutohifadhiwa, mabadiliko hayo hufanya ombi linalofuata lisome kila kitu upya.
Chuja matokeo mengi ya zana kabla hayajaingia kwenye context
Matokeo ya zana ni input, na input hutumwa tena kila wakati unapoendelea. Kujaribu zana inayotoa output ya token 20,000 si gharama ya mara moja: unalipia tena kila wakati mpaka itoke kwenye dirisha la context.
Chuja kwenye chanzo. Hook inayopunguza matokeo ya jaribio na kubaki na makosa pekee kabla Claude hayaoni, hugeuza kuta za output kuwa token few hundred, kwenye awamu hii na kila awamu inayofuata:
npm test 2>&1 | grep -E "FAIL|Error:" | head -40Hooks hazitingii kwenye context kwa sababu zinafanya kazi kama kodi. Fanya hivi kwa zana yoyote ambayo output yake ni ndefu sana. Mantiki hiyo hiyo inatumika kwa faili ya mistari 3,000: omba kiini cha mistari unayohitaji, kwa sababu faili nzima itabaki kwenye dirisha baada ya kuingia.
Ainisha kile ambacho agent anakisoma, na upangie kazi zenye kelele
Prompt inayotaja faili na dalili husoma faili hiyo. Ombi la kufanya usafi kwenye mradi husoma chochote ambacho agent anaona kinafaa, na kila usomaji huo unabaki kwenye dirisha.
Upangie kazi zenye maelezo mengi kwa subagent. Kazi za majaribio na uchakataji wa log zote hutumia context halisi; subagent huweka matokezo hayo kwenye dirisha lake mwenyewe na kurudisha muhtasari tu. Changamoto: subagent hujenga cache yake mwenyewe ambayo haina hits wakati wa mwazo wa kwanza, na hutumia muda wa cache wa dakika tano hata kwenye subscription. Upangaji kazi (delegation) unalinda context yako kuu kwa uhakika. Hii haipunguzi kila wakati jumla ya tokens.
Saa ya cache: fanya kazi kwa vipindi
Prompt caching ndiyo inayofanya kutuma tena iwe na gharama nafuu: 0.1x ya kiwango cha msingi cha kusoma prefix, dhidi ya 1.25x ya kuandika, au 2x ya kuandika kwa muda wa saa moja. Kila matumizi yanafanya upya ingizo bila gharama ya ziada, hivyo saa inaanza kuhesabu tangu matumizi ya mwisho.
Muda wa kuisha unategemea jinsi unavyojitambulisha, ndiyo maana kauli ya jumla ya "cache yako inaisha baada ya dakika tano" ni kosa.
- Katika subscription ya Claude, Claude Code huomba muda wa saa moja kiotomatiki.
- Ukishafika mwisho wa kikomo cha mpango wako na unatumia salio la matumizi (usage credits), utatozwa kwa matumizi hayo, hivyo muda unashuka hadi dakika tano.
- Kwa API key au mtoa huduma wa cloud, inabaki dakika tano.
ENABLE_PROMPT_CACHING_1H=1huchagua muda wa saa moja, naFORCE_PROMPT_CACHING_5M=1huirudisha chini.
Ushauri wa mzunguko ni ule ule: fanya kazi kwa vipindi vilivyoendelea, kwa sababu pengo la kutofanya kazi baada ya muda wa kuisha hufanya jaribio lako linalofuata kuandika upya prefix nzima iliyokusanywa. Claude Code session iliyotenganishwa katika tmux haitozi chochote wakati ikiwa imetulia, na cache iliyo tayari ndiyo inayopotea wakati wa kutulia.
Baadhi ya vitendo huondoa cache wakati bado unafanya kazi: kubadilisha models, kubadilisha kiwango cha juhudi (effort level), kuwasha fast mode, kuunganisha au kujitenga na MCP server, kuwasha au kuzima plugin, kukataa tool nzima, kufanya compaction, na kuongeza toleo la Claude Code. /model ni mshangao wa kawaida, kwa sababu kila model ina cache yake, hivyo ombi linalofuata linasoma historia nzima bila kupata cache hits ingawa maudhui ni sawa.
Kuhariri files, kuhariri CLAUDE.md, kuita skills na commands, kuendesha /recap, kurudisha nyuma (rewinding), na kuanzisha subagent vyote vinatunza cache. Inafanya kazi kwenye mashine moja na directory moja, hivyo session mbili katika directory tofauti hazitafanikiwa kutumia cache ya nyingine.
Ili kuona kama caching inafanya kazi, soma current_usage. cache_creation_input_tokens iliandikwa kwa kiwango cha uandishi wa cache; cache_read_input_tokens ilitolewa kwa takriban kumi ya kiwango cha kawaida cha input. Uwiano mkubwa wa kusoma dhidi ya kuunda ni mzuri. Ikiwa uundaji unabaki kuwa mkubwa kila wakati, kuna kitu kwenye prefix yako kinachobadilika kila mara.
Je, dirisha kubwa la muktadha (context window) linatatua hili?
Kwa kiasi fulani. Mifano kadhaa ya sasa inasupport dirisha la muktadha la token 1 million, na mchakato wa compaction hufanya kazi vilevile kwenye kikomo kikubwa zaidi. Uchumi haubadiliki, kwa sababu prompt nzima hutumwa tena na bado hutozwa ada kila wakati. Dirisha kubwa huamua wakati utapolazimika kuchukua hatua; usafi wa data (hygiene) huamua gharama. Ikiwa tatizo ni bili badala ya kikomo cha juu, mpango gani wa Claude unaoendana na namna unavyofanya kazi huamua kama unatumia dola au kiasi cha mpango wako.
Uhariri wa muktadha na ufupisho katika API ni vitu tofauti
Ikiwa un unajenga agent yako mwenyewe kwenye Messages API, hakuna amri za slash (slash commands) na unapaswa kuzitekeleza mwenyewe. Sifa mbili za upande wa seva hufanya kazi hiyo, na si sifa moja.
Uhariri wa muktadha (Context editing) hufuta maudhui maalum kwa kuchagua kutoka kwenye historia ya mazungumzo kadiri inavyokua, ikichukua nafasi ya kila matokeo yaliyofutwa kwa maandishi ya kishazi (placeholder) ili Claude ajue kitu kimeondolewa. Ni toleo la beta: tuma anthropic-beta: context-management-2025-06-27 na uweke mipangilio ya mbinu chini ya context_management.edits. clear_tool_uses_20250919 hufuta matokeo ya zana (tool results), na clear_thinking_20251015 husimamia vizuu vya kufikiri (thinking blocks). trigger hufanya kazi kwa kiwango cha juu cha tokeni 100,000 za kuingiza, keep kwa matumizi 3 ya mwisho ya zana, na clear_tool_inputs kwa false, hivyo maelezo ya kuingiza hubaki na matokeo pekee ndiyo huondolewa.
Ufupisho (Compaction) hutengeneza muhtasari na kuchukua nafasi ya historia nzima ya mazungumzo. Pia ni toleo la beta: tuma anthropic-beta: compact-2026-01-12 na utumie aina ya uhariri compact_20260112. Kiashiria (trigger) hufanya kazi kwa kiwango cha {"type": "input_tokens", "value": 150000}, na thamani lazima iwe angalau 50,000.
Ufupisho una sheria moja ya makabidhiano inayozuia agent kufanya kazi vizuri. Jibu huanza na kizuu cha maudhui cha compaction chenye muhtasari, kikifuatiwa na kizuu cha maandishi cha kawaida. Lazima upeleke kizuu hicho kwenye maombi yajayo, na kisha API huondoa kila kizuu cha maudhui kilichotangulia. Katika vitendo: ambatisha response.content nzima, si maandishi pekee.
Dokumentasi ya Anthropic inaita ufupisho wa upande wa seva kama mbinu kuu ya kusimamia muktadha katika mazungumzo marefu, na uhariri wa muktadha kama chaguo la udhibiti zaidi wa kile kinachofutwa. Angalia kwanza uwezo wa modeli. Model za sasa za Opus, Sonnet na Fable zinaunga mkono ufupisho; claude-haiku-4-5 hauna uwezo huo, na ukurasa wa ufupisho una orodha iliyo hai. Hakuna beta inayozalisha /compact ya Claude Code, ambayo dokumentasi yake inaelezea kama ombi la muhtasari la mara moja linalotumwa na mteja (client).
FAQ
Kwa nini kikao changu cha Claude Code kinakuwa cha polepole na ghali zaidi kadiri kinavyoendelea?
Hii hutokea kwa sababu mazungumzo yote yanatumwa tena kila wakati, hivyo swali la mstari mmoja katika kikao kilichofunguliwa siku nzima hubeba historia ya siku nzima hiyo. Prompt caching huweka gharama ndogo wakati cache ikiwa bado imetumiwa (warm), ikiwa na kiwango cha 0.1x cha bei ya kawaida ya input; mara tu mzunguko unapoacha kutumia cache, prefix ile ile huandikwa tena kwa 1.25x. Run /context ili kuona nini kinajaza dirisha, na soma unacholipia kwenye kikao cha Claude Code ili kuelewa mfumo huo.
Kuna tofauti gani kati ya /clear na /compact katika Claude Code?
/clear huanzisha mazungumzo mapya yenye muktadha (context) tupu. Haitumi ombi lolote, hivyo haigharimu chochote, na ndicho chaguo sahihi kati ya kazi zisizoingiliana. /compact huendelea na mazungumzo yaleyale na kubadilisha historia kwa muhtasari, hivyo ndicho chaguo sahihi ndani ya kazi moja ndefu. Ipe maelekezo mahususi, kama ilivyo katika /compact keep only the plan and the diff, kwa sababu maelekezo ndiyo yanayoamua nini kitabaki.
Ninawezaje kuona nini kinatumia dirisha langu la muktadha (context window) la Claude Code?
Run /context, au /context all kwa mchanganuo kamili wa kila kitu. Inaonyesha system prompt, tool definitions, MCP servers, memory files, na historia kama gridi yenye rangi, ikiwa na mapendekezo kwa ajili ya tools zinazotumia muktadha mwingi na upungufu wa memory. Kwenye mpango wa kulipia, /usage pia huonyesha matumizi ya hivi karibuni kwa ujuzi (skills), subagents, na MCP servers binafsi.
Je, nianze kutumia dirisha la muktadha la token milioni 1 badala ya kufanya compaction?
Dirisha kubwa zaidi huchelewesha tatizo badala ya kulitatua. Mifano kadhaa ya sasa inatumia dirisha la muktadha la token milioni 1, ikiwemo Opus 4.8 na Sonnet 5, na compaction hufanya kazi kwa njia ile ile huko. Kila mzunguko bado unatuma prompt nzima na bado unatoza gharama, hivyo mazungumzo ya token 400,000 ni ghali iwe yanatosha au la.
Kuna tofauti gani kati ya context editing na compaction katika Claude API?
Context editing hufuta maudhui ya zamani kwa kuchagua, hasa matokeo ya tools, na kuacha maandishi ya kishazi (placeholder) mahali kila moja ilipokuwa ili Claude ijue imefutwa. Compaction hutengeneza muhtasari na kubadilisha historia nzima kwa muhtasari huo. Dokumentashon ya Anthropic inaita compaction kama mkakati mkuu kwa mazungumzo yanayoendelea kwa muda mrefu, na inatambulisha context editing kama chaguo la kina zaidi. Zote mbili ni matoleo ya beta yenye vichwa vyake (headers) binafsi, na zote mbili ni tofauti na /compact ya Claude Code.