التخطيط والتنفيذ: التخطيط المنفصل
Type: Build
Languages: Python (stdlib)
Prerequisites: Phase 14 · 01 (Agent Loop)
Time: ~60 minutes
أهداف التعلم
- شرح لماذا تقسيم خطط / عامل / حل ReWOO يوفّر الرموز ويحسن الصمود على حلقة ReAct المتداخلة.
- تنفيذ خطة DAG، تنفيذ ترتيب الاعتماد، وحل الذي يكوّن نتائج العامل كل stdlib.
- تحديد متى يجب تشغيل مهمة كخطط ثم تنفيذ مقابل ReAct المتداخلة ، باستخدام إطار "خمس أنماط سير العمل" عام 2026 (أنثروبيك).
- التعرف على متى تكون بيانات الخطة الاصطناعية الخاصة بـ "الخطة والعمل" مطلوبة لمهام شبكة الإنترنت أو المحمولة طويلة الأجل.
المشكلة
حلقة مراقبة الفكر-الفعال-اللاحظ المتداخلة في ReAct بسيطة ومرنة ، ولكن كل دعوة أداة يجب أن تحمل السياق السابق الكامل بما في ذلك كل فكرة سابقة. يزداد استخدام الوهم رباعيا مع العمق. أسوأ من ذلك: عندما تفشل أداة في منتصف الحلقة ، يتعين على النموذج إعادة استنتاج الخطة بأكملها من مراقبة الخطأ.
لاحظ ReWOO (Xu et al., arXiv:2305.18323, مايو 2023) هذا وأجرى رهانًا: خطط الأمر كله مقدماً ، وجلب الأدلة بالتوازي ، واكتب الإجابة في النهاية. واحدة من الدعوات إلى التخطيط ، و N أداة تدعو إلى الدليل (يمكن أن تكون متوازية) ، ودعوة واحدة من الدعوات إلى الحل. التجارة أقل مرونة (الخطة ثابتة) لفعالية رمزية أفضل بكثير وأوضح أنواع الفشل.
المفهوم
الأدوار الثلاثة
Planner: user_question -> [plan_dag]
Workers: [plan_dag] -> [evidence] (tool calls, possibly parallel)
Solver: user_question, plan_dag, evidence -> final_answerيقوم المخطط بإنتاج DAG. كل عقد يطلق على أداة، وحججها، وعقدة سابقة تعتمد عليها (المراجع مثل #E1،#E2العمال يقومون بتنفيذ العقد بالترتيب التوضعي و يقوم المحلّل بإختلاط كلّ شيء
لماذا 5x أقل رموز
يزداد طول الفور خطيا مع عدد الخطوات. في الخطوة 10 ، يحتوي الفور 1 بالإضافة إلى العمل 1 بالإضافة إلى الملاحظة 1 بالإضافة إلى الفور 2 بالإضافة إلى العمل 2 بالإضافة إلى الملاحظة 2 ، وهكذا. كل خطوة متوسطة تضم أيضًا الفور الأصلي.
تدفع ReWOO طلبًا واحدًا للمخطط (كبير) ، N طلبًا صغيرًا للعمال (كل واحد فقط دعوة الأدوات ، لا سلسلة) ، ومطلبًا واحدًا للمحلول. في HotpotQA تقيس الورق ~ 5x أقل رموز مع تحقيق +4 دقة مطلقة.
لماذا هو أكثر قوة
إذا فشل عامل 3 في ReAct ، يجب على الحلقة أن تعقل من الخطأ في منتصف التيار. في ReWOO ، يعيد عامل 3 سلسلة الخطأ ؛ يراه الحل في سياق مع الخطة الأصلية ويمكن أن يضعف بشكل لطيف. تحديد موقع الفشل هو لكل عقدة ، وليس لكل خطوة.
التطهير المخطط
النتيجة الثانية للورقة: لأن المخطط لا يرى الملاحظات، يمكنك ضبط نموذج 7B على نتائج المخطط من مدرس 175B. يتعامل النموذج الصغير مع التخطيط؛ لا يحتاج النموذج الكبير عند الاستنتاج. هذا هو الآن القياسية العديد من وكلاء الإنتاج في 2026 يستخدمون مخططًا صغيرًا ومنفذًا كبيرًا أو العكس.
خطة وتنفيذ (2023)
قام فريق لانغ تشين في أغسطس 2023 بتعميم ReWOO إلى اسم نمط: خطة وتنفيذ. يقوم المخطط الأمامي بإصدار قائمة خطوات ، يقوم المنفذ بتشغيل كل خطوة ، ويمكن للمخطط الإحتياري مراجعة بعد مراقبة النتائج. هذا أقرب إلى ReAct من ReWOO (المنظم الجديد يعيد الملاحظات إلى التخطيط) ولكن يحافظ على توفيرات الرمز.
خطة وقانون (أردوغان وغيره، arXiv:2503.09572، ICML 2025)
يستخدم خطة وفعال لتنظيم نماذج المخطط التي تستمر في العمل بعد 3050 خطوة على مهام شبكة الويب مثل ReAct حيث يفقد مسار واحد من التماسك.
متى لا تختار أي
| Pattern | When |
|---|---|
| ReAct | Short tasks, unknown environment, need reactive exception handling |
| ReWOO | Structured tasks with known tools, token-sensitive, parallelizable evidence |
| Plan-and-Execute | Like ReWOO but with replanning after partial execution |
| Plan-and-Act | Long-horizon (>30 steps), web/mobile/computer-use |
| Tree of Thoughts | Search is worth paying for (Lesson 04) |
توجيه Anthropic في ديسمبر 2024: ابدأ بأبسط. إذا كانت المهمة دعوة أداة واحدة بالإضافة إلى ملخص ، فلا تبني ReWOO. إذا كانت المهمة مهمة بحثية 40 خطوة ، لا تفعل ReAct وحدها.
بناءها
code/main.pyيضع لعبة ReWOO:
Plannerسياسة مكتوبة تنشر خطة DAG من إشارة.Workerيرسل نداء أداة كل عقد عبر السجل.Solverتركيب مكتوب يقرأ الأدلة ويجعل الجواب النهائي.- قرار الاعتماد الإشارات مثل
#E1يتم استبدالها بأخراج العمال السابقة.
تستجيب المشاهدة "ما هو عدد سكان عاصمة فرنسا، مدرجة إلى ملايين؟" باستخدام خطة خطوتين: (1) البحث عن العاصمة، (2) البحث عن السكان، ثم الحل.
إشغله
python3 code/main.pyيظهر البصمة الخطة الكاملة أولاً ، ثم نتائج العامل ، ثم تركيب المحلول. مقارنة عدد الرمز (نحن نطبخ عدد الأحرف الخام) إلى تشغيل متداخل على طراز ReAct ReWOO يفوز في هذا النوع من المهام المهيكلة.
استخدمها
(إرسال (لانغغراف) خطة وتنفيذ كوصفة (create_react_agentلـ ReAct، الرسوم البيانية المخصصة لتنفيذ الخطة). تدفقات CrewAI ترميز النمط مباشرة: تحدد المهام من الأمام وتقوم DAG التدفق بتنفيذها. نهج بيانات التركيبة في Plan-and-Act لا يزال في الغالب البحث ؛ نمط الوقت التشغيلي (DAG الخطة الصريحة) يتم إنتاجه من خلال LangGraph و CrewAI Flow.
أرسله
outputs/skill-rewoo-planner.mdيخلق خطة ReWOO DAG من طلب المستخدم ، مع إعطاء كتالوج أداة. يصدق الخطة (المتكرر ، كل مرجع حل ، كل أداة موجودة) قبل التسليم إلى المنفذ.
التمارين
- إفراج العمال بالموازية لـ عقدة خطة مستقلة ما الذي يشتريه لك على DAG 6 عقدة مع مجموعتين متوازيتين؟
- إضافة عقدة إعادة التخطيط التي تنطلق إذا عادت أي عامل خطأ. ما هو أصغر تغيير في ReWOO الذي يجعل من خطة وتنفيذ؟
- استبدل
Plannerمع نموذج صغير (فئة 7B) وابقSolverعلى نموذج الحدود. مقارنة نوعية نهاية إلى نهاية أين تفشل الانقسام؟ - اقرأ القسم 4 من ورقة ReWOO حول عملية تصفية المخطط. قم بتكرار النتيجة 175B -> 7B بشكل مفهومي: ما هي البيانات التدريبية التي تحتاج إليها وكيف تسجل نوعية الخطة؟
- نقل اللعبة إلى شكل مسار الخطة والعمل: الخطة هي تسلسل، وليس DAG. ما التنازلات تغير؟
الشروط الرئيسية
| Term | What people say | What it actually means |
|---|---|---|
| ReWOO | "Reasoning without observations" | Plan, then fetch evidence in parallel, then solve — no observations in the planning prompt |
| Plan-and-Execute | "LangChain's plan-execute pattern" | ReWOO with an optional replanner node after execution |
| Plan-and-Act | "Scaled plan-execute" | Explicit planner/executor split with synthetic plan training data for long-horizon tasks |
| Evidence reference | "#E1, #E2, ..." | Plan-node placeholder substituted with prior worker output at dispatch time |
| Planner distillation | "Small planner, big executor" | Fine-tune a small model on planner traces from a large teacher |
| Token efficiency | "Fewer round trips" | 5x fewer tokens on HotpotQA vs ReAct in the paper |
| DAG executor | "Topological dispatcher" | Runs plan nodes in dependency order; parallel at each level |
المزيد من القراءة
- Xu et al., ReWOO: Decoupling Reasoning from Observations (arXiv:2305.18323) الورق القديس
- Erdogan et al., Plan-and-Act (arXiv:2503.09572) خطط التخطيط المتنامية مع خطط اصطناعية
- LangGraph Plan-and-Execute tutorial وصفة الإطار
- Anthropic, Building Effective Agents اختر أبسط نمط يعمل
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.