نمط المشرف / الموسيقي العامل
Type: Learn + Build
Languages: Python (stdlib, threading)
Prerequisites: Phase 16 · 04 (Primitive Model)
Time: ~75 minutes
المشكلة
البحث هو المهمة النموذجية التي تفشل بها أنظمة الوكيل الواحد. تسأل "ما الذي تغير في أنظمة الوكيل المتعدد بين 2023 و 2026؟" العميل الواحد يقرأ خمسة ورق تسلسلًا، ويملأ نصف سياقها بنصها، ثم يتعين عليه التفكير في جميعها معاً. ينسى الورقة الأولى عندما يصل إلى الخامس. لا يمكنه التوازي.
يصلح نمط المشرف هذا: يقوم وكيل رئيسي واحد بتخطيط البحث ، ويمنح كل سؤال فرعي إلى عامل ، ويتولى التوليد. يحصل كل عامل على نافذة رمزية خاصة به من 200 كيلوغرام للأسئلة الضيقة. لا يرى الرئيسي الأوراق الخام فقط ملخصات العمال.
نظام إنتاج أبحاث أنثروبيك يبلغ +90.2% عن تقييمات البحث الداخلي مقابل Opus 4 واحد. يلاحظ نفس المنشور أن 80% من اختلاف BrowseComp يتم تفسيره من خلال * استخدام الوهم وحده.
المفهوم
النمط
┌──────────────┐
│ Lead │ plans, decomposes,
│ (Opus 4) │ synthesizes
└──┬────┬───┬──┘
│ │ │
┌───────┘ │ └───────┐
▼ ▼ ▼
┌─────────┐ ┌─────────┐ ┌─────────┐
│ Worker1 │ │ Worker2 │ │ Worker3 │
│(Sonnet) │ │(Sonnet) │ │(Sonnet) │
└─────────┘ └─────────┘ └─────────┘
fresh fresh fresh
context context contextلا يقرأ الرصاص المواد الخام، لا يرى العمال عمل بعضهم البعض حتى يختلط الرصاص. كل سهم هو التسليم مع أداة ضيقة.
لماذا يفوز
آليات ثلاث:
- Fresh context per subagent.العامل الذي يستكشف "موروث الفيپا-إيكل" لا يحمل الرموز 40 ألف التي تم تنفيذها في التخطيط. يحصل على نافذة 200 ألف للسؤال الواحد.
- Specialization via prompt.إن طلب الرئيسي هو "تفكيك وتوليد" وليس "البحث". طلب كل عامل محدود: "عثر على ما تغير في X".
- Parallelism.العمال يعملون في نفس الوقت، و الوقت في الساعة الجدارية تقريباً
max(worker_times) + plan + synthesisلا ، لاsum(worker_times). . .
دروس الهندسة (أنثروبيك 2025)
يدرج المنشور الأنثروبي العديد من دروس الإنتاج التي لا تزال ذات صلة عام 2026:
- Scale effort to query complexity.استفسارات بسيطة: وكيل واحد، 3-10 مكالمات أداة. استفسارات معقدة: 10+ وكلاء. يجب أن يقدر هذا الرئيسي، وليس المُتصل.
- Broad then narrow.تحلل إلى أسئلة فرعية واسعة أولاً، ثم تنشأ المزيد من العمال لكل أسئلة فرعية إذا كانت الإجابة تبرر عمق.
- Rainbow deployments.العاملون طويل الأمد والحالة. لا يعمل الأزرق الأخضر التقليدي. استخدام القوس المقياسي: التنفيذ التدريجي من الإصدارات الجديدة بينما القديمة تنفذ.
- Token usage dominates.وكيل متعدد هو ~ 15 × رموز وكيل واحد. فقط تشغيله عندما قيمة المهمة يبرر التكلفة.
التحول الجرافية
لانغغراف أرسل في الأصلlanggraph-supervisorمكتبة ذات مستوى عال create_supervisorالمساعد. في عام 2025 ، نقل لنج تشين التوصية إلى تنفيذ نمط المشرف عبر استدعاء الأدوات مباشرة ، لأن دعوات الأدوات تمنح المزيد من السيطرة على ما يراه المشرف (هندسة السياق). لا تزال المكتبة تعمل ؛ يوصي الأدوان الآن بتصميم استدعاء الأدوات.
أساليب الفشل
- Lead hallucinates the plan.إذا كان الرصاص يخلق أسئلة فرعية لا تفكّر السؤال الحقيقي، يقوم العمال بإجراء بحث دقيق حول الهدف الخطأ.
- Workers over-explore.بدون حدود محددة، يمتد العمال إلى ما وراء السؤال الفرعي المخصص لهم ويزدعون خطوة التركيب.
- Synthesis conflicts.يعيد العاملان حقائق متناقضة. يجب على الرصاص إما أن يطلب مرة أخرى (إضافة جولة) أو يلاحظ الخلاف صراحة. اختيار الصمت من جانب واحد هو أسوأ فشل: لا يعرف المستخدم أبداً أن الخلاف حدث.
عندما يكون المشرف مخطئاً
- Sequential tasks.إذا كانت الخطوة 2 تحتاج حرفياً إلى خروج الخطوة 1 ، فإن التوازي لا يشتري شيئاً. استخدم خط أنابيب (CrewAI Sequential ، LangGraph linear graph).
- Simple queries.العميل الواحد يديرها أسرع وأرخص استخدم "تجربة القيادة" قبل إنجاب العمال
- Strict determinism.يستخدم المشرف تفويضًا مختارًا من قبل ماجستير في مجال القانون. الرسوم البيانية الدولية أفضل عندما يكون التحقيق / التمثيل أكثر أهمية من القدرة على التكيف.
بناءها
code/main.pyينفذ المشرف من ثلاثة عمال متوازين يستخدمون threading. يفكّر الرصاص استفسار إلى أسئلة فرعية ، ويتدخل العمال في كل سؤال فرعي في وقت واحد ، ويتجمع الرصاص. لا توجد برامج LLM حقيقية
الهيكل الرئيسي:
Lead.plan(query)تقسم استفسار إلى 3 أسئلة فرعية.Worker.run(sub_q)يعيد ملخصًا مزيفًا (يمكن أن يكون أي عامل يستخدم الأدوات في الإنتاج).Lead.run(query)يطرد العمال في الأوتار، يجمع، و يختلط.
أركض
python3 code/main.pyيظهر الخروج الخطة، وتتبع العامل المتوازي مع علامات وقت البدء / النهاية، والتركيز النهائي. يمكنك أن ترى أن ساعة الجدار تنتصر: ثلاثة عمال 0.3 ثانية يذهبون في ~ 0.35 ثانية، وليس 0.9.
استخدمها
outputs/skill-supervisor-designer.mdيأخذ استفسار المستخدم ويقدم تصميم نمط المشرف: طلب نظام الرئيسي، ودور العاملين، وقواعد تدمير السؤال الفرعي، وشablon التجميع. استخدم هذا قبل بناء نظام وكيل جديد في نمط البحث.
أرسله
قائمة التحقق قبل نشر نمط الإشراف:
- Model pairing.الرصاص على نموذج مستوى التفكير (مجموعة Opus،
o3العمال على نموذج أسرع وأرخص (سونيت،o4-mini) - Worker timeout.أي عامل يتجاوز متوسط وقت العمل 2x يقتل؛ الرصاص إما يعيد التمويل مع نطاق أصغر أو يبدأ بدونها.
- Token cap per worker.الحد الصارم (قول 10 × المدخل المتوقع للتركيب) يمنع العامل الهارب من إفجار الميزانية.
- Observability.تتبع خطة الرئيسي، كل عامل أداة مكالمات، والتركيز. هذا هو أساس أي بعد-هوك إصلاح.
- Rainbow rollout.وكلاء دوليّين طويل الأمد يحتاجون إلى انتقال تدريجيّ للإصدار، وليس تبادل ساخن.
التمارين
- أركض
code/main.pyثم تعديل الرصاصة إلى 5 عاملين بدلاً من 3. لاحظ تأثير الساعة الجدارية. عند أي عدد من العمال يتجاوز تكاليف الإنجاب الموازية في هذه التجربة؟ - تنفيذ وقت وقف العمال: قتل أي عامل يطول من 0.5 ثانية وطلب من الرصاص أن يجمع النتائج المتبقية. ما هي الملاحظة التي تحتاجها لمعرفة أن العامل قد خُطِف؟
- إضافة خطوة اكتشاف الصراع إلى تركيب الرصاص: إذا أعاد عاملان إجابات متناقضة، يلاحظ الرصاصة الخلاف بدلاً من اختيار واحد. كيف يمكنك اكتشاف التناقض دون استدعاء ماجستير في العلوم؟
- اقرأ كتاب "بحوث الأنظمة" في "أنثروبيك" و قم بإدراج ثلاثة ممارسات يجب أن تتبنى هذه المشاهدة لتنفيذ الإنتاج.
- مقارنة لاندغراف
create_supervisor(رثية) مقابل توصية جديدة للدعوة إلى الأدوات. ما الذي يعطيك سيطرة أفضل على ما يراه المشرف؟ لماذا يمرر Anthropic صراحة فقط الإجابات الفرعية وليس سياق العاملين الخام في التجميع؟
الشروط الرئيسية
| Term | What people say | What it actually means |
|---|---|---|
| Supervisor | "Lead agent" | An orchestrator agent that plans, delegates, and synthesizes. Does not do the work itself. |
| Worker | "Subagent" | A focused agent invoked by the supervisor with narrow scope and its own context window. |
| Orchestrator-worker | "Supervisor pattern" | Same thing, different name. The 2026 literature uses both. |
| Fresh context | "Clean window" | A worker's context starts from its system prompt and assigned question, not the lead's history. |
| Rainbow deployment | "Gradual rollout" | Long-running stateful agents need versioned drain-and-replace, not blue-green. |
| Token dominance | "Context is the variable" | 80% of research-eval variance comes from total tokens used, not model choice, per Anthropic. |
| Scale effort | "Match agent count to complexity" | Lead estimates query difficulty, spawns 1 vs 10+ workers accordingly. |
| Synthesis conflict | "Workers disagree" | Two workers return contradictory facts; the lead must surface disagreement, not silently pick one. |
المزيد من القراءة
- Anthropic engineering — How we built our multi-agent research system إشارة الإنتاج لنمط الإشراف
- LangGraph workflows and agents إشراف الاتصال بالأدوات هو الآن النموذج الموصى به
- LangGraph supervisor reference المساعد القديم، لا يزال يستخدم في الإنتاج 2026
- OpenAI cookbook — Orchestrating Agents: Routines and Handoffs إعادة التأمين على الإشراف
This free lesson is part of the AI Engineering from Scratch curriculum. Read the full explanation, run the lesson code, and verify the result in the interactive reader or from the repository source.
Browse the complete course catalog or open this lesson on GitHub.