Phase 14: Agent Engineering

उत्पादन रनटाइमः कतार, घटना, क्रॉन

उत्पादन एजेंट छह रनटाइम आकारों पर काम करते हैंः अनुरोध-रिस्पॉन्स, स्ट्रीमिंग, टिकाऊ निष्पादन, कतार आधारित पृष्ठभूमि, घटना-चालित और अनुसूचित। फ्रेमवर्क चुनने से पहले आकार चुनें। अवलोकन प्रत्येक आकार पर भार सहनशीलता है।

Type: Learn

Languages: Python (stdlib)

Prerequisites: Phase 14 · 13 (LangGraph), Phase 14 · 22 (Voice)

Time: ~60 minutes

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

  • छह उत्पादन रनटाइम आकारों का नाम दें और प्रत्येक को एक फ्रेमवर्क/उत्पाद पैटर्न से मेल खाएं।
  • लंबे समय तक चलने वाले कार्यों के लिए टिकाऊ निष्पादन (लंगग्राफ) महत्वपूर्ण क्यों है, इसकी व्याख्या करें।
  • घटना-चालित रनटाइम का वर्णन करें और जब क्लाउड प्रबंधित एजेंट फिट होता है।
  • बहु-चरण एजेंटों के लिए लोड-रूप में अवलोकन योग्यता दावा स्पष्ट करें।

समस्या

उत्पादन एजेंटों को उन तरीकों से विफलता नहीं होती है जो एक ज्युपिटर नोटबुक सतह पर नहीं आते हैंः चरण 37 पर नेटवर्क टाइमआउट, उपयोगकर्ता मध्य-वाइस कॉल को लटका देता है, मशीन रीबूट पर cron कार्य मर जाता है, पृष्ठभूमि कार्यकर्ता मेमोरी से बाहर चला जाता है। रनटाइम आकार निर्धारित करता है कि कौन सी विफलताएं जीवित हैं।

अवधारणा

अनुरोध-उत्तर

  • समवर्ती HTTP. उपयोगकर्ता पूरा होने का इंतजार कर रहा है.
  • केवल लघु कार्यों (< 30s) के लिए व्यवहार्य।
  • स्टैकः एग्नो (पायथन + फास्टएपीआई), मस्ट्रा (टाइपस्क्रिप्ट + एक्सप्रेस/होनो/फास्टिफाई/कोआ) ।
  • अवलोकनशीलताः मानक HTTP एक्सेस लॉग + OTel स्पैन।

स्ट्रीमिंग

  • प्रगतिशील आउटपुट के लिए SSE या WebSocket।
  • लाइवकिट इसे वॉयस/वीडियो के लिए वेबआरटीसी तक बढ़ाता है (पाठ 22) ।
  • स्टैकः स्ट्रीमिंग समर्थन के साथ कोई भी फ्रेमवर्क + एक फ्रंट-एंड जो SSE/WS को संभालता है।
  • अवलोकनशीलताः प्रति टुकड़ा समय, पहले टोकन विलंब, पूंछ विलंब.

टिकाऊ निष्पादन

  • हर कदम के बाद राज्य चेकपोस्ट; विफलता पर ऑटो-समीक्षा।
  • ऑटोजेन v0.4 एक्टर मॉडल एक एजेंट के लिए विफलताओं को अलग करता है (पाठ 14) ।
  • लैंगग्राफ का कोर डिफरेंसिटर (पाठ 13)
  • आवश्यक है जब चरण संख्या अज्ञात है और वसूली लागत उच्च है।

कतार आधारित / पृष्ठभूमि

  • नौकरी एक कतार में प्रवेश करती है, श्रमिक उठते हैं, परिणाम वेबहाउस या पब/सब के माध्यम से वापस बहते हैं।
  • लंबी क्षितिज एजेंटों के लिए आवश्यक (प्रति कार्य, मानव विज्ञान की कंप्यूटर उपयोग घोषणा के अनुसार दर्जनों से सैकड़ों चरणों) ।
  • स्टैकः सेलेरी (पाइटन), बुलएमक्यू (नोड), एसक्यूएस + लैम्ब्डा (एडब्ल्यूएस), कस्टम।
  • अवलोकनशीलताः कतार की गहराई, प्रति कार्य विलंबता वितरण, DLQ आकार।

घटना-चालित

  • एजेंट ट्रिगर की सदस्यता लेते हैंः नया ईमेल, पीआर खोला, क्रॉन फायर।
  • क्लाउड प्रबंधित एजेंट्स इस बॉक्स से बाहर कवर (पढ़ें 17) ।
  • CrewAI Flow (Lection 15) घटना-चालित निर्धारक कार्यप्रवाहों को संरचित करता है।
  • अवलोकनशीलताः ट्रिगर स्रोत, घटना-टू-स्टार्ट विलंबता, एजेंट विलंबता।

अनुसूचित

  • क्रॉन के रूप में एजेंटों जो आवधिक रूप से चल रहे हैं।
  • एक टिकाऊ निष्पादन के साथ संयोजन ताकि एक विफल रात का रन अगले टिक फिर से शुरू हो।
  • स्टैकः Kubernetes CronJob + एक टिकाऊ फ्रेमवर्क; होस्ट किया गया (रेडर क्रोन, वर्सेल क्रोन) ।

2026 के लिए तैनाती पैटर्न

  • CrewAI Flowsघटना आधारित उत्पादन के लिए।
  • Agnoपायथन माइक्रोसेवाओं के लिए राज्य रहित फास्टएपीआई।
  • Mastraएम्बेडिंग के लिए सर्वर एडाप्टर (एक्सप्रेस, होनो, फास्टिफायर, कोआ) ।
  • Pipecat Cloud / LiveKit Cloudप्रबंधित आवाज के लिए (पाठ 22) ।
  • Claude Managed Agentsहोस्ट किए गए लंबे समय तक चलने वाले असिनक्रॉन के लिए।

अवलोकन क्षमता भार सहनशीलता है

बिना OpenTelemetry GenAI स्पैन (पढ़ना 23) और एक Langfuse / Phoenix / Opik बैकेंड (पढ़ना 24) के, आप एक बहु-चरण एजेंट डिबग नहीं कर सकते हैं जो चरण 40 में विफल हो गया। यह उत्पादन के लिए वैकल्पिक नहीं है। यह "हम जल्दी डिबग" और "हम स्क्रैच से अधिक लॉगिंग के साथ फिर से खेलते हैं" के बीच का अंतर है।

जहां उत्पादन रनटाइम विफल हो

  • Wrong shape choice.5 मिनट के कार्य के लिए अनुरोध-उत्तर चुनना। उपयोगकर्ता बंद करते हैं; श्रमिकों को ढेर करते हैं; पुनः प्रयासों को मिश्रित करते हैं।
  • No DLQ.बिना किसी मृत अक्षर के कतार में काम करने वाले, असफल नौकरियां गायब हो जाती हैं।
  • Opaque background work.पृष्ठभूमि एजेंट बिना निर्यात के चलाता है। उपयोगकर्ता उन्हें रिपोर्ट करने तक विफलताएं अदृश्य हैं।
  • Skipping durable state.किसी भी रन > 30 सेकंड जहां आप पुनरारंभ करने के लिए नहीं कर सकते हैं की जरूरत है टिकाऊ निष्पादन.

इसे बनाओ

code/main.pyएक stdlib बहु-आकार डेमो हैः

  • अनुरोध-उत्तर अंत बिंदु (सादा फ़ंक्शन)
  • स्ट्रीमिंग हैंडल (जनरेटर)
  • डीएलक्यू के साथ कतार पर काम करने वाला कार्यकर्ता।
  • घटना ट्रिगर रजिस्ट्री.
  • क्रॉन के रूप में शेड्यूलर।

इसे चलाओः

bashpython3 code/main.py

आउटपुटः एक ही कार्य पर प्रत्येक आकार के व्यवहार को दर्शाने वाले पांच निशान। एक ही एजेंट तर्क, अलग-अलग बाहरी खोल। टिकाऊ निष्पादन (छठवां आकार) लंगग्राफ चेकपोइंटिंग के साथ पाठ 13 में जानबूझकर कवर किया गया है।

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

  • Request-responseचैट शैली UX के लिए।
  • Streamingप्रगतिशील प्रतिक्रियाओं के लिए।
  • Durableदीर्घकालिक कार्यों के लिए।
  • Queueबैच / असिनक्रॉन / लंबे समय तक चलने के लिए।
  • Eventएजेंट की प्रतिक्रियाशीलता के लिए।
  • Cronघर की देखभाल के लिए (स्मृति समेकन, मूल्यांकन, लागत रिपोर्ट) ।

इसे भेजें

outputs/skill-runtime-shape.mdकिसी कार्य के लिए रनटाइम आकार चुनता है और अवलोकन क्षमता आवश्यकताओं को तार करता है।

व्यायाम

  1. अपने पाठ 01 ReAct लूप को अपने स्टैक में सभी छह आकारों पर पोर्ट करें। कौन सा आकार उत्पाद की सतह से मेल खाता है?
  2. कतार आधारित डेमो में एक DLQ जोड़ें. 10% काम विफलता का अनुकरण करें; सतह DLQ आकार.
  3. एक cron-triggered मूल्यांकन एजेंट लिखें जो आपके दिन के शीर्ष 20 निशानों के खिलाफ हर रात चलाता है।
  4. बैकप्रेशर के साथ स्ट्रीमिंग लागू करेंः यदि ग्राहक धीमा है, तो एजेंट को रोकें। यह बारी बजट के साथ कैसे बातचीत करता है?
  5. क्लाउड प्रबंधित एजेंट डॉक्स पढ़ें. आप एक स्व-होस्टिंग लंबी क्षितिज एजेंट को प्रबंधित करने के लिए कब स्थानांतरित करेंगे?

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

TermWhat people sayWhat it actually means
Request-response"Synchronous"User waits; short tasks only
Streaming"SSE / WS"Progressive output; better UX; latency observable per chunk
Durable execution"Resume from failure"Checkpointed state; restart at last step
Queue-based"Background jobs"Producer / worker pool / DLQ
Event-driven"Trigger-based"Agent reacts to external events
DLQ"Dead-letter queue"Parking lot for failed jobs
Claude Managed Agents"Hosted harness"Anthropic-hosted long-running async with caching + compaction

आगे पढ़ना

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.