| |

أخطاء استخدام Claude في Codex وWorkBuddy: فحص 3 فئات من الأسباب ومساران للإصلاح

أخطاء استخدام Claude في Codex وWorkBuddy: فحص 3 فئات من الأسباب ومساران للإصلاح

ملاحظة الكاتب: لم يُصمَّم Codex ولا WorkBuddy خصيصًا للعمل مع Claude، وتظهر الأخطاء غالبًا في طبقة التكامل. يصنّف هذا المقال الأخطاء إلى ثلاث فئات: نقطة النهاية، ودورة استدعاء الأدوات، وكتل التفكير، مع توضيح رسالة كل خطأ وطريقة إصلاحه.

لقد واجهنا هذه المشكلة بأنفسنا. في البداية، استخدمنا بروتوكولًا متوافقًا مع OpenAI لاستدعاء Claude، أي تعاملنا معه كما لو كان نموذجًا من OpenAI، توفيرًا للوقت. كانت المحادثات البسيطة تعمل دون مشكلة، لكن بمجرد استدعاء أداة يظهر خطأ، ولم تنفع إعادة المحاولة. ولم يستقر العمل إلا بعد العودة إلى نقطة النهاية الأصلية لـ Anthropic، وهي /v1/messages.

تحقّق أولًا مما إذا كنت تواجه المشكلة نفسها: إذا ظهر خطأ متعلق بـ wire_api فور تشغيل Codex، أو كانت المحادثة في WorkBuddy تعمل بشكل طبيعي لكن استدعاء أداة يؤدي إلى خطأ 400، أو كان محتوى الرد فارغًا دون سبب واضح، فغالبًا ما تنطبق عليك إحدى الحالات التي يناقشها هذا المقال.

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

خلاصة المقال، مرتّبة من الخيار الأفضل إلى الأقل تفضيلًا: بروتوكول Anthropic الأصلي > الترجمة عبر بوابة إلى بروتوكول Anthropic > الدردشة المتوافقة مع OpenAI. يمكنك البدء الآن باستخدام جدول المقارنة أدناه لتحديد الفئة التي ينتمي إليها الخطأ.

codex-workbuddy-claude-error-3-causes-troubleshooting-ar-image-0


أبرز أسباب أخطاء استخدام Claude مع Codex وWorkBuddy: 3 فئات

لنوضح بعض المصطلحات أولًا. يمكن النظر إلى Responses وMessages وChat Completions على أنها ثلاث طرق لطلب الطعام: الأطباق التي يعدّها المطبخ واحدة، لكن تنسيق قائمة الطلبات يختلف. يستخدم Codex صيغة Responses فقط، بينما يقبل Claude صيغتي Messages وChat Completions فقط. أما كتلة thinking فهي أشبه بمسودة النموذج، وتتحقق Anthropic مما إذا كانت هذه المسودة قد عُدّلت.

الفئة الآلية باختصار الجهة المسؤولة عن الإصلاح صعوبة الإصلاح
الفئة الأولى: عدم تطابق نقاط النهاية يرسل Codex طلبات بصيغة Responses فقط، ولا يقبل Claude هذه الصيغة تغيير الأداة أو البوابة الأصعب
الفئة الثانية: عدم تطابق تبادل طلبات الأدوات ونتائجها يتغير المعرّف أو كتل المحتوى أو كتل التفكير أثناء الترجمة البوابة بالدرجة الأولى متوسطة
الفئة الثالثة: عدم تطابق كتل التفكير والميزانية يفكر النموذج في كل مرة، بينما يواصل العميل قراءة النتائج بالطريقة القديمة العميل الأسهل

codex-workbuddy-claude-error-3-causes-troubleshooting-ar-image-1


الفئة الأولى: عدم تطابق نقاط النهاية عند استدعاء Claude من Codex

شكل رسالة الخطأ: Error loading config.toml: wire_api = "chat" is no longer supported. How to fix: set wire_api = "responses".

تعني الرسالة أن الإعداد wire_api = "chat" لم يعد مدعومًا، ويجب تغييره إلى responses.

السبب: وفقًا لمرجع إعدادات Codex الرسمي، لم تعد هناك سوى قيمة واحدة مدعومة لـ wire_api، وهي responses. أما الحل السابق المتمثل في تغيير القيمة إلى chat كخيار بديل فلم يعد صالحًا؛ إذ يُظهر الإصدار الجديد من Codex خطأً مباشرةً عند تحميل الإعدادات. وحتى إذا لم يكن هذا المزوّد مستخدمًا أصلًا، فلن يعمل الأمر codex login status أيضًا. في المقابل، لا تتيح نماذج Claude على APIYI apiyi.com سوى نقطتي النهاية anthropic وopenai، ولا توفر /v1/responses. وبما أن التنسيقين غير متوافقين ولا توجد طبقة تحويل بينهما، يظهر الخطأ.

طريقة الإصلاح:
1. العميل: افتح ~/.codex/config.toml واحذف إعداد chat المتبقي وفقًا لرسالة الخطأ، حتى يتمكن Codex من بدء التشغيل بشكل طبيعي.
2. تغيير الأداة: إذا كنت تريد فقط استخدام Claude لكتابة الشفرة، فانتقل مباشرةً إلى Claude Code، لأنه يستخدم Messages الأصلي.
3. البوابة: إذا كان لا بد من الاستمرار باستخدام Codex، فأضف بوابة تحوّل Responses إلى Messages. ويُفضّل إدخال نقطة النهاية الأصلية لـ Anthropic كعنوان للمزوّد.

معايير التحقق: يُنفّذ الأمر codex login status بنجاح؛ وعند استخدام البوابة، أرسل تعليمات تتطلب قراءة ملف، وتحقق من أن Codex يُكمل استدعاء الأداة بالكامل.


الفئة الثانية: عدم تطابق رسائل استدعاء الأدوات ونتائجها في Claude

كيف يظهر الخطأ:
– tool_use ids were found without tool_result blocks immediately after
– An assistant message with 'tool_calls' must be followed by tool messages...
– thinking or redacted_thinking blocks in the latest assistant message cannot be modified
– Invalid signature in thinking block. The block is bound to a different conversation.

يعني الخطأ الأول أن كتلة tool_use لم تتبعها مباشرةً كتلة tool_result المقابلة. والخطأ الثاني هو المشكلة نفسها بصيغة Chat. أما الثالث فيعني أن كتلة التفكير من الجولة السابقة قد عُدّلت، والرابع يعني أن توقيع كتلة التفكير لا يتطابق مع المحادثة الحالية.

لماذا يحدث ذلك: تحوّل طبقة التوافق كتل المحتوى في Claude، مثل text وtool_use وtool_result وthinking، إلى tool_calls وrole: tool، ثم تحوّلها مجددًا إلى الصيغة الأصلية. خلال هذه العملية، يكفي عدم تطابق المعرّفات، أو دمج كتل المحتوى، أو نقل كتلة thinking حتى يُعاد الخطأ 400. كذلك تتضمن صيغة Responses دور developer، بينما لا تتضمنه صيغة Messages، لذا يجب دمج محتواه في system. إضافةً إلى ذلك، لا يقبل claude-opus-5-5 الصيغ القديمة التالية: فرض tool_choice باستخدام any أو تحديد أداة، والملء المسبق لرسالة assistant ‏(prefill)، ومعاملات أخذ العينات temperature وtop_p وtop_k.

كيفية الإصلاح:
1. البوابة: تأكد من أن كل tool_use تتبعها مباشرةً كتلة tool_result تحمل المعرّف نفسه، وأن توضع tool_result في مقدمة كتل محتوى رسالة user.
2. البوابة: أعد إرسال رسالة assistant من الجولة السابقة كما هي، بما في ذلك الكتل التي يكون حقل thinking فيها فارغًا؛ وادمج محتوى developer في system.
3. العميل: احتفظ بالقيمتين auto أو none فقط في tool_choice، واحذف prefill ومعاملات أخذ العينات.
4. العميل: إذا ظهر خطأ التوقيع بالفعل، فابدأ محادثة جديدة مباشرةً. وفقًا للأسئلة الشائعة الرسمية لدى APIYI، قد يظهر هذا الخطأ أحيانًا بصيغة Request rejected (429)، لكنه ليس تقييدًا للمعدل، ولن تفيد إعادة المحاولة مع زيادة فترات الانتظار.
5. تغيير الأداة: إذا كان إطار التشغيل (harness) يفرض tool_choice بقيمة ثابتة لا يمكنك تغييرها، فاستخدم عميلًا آخر.

للاطلاع على طريقة تشخيص أخطاء 400 المشابهة، راجع خطأ Claude Code 400 المرتبط بتزامن استخدام الأدوات، الذي يشرح كيفية تحديد سبب فشل مطابقة tool_use مع tool_result خطوة بخطوة.

معيار التحقق: تختفي أخطاء 400 خلال عدة جولات متتالية من استدعاءات الأدوات، مثل قراءة ملف وتعديله ثم قراءته مجددًا، ولا تظهر أخطاء التوقيع داخل المحادثة نفسها.


الفئة الثالثة: عدم توافق كتل التفكير في Claude مع ميزانية المخرجات

كيف يظهر الخطأ: "thinking.type.enabled" is not supported for this model. Use "thinking.type.adaptive" and "output_config.effort" to control thinking behavior. وقد يظهر أيضًا "thinking.type.disabled" is not supported for this model. وفي بعض الحالات لا يظهر خطأ، لكن الرد يكون فارغًا أو مقطوعًا.

السبب: يفكّر claude-opus-5-5 في كل طلب، وقد تبدأ الاستجابة بكتلة thinking. إذا كان العميل يقرأ content[0].text اعتمادًا على موقعه، فسيحصل على قيمة فارغة. تُحتسب رموز التفكير ضمن تكلفة المخرجات، وتستهلك جزءًا من max_tokens. وبدءًا من هذا الجيل، توضع التعليقات التوضيحية بين استدعاءات الأدوات داخل كتلة thinking أيضًا. وبما أن القيمة الافتراضية لـ display هي omitted، فقد يبدو الرد فارغًا.

طريقة الإصلاح:
1. العميل: احذف المعامل thinking أو اضبطه على thinking: {"type": "adaptive"}، واحذف budget_tokens.
2. العميل: استخدم output_config.effort للتحكم في عمق التفكير. الخيارات هي low / medium / high / xhigh / max، والقيمة الافتراضية هي medium.
3. العميل: عند قراءة الرد، ابحث عن كتلة text حسب type بدلًا من الاعتماد على موقعها.
4. العميل: اضبط max_tokens بحيث يكفي للتفكير والنص معًا. ولعرض التعليقات التوضيحية، اضبط thinking.display على summarized.

لفهم هذه الآلية الجديدة بصورة أشمل، راجع شرح التفكير التكيفي Adaptive Thinking، الذي يوضح كيفية الانتقال من budget_tokens إلى مستويات effort.

معيار التحقق: أرسل الموجه نفسه عدة مرات متتالية؛ يجب ألا يكون نص الرد فارغًا في أي مرة، وألا تظهر أخطاء مرتبطة بـ thinking.type.


جدول مرجعي سريع لرسائل أخطاء Claude

كلمات من رسالة الخطأ الأصلية الفئة فحص ذاتي خلال 5 دقائق ما المقال الذي تراجعه إذا استمر الخطأ؟
wire_api = "chat" is no longer supported الفئة الأولى تحقّق من عدم وجود إعداد chat قديم في ملف config.toml دليل Magpie
tool_use ids were found without tool_result الفئة الثانية تحقّق من معرّف tool_result وموضعه خطأ 400 في Claude Code: تزامن استخدام الأدوات
must be followed by tool messages الفئة الثانية تأكد مما إذا كان الطلب يمر عبر طبقة توافق Chat خطأ 400 في Claude Code: تزامن استخدام الأدوات
Invalid signature in thinking block الفئة الثانية افتح جلسة جديدة وأعِد المحاولة شرح Adaptive Thinking: التفكير التكيفي
thinking.type.enabled / رد فارغ الفئة الثالثة احذف budget_tokens واقرأ وفقًا لـ type شرح Adaptive Thinking: التفكير التكيفي
المحادثة البسيطة تعمل، لكن يظهر خطأ عند استدعاء أداة الفئة الثانية تحقّق من بروتوكول الاتصال في WorkBuddy هل يدعم WorkBuddy الاستدعاء بالتنسيق الأصلي لـ Claude؟

مساران لإصلاح أخطاء استدعاء Claude من Codex وWorkBuddy

codex-workbuddy-claude-error-3-causes-troubleshooting-ar-image-2

المسار لمن يناسب؟ أولوية البروتوكول
A: العودة إلى العميل الأصلي من يريد استخدام Claude لكتابة الشفرة فقط الأعلى، بلا فقدان ناتج عن الترجمة
B: إضافة بوابة ترجمة من يحتاج إلى البقاء في Codex أو WorkBuddy تليها، مع إدخال anthropic في عنوان المزوّد
البقاء على chat المتوافق على المدى الطويل غير موصى به الأدنى، إذ قد تظهر مشكلات في استدعاء الأدوات وكتل التفكير

المسار A: إذا كنت تريد استخدام Claude في Codex، فانتقل إلى Claude Code. توفر إعدادات النماذج الرسمية في WorkBuddy خيار /chat/completions ومفتاح «البروتوكول المخصص» فقط، ولا تتضمن مدخلاً أصليًا لـ Anthropic. لذلك، لا تتوقع الحصول على ميزة التفكير الأصلية في WorkBuddy. للمزيد، راجع هل يدعم WorkBuddy استدعاء Claude بالتنسيق الأصلي؟، حيث يشرح المقال سبب نجاح المحادثة وفشل استدعاء الأدوات، وطرق تجاوز المشكلة.

لإعداد الاتصال المباشر في WorkBuddy، انتقل إلى «الإعدادات ← النموذج ← مخصص»، وأدخل https://api.apiyi.com/v1 في حقل Base URL، وclaude-opus-5-5 في حقل اسم النموذج، ومفتاح API الذي أنشأته من صفحة الرموز لدى APIYI على apiyi.com في حقل Key. اكتب عنوان URL حتى /v1 فقط، ولا تُضف /chat/completions بنفسك.

التعليق: تأكد من أن عنوان URL ينتهي عند /v1، وأن اسم النموذج هو claude-opus-5-5، وأن مفتاح «البروتوكول المخصص» لا يزال مغلقًا.

المسار B: عند إضافة بوابة إلى Codex، اترك إعداد wire_api = "responses" كما هو في Codex، لتتولى البوابة ترجمة الطلبات إلى صيغة Messages ثم تمريرها. في WorkBuddy، وجّه عنوان URL للنموذج المخصص إلى البوابة المحلية، وأدخل نقطة النهاية الأصلية لـ Anthropic، وهي https://api.apiyi.com، في حقل عنوان المزوّد لنماذج Claude.

🎯 نصيحة تقنية: يكفي مفتاح API واحد لاختبار نقطتي النهاية: Messages الأصلية وchat المتوافقة. يُنصح باستخدام رصيد الاختبار لدى APIYI على apiyi.com لمقارنة أداء استدعاء الأدوات عبر البروتوكولين، ثم اختيار المسار المناسب.

توصيل Codex وWorkBuddy بـ Claude باستخدام Magpie

Magpie أداة مفتوحة المصدر من المجتمع بترخيص MIT، تنشئ بوابة محلية على 127.0.0.1:3425 وتحول بين صيغ OpenAI Chat وResponses وAnthropic Messages، وبذلك تسد الفجوة في الفئة الأولى. إلى جانب الإعداد اليدوي، يمكنك استخدام واجهة Magpie الرسومية لإدخال مفتاح API وBase URL وتوصيل Codex وWorkBuddy بالبوابة نفسها، دون تعديل ملفات الإعداد يدويًا. تجد الخطوات كاملة في دليل Magpie، الذي يشرح كيفية توحيد مصادر النماذج لعدة وكلاء عبر بوابة واحدة.

  1. صفحة المورّدين: أضف مفتاح API. يظهر APIYI ضمن مجموعة «الوكيل»، ويمكنك أيضًا النقر على «+ مورّد مخصص» لإدخال البيانات يدويًا.
  2. صفحة الوكلاء: اختر claude-opus-5-5 لكل من Codex وWorkBuddy.
  3. افتح جلسة جديدة، ولا تستخدم سجل جلسة سابقة.

التعليق: تأكد من ظهور المورّد على أنه متاح ضمن مجموعة «الوكيل»، وأن Base URL هو عنوان Anthropic الأصلي، وأن مفتاحي التفعيل في صفحة الوكلاء قيد التشغيل.


أسعار استدعاء Claude وتكلفة التخزين المؤقت

الأسعار التالية بالدولار لكل مليون رمز (token)، وقد تم التحقق منها في 2026-10-28. يُرجى الرجوع إلى قائمة النماذج على المنصة لمعرفة النماذج والأسعار المعتمدة:

النموذج الإدخال الإخراج القراءة من التخزين المؤقت المنصة المتاحة
claude-opus-5-5 $4 $20 $0.2 APIYI apiyi.com
claude-sonnet-5-5 $2 $10 $0.1 APIYI apiyi.com
claude-haiku-5-5 $0.1 $0.5 $0.01 APIYI apiyi.com

يعيد الوكيل إرسال المحادثة كاملة في كل جولة، وتُحتسب رموز التفكير في claude-opus-5-5 بسعر الإخراج. وإذا غيّرت طبقة الترجمة ترتيب تعليمات النظام أو الأدوات أو البادئة، فلن تعود نقطة توقف cache_control فعّالة، ما يزيد التكلفة وزمن الاستجابة معًا. إذا كان معدل الاستفادة من التخزين المؤقت غير طبيعي، فراجع انخفاض معدل الاستفادة من تخزين Claude المؤقت إلى 0 (التشخيص)، لمعرفة كيفية تحديد سبب تعطل نقطة التوقف.


المخاطر واحتمال حظر الحساب على مسؤوليتك

تُعد بوابات مثل Magpie أدوات مفتوحة المصدر يطوّرها المجتمع، وليست مكونات رسمية من APIYI. نحن لا نوصي بها ولا نقدم دعمًا تقنيًا لها. وقد يؤدي تمرير الطلبات عبر هذه الأدوات إلى فرض قيود على معدل الطلبات من الخدمة المستهدفة، أو حتى حظر الحساب. ويتحمل المستخدم مسؤولية أي عواقب مترتبة على ذلك. ننصح باختبار العملية كاملةً باستخدام حساب تجريبي أولًا، والتأكد من عملها دون مشكلات قبل التفكير في استخدامها مع حسابك الأساسي.


متى لا تحتاج إلى إعداد بوابة؟

إذا كنت تستخدم Claude داخل Codex من حين إلى آخر فقط، أو كانت بيئة العمل في شركتك لا تسمح بتثبيت برامج إضافية، أو كنت تحتاج إلى تشغيل Claude فقط، فلا داعي لإعداد بوابة. سيكون من الأسهل تغيير أداة الاستخدام إلى Claude Code، أو استخدام نموذج يدعم Responses مباشرةً داخل Codex.


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

السؤال 1: هل يدعم Codex نموذج Claude رسميًا؟

لا. يستخدم Codex واجهة Responses فقط، بينما لا يوفر Claude نقطة النهاية هذه، لذا لا بد من استخدام طبقة ترجمة بينهما.

السؤال 2: هل يمكن استخدام Claude على APIYI عبر /v1/responses؟

لا. نماذج Claude على APIYI في apiyi.com تدعم نقطتي النهاية anthropic وopenai فقط.

السؤال 3: هل يعني الخطأ 429 أنني تجاوزت حد الطلبات؟

إذا تضمنت رسالة الخطأ `Invalid signature in thinking block`، فالسبب ليس تجاوز حد الطلبات، بل فشل التحقق من توقيع كتلة التفكير. يكفي بدء جلسة جديدة.

السؤال 4: هل يستطيع WorkBuddy استخدام بروتوكول Anthropic الأصلي؟

لا تتضمن الإعدادات الرسمية خيارًا لبروتوكول Anthropic الأصلي. يمكنك استخدام واجهة متوافقة مع OpenAI أو تحويل الطلبات عبر بوابة.

السؤال 5: كيف أتحقق سريعًا من حل المشكلة؟

استخدم الرصيد التجريبي لدى APIYI في apiyi.com لبدء جلسة جديدة، ثم نفّذ عدة جولات متتالية من استدعاءات الأدوات، وتأكد أيضًا من أن نص الاستجابة غير فارغ.


قائمة التحقق من أخطاء استخدام Claude مع Codex وWorkBuddy

  • لا تتضمن إعدادات Codex أي صياغة خاصة بـ chat.
  • تستخدم طلبات Claude البروتوكول الأصلي أو بوابة تترجم الطلبات إلى بروتوكول anthropic، وليس وضع التوافق مع chat.
  • يتبع كل tool_use مباشرةً عنصر tool_result يحمل المعرّف نفسه.
  • تُعاد كتلة thinking من الجولة السابقة كما هي، دون تعديل.
  • لا يُستخدم tool_choice الإجباري أو prefill أو معاملات أخذ العينات.
  • تُقرأ الاستجابة وفقًا لـ type، مع تخصيص مساحة كافية للتفكير في max_tokens.

الخلاصة

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

بالنسبة إلى البروتوكول، استخدم Anthropic الأصلي متى أمكن. وإن لم يكن ذلك ممكنًا، فاستخدم بوابة تترجم الطلبات إلى بروتوكول anthropic، ولا تعتمد على التوافق مع chat على المدى الطويل. يمكنك استخدام APIYI على apiyi.com لمقارنة نتائج البروتوكولات المختلفة باستخدام مفتاح API واحد.


📚 المراجع

  1. مرجع إعدادات Codex: توضيح القيم الممكنة لـ wire_api
  2. الرابط: developers.openai.com/codex/config-reference
  3. التوضيح: يؤكد أن wire_api يدعم حاليًا responses فقط
  4. مثال على خطأ في تحميل إعدادات Codex
  5. الرابط: github.com/openai/codex/issues/41816
  6. التوضيح: مصدر النص الأصلي لرسالة خطأ wire_api
  7. دليل الانتقال إلى Claude Opus 5.5
  8. الرابط: platform.claude.com/docs/en/models/opus-5-5/migration-guide
  9. التوضيح: القيود الإلزامية على thinking وtool_choice ومعلمات أخذ العينات
  10. استكشاف أخطاء استدعاء الأدوات في Anthropic وإصلاحها
  11. الرابط: platform.claude.com/docs/en/agents-and-tools/tool-use/troubleshooting-tool-use
  12. التوضيح: قواعد مطابقة tool_use مع tool_result
  13. إعدادات النماذج في WorkBuddy
  14. الرابط: www.workbuddy.ai/docs/zh/workbuddy/From-Beginner-to-Expert-Guide/Function-Description/Model
  15. التوضيح: مدخل إعداد النماذج المخصصة وخيار تفعيل البروتوكول المخصص
  16. مستودع Magpie
  17. الرابط: github.com/yetone/magpie
  18. التوضيح: بوابة مفتوحة المصدر من المجتمع؛ يُرجى تقييم المخاطر بنفسك قبل استخدامها

الكاتب: فريق APIYI التقني
التواصل التقني: يسعدنا تواصلكم معنا عبر الصفحة الرئيسية لـ APIYI على apiyi.com، ويمكنكم زيارة مركز التوثيق docs.apiyi.com للاطلاع على مزيد من الموارد

مقالات ذات صلة

موضوعات ذات صلة