एचटीएन और विकासवादी खोज के साथ योजना बनाना
Type: Build
Languages: Python (stdlib)
Prerequisites: Phase 14 · 02 (ReWOO and Plan-and-Execute)
Time: ~75 minutes
सीखने के लक्ष्य
- पदानुक्रमिक कार्य नेटवर्क को समझाएंः कार्य, विधि, ऑपरेटर, पूर्व शर्तें, प्रभाव।
- एलएलएम बैक डिसेम्पोशन के साथ चैटएचटीएन के हाइब्रिड लूप प्रतीकात्मक खोज का वर्णन करें।
- अल्फाईवोल्व के विकासवादी लूप को समझाएं और यह केवल प्रोग्रामेटिक मूल्यांकनकर्ता के साथ क्यों काम करता है।
- खेलौना एचटीएन योजनाकार और खेलौना विकास खोज को लागू करें stdlib में.
समस्या
ReWOO (पाठ 02), योजना-और-कार्य, और ReAct अधिकांश एजेंट योजना को कवर करते हैं। दो मामले वे अच्छी तरह से कवर नहीं करते हैंः
- Plans with provable correctness.कार्यक्रम, उड़ान पथ, अनुपालन कार्यप्रवाह योजना को निर्माण द्वारा ठोस होना चाहिए। एक धाराप्रवाह LLM योजना जो कभी-कभी एक कदम का भ्रम पैदा करती है, अस्वीकार्य है।
- Optimizations with a machine-checkable fitness function.मैट्रिक्स गुणा, शेड्यूलिंग हेउरिस्टिक, संकलक पास लक्ष्य "सही योजना" नहीं है बल्कि "सर्वश्रेष्ठ योजना" है।
एचटीएन प्लानिंग और अल्फाईवोलवे दो अलग-अलग समस्याओं का समाधान करते हैं। दोनों एलएलएम का उपयोग एम्पलीफायर के रूप में करते हैं, प्रतिस्थापन नहीं।
अवधारणा
पदानुक्रमिक कार्य नेटवर्क
एक HTN हैः
- Tasks यौगिक (विघटित होने के लिए) और आदिम (प्रत्यक्ष रूप से निष्पादित करने योग्य) ।
- Methods पूर्व शर्तों के साथ एक यौगिक कार्य को उप-कार्य में विघटित करने के तरीके।
- Operators पूर्व शर्तों और प्रभावों के साथ आदिम कार्य।
- State तथ्यों का एक सेट।
नियोजनः लक्ष्य कार्य और प्रारंभिक स्थिति को देखते हुए, उन आदिम ऑपरेटरों में विघटन का पता लगाएं जिनकी पूर्व शर्तें क्रमशः पूरी की जाती हैं।
एचटीएन एमएलएम से पुराना है और यह अभी भी सिद्ध रूप से सही योजनाओं के लिए संदर्भ है।
ChatHTN (गोपालकृष्णन एट अल., 2025)
ChatHTN (arXiv:2505.11814) प्रतीकात्मक HTN को LLM प्रश्नों के साथ जोड़ता हैः
- मौजूदा जटिल कार्य को मौजूदा विधियों से विघटित करने का प्रयास करें।
- यदि कोई विधि लागू नहीं होती है, तो LLM से पूछेंः "आप कैसे विघटित करेंगे
taskराज्य मेंs? - एलएलएम प्रतिक्रिया को उम्मीदवार उप-कार्य में अनुवाद करें।
- ऑपरेटर स्कीम के खिलाफ सत्यापित करें; अमान्य विघटनों को अस्वीकार करें।
- वापसी करें।
पेपर का केंद्रीय दावाः प्रत्येक उत्पादित योजना साबित करने योग्य है क्योंकि एलएलएम सुझाव केवल उम्मीदवार विघटन के रूप में प्रवेश करते हैं, कभी भी प्रत्यक्ष योजना संपादन के रूप में नहीं। प्रतीकात्मक परत सटीकता का मालिक है; एलएलएम विधि पुस्तकालय का विस्तार करता है।
ऑनलाइन पद्धति सीखना (OpenReview gwYEDY9j2x, 2025 अनुवर्ती) एक छात्र जो LLM द्वारा उत्पादित विघटनों को सामान्य बनाता है जो LLM क्वेरी आवृत्ति को 75% तक कम करता है।
अल्फाईवोल्व (नोविकोव एट अल., 2025)
अल्फाईवोल्व (arXiv:2506.13131, डीपमाइंड, जून 2025) एक अलग जानवर हैः एक मिथुन 2.0 फ्लैश / प्रो एंसिबल द्वारा निर्देशित विकासात्मक कोड खोज।
लूप:
- एक बीज कार्यक्रम + एक कार्यक्रम मूल्यांकनकर्ता (फिटनेस स्कोर वापस करता है) के साथ शुरू करें।
- LLM के समूह उत्परिवर्तन का प्रस्ताव देते हैं।
- मूल्यांकनकर्ता के माध्यम से उत्परिवर्तन चलाओ.
- सबसे अच्छा रखें; फिर से उत्परिवर्तन.
प्रकाशित जीत:
- 56 वर्षों में 4x4 जटिल मैट्रिक्स गुणन में स्ट्रेसन के मुकाबले पहला सुधार (48 स्केलर गुणन) ।
- 0.7% ने बोर्ग शेड्यूलिंग हेरिस्टिक के माध्यम से गूगल कम्प्यूटिंग बहाल की।
- सीमावर्ती कार्यभार पर 32% फ्लैशअटेंशन गति।
कठिन प्रतिबंधः फिटनेस फ़ंक्शन मशीन-चेक करने योग्य होना चाहिए। प्रोजा उत्तरों पर विकासवादी खोज अभिसरण नहीं करती है।
किसको कब इस्तेमाल करना है
| Problem class | Use | Why |
|---|---|---|
| Scheduling with hard constraints | HTN + ChatHTN | Provable soundness |
| Compiler optimization | AlphaEvolve | Machine-checkable fitness |
| Multi-step task execution | ReAct / ReWOO | LLM in the loop, no formal guarantees |
| Code improvement with tests | AlphaEvolve | Tests are the evaluator |
| Policy-bound automation | HTN | Preconditions encode policy |
जहां यह पैटर्न गलत हो जाता है
- HTN without operators.बिना पूर्व शर्त / प्रभाव योजनाओं के ठोसता का दावा टूट जाता है। चैटएचटीएन के "एलएलएम विघटन का सुझाव देता है" योजना को अमान्य चालों को अस्वीकार करने की आवश्यकता होती है।
- AlphaEvolve without a real evaluator."एलएलएम से पूछें कि क्या कोड बेहतर है" फिटनेस फ़ंक्शन नहीं है। मूल्यांकनकर्ता निर्धारक और तेज होना चाहिए।
- Over-engineering.अधिकांश एजेंट कार्यों की जरूरत नहीं है. पहले ReAct या ReWOO के लिए प्राप्त करें.
इसे बनाओ
code/main.pyदो खिलौने लागू करता हैः
- ऑपरेटर, तरीकों, पूर्व शर्तों, प्रभावों और एक के साथ एक stdlib HTN नियोजक
LLMFallback"LLM" एक स्क्रिप्ट विघटनकर्ता है तो योजनाकार ऑफ़लाइन चलाता है. - अंकगणित कार्यक्रमों पर एक स्ट्डलिब विकासवादी खोजः उन अभिव्यक्ति को बढ़ाएं जिनकी आउटपुट न्यूनतम हो जाती है
|f(x) - target|एक परीक्षण सेट पर। मूल्यांकनकर्ता निर्धारक है।
इसे चलाओः
python3 code/main.pyइस निशान में एचटीएन प्लानर एक यौगिक कार्य (मध्य-योजना एलएलएम fallback के साथ) को विघटित करता है और विकासवादी लूप लक्ष्य अभिव्यक्ति पर अभिसरण करता है।
इसका प्रयोग करें
- HTN planners
pyhop,SHOP3, या डोमेन-विशिष्ट नीति प्रवर्तन के लिए अपना खुद का निर्माण। - ChatHTN अनुसंधान कोड; पैटर्न (प्रतीकात्मक + LLM बैकअप) किसी भी HTN नियोजक को साफ-सुथरा पोर्ट करता है।
- AlphaEvolve डीपमाइंड पेपर; पैटर्न (एम्सेम्बल + मूल्यांकनकर्ता) पुनः प्रस्तुत किया जा सकता है। ओपनईवल्व और इसी तरह के ओपन सोर्स फोर्क उभर रहे हैं।
- Agent frameworks पहले वर्ग HTN या AlphaEvolve अभी तक जहाज नहीं है। एक उप-सैन्य या पृष्ठभूमि कार्यकर्ता के रूप में इसे निर्माण.
इसे भेजें
outputs/skill-hybrid-planner.mdएलएलएम भूमिका के लिए स्पष्ट रूप से निर्धारित एक हाइब्रिड प्लानर स्टेफल्ड (एचटीएन या विकासशील) उत्पन्न करता है।
व्यायाम
- रिट्रेसिंग के साथ एचटीएन प्लानर का विस्तार करेंः जब ऑपरेटर की पोस्टकंडीशन रनटाइम में विफल हो जाती है, तो पीछे रोल करें और अगली विधि का प्रयास करें।
- ChatHTN में LLM-method कैश जोड़ेंः जब LLM कार्य को बिगाड़ता है
Tराज्य पैटर्न मेंPअगले कॉल पर विधि पुस्तकालय को फिर से जांचें। - विकासवादी खोज मूल्यांकनकर्ता को वास्तविक परीक्षण सूट में बदलें। 20 परीक्षण मामलों को पारित करने वाले क्रमबद्ध फ़ंक्शन को विकसित करें; अभिसरण के लिए पीढ़ियों की रिपोर्ट करें।
- AlphaEvolve के मूल्यांकनकर्ता डिजाइन नोट पढ़ें। एक डोमेन के लिए एक मूल्यांकनकर्ता डिजाइन करें जो आपको परवाह है (SQL क्वेरी अनुकूलन, परीक्षण-सूट न्यूनतमकरण, तैनाती YAML) ।
- संयोजनः एक यौगिक कार्य को उप-कार्य में विघटित करने के लिए HTN का उपयोग करें, फिर प्रत्येक उप-कार्य के आदिम ऑपरेटर पर विकासवादी खोज का उपयोग करें। यह कहां चमकता है, यह कहां ओवर-इंजीनियरिंग करता है?
प्रमुख शर्तें
| Term | What people say | What it actually means |
|---|---|---|
| HTN | "Hierarchical planner" | Task decomposition with operators, preconditions, effects |
| Method | "Decomposition rule" | Way to break a compound task into subtasks |
| Operator | "Primitive action" | Concrete step with precondition and effect |
| ChatHTN | "LLM + HTN" | Symbolic planner asks LLM when no method matches |
| AlphaEvolve | "Evolutionary code search" | Ensemble LLMs mutate code; deterministic evaluator selects |
| Fitness function | "Evaluator" | Deterministic, machine-checkable score over outputs |
| Online method learning | "Cached LLM decomposition" | Store + generalize LLM plans to cut query cost |
आगे पढ़ना
- Gopalakrishnan et al., ChatHTN (arXiv:2505.11814) प्रतीकात्मक + LLM हाइब्रिड प्लानर
- Novikov et al., AlphaEvolve (arXiv:2506.13131) एलएलएम उत्परिवर्तन के साथ विकासशील कोड खोज
- 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.