Phase 14: Agent Engineering

التخطيط والتنفيذ: التخطيط المنفصل

يخلط ReAct الفكر والعمل في تيار واحد. يفرق ReWOO بينهما: خطة كبيرة واحدة من الأمام ، ثم تنفيذها. 5 مرات أقل من الرموز ، دقة +4% على HotpotQA ، ويمكنك تصنيف المخطط إلى نموذج 7B. خطة-و-تنفيذ عامة ؛ خطة-و-عمل توسعتها إلى الملاحة على شبكة الإنترنت.

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 حيث يفقد مسار واحد من التماسك.

متى لا تختار أي

PatternWhen
ReActShort tasks, unknown environment, need reactive exception handling
ReWOOStructured tasks with known tools, token-sensitive, parallelizable evidence
Plan-and-ExecuteLike ReWOO but with replanning after partial execution
Plan-and-ActLong-horizon (>30 steps), web/mobile/computer-use
Tree of ThoughtsSearch 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 من طلب المستخدم ، مع إعطاء كتالوج أداة. يصدق الخطة (المتكرر ، كل مرجع حل ، كل أداة موجودة) قبل التسليم إلى المنفذ.

التمارين

  1. إفراج العمال بالموازية لـ عقدة خطة مستقلة ما الذي يشتريه لك على DAG 6 عقدة مع مجموعتين متوازيتين؟
  2. إضافة عقدة إعادة التخطيط التي تنطلق إذا عادت أي عامل خطأ. ما هو أصغر تغيير في ReWOO الذي يجعل من خطة وتنفيذ؟
  3. استبدلPlannerمع نموذج صغير (فئة 7B) وابق Solverعلى نموذج الحدود. مقارنة نوعية نهاية إلى نهاية أين تفشل الانقسام؟
  4. اقرأ القسم 4 من ورقة ReWOO حول عملية تصفية المخطط. قم بتكرار النتيجة 175B -> 7B بشكل مفهومي: ما هي البيانات التدريبية التي تحتاج إليها وكيف تسجل نوعية الخطة؟
  5. نقل اللعبة إلى شكل مسار الخطة والعمل: الخطة هي تسلسل، وليس DAG. ما التنازلات تغير؟

الشروط الرئيسية

TermWhat people sayWhat 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

المزيد من القراءة

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.