रिवो और प्लान-एंड-एक्ज्यूटः डिकोपल्ड प्लानिंग
Type: Build
Languages: Python (stdlib)
Prerequisites: Phase 14 · 01 (Agent Loop)
Time: ~60 minutes
सीखने के लक्ष्य
- समझाएं कि ReWOO के प्लानर / वर्कर / सॉल्वर स्प्लिट से टोकन बचते हैं और ReAct के इंटरलेव्ड लूप पर मजबूती में सुधार होता है।
- एक योजना DAG, एक निर्भरता-आदेश निष्पादक, और एक हलकर्ता लागू जो कार्यकर्ता आउटपुट सभी stdlib बनाता है।
- 2026 "पांच कार्यप्रवाह पैटर्न" फ्रेमिंग (एथ्रोपिक) का उपयोग करके, निर्धारित करें कि किसी कार्य को योजना-फिर-कार्यकारी बनाम इंटरलेवेड ReAct के रूप में कब चलाया जाना चाहिए।
- पहचानें कि कब लंबी दूरी के वेब या मोबाइल कार्यों के लिए प्लान-एंड-एक्ट के सिंथेटिक प्लान डेटा की आवश्यकता होती है।
समस्या
ReAct का इंटरलेवेड विचार-क्रिया-निरीक्षण लूप सरल और लचीला है, लेकिन प्रत्येक टूल कॉल को प्रत्येक पिछले विचार सहित पूर्ण पूर्व संदर्भ को ले जाना पड़ता है। टोकन उपयोग गहराई के साथ चतुर्भुज बढ़ता है। इससे भी बदतरः जब एक टूल मध्य-लूप में विफल रहता है, तो मॉडल को त्रुटि अवलोकन से पूरी योजना को फिर से निकालना पड़ता है।
ReWOO (Xu et al., arXiv:2305.18323, मई 2023) ने इस बात पर ध्यान दिया और एक शर्त लगाईः पूरी बात को पहले से योजना बनाएं, समानांतर में सबूत लाएं, अंत में उत्तर बनाएं। एक एलएलएम कॉल करने के लिए योजना, एन टूल सबूत के लिए कहता है (समानांतर हो सकता है), एक एलएलएम कॉल हल करने के लिए। व्यापार में बहुत बेहतर टोकन दक्षता और स्पष्ट विफलता मोड के लिए कम लचीलापन है (प्लान स्थिर है) ।
अवधारणा
तीन भूमिकाएँ
Planner: user_question -> [plan_dag]
Workers: [plan_dag] -> [evidence] (tool calls, possibly parallel)
Solver: user_question, plan_dag, evidence -> final_answerप्लानर एक DAG उत्पन्न करता है। प्रत्येक नोड एक उपकरण का नाम, उसके तर्क, और जो पहले के नोड यह निर्भर करता है (उपदेश जैसे #E1,#E2) श्रमिकों ने नोड्स को स्थलाकृतिक क्रम में निष्पादित किया। सॉल्वर सब कुछ एक साथ जोड़ता है।
क्यों 5 गुना कम टोकन
ReAct चरण संख्या के साथ रैखिक रूप से शीघ्र लंबाई बढ़ता है। चरण 10 में, शीघ्र में विचार 1 प्लस क्रिया 1 प्लस अवलोकन 1 प्लस विचार 2 प्लस क्रिया 2 प्लस अवलोकन 2 आदि होते हैं। प्रत्येक मध्यवर्ती चरण में मूल शीघ्र भी अधिमानतः शामिल होता है।
ReWOO एक प्लानर प्रॉम्प्ट (बड़ा), N छोटे वर्कर प्रॉम्प्ट (हर एक केवल टूल कॉल, कोई श्रृंखला नहीं) और एक सॉल्वर प्रॉम्प्ट का भुगतान करता है। हॉटपॉटQA पर पेपर ~ 5x कम टोकन मापता है जबकि +4 पूर्ण सटीकता प्राप्त करता है।
यह अधिक मजबूत क्यों है
यदि वर्कर 3 ReAct में विफल रहता है, तो लूप को त्रुटि के मध्य-stream से तर्क करना होगा। ReWOO में, वर्कर 3 एक त्रुटि स्ट्रिंग लौटाता है; समाधानकर्ता इसे मूल योजना के संदर्भ में देखता है और इसे सुरुचिपूर्ण रूप से गिरा सकता है। विफलता स्थानिकीकरण प्रति नोड है, प्रति चरण नहीं।
प्लानर डिस्टिलिशन
पेपर का दूसरा परिणामः क्योंकि प्लानर अवलोकन नहीं देखता है, आप 175B शिक्षक से प्लानर आउटपुट पर 7B मॉडल को ठीक कर सकते हैं। छोटा मॉडल योजना को संभालता है; निष्कर्ष पर बड़े मॉडल की आवश्यकता नहीं है। यह अब मानक है 2026 के कई उत्पादन एजेंट एक छोटे प्लानर और एक बड़े निष्पादक का उपयोग करते हैं या इसके विपरीत।
योजना और कार्यवाही (2023)
लैंगचेन टीम के अगस्त 2023 पोस्ट ने ReWOO को एक पैटर्न नाम में सामान्यीकृत कियाः योजना-और-कार्य करें। अग्रिम योजनाकार एक चरण सूची जारी करता है, निष्पादक प्रत्येक चरण चलाता है, एक वैकल्पिक पुनर्गठनकर्ता परिणामों का अवलोकन करने के बाद संशोधित कर सकता है। यह ReAct से अधिक है ReWOO (पुनर्गठनकर्ता अवलोकनों को योजना में वापस लाता है) लेकिन टोकन बचत को संरक्षित करता है।
योजना और अधिनियम (एर्दोआन एट अल., arXiv:2503.09572, ICML 2025)
प्लान-एंड-एक्ट पैटर्न को लंबी क्षितिज वेब और मोबाइल एजेंटों के लिए स्केल करता है। मुख्य योगदान सिंथेटिक प्लान डेटा हैः एक लेबलबद्ध ट्रैक्टरी जनरेटर प्रशिक्षण डेटा उत्पन्न करता है जहां योजना स्पष्ट है। इसका उपयोग योजनाकार मॉडल को ठीक करने के लिए किया जाता है जो वेबएरेना जैसे कार्यों पर 3050 चरणों के बाद काम करते रहते हैं जहां एक एकल रिएक्ट ट्रैक्टरी सहसंबंध खो देता है।
कौन सी चुनना है
| 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) |
एंट्रोपिक के दिसंबर 2024 मार्गदर्शनः सबसे सरल से शुरू करें। यदि कार्य एक उपकरण कॉल प्लस एक सारांश है, तो ReWOO न बनाएं। यदि कार्य 40 चरणों का शोध कार्य है, तो अकेले ReAct न करें।
इसे बनाओ
code/main.pyएक खिलौना ReWOO लागू करता हैः
Plannerएक स्क्रिप्ट नीति जो एक प्रॉम्प्ट से एक योजना DAG जारी करती है।Workerप्रत्येक नोड के उपकरण कॉल को रजिस्ट्री के माध्यम से भेजता है।Solverस्क्रिप्ट वाली रचना जो साक्ष्य पढ़ती है और अंतिम उत्तर देती है।- निर्भरता संकल्प जैसे संदर्भ
#E1पहले के श्रमिक उत्पादन से प्रतिस्थापित किया जाता है।
डेमो दो चरणों की योजना का उपयोग करके "फ्रांस की राजधानी की जनसंख्या कितनी है, लाखों में गोल किया गया है? " का जवाब देता हैः (1) राजधानी की खोज करें, (2) जनसंख्या की खोज करें, फिर हल करें।
इसे चलाओः
python3 code/main.pyट्रैक पहले पूर्ण योजना को दिखाता है, फिर कार्यकर्ता परिणाम, फिर सॉल्वर संरचना। टोकन गिनती (हम एक कच्चे वर्ण गिनती प्रिंट करते हैं) की तुलना एक ReAct शैली के अंतःस्थापित रन से करें।
इसका प्रयोग करें
लैंगग्राफ जहाजों योजना और निष्पादन के रूप में एक नुस्खा (create_react_agentक्रूएआई के प्रवाह सीधे पैटर्न को एन्कोड करते हैंः आप कार्यों को पहले से परिभाषित करते हैं और प्रवाह डीएजी उन्हें निष्पादित करता है। प्लान-एंड-एक्ट का सिंथेटिक डेटा दृष्टिकोण अभी भी ज्यादातर शोध है; रनटाइम पैटर्न (स्पष्ट योजना डीएजी) लैंगग्राफ और क्रूएआई प्रवाह के माध्यम से उत्पादन में जहाजों के माध्यम से उत्पादन में है।
इसे भेजें
outputs/skill-rewoo-planner.mdएक उपयोगकर्ता अनुरोध से एक ReWOO योजना DAG उत्पन्न करता है, एक उपकरण कैटलॉग दिया जाता है। यह एक निष्पादक को सौंपने से पहले योजना (असैक्लिक, हर संदर्भ हल, हर उपकरण मौजूद है) को मान्य करता है।
व्यायाम
- स्वतंत्र योजना नोड्स के लिए समानांतर कार्यकर्ता निष्पादन. यह आप दो समानांतर समूहों के साथ 6 नोड DAG पर क्या खरीदता है?
- एक रिप्लानेर नोड जोड़ें जो किसी कार्यकर्ता को त्रुटि लौटाने पर निष्पादित होता है। ReWOO में सबसे छोटा बदलाव क्या है जो इसे प्लान-एंड-एक्ज्यूट बनाता है?
- प्रतिस्थापन
Plannerछोटे मॉडल (7B वर्ग) के साथ और रखSolverएक सीमा मॉडल पर। अंत-से-अंत गुणवत्ता की तुलना करें विभाजन कहां विफल रहता है? - प्लानर डिस्टिलिशन पर ReWOO पेपर की धारा 4 को पढ़ें। 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.