تصور کنید یک عامل هوش مصنوعی بخواهد تاریخچه گفتگوهای خود را بازنویسی کند؛ حالا با یک خطای ۴۰۰ و پیام «امضای نامعتبر در بلوک تفکر» مواجه میشود. این نتیجه لایه امنیتی جدید آنتروپیک (Anthropic) است که تاریخچه پیامهای کلود را به یک دفتر کل «فقط-افزودنی» (append-only ledger) تبدیل میکند. بهطور مشخص، این خطا با عبارت messages.1.content.0: Invalid signature in thinking block آغاز میشود. از آنجایی که مسیر ابتدایی خطا بسته به اینکه کدام بلوک دچار مشکل شده است تغییر میکند، توسعهدهندگان باید برای شناسایی خطا، بخش بعد از مسیر (path) را جستجو (grep) کنند.
این تغییر در حالی رخ میدهد که آزمایشگاههای هوش مصنوعی در جنگی خاموش بر سر تقطیر (Distillation) — یعنی فرآیند استفاده از ردپای استدلالی مدلهای پیشرو برای آموزش مدلهای کوچکتر و ارزانتر — هستند. همانطور که در تحلیل قبلی ما دربارهی کاربردهای کلود کد (Claude Code) در انجام وظایف حساس مانند اصلاح هسته لینوکس اشاره کردیم، این بهروزرسانی تضمین میکند که منطق و استدلال پشت این خروجیها اختصاصی و محرمانه باقی بماند. در همین راستا، بررسی تأثیر پلاگینهای کلود کد بر ارتقای مهارت مدل نشان میدهد که آنتروپیک چگونه در تلاش است تا مرز بین ابزارهای کمکی و توانمندی ذاتی مدل را مدیریت کند.
تاریخچه گفتگوهای شما را مانند مجموعهای از پاکتهای مهرومومشده با موم تصور کنید؛ اگر حتی یک کلمه در پاکتی قدیمی تغییر کند، تمام مهرهای بعدی میشکنند و API از پذیرش توالی پیامها خودداری میکند.

سازوکار ضدتقطیر
در ۱۲ اکتبر ۲۰۲۶، آنتروپیک جزئیات یک استراتژی دفاعی سهلایه را شرح داد که برای حفاظت از مالکیت معنوی این شرکت طراحی شده است. محور اصلی این طرح، «تفکر حفظشده» (preserved thinking) است که اکنون برای تمام حسابهای API ایجاد شده در تاریخ ۳۱ اوت ۲۰۲۶، ساعت ۰۰:۰۰ UTC یا پس از آن، اجباری شده است. برای حسابهای قدیمیتر، این بررسی اعمال نمیشود مگر اینکه توسعهدهنده خودش آن را فعال (opt-in) کند.
بر اساس یک پست پژوهشی آنتروپیک درباره دفاع در برابر تقطیر، این دفاعهای ترکیبی مقدار دادههای استخراجشده توسط تقطیرکنندگان را تقریباً بین ۹۰٪ تا ۹۹٪ کاهش داده است. هرچند آنتروپیک این یافته را «شواهد اولیه» مینامد و روش اندازهگیری را مشخص نکرده است، اما هزینه آن برای توسعهدهندگان روشن است؛ چراکه شرکت اعتراف کرده است که «تفکر حفظشده برخی از توسعهدهندگان را مجبور کرده است تا یکپارچگیهای نرمافزاری خود را بهروزرسانی کنند».
لایههای سهگانه دفاعی
استراتژی آنتروپیک از سه لایه مجزا تشکیل شده است:
- تفکر حفظشده: این قابلیت در مدلهای کلود فیبل ۵.۱ (Claude Fable 5.1) و کلود اوپوس ۵.۵ (Claude Opus 5.5) مستقر شده است. در مدل کلود سونت ۵.۵ (Claude Sonnet 5.5)، رونوشتهای استدلالی فقط برای سازمانی که درخواست اصلی را تولید کرده است، محدود و در دسترس است.
- طبقهبند دو مرحلهای: این سیستم روی مدلهای سونت ۵.۵، اوپوس ۵ و ۵.۵ و فیبل ۵ و ۵.۱ اجرا میشود. آنتروپیک ادعا میکند نرخ مثبت کاذب (false positive) این سیستم زیر ۰.۱٪ است.
- اجرای سختگیرانه: حسابهایی که سعی در استخراج استدلال دارند با محدودیتهای شدیدتر و در نهایت مسدود شدن (ban) مواجه میشوند. از ۲۴ سپتامبر، آنتروپیک مجدداً شروع به دریافت هزینه برای درخواستهایی کرده است که توسط حفاظها در حوزههایی مانند تقطیر مسدود شدهاند، به شرطی که نرخ مثبت کاذب در آن حوزه زیر ۰.۱٪ باشد.
رسانه Resultsense که بر بازار بریتانیا تمرکز دارد، این موازنه را قابل دفاع توصیف کرد و اشاره کرد که این اقدام، اصطکاک را به دوش مشتریان پرداختکننده منتقل میکند. در حالی که طبقهبند و قوانین صورتحساب فقط روی تعداد کمی از کاربران اثر میگذارد، تفکر حفظشده تمام یکپارچگیهای چند-مرحلهای (multi-turn integration) را تحت تأثیر قرار میدهد.

چه چیزی باعث خطای ۴۰۰ میشود؟
برای هر بلوک thinking یا redacted_thinking که به API بازگردانده میشود، سیستم دو بررسی سختگیرانه انجام میدهد. اول، مدل باید بتواند بلوک را بخواند، در غیر این صورت API بدون هیچ خطایی آن را حذف میکند. دوم، «هیچ چیزی قبل از بلوک تفکر نباید تغییر کرده باشد».
منظور از «قبل»، شامل پرامپت سیستمی سطح بالا، آرایه ابزارها (tools array) و تمام پیامهای پیش از آن بلوک است. اگر هر یک از این موارد با آنچه در زمان تولید بلوک وجود داشته متفاوت باشد، آن بلوک و تمام بلوکهای تفکر بعدی نامعتبر میشوند. این بررسی پیشوند (prefix check) مدلهای فیبل ۵.۱، اوپوس ۵.۵، سونت ۵.۵ و هایکو ۵.۵ را پوشش میدهد.
برخی تغییرات همچنان معتبر هستند چون سیستم آنچه را شما فرستادهاید با نسخه ویرایششده سرور مقایسه نمیکند. این موارد عبارتند از:
- افزودن پیامهای جدید به انتهای تاریخچه.
- تغییر در پارامترهای
effort،max_tokens،tool_choice،metadataو نشانگرهایcache_control. - فشردهسازی در سمت سرور (Server-side compaction).
عادتهایی که حلقه عامل را میشکنند
برخی الگوهای رایج در ساخت عامل (Agent) — شبیه دستیاری که برای انجام کارهای پیچیده برنامهریزی شده — اکنون باعث شکست سیستم میشوند:
- پرامپتهای سیستمی پویا: تزریق تاریخ جاری یا بارگذاری مجدد یک فایل بهروز شده مانند
CLAUDE.mdیاAGENTS.mdدر پرامپت سیستمی، پیشوند را تغییر میدهد. بهجای آن، فایلهای دستورالعمل را یکبار بارگذاری کرده و نسخههای جدید را به صورت پیامهای سیستمی در میانه گفتگو اضافه کنید. - تغییر ابزارها: ویرایش آرایه ابزارها در میانه جلسه دیگر مجاز نیست. توسعهدهندگان باید مجموعه کامل ابزارها را در ابتدا تعریف کنند، ابزارهای دیرهنگام را با
defer_loading: trueعلامتگذاری کنند و از بلوکهایtool_additionیاtool_removalاستفاده کنند. - غیرفعال کردن ابزارها: حذف ابزارها برای غیرفعال کردن قابلیت استفاده از ابزار باعث خطا میشود. بهجای آن از
tool_choice: {"type": "none"}استفاده کنید. - هرس کردن تاریخچه: حذف پیامها از وسط گفتگو، زنجیره امضاها را نابود میکند. برای حذف نتایج قدیمی ابزارها از ویرایش زمینه در سمت سرور استفاده کنید.
- خلاصهسازی سفارشی: نوشتن یک خلاصه از نوع 'keep-tail' تاریخچهای را که استدلال بر اساس آن بنا شده بود جایگزین میکند. از فشردهسازی در لحظه (on-demand compaction) از طریق API استفاده کنید یا بلوکهای تفکر را از پیامهای باقیمانده حذف کنید.
- سریالسازی بلوکهای خالی: برخی سریالسازها بلوکهای «خالی» را نادیده میگیرند. اما فیلد
thinkingبهطور پیشفرض خالی است چون امضا حامل استدلال است؛ حذف بلوک یعنی حذف استدلال. - تغییر نقش در گیتوی: گیتویی که یک پیام با
role: "system"را به فیلد سیستمی سطح بالا منتقل میکند، تمام بلوکهای تفکر را نامعتبر میکند. - تغییر محتوای URL: اگر محتوای یک تصویر یا سند که توسط یک URL ارجاع داده شده تغییر کند، استدلالهای بعدی میشکنند. از Files API و یک
file_idبرای ارجاعات بین-مرحلهای استفاده کنید.
راهکارهای فنی و هزینهها
توسعهدهندگان میتوانند بدون نیاز به حساب جدید، با استفاده از هدر بتای thinking-binding-controls-2026-08-01 و بدون تنظیم prefix_mismatch_behavior این خطاها را شناسایی کنند. این کار اجازه میدهد بلوکهای شکستخورده به مدل برسند و در فیلد پاسخ input_transformations به عنوان thinking_mismatch_allowed لیست شوند.
در پایتون، این مورد به شکل زیر پیاده میشود:
import logging
import anthropic
client = anthropic.Anthropic()
resp = client.beta.messages.create(
model="claude-fable-5-1",
max_tokens=16000,
thinking={"type": "adaptive"},
system=system_prompt,
tools=tools,
messages=history,
betas=["thinking-binding-controls-2026-08-01"],
)
for t in resp.input_transformations or []:
reason = getattr(t, "reason", None)
logging.warning("%s %s %s", t.type, t.path, reason)
اگر اصلاح فوری ممکن نیست، توسعهدهندگان میتوانند از رفتار drop_block استفاده کنند:
thinking={
"type": "adaptive",
"block_binding": {
"prefix_mismatch_behavior": "drop_block",
},
}
این دستور به API میگوید بلوکهای شکستخورده و تمام بلوکهای بعد از آنها را دور بریزد و آنها را با دلیل prefix_binding_mismatch لیست کند. اما این کار جریمه عملکردی دارد؛ آنتروپیک گزارش میدهد که توکنهای خروجی بین ۲.۵٪ تا ۶۷.۱٪ افزایش مییابد چون مدل باید استدلالهایی را که دیگر نمیتواند به آنها ارجاع دهد، دوباره تولید کند.

موازنه مهندسی
این بهروزرسانی نشاندهنده چرخش بزرگی در تجربه توسعهدهنده است. آنتروپیک در واقع راحتی توسعهدهنده را فدای امنیت مدل کرده است. با اجبار به معماری «فقط-افزودنی»، انعطافپذیری بسیاری از چارچوبهای عامل (agent harnesses) که برای مدیریت حافظه به آن متکی بودند، حذف شده است. این رویکرد سختگیرانه به نوعی مکمل سیستمهای ثبت سوابق تصمیمگیری است که برای جلوگیری از فراموشی قوانین تیمی در حافظه عاملها به کار میرود.
برای متخصصان، این یعنی «وضعیت» (state) یک عامل دیگر یک سند سیال نیست، بلکه یک رونوشت صلب است. اگرچه این کار بار مهندسی برای حفظ تاریخچه را زیاد میکند، اما ردپای حسابرسی (audit trail) قابلاعتمادتری برای عیبیابی حلقههای پیچیده عاملمحور ایجاد میکند. این دقت در ثبت تاریخچه میتواند به کاهش ادعاهای دروغین عاملها درباره رفع باگ کمک کند، چراکه هر تغییر در روند استدلال بهوضوح قابل ردیابی است.
برای انطباق با این قوانین در این هفته، توسعهدهندگان باید:
- دقیقاً هر آنچه ارسال و دریافت شده، از جمله پرامپت سیستمی رندر شده و تعاریف ابزارها را ذخیره (persist) کنند.
- در هنگام بازگشت به جلسه (resume)، رونوشت دقیق را بازپخش کنند و از رندر مجدد از روی ورودیهای منبع بپرهیزند.
- مطمئن شوند پروکسیها مقادیر
anthropic-betaوthinking.block_bindingرا بدون حذف بلوکهای تفکر عبور میدهند. - توجه داشته باشند که بلوکهای تفکر سونت ۵.۵ و هایکو ۵.۵ را نمیتوان در حسابهای غیرمرتبط (unlinked accounts) مجدداً استفاده کرد.
ببینید آیا سایر آزمایشگاههای پیشرو نیز از این رویکرد «امضا» برای جلوگیری از تقطیر مدلها استفاده میکنند یا خیر؛ این متد ممکن است به استاندارد صنعت تبدیل شود.




گفتگو