DEV Community

Cover image for تدفقات عمل Claude Code الديناميكية: تشغيل مئات من الوكلاء الفرعيين المتوازيين مع Opus 4.8
Yusuf Khalidd
Yusuf Khalidd

Posted on • Originally published at apidog.com

تدفقات عمل Claude Code الديناميكية: تشغيل مئات من الوكلاء الفرعيين المتوازيين مع Opus 4.8

تم شحن Claude Opus 4.8 بميزة مهمة في Claude Code: سير العمل الديناميكي (Dynamic Workflows). في جلسة واحدة، يستطيع وكيل تنسيق إنشاء مئات الوكلاء الفرعيين المتوازيين لمعالجة مهمة كبيرة ومتفرعة، مثل إعادة هيكلة عشرات الملفات، تشغيل مصفوفة اختبار واسعة، أو مقارنة عدة حلول في وقت واحد. عمليًا، تعتمد الميزة على مكوّنين واضحين: جهد xhigh ورسائل النظام في منتصف المحادثة.

جرّب Apidog اليوم

يشرح هذا الدليل كيف تعمل سير العمل الديناميكي، متى تستخدمها، وكيف تبني نمط التنسيق نفسه عبر Messages API. للاطلاع على النموذج نفسه، راجع ما هو Claude Opus 4.8. ولخلفية أعمق حول بنية الوكيل، اقرأ تحليل بنية أداة وكيل Claude Code.

ما هي سير العمل الديناميكي فعلاً؟

في Claude Code، تظهر سير العمل الديناميكي كوضع باسم ultracode في قائمة الجهد. المهم هنا: ultracode ليس مستوى جهد جديدًا في واجهة البرمجة. إنه تركيب من ميزتين في Opus 4.8:

  1. مستوى الجهد xhigh
  2. رسائل النظام في منتصف المحادثة

Claude Code ultracode

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

المكون 1: جهد xhigh

يتحكم معامل effort في عدد الرموز التي يستخدمها Opus 4.8 عبر الاستجابة، بما في ذلك استدعاءات الأدوات. مستوى xhigh هو المستوى الذي توصي به Anthropic للبرمجة طويلة المدى والعمل الوكيل، خصوصًا عندما تمتد المهمة لأكثر من 30 دقيقة وتحتاج ميزانية رموز كبيرة.

استخدم xhigh عندما يحتاج المنسق إلى:

  • تقسيم المهمة إلى وحدات مستقلة
  • تحديد عدد العمال المناسب
  • توزيع العمل بالتوازي
  • دمج النتائج النهائية

مثال أولي لاستدعاء منسق:

import anthropic

client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=64000,
    output_config={"effort": "xhigh"},
    thinking={"type": "adaptive"},
    messages=[
        {
            "role": "user",
            "content": "خطط لإعادة هيكلة وحدة المصادقة عبر 14 خدمة. قسّم العمل إلى مهام مستقلة قابلة للتنفيذ بالتوازي."
        }
    ],
)
Enter fullscreen mode Exit fullscreen mode

ابدأ بـ max_tokens=64000 عندما تكون مهمة التنسيق كبيرة، ثم قلّلها بعد معرفة حجم التخطيط الفعلي.

المكون 2: رسائل النظام في منتصف المحادثة

رسائل النظام في منتصف المحادثة هي إضافة في Messages API تتيح إدخال رسالة نظام داخل مصفوفة messages بعد بداية المحادثة، وليس فقط في بدايتها.

قبل Opus 4.8، كانت رسالة النظام الأولية تُعرّف سلوك النموذج في بداية المحادثة وتبقى ثابتة. الآن يمكن حقن تعليمات أو أذونات جديدة أثناء التنفيذ.

هذا مهم لسير العمل الديناميكي لأن المنسق يمكنه اكتساب إذن جديد في منتصف المهمة، مثل:

  • إطلاق عمال فرعيين
  • تغيير استراتيجية التقسيم
  • تقييد نطاق كل عامل
  • طلب تنسيق مخرجات العمال بشكل موحد

توثّق Anthropic هذه الآلية في رسائل النظام في منتصف المحادثة.

تفعيلها في Claude Code

في Claude Code، اختر ultracode من قائمة الجهد. هذا يفعّل عمليًا:

  • جهد xhigh
  • السماح بإنشاء وكلاء فرعيين متوازيين
  • استخدام رسائل النظام في منتصف المحادثة لتوجيه التنسيق أثناء التشغيل

Claude Code dynamic workflows

بعد التفعيل، اكتب مهمة كبيرة وواضحة. على سبيل المثال:

أعد هيكلة طبقة المصادقة عبر جميع الخدمات.
قسّم العمل حسب الخدمة.
شغّل الاختبارات ذات الصلة لكل خدمة.
اجمع التغييرات في تقرير نهائي يوضح الملفات المعدلة والمخاطر المتبقية.
Enter fullscreen mode Exit fullscreen mode

سيقوم Claude عادةً بـ:

  • تخطيط المهمة
  • تقسيمها إلى وحدات
  • إطلاق عمال متوازيين
  • جمع نتائج العمال
  • دمج المخرجات في الجلسة الرئيسية

إذا كنت تستخدم Claude Code مع خطة Claude، فراجع دليل إعداد حزمة تطوير وكيل Claude مع خطة Claude.

متى تستخدم سير العمل الديناميكي؟

استخدمها عندما تكون المهمة واسعة وقابلة للتوازي.

أمثلة مناسبة:

  • إعادة هيكلة نمط متكرر عبر ملفات كثيرة
  • تشغيل مصفوفة اختبارات كبيرة
  • تحليل قاعدة أكواد كبيرة بحيث يتولى كل عامل وحدة محددة
  • مقارنة عدة حلول تنفيذ بالتوازي
  • فحص عدة خدمات مستقلة في monorepo

مثال جيد:

حلل كل خدمة في مجلد services/.
لكل خدمة:
- افحص استخدامات auth middleware
- حدد الأنماط القديمة
- اقترح التغيير المطلوب
- شغّل الاختبارات الخاصة بالخدمة إن وجدت
ثم اجمع النتائج في خطة تنفيذ موحدة.
Enter fullscreen mode Exit fullscreen mode

متى تتجنبها؟

تجنب سير العمل الديناميكي عندما تكون المهمة:

  • صغيرة
  • متسلسلة بدقة
  • مرتبطة بملف واحد
  • تعتمد كل خطوة فيها على نتيجة الخطوة السابقة

مثال غير مناسب:

غيّر اسم متغير واحد في ملف واحد.
Enter fullscreen mode Exit fullscreen mode

إطلاق عشرات أو مئات العمال لمهمة كهذه يهدر الرموز ولا يضيف قيمة.

بناء نفس النمط عبر Messages API

لا تحتاج إلى Claude Code لبناء تنسيق مشابه. النمط العام عبر Messages API هو:

  1. استدعاء منسق بجهد xhigh
  2. حقن رسالة نظام في منتصف المحادثة لمنح صلاحية التنسيق
  3. إنشاء استدعاءات عمال منفصلة
  4. تشغيل العمال بالتوازي
  5. إعادة نتائج العمال إلى المنسق لدمجها

تقدم Anthropic مثالاً عمليًا في بناء وضع تنسيق.

مثال مبسط للمنسق:

import anthropic

client = anthropic.Anthropic()

orchestrator = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=64000,
    output_config={"effort": "xhigh"},
    thinking={"type": "adaptive"},
    messages=[
        {
            "role": "user",
            "content": "Plan a refactor of the auth module across all 14 services."
        },
    ],
)
Enter fullscreen mode Exit fullscreen mode

بعد أن ينتج المنسق خطة تقسيم، يمكن تشغيل كل عامل باستدعاء منفصل. غالبًا لا يحتاج العامل إلى xhigh لأن نطاقه أضيق.

مثال عامل واحد:

worker = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=12000,
    output_config={"effort": "medium"},
    messages=[
        {
            "role": "user",
            "content": """
You are responsible only for service: billing-api.

Task:
- Inspect the auth module usage in this service.
- Identify required refactor changes.
- Return a concise JSON report with:
  - files_to_change
  - required_changes
  - test_commands
  - risks
"""
        }
    ],
)
Enter fullscreen mode Exit fullscreen mode

ثم أعد نتائج العمال إلى المنسق:

merge = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=32000,
    output_config={"effort": "high"},
    messages=[
        {
            "role": "user",
            "content": f"""
Merge these worker reports into one implementation plan.

Worker reports:
{worker_reports}
"""
        }
    ],
)
Enter fullscreen mode Exit fullscreen mode

إذا كنت تقارن هذا بالبنية التحتية للوكلاء المستضافة من Anthropic، فراجع الوكلاء المدارة مقابل حزمة تطوير الوكلاء.

التحكم في التكلفة

التوازي يضاعف استهلاك الرموز بسرعة. إذا أطلقت 200 عامل وكل عامل يستخدم عشرات الآلاف من الرموز، فستصل التكلفة إلى ملايين الرموز.

استخدم هذه القواعد:

  • اجعل المنسق فقط على xhigh عند الحاجة
  • شغّل العمال على medium أو low إذا كانت مهامهم محددة
  • عيّن max_tokens لكل عامل
  • لا ترسل كامل سياق المشروع لكل عامل
  • أرسل فقط الملفات أو الوحدات ذات الصلة
  • استخدم التخزين المؤقت للسياق المشترك عند تكراره

مثال ضبط عملي:

WORKER_MAX_TOKENS = 8000
WORKER_EFFORT = "medium"
MAX_PARALLEL_WORKERS = 20
Enter fullscreen mode Exit fullscreen mode

ابدأ بعدد عمال صغير، اختبر جودة النتائج، ثم زِد التوازي تدريجيًا.

لتحليل أعمق للتكلفة، راجع تحليل تسعير Opus 4.8.

اختبار التنسيق باستخدام Apidog

عند بناء التنسيق عبر API، أصعب جزء في التصحيح هو التوزيع fan-out:

  • هل يحصل كل عامل على السياق الصحيح؟
  • هل مخرجات العمال بالشكل المتوقع؟
  • هل يستطيع المنسق دمج النتائج؟
  • هل تصل رسائل النظام في منتصف المحادثة كما هو مخطط؟
  • هل تفشل الحالات المنحرفة بوضوح؟

لا تختبر هذا مباشرة على 200 استدعاء حقيقي.

يتيح لك Apidog اختبار أجزاء التدفق بشكل منفصل:

  • احفظ طلب المنسق وافحص خطة التقسيم قبل إرسال العمال
  • حاكِ نقطة نهاية العامل لاختبار منطق التوزيع والدمج بدون إنفاق رموز كثيرة
  • أضف تأكيدات على شكل استجابة العامل
  • أعد تشغيل عامل واحد بمستويات effort مختلفة
  • قارن الاستجابات قبل تشغيل التوازي الكامل

ابدأ بطلبات مقابل:

https://api.anthropic.com/v1/messages
Enter fullscreen mode Exit fullscreen mode

ثم اختبر التسلسل التالي:

  1. طلب المنسق
  2. مخرجات التقسيم
  3. طلب عامل واحد
  4. شكل استجابة العامل
  5. دمج عدة استجابات وهمية
  6. الانتقال إلى عمال حقيقيين بعد ثبات المنطق

للطلب الأساسي، راجع دليل واجهة برمجة تطبيقات Opus 4.8.

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

ما هي سير العمل الديناميكي في Claude Code؟

ميزة تتيح لجلسة واحدة إطلاق مئات الوكلاء الفرعيين المتوازيين لمعالجة مهام كبيرة ومتفرعة. تعتمد على جهد xhigh ورسائل النظام في منتصف المحادثة في Opus 4.8.

هل ultracode مستوى جهد منفصل؟

لا. ultracode هو اسم Claude Code لتركيب جهد xhigh مع إذن إطلاق سير عمل متعدد الوكلاء. مستويات الجهد في API تبقى: low وmedium وhigh وxhigh وmax.

ما هي رسائل النظام في منتصف المحادثة؟

هي إمكانية في Messages API تسمح بإضافة إدخال نظام داخل المحادثة أثناء التشغيل، مما يتيح حقن تعليمات أو أذونات جديدة بعد بداية المهمة.

هل يمكن بناء سير عمل ديناميكي بدون Claude Code؟

نعم. استخدم Messages API مباشرة مع جهد xhigh للمنسق، ورسائل النظام في منتصف المحادثة، واستدعاءات منفصلة للعمال.

هل سير العمل الديناميكي مكلفة؟

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

متى يجب تجنبها؟

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

Top comments (0)