'ThinkingBlock' object has no attribute 'text': لماذا لم يعد رد نموذج Claude الأحدث يبدأ بنص، وكيف تصلحه
غيّرت النموذج الذي تستدعيه عبر Claude API إلى إصدار أحدث، فصار يظهر الخطأ AttributeError: 'ThinkingBlock' object has no attribute 'text'، أو صار نص الرد يعود فارغًا. السبب أن نماذج Claude 5 وما بعدها تفكر عند الحاجة حتى إن لم تضبط thinking، فتصبح الكتلة الأولى في الرد كتلة تفكير. أما نماذج Claude 4 فلم تكن تفكر ما لم تضبطه، لذا فإن تغيير اسم النموذج وحده يغيّر شكل الرد. ومع المدخلات البسيطة تبقى الكتلة الأولى نصًا، فتنجح الاختبارات التي تستخدم مدخلات خفيفة. استنادًا إلى وثائق Anthropic واختباراتي على أربعة نماذج (1 نوفمبر 2026)، يتناول هذا المقال السبب، وكيفية الإصلاح بالبحث عن كتل النص حسب نوعها (Python وTypeScript)، وما تفعله عندما يتركك max_tokens بلا نص، وأي النماذج يمكن إيقاف التفكير فيها وأيها لا يمكن، وكيف لا تفوّت المشكلة في الاختبار.