Phase 14: Agent Engineering

आत्म-संशोधन और आलोचनाः आवर्ती उत्पादन में सुधार

स्व-सुधार (मदान और सहयोगियों, 2023) एक एलएलएम का उपयोग तीन भूमिकाओं में करता है उत्पन्न करें, प्रतिक्रिया करें, परिष्कृत करें लूप में। औसत लाभः 7 कार्यों पर +20 निरपेक्ष। क्रिटिक (गौ और सहयोगियों, 2023) बाहरी उपकरणों के माध्यम से सत्यापन को रूट करके प्रतिक्रिया चरण को कठोर करता है। 2026 में यह पैटर्न हर ढांचे में "मूल्यांकन-अनुकूलन" (एंट्रोपिक) या एक गार्डरेल लूप (ओपनएआई एजेंट्स एसडीके) के रूप में जहाज करता है।

Type: Build

Languages: Python (stdlib)

Prerequisites: Phase 14 · 01 (Agent Loop), Phase 14 · 03 (Reflexion)

Time: ~60 minutes

सीखने के लक्ष्य

  • राज्य स्व-शुद्धीकरण के तीन संकेत (जनरेट, प्रतिक्रिया, शुद्ध) और स्पष्ट करें कि इतिहास शुद्धीकरण संकेत के लिए क्यों महत्वपूर्ण है।
  • क्रिटिक की महत्वपूर्ण धारणा को समझाएंः एलएलएम बाहरी आधार के बिना आत्म-पुष्टि में विश्वसनीय नहीं हैं।
  • इतिहास और वैकल्पिक बाहरी सत्यापनकर्ता के साथ एक stdlib स्व-शुद्धता लूप लागू करें।
  • इस पैटर्न को एंथ्रोपिक के "मूल्यांकन-अनुकूलनकर्ता" कार्यप्रवाह और ओपनएआई एजेंट्स एसडीके के आउटपुट गार्डरेल्स में मैप करें।

समस्या

एक एजेंट एक उत्तर देता है जो लगभग सही है. शायद कोड की एक पंक्ति में एक वाक्य रचना त्रुटि है. शायद एक सारांश बहुत लंबा है. शायद एक योजना एक किनारे मामले को याद करती है। आप क्या चाहते हैंः एजेंट अपने स्वयं के आउटपुट की आलोचना करता है, फिर इसे ठीक करता है।

स्व-शुद्धीकरण यह एक मॉडल के साथ काम करता है, कोई प्रशिक्षण डेटा, कोई आरएल नहीं है। लेकिन एक पकड़ हैः एलएलएम हार्ड तथ्यों पर स्व-पुष्टि में खराब हैं। क्रिटिक बाहरी उपकरणों (खोज, कोड व्याख्याता, कैलकुलेटर, परीक्षण धावक) के माध्यम से सत्यापन चरण को तय करने का मार्ग देता है।

इन दो पत्रों ने इटेरटिव सुधार के लिए 2026 डिफ़ॉल्ट को परिभाषित किया हैः उत्पन्न करें, सत्यापित करें (बाहरी रूप से जब संभव हो), परिष्कृत करें, सत्यापितकर्ता पारित होने पर रोकें।

अवधारणा

स्व-रिफीन (Madaan et al., NeurIPS 2023)

एक LLM, तीन भूमिकाएंः

generate(task)            -> output_0
feedback(task, output_0)  -> critique_0
refine(task, output_0, critique_0, history) -> output_1
feedback(task, output_1)  -> critique_1
refine(task, output_1, critique_1, history) -> output_2
...
stop when feedback says "no issues" or budget exhausted.

मुख्य विवरण: refineयह लेख पूर्ण इतिहास सभी पिछले आउटपुट और आलोचना को देखता है ताकि यह गलतियों को दोहराए। पेपर इस बात को समाप्त करता हैः इतिहास में गिरावट और गुणवत्ता में तेजी से गिरावट आती है।

शीर्षकः जीपीटी-4 सहित 7 कार्यों (गणित, कोड, संक्षिप्त नाम, संवाद) में +20 पूर्ण सुधार औसत। कोई प्रशिक्षण नहीं, कोई बाहरी उपकरण नहीं, एकल मॉडल नहीं।

आलोचना (Gou et al., arXiv:2305.11738, v4 Feb 2024)

स्व-शुद्धीकरण की कमजोरीः प्रतिक्रिया चरण एक एलएलएम स्कोरिंग स्वयं है। तथ्यात्मक दावों के लिए यह अविश्वसनीय है (एक प्यास अक्सर इसे उत्पन्न करने वाले मॉडल के लिए आश्वस्त दिखता है) । क्रिटिक प्रतिस्थापन करता है feedback(task, output)के साथverify(task, output, tools)कहाँtoolsइसमें शामिल हैंः

  • तथ्यात्मक दावों के लिए एक खोज इंजन।
  • कोड सटीकता के लिए एक कोड व्याख्याता।
  • अंकगणित के लिए एक कैलकुलेटर।
  • डोमेन-विशिष्ट सत्यापनकर्ता (इकाई परीक्षण, प्रकार चेकर, लिंटर) ।

सत्यापितकर्ता उपकरण परिणामों पर आधारित एक संरचित आलोचना उत्पन्न करता है। परिष्कृतकर्ता फिर इस आलोचना पर शर्त लगाता है।

शीर्षकः क्रिटिक तथ्यगत कार्यों पर स्व-शुद्धीकरण से बेहतर प्रदर्शन करता है क्योंकि आलोचना जमीन पर आधारित है। बाहरी सत्यापनकर्ता (सृजनशील लेखन, स्वरूपण) के बिना कार्यों पर, क्रिटिक स्व-शुद्धीकरण तक कम होता है।

स्टॉप की स्थिति

दो आम आकारः

  1. Verifier passes.बाहरी परीक्षण सफलता देता है। उपलब्ध होने पर प्राथमिकता दी जाती है (इकाई परीक्षण, प्रकार जांचकर्ता, गार्डरेल का दावा) ।
  2. No feedback issued.मॉडल कहता है "आउटपुट ठीक है।" सस्ता लेकिन अविश्वसनीय; अधिकतम इटरैशन कैप के साथ जोड़ा।

2026 डिफ़ॉल्टः उन्हें जोड़ें. "यदि सत्यापितकर्ता OR मॉडल को पारित करता है तो रोकें ठीक और पुनरावृत्ति >= 2 OR पुनरावृत्ति >= max_iterations।"

मूल्यांकनकर्ता-अनुकूलनकर्ता (एथ्रोपिक, 2024)

मानव विज्ञान के दिसंबर 2024 पोस्ट में इसे पांच वर्कफ़्लो पैटर्न में से एक के रूप में नामित किया गया है। दो भूमिकाएंः

  • मूल्यांकनकर्ताः आउटपुट को स्कोर करता है और आलोचना उत्पन्न करता है।
  • अनुकूलकः आलोचना के कारण आउटपुट को संशोधित करता है।

मूल्यांकनकर्ता पास होने तक लूप करें। यह मानविकी के फ्रेमिंग में आत्म-सफाई / क्रिटिक है। महत्वपूर्ण इंजीनियरिंग विवरण मानविकी जोड़ता हैः मूल्यांकनकर्ता और अनुकूलक संकेत काफी अलग होना चाहिए ताकि मॉडल सिर्फ रबर-स्टैम्प नहीं करता है।

OpenAI एजेंट्स SDK आउटपुट गार्डरेल

OpenAI एजेंट्स SDK इस पैटर्न को "आउटपुट गार्डरेल्स" के रूप में भेजता है। एक गार्डरेल एक वैधकर्ता है जो एक एजेंट के अंतिम आउटपुट पर चलता है। यदि गार्डरेल ट्रिप्स (ऊंचा जाता है OutputGuardrailTripwireTriggeredगार्डरेल्स उपकरण (CRITIC शैली) या शुद्ध कार्यों (स्व-रिफाइन शैली) बुला सकते हैं।

2026 में फंसे हुए जाल

  • Rubber-stamp loops.एक ही प्रवृत्ति के साथ पीढ़ी और आलोचना करने वाला एक ही मॉडल "मुझे अच्छा लगता है" पर अभिसरण करता है। संरचनात्मक रूप से अलग प्रवृत्ति का उपयोग करें, या आलोचना के लिए एक छोटा सस्ता मॉडल।
  • Over-refinement.प्रत्येक परिष्कृत पास में विलंबता और टोकन जोड़े जाते हैं। बजट 1-3 पास होता है; उसके बाद, मानव समीक्षा के लिए बढ़ता है।
  • CRITIC on trivial tasks.यदि कोई बाहरी सत्यापनकर्ता नहीं है, तो क्रिटिक स्व-सफाई में विलीन हो जाता है; स्टब सत्यापनकर्ता के लिए विलंब का भुगतान न करें।

इसे बनाओ

code/main.pyएक खिलौना कार्य पर आत्म-शुद्ध और क्रिटिक लागू करता हैः एक विषय के अनुसार एक छोटी गोली सूची बनाएं। सत्यापनकर्ता प्रारूप (3 गोली, प्रत्येक 60 चार्स से कम) की जांच करता है। क्रिटिक एक बाहरी "वास्तविकता सत्यापनकर्ता" जोड़ता है जो ज्ञात भ्रामकताओं को दंडित करता है।

घटक:

  • generate पटकथा निर्माता।
  • feedback LLM शैली की आत्म-आलोचना।
  • verify_external क्रिटिक शैली के जमीनी सत्यापनकर्ता।
  • refine आउटपुट को दिए गए इतिहास को फिर से लिखता है।
  • स्टॉप कंडीशन सत्यापन पास या अधिकतम 4 पुनरावृत्ति।

इसे चलाओः

python3 code/main.py

आत्म-संशोधन बनाम क्रिटिक रन की तुलना करें। क्रिटिक एक तथ्यगत त्रुटि को पकड़ता है स्व-संशोधन चूक गया क्योंकि बाहरी सत्यापनकर्ता ने आत्म-संशोधन को जमीन नहीं दी है।

इसका प्रयोग करें

एंथ्रोपिक का मूल्यांकनकर्ता-अनुकूलन क्लाउड-अनुकूल भाषा में यह पैटर्न है। ओपनएआई एजेंट्स एसडीके के आउटपुट गार्डरेल्स क्रिटिक आकार के हैं (गार्डरेल्स उपकरण बुला सकते हैं) । लैंगग्राफ एक प्रतिबिंब नोड भेजता है जो स्वयं-रिफाइन की तरह पढ़ता है। Google के जेमिनी 2.5 कंप्यूटर उपयोग एक प्रति चरण सुरक्षा मूल्यांकनकर्ता जोड़ता है जो एक क्रिटिक संस्करण हैः प्रतिबद्धता करने से पहले प्रत्येक कार्रवाई की पुष्टि की जाती है।

इसे भेजें

outputs/skill-refine-loop.mdएक मूल्यांकनकर्ता-अनुकूलन लूप को कार्य आकार, सत्यापनकर्ता उपलब्धता और पुनरावृत्ति बजट के अनुसार कॉन्फ़िगर करता है। जनरेटर, मूल्यांकनकर्ता/परीक्षक और अनुकूलक के लिए प्रमाणीकरण जारी करता है, साथ ही एक स्टॉप नीति भी।

व्यायाम

  1. खेलौना को अधिकतम_आकृति=1 के साथ चलाएं। क्या क्रिटिक अभी भी मदद करता है?
  2. बाहरी सत्यापनकर्ता को शोरपूर्ण (संदिग्ध 30% झूठे सकारात्मक) के साथ बदलें। लूप क्या करता है? यह 2026 की वास्तविकता है अधिकांश गार्डरेल स्टैक।
  3. "विभिन्न मॉडल पर जनरेटर-आलोचना" संस्करण लागू करेंः बड़े मॉडल उत्पन्न करता है, छोटे मॉडल आलोचना। क्या यह एक ही मॉडल से बेहतर है?
  4. क्रिटिकल सेक्शन 3 (arXiv:2305.11738 v4) पढ़ें। सत्यापन उपकरण की तीन श्रेणियों का नाम बताइए और प्रत्येक के लिए एक उदाहरण दें।
  5. नक्शा OpenAI एजेंट्स SDK output_guardrailsक्या SDK गलत हो जाता है, और क्या सही हो जाता है?

प्रमुख शर्तें

TermWhat people sayWhat it actually means
Self-Refine"LLM that fixes itself"Generate -> feedback -> refine loop in one model, with history
CRITIC"Tool-grounded verification"Replace feedback with an external verifier (search, code, calc, tests)
Evaluator-Optimizer"Anthropic workflow pattern"Two roles — evaluator scores, optimizer revises — looped to convergence
Output guardrail"Post-hoc check"OpenAI Agents SDK validator that runs after an agent produces output
Verify step"Critique phase"The load-bearing decision: grounded or self-rated
Refine history"What the model already tried"Prior outputs + critiques prepended to refine prompt; drop and quality collapses
Rubber-stamp loop"Self-agreement failure"Same-prompt critique returns "looks good"; fix with structurally different prompts
Stop condition"Convergence test"Verifier passes OR no feedback AND iteration cap; never single-condition

आगे पढ़ना

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.