Dynamic Workflows
استخدم Dynamic Workflows الخاصة بـ Claude Code لتنسيق عشرات إلى مئات من الوكلاء الفرعيين في الخلفية لمراجعة على مستوى المستودع، والترحيل، والبحث — تعمل عبر QCode
تحتاج مفتاح API؟ أنشئ حسابًا ←نقاط النهاية وعناوين Base URL ←
في هذه الصفحة
يتيح لك الوكلاء الفرعيون بالفعل «إرسال نسخة» للتحقق من أمر واحد على نحو متوازٍ. لكن عندما تكون المهمة كبيرة بما يكفي لتتطلب «فريقًا كاملًا» — مثل مسح مستودع بأكمله وكتابة مراجعة لكل وحدة — فلا يكفي وكيل فرعي واحد. وهنا يأتي دور Dynamic Workflows.
تتيح Dynamic Workflows لـ Claude Code تنسيق عشرات إلى مئات من الوكلاء الفرعيين في الخلفية دفعة واحدة، ويتولى كل منها جزءًا من العمل ويعمل على نحو متوازٍ، بينما تواصل أنت القيام بمهامك. وهي تعمل على أي نموذج يكون Claude Code مهيأً عليه حاليًا — لذا ما دمت توجّه Claude Code إلى QCode، فستعمل Dynamic Workflows مباشرة.
ما المشكلة التي يحلها¶
الوكلاء الفرعيون العاديون ممتازون للمهام المتوازية «قليلة ومضبوطة»: أرسل 2–3 نسخ للتحقق من API، والمخطط، وتغطية الاختبارات على الترتيب. لكن بعض المهام متوازية للغاية بطبيعتها:
- إجراء مراجعة أمنية/جودة لكل ملف عبر مستودع يضم 200 ملف
- ترحيل دفعات لاستدعاء API قديم إلى نمط جديد عبر قاعدة الشيفرة بأكملها
- حول موضوع واحد، البحث في عشرات المجلدات كلًا على حدة وتلخيصها
إذا نُفذت بالتسلسل، فسيتعين عليك انتظار Claude ليعالجها واحدًا تلو الآخر؛ أما إنشاء عشرات الوكلاء الفرعيين يدويًا فيعني أنك ستقسم المهام وتتابع التقدم بنفسك. تسلّم Dynamic Workflows حلقة «التقسيم → التوزيع → التشغيل في الخلفية → التلخيص» بأكملها إلى Claude Code لينسّقها بنفسه.
كيفية التشغيل¶
لا تحتاج Dynamic Workflows إلى تثبيت إضافي، وتشغيلها خفيف:
- ضمّن الكلمة المفتاحية
ultracodeفي prompt؛ أو - اطلب منه ببساطة أن «يشغّل سير عمل».
بمجرد أن يتعرف Claude Code على النية، يخطط لعدد الوكلاء الفرعيين في الخلفية الذين سيوزعهم، وما يتولاه كل واحد منهم، ثم يبدأ تشغيلهم على نحو متوازٍ.
> ultracode review every submodule under src/, focusing on error handling
> and input validation. Have each module output a short report, then roll
> everything up into one overview.
أو بلغة طبيعية بسيطة:
> Run a workflow for me: scan the whole repo for every call to the old
> httpClient, estimate the effort to migrate to the new fetch wrapper, and
> summarize grouped by directory.
عرض عمليات التشغيل باستخدام /workflows¶
الوكلاء الفرعية التي يوزّعها سير العمل تستمر في العمل في الخلفية — فهي لا تحجب جلستك الرئيسية، ما يتيح لك مواصلة طرح أسئلة أخرى ومواصلة كتابة الشيفرة. لمعرفة أي سير عمل قيد التشغيل الآن ومدى تقدّمه، استخدم:
/workflows
يعرض عمليات تشغيل سير العمل الجارية والمكتملة، ما يسهّل تتبّع التقدّم العام وفحص إخراج كل وكيل فرعي.
يعني التنفيذ في الخلفية أن المهام الكبيرة لم تعد تحجب تفاعلك. أطلق التعليمات، واذهب للقيام بشيء آخر، ثم عُد لجمع النتائج باستخدام
/workflows.
متى تستخدم سير عمل مقابل وكيل فرعي واحد¶
كلاهما الفكرة نفسها «التفويض المتوازي» لكن على نطاقات مختلفة، والاختيار بسيط: الأمر يتوقف على حجم التوازي وما إذا كنت تحتاج إلى تشغيله في الخلفية.
| البُعد | وكيل فرعي واحد | Dynamic Workflow |
|---|---|---|
| حجم التوازي | بضعة مهام فرعية مستقلة | عشرات إلى مئات من المهام الفرعية |
| المُحفّز | أن تطلب من Claude «إرسال وكيل فرعي للتحقق من X» | الكلمة المفتاحية ultracode أو «تشغيل سير عمل» |
| مكان التشغيل | يعيد ملخّصًا إلى الجلسة الرئيسية عند الانتهاء | يستمر في العمل في الخلفية ولا يحجب الجلسة الرئيسية |
| كيفية العرض | تعود النتيجة مباشرة داخل المحادثة | استخدم /workflows لعرض قائمة عمليات التشغيل |
| الاستخدام النموذجي | فحوص متوازية لـ API / المخطط / الاختبارات | مراجعة على مستوى المستودع / ترحيل دفعي / بحث واسع النطاق |
قاعدة عامة:
- عدد قليل من المهام الفرعية وتريد النتائج فورًا → استخدم الوكلاء الفرعية.
- عشرات أو مئات من المهام الفرعية التي يمكن تشغيلها في الخلفية → استخدم Dynamic Workflows.
Dynamic Workflows هي في جوهرها النسخة «الموسّعة» من الوكلاء الفرعية. اعتد أولًا على مفهوم الوكلاء الفرعية، وسيبدو سير العمل طبيعيًا بعد ذلك.
استخدامها عبر QCode¶
تعمل Dynamic Workflows على أي نموذج يكون Claude Code متصلًا به ولا تعتمد على أي مزوّد بعينه. وهذا يعني أنه بمجرد توجيه Claude Code إلى QCode، يمرّ كل وكيل فرعي في الخلفية يوزّعه سير العمل عبر نقاط نهاية QCode — ويعمل مفتاح API نفسه الذي يبدأ بـ cr_ في كل ذلك.
أقل إعداد مطلوب (بروتوكول Anthropic):
export ANTHROPIC_BASE_URL="https://api.qcode.cc/api"
export ANTHROPIC_AUTH_TOKEN="cr_your_key"
# Users in China should prefer the asia endpoint
# export ANTHROPIC_BASE_URL="https://asia.qcode.cc/api"
يجب أن يكون
BASE_URLبلا شرطة مائلة في النهاية. وطلب ذلك العنوان مباشرة يعيد401، وهذا أمر طبيعي — فهو يعني أن المسار صحيح وأن المصادقة وحدها ناقصة.
بعد الإعداد، شغّل Claude Code كالمعتاد وأطلق سير عمل باستخدام ultracode. للحصول على المرجع الكامل لنقاط النهاية، والنطاقات الثلاثة (api / asia / us)، ومسارات كل بروتوكول، راجع نقاط النهاية وصيغ API.
يُحتسب كل وكيل فرعي في الخلفية داخل سير العمل وفق النموذج الذي اخترته على QCode. وسير العمل الكبير يشغّل وكلاء فرعية كثيرة في وقت واحد، لذا يرتفع استهلاك token تبعًا لذلك — وقبل تشغيل كبير، يجدر بك تنفيذ تجربة محدودة النطاق بنموذج رائد (مثل claude-opus-5، بسعر $5/$25 لكل مليون token، ونافذة سياق 1M)، والتأكد من جودة الإخراج، وبعد ذلك فقط التعميم الكامل.
أمثلة تطبيقية¶
المثال 1: مراجعة الشيفرة على مستوى المستودع¶
اجعل سير العمل يُنتج مراجعة واحدة لكل وحدة رئيسية في المستودع، بتركيز موحّد ومخرجات موحّدة، ثم جمّعها:
> ultracode do an independent code review of every sub-package under packages/.
> Each review should cover: error handling, edge cases, any unhandled Promises,
> naming consistency. Each sub-package outputs a bullet list of no more than 20
> lines, then roll everything up into one master table sorted by severity.
بعد بدء التشغيل، يمكنك مواصلة القيام بأمور أخرى، والتحقق من التقدم لاحقًا عبر /workflows، ومراجعة الجدول المُجمّع بعد انتهاء جميع الوكلاء الفرعيين.
المثال 2: بحث ترحيل API واسع النطاق¶
قبل المساس بأي شيء، استخدم سير عمل لتحديد نطاق التأثير:
> Run a workflow for me: find everywhere in the codebase that uses axios
> directly, group by directory, estimate the effort and risk of switching to
> the in-project httpClient wrapper, and output a table of
> "directory / occurrences / migration difficulty / caveats".
بعد تكوّن الصورة الكاملة، يمكنك تحديد ترتيب الترحيل بناءً على بيانات حقيقية بدلًا من الحدس.
نصائح وتحذيرات¶
- ابدأ صغيرًا ثم وسّع النطاق: في أول تشغيل، احصر سير العمل في دليل واحد أو حزمة واحدة، وتحقق من أن تنسيق المخرجات وجودتها يلبّيان التوقعات، ثم وسّعه ليشمل المستودع كله.
- وحّد تنسيق المخرجات: حدّد في الـ prompt ما الذي ينبغي أن «يُخرجه كل وكيل فرعي، وما طوله، وكيف يُرتّب» — يوفّر ذلك جهدًا كبيرًا عند التجميع.
- العمل في الخلفية لا يعني غياب المتابعة: أثناء تشغيل سير العمل يمكنك القيام بأشياء أخرى، لكن تذكّر العودة وإنهاء العمل عبر
/workflows. - حول الصور: تتعامل Dynamic Workflows مع مهام النصوص/الشيفرة. إذا أردت أن يقوم Claude Code بـقراءة الصور (لقطات الشاشة، ومخططات البنية، ولقطات الأخطاء)، فهذه قدرة الإدخال البصري ولا علاقة لها بسيور العمل؛ وإذا أردت إنشاء الصور، فاستخدم إنشاء الصور عبر gpt-image-2.
- لربط سيور العمل بـ CI/السكربتات، اجمع الوضع بلا واجهة مع المخرجات المهيكلة — راجع الأتمتة وCI/CD.
المحفّزات والإعدادات الرئيسية¶
حتى 2026-10-15، ووفقًا للوثائق الرسمية لسيور العمل الديناميكية في Claude Code:
| الإعداد / الإجراء | التأثير | ملاحظات |
|---|---|---|
ultracode في الـ prompt، أو «run a workflow» |
يشغّل هذه المهمة فقط كسير عمل | تعمل الكلمة المفتاحية فقط في prompt تكتبه بنفسك في جلسة تفاعلية؛ أما المحتوى الذي يصل عبر -p أو المهام المجدولة أو خطافات الويب فلا يحفّزها |
/effort ultracode |
يجعل Claude يخطط لسير عمل لكل مهمة جوهرية في الجلسة | claude --effort ultracode يفعّله عند الإطلاق (ويضبط effort على xhigh)؛ و/effort ultracode off يوقفه. أثناء تفعيله، يكلّف كل طلب tokens أكثر ويستغرق وقتًا أطول |
حجم سير العمل الديناميكي في /config (workflowSizeGuideline) |
يخبر Claude تقريبًا بعدد الوكلاء المستهدفين | small أقل من 5، وmedium أقل من 10 (الافتراضي)، وlarge أقل من 50، وunrestricted بلا إرشاد؛ وهو إرشاد وليس حدًا أقصى |
CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS |
عدد الوكلاء الذين يعملون في وقت واحد | حتى 16 وكيلًا متزامنًا افتراضيًا؛ ويمكن ضبطه من 1 إلى 256 (يتطلب Claude Code v2.1.269 أو أحدث) |
| حدود حجم التشغيل | تمنع عمليات التشغيل الجامحة | إجمالي 1,000 وكيل لكل عملية تشغيل؛ وحتى 4,096 عنصرًا في استدعاء واحد لـ parallel() / pipeline() |
في /workflows، اختر عملية تشغيل واضغط s لحفظ السكربت الخاص بها كأمر خاص بك: الحفظ في .claude/workflows/ الخاص بالمشروع يشاركه مع المستودع، والحفظ في ~/.claude/workflows/ يبقيه لك وحدك.
تشغيل سير العمل عبر QCode: نقاط يجب الانتباه إليها¶
- التزامن وحدود معدل الطلبات: يمكن لسير العمل تشغيل 16 وكيلًا في وقت واحد افتراضيًا، بينما تتيح الخطة الشخصية من QCode أو باقة الدفع حسب الاستخدام 5 طلبات متزامنة لكل مفتاح API (10 في Ultimate؛ راجع الأسئلة الشائعة). إذا تعرّض تشغيل كبير لحد معدل الطلبات (الشائع 429) أو فشل بعض الوكلاء، فاخفض أولًا
CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTSإلى قيمة تتوافق مع سعة التزامن في خطتك ثم أعد المحاولة. - التكلفة: تُحتسب tokens كل وكيل على النموذج الذي اخترته؛ ويحتسب QCode لكل token، مع أسعار لكل نموذج على qcode.cc/models. وتذكر الوثائق أنه عندما يجدول التشغيل أكثر من 25 وكيلًا، أو يتجاوز إجماليه المتوقع 1.5 مليون token، تعرض لوحة المهام تحذير سير عمل كبير؛ وهو تحذير إرشادي لا يوقف التشغيل. وأكثر طريقة آمنة للبدء هي تجربة على دليل واحد أو سؤال واحد محدد.
- النموذج: ما لم تحدد خلاف ذلك، يستخدم الوكلاء النموذج الحالي للجلسة. وللمراحل الخفيفة يمكنك أن تطلب، عند وصف المهمة، نموذجًا أخف مثل
claude-haiku-5-5.
الأخطاء الشائعة وكيفية استكشافها¶
| العرَض | السبب | الحل |
|---|---|---|
كتبت ultracode لكن لم يبدأ أي سير عمل |
لم تكتب الـ prompt بنفسك تفاعليًا (مثل -p أو مهمة مجدولة)، أو كانت كلمة التشغيل المفتاحية معطّلة في /config |
استخدم prompt تفاعليًا، أو قل «شغّل سير عمل» مباشرة |
لا يبدأ سير العمل في وضع -p |
ذلك الوضع لا يعرض طلب موافقة ويقرر وفق قواعد الأذونات | أضف Workflow إلى قواعد السماح لديك، أو استخدم وضع الأذونات التلقائي / وضع تجاوز الأذونات |
| بعض الوكلاء لا يعيد شيئًا، أو يبدو أنك وصلت إلى حد معدل الطلبات (الشائع 429) | قد يتجاوز التزامن حد التزامن لمفتاحك | اخفض CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS، ثم اطلب من Claude إعادة تشغيل سير العمل نفسه |
agent stalled on all 6 attempts |
لم يُنتج أحد الوكلاء أي إخراج لمدة طويلة | الحل الرسمي: أطِل نافذة التوقف (CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS)، أو اضبط stallMs لذلك الوكيل في السكربت |
agent lost its reply on all 6 attempts |
صمت تدفق الاستجابة فقطعته آلية مراقبة الخمول | الإعداد الذي يجب رفعه هو CLAUDE_STREAM_IDLE_TIMEOUT_MS وليس نافذة التوقف |
nothing to resume |
تعذّر العثور على النتائج المحفوظة للتشغيل السابق | اطلب من Claude بدء سير العمل من جديد كتشغيل جديد |
| 401 / 404 | لا علاقة له بسير العمل؛ إنها مشكلة في إعداد الاتصال | شغّل الاختبار الذاتي في نقاط النهاية وصيغ API |
الأسئلة الشائعة¶
هل يمكنني المتابعة بعد مغادرة الجلسة؟¶
داخل الجلسة نفسها، نعم: اطلب من Claude إعادة تشغيل سير العمل نفسه؛ فيعيد الوكلاء المكتملون نتائجهم المحفوظة، بينما يعاد تشغيل الفاشلين والذين بدأوا بعدهم. وبعد الخروج، يعيد claude --resume الجلسة ويمكن إعادة تنفيذ التشغيل؛ أما الجلسة التي تبدأ من جديد فلا تحتفظ بأي سجل للتشغيل السابق.
كم وكيلًا يمكن أن يبدأه التشغيل الواحد؟¶
الحد الرسمي هو 1,000 وكيل لكل تشغيل، مع تشغيل 16 في وقت واحد افتراضيًا. هذه حدود Claude Code نفسها؛ أما حد التزامن في QCode فهو منفصل، كما ورد أعلاه.
هل سيكون سير العمل مكلفًا؟¶
يستخدم tokens أكثر من أداء العمل نفسه خطوة بخطوة في المحادثة. جرّب شريحة صغيرة أولًا، وتحقّق من استخدام tokens لكل وكيل في /workflows، وأوقف التشغيل في أي وقت عند الحاجة.
هل يتبع الوكلاء في سير العمل إعدادات الأذونات لدي؟¶
نعم. تذكر الوثائق أن استدعاءات الأدوات لدى الوكلاء تمر عبر فحوص الأذونات والعزل (sandboxing) نفسها التي يمر بها أي استدعاء أداة في جلستك؛ وكلمة ultracode المفتاحية تحدد فقط كيفية تنظيم العمل.
كيف أتيح لفريقي إعادة استخدام سير عمل؟¶
في /workflows، اختر التشغيل واضغط s، ثم احفظه في .claude/workflows/ الخاصة بالمشروع ليكون مشتركًا مع الجميع عبر المستودع.
أتريد تشغيل سير عمل واسع النطاق بنموذج رائد مع مراقبة التكلفة؟ اطّلع على أسعار QCode — مفتاح API واحد يعمل عبر جميع نقاط النهاية.
ابدأ مع QCode
مفتاح API واحد لـ Claude Code وCodex وغيرها — تُحسب حسب التوكن، وأسعار كل نموذج على qcode.cc/models