Claude Models API يضيف فحص دعم البحث وتنفيذ الكود قبل إرسال الطلبات

Samer17 أكتوبر 2026آخر تحديث :
Claude Models API

أضافت Anthropic في تحديث Claude Models API بتاريخ 6 أكتوبر 2026 حقولًا جديدة ضمن استجابات النماذج، أبرزها capabilities.server_tools. تسمح هذه الحقول للتطبيق بمعرفة ما إذا كان النموذج يقبل أدوات الخادم مثل البحث على الويب وتنفيذ الكود قبل إرسال طلب إلى Claude API. بهذه الطريقة يستطيع المطور بناء اختيار آلي أكثر أمانًا للنماذج، بدل اكتشاف عدم التوافق بعد وصول خطأ من Messages API.

يشمل التحديث نقطتي وصول: GET /v1/models لعرض قائمة النماذج، وGET /v1/models/{model_id} للحصول على تفاصيل نموذج محدد. كما أضافت الوثائق في اليوم السابق حقلًا مستقلًا لفحص دعم تعطيل التفكير عبر capabilities.thinking.types.disabled. ([platform.claude.com](https://platform.claude.com/docs/en/release-notes/overview))

ما الذي تغير في واجهة Models API؟

كانت أدوات المطورين تعتمد غالبًا على اسم النموذج أو إصدار ثابت لمعرفة ما يمكن استخدامه معه. هذه الطريقة تصبح هشة عند إطلاق نماذج جديدة أو تغيير دعم الأدوات بين النماذج. أما الآن، فيمكن قراءة قدرات النموذج مباشرة من استجابة Models API.

التحديث يضيف مجموعة capabilities.server_tools لتوضيح ما إذا كان النموذج يقبل أدوات البحث وتنفيذ الكود التي تديرها المنصة. ويظل هناك فرق مهم بين نوعين من القدرات:

  • أدوات الخادم: أدوات توفرها Claude Platform، مثل البحث على الويب وتنفيذ الكود.
  • الأدوات الخاصة بتطبيقك: الأدوات التي ترسل تعريفاتها أنت داخل الطلب، مثل أداة قراءة قاعدة بيانات أو إنشاء تذكرة دعم.

هذا الفرق مهم لأن دعم النموذج لأدوات الخادم لا يعني بالضرورة أن الكود الذي تنفذه أداة الخادم يستطيع استدعاء أدوات تطبيقك. توضح ملاحظات الإصدار أن capabilities.server_tools.code_execution يفحص قبول أداة تنفيذ الكود، بينما يشير capabilities.code_execution على المستوى الأعلى إلى قدرة الكود على استدعاء أدوات الطلب الأخرى. ([platform.claude.com](https://platform.claude.com/docs/en/release-notes/overview))

كيف تقرأ دعم البحث وتنفيذ الكود؟

الفكرة العملية بسيطة: اجلب بيانات النموذج أولًا، ثم افحص الحقول قبل بناء طلب Messages API. يمكن لتطبيقك الاحتفاظ بقواعد اختيار مشابهة للتالي:

model = get_model_from_models_api(model_id)

server_tools = model.get("capabilities", {}).get("server_tools", {})

supports_search = server_tools.get("web_search") is True
supports_code = server_tools.get("code_execution") is True

if need_search and not supports_search:
    choose_another_model()

if need_code and not supports_code:
    choose_another_model()

المثال يوضح نمط القراءة وليس بديلًا عن تعريفات الطلب الفعلية في وثائق Claude API. عند تطبيقه، تعامل مع الحقول غير الموجودة باعتبارها غير مدعومة، لا باعتبارها مدعومة افتراضيًا. هذه القاعدة تمنع اختيار نموذج لا يملك القدرة المطلوبة، خصوصًا عندما تتغير قائمة النماذج أو تضاف إصدارات جديدة.

التحقق من البحث

إذا كان التطبيق يحتاج إلى إجابات تعتمد على البحث، فلا يكفي أن يكون النموذج قويًا في المعرفة العامة. يجب أن يتحقق من وجود مؤشر أداة البحث ضمن قدرات أدوات الخادم، ثم يرسل تعريف أداة البحث بالشكل الذي توضحه وثائق Messages API. وإذا لم يكن المؤشر موجودًا أو كانت قيمته false، يستطيع التطبيق التحول إلى نموذج آخر أو استخدام مسار بديل.

التحقق من تنفيذ الكود

تنفيذ الكود يحتاج إلى فحص أكثر دقة. أولًا، اقرأ capabilities.server_tools.code_execution لمعرفة ما إذا كان النموذج يقبل أداة تنفيذ الكود. ثانيًا، إذا كان الكود يحتاج إلى استدعاء أدوات أخرى مرسلة في الطلب، افحص أيضًا capabilities.code_execution. وجود القدرة الأولى وحدها لا يثبت أن كل سيناريوهات استدعاء الأدوات المتداخلة متاحة.

ماذا يعني حقل التفكير؟

لا ينبغي تفسير حقول التفكير على أنها مقياس لجودة الاستدلال أو ضمان بأن النموذج سيعرض خطواته الداخلية. التحديث المرتبط بالتفكير يوضح ما إذا كان النموذج يقبل إرسال:

"thinking": {
  "type": "disabled"
}

لذلك، فإن capabilities.thinking.types.disabled يجيب عن سؤال محدد: هل يمكن تعطيل التفكير لهذا النموذج؟ لا يجيب عن سؤال «هل النموذج قادر على التفكير؟»؛ فذلك تعبير مختلف وقد يعتمد على إعدادات النموذج وواجهة الطلب.

يمكن أن تستخدم هذه المعلومة عند بناء طبقة اختيار نماذج تجمع بين السرعة والتكلفة والقدرات. فإذا كان مسار معين يتطلب تعطيل التفكير لتقليل زمن الاستجابة، افحص هذه القدرة قبل إرسال الطلب. وإذا كانت قيمتها غير متاحة، فلا تفترض أن إرسال thinking.type سيعمل مع النموذج.

تصميم اختيار آلي أكثر اعتمادية

أفضل استخدام للتحديث هو وضعه داخل طبقة توجيه مستقلة بدل توزيع شروط القدرات في جميع أجزاء التطبيق. يمكن لهذه الطبقة تنفيذ الخطوات الآتية:

  1. تحميل قائمة النماذج من GET /v1/models وتخزينها مؤقتًا لفترة قصيرة.
  2. تصفية النماذج التي لا تدعم الأداة المطلوبة.
  3. تطبيق شروط إضافية مثل نافذة السياق أو السرعة أو التكلفة وفق احتياجات المشروع.
  4. إرسال الطلب إلى النموذج المختار.
  5. إعادة التحقق عند ظهور خطأ توافق، لأن بيانات القدرات قد تتغير أو تختلف حسب المنصة المستخدمة.

ومن المفيد أيضًا تسجيل سبب الاختيار في السجلات الداخلية، مثل: «تم اختيار النموذج لأنه يدعم البحث وتنفيذ الكود». هذا يساعد على تشخيص الأخطاء عندما تتغير النماذج أو تنتقل الخدمة بين Claude API ومزود سحابي آخر.

نقاط يجب الانتباه إليها

  • لا تعتمد على اسم النموذج وحده لاستنتاج دعم أداة معينة.
  • اعتبر الحقل المفقود حالة غير مدعومة إلى أن تؤكد الوثائق خلاف ذلك.
  • افصل بين أدوات الخادم والأدوات التي يعرّفها تطبيقك.
  • لا تخلط بين دعم تنفيذ الكود ودعم الكود لاستدعاء أدوات أخرى.
  • اختبر مسارًا بديلًا عندما لا يملك النموذج الأداة المطلوبة، مثل اختيار نموذج آخر أو تنفيذ المهمة دون الأداة.
  • تحقق من وثائق المنصة التي تستخدمها، لأن توفر القدرة قد يختلف بين Claude API والمنصات السحابية التي تستضيف نماذج Claude.

الخلاصة

يجعل تحديث Claude Models API اختيار النموذج أكثر اعتمادًا على البيانات الفعلية وأقل اعتمادًا على التخمين. قراءة capabilities.server_tools قبل الطلب تساعد التطبيق على معرفة دعم البحث وتنفيذ الكود، بينما يوضح capabilities.thinking.types.disabled إمكانية تعطيل التفكير عند الحاجة. النتيجة العملية هي تقليل أخطاء التوافق وتحسين أدوات التوجيه الآلي التي تختار النموذج المناسب لكل مهمة.

الأسئلة الشائعة

هل أحتاج إلى استدعاء Models API قبل كل طلب؟

ليس بالضرورة. يمكن تخزين بيانات النماذج مؤقتًا وتحديثها دوريًا، مع إعادة التحقق عند الفشل أو عند إطلاق نماذج جديدة.

هل دعم البحث يعني أن النموذج يبحث تلقائيًا في كل طلب؟

لا. الحقل يوضح قبول النموذج لأداة البحث، لكن تطبيقك ما زال يحتاج إلى إرسال الأداة وإدارة دورة استدعائها وفق وثائق Messages API.

هل capabilities.code_execution هو نفسه capabilities.server_tools.code_execution؟

لا. الأول يوضح قدرة الكود على استدعاء أدوات الطلب الأخرى، أما الثاني فيتحقق من قبول النموذج لأداة تنفيذ الكود التي توفرها المنصة.

ماذا أفعل إذا لم يظهر حقل القدرة؟

تعامل معه بحذر باعتباره غير مؤكد أو غير مدعوم، ثم راجع وثائق Using the Models API قبل إرسال الطلب.

آخر مراجعة: undefined

المصادر الرسمية والمراجع

اترك تعليق

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *


شروط التعليق :

عدم الإساءة للكاتب أو للأشخاص أو للمقدسات أو مهاجمة الأديان أو الذات الالهية. والابتعاد عن التحريض الطائفي والعنصري والشتائم.

الاخبار العاجلة