Sun'iy intellekt

Claude Code agent‑summary timerini blokirovka qilish token sarfini 20% ga kamaytiradi

29-oktabr, 2026, 10:180 ko'rish5 daqiqa o'qish
Claude Code agent‑summary timerini blokirovka qilish token sarfini 20% ga kamaytiradi

Claude Code foydalanuvchilari yaqinda bir qiziqarli anomaliyani aniqlashdi: fon agentlari har 30 soniyada o‘z harakatini 3‑5 so‘z bilan tasvirlaydigan status satrini yaratadi. Bu jarayon modelga yuborilmaydi, lekin token hisoblagichda alohida so‘rov sifatida qayd etiladi va umumiy token sarfini taxminan 15‑20% ga oshiradi. Flamerix AI jamoasi bu muammoni original manbada batafsil tahlil qilib, Bun preload skripti orqali timerni blokirovka qilish usulini taqdim etdi.

Muammo qanday paydo bo‘ldi?

Claude Code 2.1.232 (avgust 2026) versiyasidan boshlab har bir fon agenti agent_summary deb nomlangan so‘rovni yaratadi. Bu so‘rovda agentning to‘liq transcriptini modelga (odatda Opus) yuboradi va “so‘nggi harakatni 3‑5 so‘z bilan tasvirlang” degan javobni oladi. Natija faqat agent panelidagi status satrini yangilaydi, lekin token hisoblagichda alohida API request sifatida ko‘rsatiladi.

curl -fsSL https://gist.githubusercontent.com/flamerix-ai/c3905705cc4205e5de3011fa2e74efce/raw/no-agent-summary.js -o ~/.local/share/no-agent-summary.js
claude daemon stop --any
BUN_OPTIONS="${BUN_OPTIONS:+$BUN_OPTIONS }--preload $HOME/.local/share/no-agent-summary.js" claude

OpenTelemetry eksporti orqali claude_code.api_request tadbirlarini tahlil qilganida, agent_summary so‘rovlarining umumiy token sarfiga 16.4% ulush qo‘shgani, asosiy suhbatga nisbatan 15.7% ga teng bo‘lgani aniqlandi. Boshqa mustaqil o‘lchovlar ham 18‑26% gacha token sarfi ortishini tasdiqladi.

Texnik yechim: no‑agent‑summary.js skripti

Muammoni hal qilish uchun Flamerix AI no-agent-summary.js nomli Bun preload skriptini yaratdi. Skript setTimeout va setInterval funksiyalarini o‘rab, callback matni ichida [AgentSummary] kabi “summarizer anchor” topilganda timerni “inert” (faol bo‘lmagan) holatga o‘tkazadi. Boshqa timerlar esa o‘zgarmas holda ishlaydi.

# ~/.profile, ~/.bashrc, ~/.zshrc
export BUN_OPTIONS="${BUN_OPTIONS:+$BUN_OPTIONS }--preload /abs/path/no-agent-summary.js"

Skriptning asosiy mexanizmi quyidagicha:

  • Timerga berilgan callback matni Function.prototype.toString orqali olinadi.
  • Agar matnda AgentSummary kalit so‘zi bo‘lsa, skript setTimeout/setInterval ni Infinity (2³¹‑1 ms) kechikish bilan chaqiradi, bu esa Node va Bun’da 1 ms ga tenglanadi va timer “bir zumda” ishlamay qoladi.
  • Har bir blokirovka qilingan timer haqida log faylga ma’lumot yoziladi (ixtiyoriy).

Skriptni har bir Claude Code jarayoniga yuklash uchun BUN_OPTIONS muhit o‘zgaruvchisiga --preload /abs/path/no-agent-summary.js qo‘shish kifoya. Bu o‘rnatish bir necha usulda amalga oshiriladi: ~/.profile, ~/.bashrc, ~/.zshrc, ~/.config/fish/config.fish yoki systemd foydalanuvchi muhit fayllarida.

# ~/.config/fish/config.fish
set -gx BUN_OPTIONS "--preload /abs/path/no-agent-summary.js"

Qanday o‘rnatish va tekshirish kerak?

Quyidagi bosqichlar tavsiya etiladi:

  • 1‑qadam: Skriptni yuklab olish
    curl -fsSL https://gist.githubusercontent.com/flamerix-ai/c3905705cc4205e5de3011fa2e74efce/raw/no-agent-summary.js -o ~/.local/share/no-agent-summary.js
  • 2‑qadam: Claude daemonini to‘xtatish
    claude daemon stop --any
  • 3‑qadam: BUN_OPTIONS ga preload yo‘lini qo‘shish (misol: export BUN_OPTIONS="${BUN_OPTIONS:+$BUN_OPTIONS }--preload $HOME/.local/share/no-agent-summary.js")
  • 4‑qadam: Daemonni qayta ishga tushirish va Claude Code ni yangi muhitda ishga tushirish
  • 5‑qadam: Log faylini tekshirish (agar CC_AGENT_SUMMARY_LOG o‘rnatilgan bo‘lsa) va OpenTelemetry eksportida agent_summary so‘rovlarining yo‘qligini tasdiqlash

Agar daemon BUN_OPTIONS o‘rnatilmagan muhitda ishga tushsa, eski sessiyalar ham agent_summary so‘rovlarini yuboradi. Shuning uchun daemonni har doim qayta ishga tushirish zarur.

# ~/.config/environment.d/50-no-agent-summary.conf (systemd user env; also reaches
# user services and timers; applies when the user manager next starts, usually next login)
BUN_OPTIONS=--preload /abs/path/no-agent-summary.js

Taqqoslash: standart konfiguratsiya vs. blokirovka

Standart Claude Code konfiguratsiyasida har bir fon agenti o‘rtacha 9 000 token kirish (input) ga 1 token chiqish (output) nisbati bilan agent_summary so‘rovini yaratadi. Bu yuz foizga yaqin token sarfi bo‘lib, foydalanuvchi limitiga tezda yetib boradi.

Blokirovka o‘rnatilgandan so‘ng, bu so‘rovlar yo‘qoladi va token sarfi 0% ga tushadi. Natijada foydalanuvchi rate‑limit bo‘shlig‘i sezilarli darajada oshadi, ayniqsa bepul yoki cheklangan tarif rejalarida bu katta afzallik.

#!/bin/sh
HOOK=/abs/path/no-agent-summary.js
case " ${BUN_OPTIONS-} " in
  *" --preload $HOOK "*) ;;
  *) export BUN_OPTIONS="${BUN_OPTIONS:+$BUN_OPTIONS }--preload $HOOK" ;;
esac
: "${CC_AGENT_SUMMARY_LOG:=${XDG_RUNTIME_DIR:-/tmp}/no-agent-summary.log}"
export CC_AGENT_SUMMARY_LOG
exec /path/to/the/real/claude "$@"

Cheklovlar va ochiq savollar

Yangi usulning ba’zi cheklovlari ham mavjud:

  • Platforma mosligi: Skript Linuxda sinovdan o‘tkazilgan, macOS va Windowsda (xususan Windows‑dagi /bunfs/ darvoza) ishlashi tasdiqlanmagan.
  • Yadro yangilanishlari: Claude Code 2.1.312 versiyasidan keyin agent_summary funksiyasi ichki kodda o‘zgartirilsa, skript kalit so‘zini aniqlay olmaydi va timer yana ishga tushadi.
  • Log va monitoring: CC_AGENT_SUMMARY_LOG opsiyasi ixtiyoriy, lekin foydalanuvchi bu logni muntazam tekshirishni unutsa, yangi versiyada blokirovka ishlamay qolganini sezmasligi mumkin.

Kelajakda quyidagi savollar hal qilinishi lozim:

claude daemon stop --any
  • Claude Code ishlab chiquvchilari agent_summary funksiyasini foydalanuvchi sozlamalari orqali o‘chirib qo‘yish imkoniyatini qo‘shadimi?
  • Token sarfini kamaytirish uchun boshqa fon jarayonlari (masalan, log yig‘ish) ham optimallashtirilishi mumkinmi?
  • Windows va macOS foydalanuvchilari uchun ekvivalent preload mexanizmi qanday amalga oshiriladi?

Kimga va qanday ta’sir qiladi?

Bu yechim asosan quyidagi guruhlar uchun foydalidir:

  • AI dasturchilar: Claude Code ni integratsiya qilgan loyihalarda token limitlari tezda tugashining oldini oladi.
  • Freelance va kichik jamoalar: Cheklangan kredit paketlari bilan ishlaydigan foydalanuvchilar uchun har bir token muhim, shuning uchun 15‑20% tejash sezilarli iqtisodiy foyda keltiradi.
  • Korxona IT bo‘limlari: Keng ko‘lamli Claude Code deploymentlarida umumiy token sarfini kamaytirish orqali xizmat ko‘rsatish xarajatlarini pasaytiradi.

Umuman olganda, no‑agent‑summary.js skripti Claude Code foydalanuvchilari uchun token samaradorligini oshiruvchi amaliy vosita bo‘lib, ayni paytda ochiq manbali yechim sifatida hamjamiyat tomonidan yanada takomillashtirilishi kutiladi.

BUN_OPTIONS="--preload $HOME/.local/share/no-agent-summary.js" CC_AGENT_SUMMARY_LOG=/tmp/nas.log claude --version && cat /tmp/nas.log

Xulosa

Claude Code fon agentlarining har 30 soniyada yaratuvchi status so‘rovlaridan kelib chiqqan token sarfi dastur samaradorligini sezilarli darajada pasaytiradi. Bun preload skripti no-agent-summary.js yordamida bu timerni blokirovka qilish orqali token sarfini 15‑20% ga kamaytirish mumkin. O‘rnatish oddiy, lekin platforma mosligi, kelajakdagi kod o‘zgarishlari va monitoringni unutmaslik muhim. Bu yechim AI dasturchilari, kichik jamoalar va korporativ foydalanuvchilar uchun amaliy qiymat yaratadi, shuningdek Claude Code ishlab chiquvchilariga foydalanuvchi nazorati yo‘nalishida yangi funksiyalarni qo‘shish ehtiyojini ko‘rsatadi.

Asl manba: gist.github.com

Manba: Hacker News
#Claude Code #token sarfi #Bun preload #agent_summary #AI samaradorligi
Telegram da muhokama qilish