Claude Code به طور منظم رونوشت هر عامل پس زمینه را به مدل خود ارسال می کند
آدرس مقاله: https://gist.github.com/flamerix-ai/c3905705cc4205e5de3011fa2e74efce آدرس نظرات: https://news.ycombinator.com/item?id=50284255 امتیاز: 349 # نظرات: 106
تست شده روی لینوکس، Claude Code 2.1.257–2.1.312 (نسخه های آزمایش شده را ببینید). باینری اصلاح نشده است (BUN_OPTIONS=--preload). بهروزرسانی میتواند بیصدا آن را لغو کند، بنابراین به تأیید مراجعه کنید.
برای دائمی کردن آن برای هر فرآیند Claude Code، به نصب مراجعه کنید.
هر 30 ثانیه، برای هر عامل پس زمینه، کلود کد کل رونوشت آن عامل را به مدل خود نماینده (معمولا Opus) می فرستد و از آن می خواهد که "اخرین عمل شما را در 3-5 کلمه توصیف کند". پاسخ فقط خط وضعیت عامل را در پانل نمایندگان به روز می کند. هرگز به مدل یا مکالمه شما نمی رسد. هیچ تنظیمی وجود ندارد که آن را خاموش کند و از 2.1.232 (اوت 2026) به طور پیش فرض روشن است.
این ناهنجاری توسط DRIM در صادرات OpenTelemetry Claude Code شناسایی شد: گروهبندی رویدادهای claude_code.api_request توسط query_source نشان داد که agent_summary بیشتر از خود مکالمه اصلی هزینه دارد.
خرج کردن در اینجا به معنای برآورد هر درخواست خود کلود کد (cost_usd) است، نه یک فاکتور: در یک اشتراک، چیزی که از دست میدهید فضای محدود نرخ است. ما تنها کسانی نیستیم که آن را اندازه گیری کردیم: #86879 چهار اندازه گیری مستقل 18-26٪ را جمع آوری می کند.
no-agent-summary.js یک پیش بارگذاری Bun است (80 خط کد). setTimeout / setInterval را می پیچد. هنگامی که متن مبدأ پاسخ به تماس حاوی یک لنگر خلاصهکننده است (مثلا خط گزارش فعال شده با تایمر [AgentSummary])، به جای مسلح کردن تایمر، یک دسته بیاثر برمیگرداند. هر تایمر دیگر دست نخورده عبور می کند. در صادرات OpenTelemetry درخواست های سرکوب شده رویدادهای claude_code.api_request با query_source = agent_summary هستند.
چرا یک قلاب تایمر به جای چیز ساده تر: ماژول به عنوان بایت کد Bun از پیش کامپایل شده ارسال می شود، بنابراین ویرایش متن JS آن در داخل باینری چیزی را تغییر نمی دهد و مشتری API از یک globalThis.fetch پیچیده عبور نمی کند. اما Function.prototype.toString همچنان منبع تماس را حتی زمانی که از بایت کد اجرا می شود باز می گرداند، بنابراین تایمر را می توان با رشته ای در داخل آن تشخیص داد. تایمر بی اثر دقیقا از 2³¹-1 ms استفاده می کند: Node و Bun تأخیر بزرگتر را به عنوان 1 ms در نظر می گیرند، بنابراین تأخیر «بی نهایت» به یکباره فعال می شود.
no-agent-summary.js را در جایی ثابت قرار دهید. به مسیر مطلق آن توجه کنید
BUN_OPTIONS را در سطح جهانی تنظیم کنید تا هر فرآیند Claude Code آن را دریافت کند. یکی از:
یا لفافی به نام claude که قبلا در PATH نامیده میشود (این مورد زمانی که یک فرآیند Claude Code دیگری را شروع میکند آن را بیتوان نگه میدارد):
دیمون و هر جلسه در حال اجرا را مجددا راه اندازی کنید، سپس Claude Code را از محیطی که BUN_OPTIONS دارد شروع کنید:
حالت پیش بارگذاری فعال=خاموش… . بدون خط: BUN_OPTIONS به فرآیند نرسیده است، یا مسیر مطلق نیست.
تایمر متوقف شد: با همان BUN_OPTIONS و CC_AGENT_SUMMARY_LOG=/tmp/nas.log، یک عامل فرعی پسزمینه را برای یک یا دو دقیقه اجرا کنید. گزارش نشان می دهد که تایمر خلاصه شماره 1 سرکوب شده است (setTimeout, delay=30000) و وضعیت پانل عامل به روز رسانی متوقف می شود. اگر OpenTelemetry را صادر می کنید، query_source = agent_summary باید صفر بماند. این تنها بررسی است که هر حالت خرابی را می گیرد.
تطبیق بر اساس متن منبع است: یک لنگر باید در داخل کال بک ارسال شده به تایمر قرار گیرد. اگر بهروزرسانی آن را خراب کند، قلاب با چیزی مطابقت ندارد و خلاصهها بیصدا برمیگردند. راه هایی که ممکن است اتفاق بیفتد:
باینری لینوکس x64 از npm @anthropic-ai/claude-code-linux-x64 (sha256 آن برابر با چکجمع manifest.json نصبکننده اصلی است). استاتیک: پاسخ تماس تایمر خلاصه بسته استخراج شده یک لنگر قلاب دارد. زنده: claude -p -- هایکو مدل با CLAUDE_CODE_AGENT_PROGRESS_SUMMARIES=1، یک عامل فرعی 8 مرحله ~ 20 ثانیه ای را انجام می دهد و [AgentSummary] Forking را در --debug-file می شمرد.
5 / 5 / 0 = چنگال در این نسخه اتفاق می افتد، صرفا بارگذاری قلاب چیزی را تغییر نمی دهد و خاموش آن را حذف می کند.
در تله متری ما، سهم هزینه هفتگی آن از 3.5 تا 7 درصد در ژوئیه (دروازه چنگال از قبل برای ما باز بود) به 7.3 درصد و سپس 11.8 درصد در هفته ای که 2.1.233 را افزایش دادیم، و تا اواسط اکتبر به حدود 16 درصد رسید.
MIT © 2026 Flamerix AI. ارائه همانطور که هست، بدون ضمانت از هر نوع؛ شما با مسئولیت خود از آن استفاده می کنید. Flamerix AI مسئولیتی در قبال آسیب، از دست دادن داده یا اقدام حساب کاربری ناشی از استفاده از آن ندارد. تغییر رفتار زمان اجرا مشتری ممکن است با شرایط سرویسی که از آن استفاده می کنید تضاد داشته باشد. چک کردن که بر عهده شماست
"Claude" و "Claude Code" علائم تجاری Anthropic، PBC هستند. این پروژه مستقل است و به آنتروپیک وابسته، حمایت مالی یا تایید نشده است.
متن اصلی (انگلیسی)
Claude Code regularly sends each background agent’s transcript to its model
Article URL: https://gist.github.com/flamerix-ai/c3905705cc4205e5de3011fa2e74efce Comments URL: https://news.ycombinator.com/item?id=50284255 Points: 349 # Comments: 106