भूमिका आधारित एजेंट टीम भूमिकाएं, कार्य, प्रक्रियाएं
Type: Learn + Build
Languages: Python (stdlib)
Prerequisites: Phase 14 · 12 (Workflow Patterns), Phase 14 · 14 (Actor Model)
Time: ~75 minutes
सीखने के लक्ष्य
- क्रूएआई के चार आदिम (एजेंट, टास्क, क्रू, प्रोसेस) और प्रत्येक के स्वामित्व का नाम दें।
- अनुक्रमिक, पदानुक्रमिक और नियोजित सहमति प्रक्रिया में अंतर करें; प्रति कार्यभार एक चुनें।
- चालक दल (स्वायत्त भूमिका आधारित) को प्रवाह (घटना-चालित निर्धारक) से अलग करें, और डॉक की उत्पादन सिफारिशों की व्याख्या करें।
@toolसजावट औरBaseToolउपवर्ग; संरचित आउटपुट बनाम मुक्त पाठ के बारे में तर्क।- चार क्रूएआई मेमोरी प्रकारों का नाम बताइए और प्रत्येक का भुगतान कब होता है।
- एक स्टडीलिब तीन एजेंटों (अनुसंधानकर्ता, लेखक, संपादक) का क्रू लागू करें जो एक संक्षिप्त पत्र तैयार करता है।
- तीन CrewAI विफलता मोडों का पता लगाएंः शीघ्र-ब्लोट, प्रबंधक-LLM कर, नाजुक हस्तान्तरण।
समस्या
कई एजेंटों के ढांचे को अपनाने वाली टीमें एक ही दीवार पर पहुंच गईं। "स्वायत्त सहयोग" एक डेमो में बहुत अच्छा लगता है। फिर एक ग्राहक एक बग फाइल करता है और आपको निर्धारात्मक रीप्ले की आवश्यकता होती है। या वित्त पूछता है कि एलएलएम-रूट किए गए चालक दल की लागत प्रति रन कितनी है। या कॉल पर पता लगाने की आवश्यकता है कि कौन सा एजेंट सुबह 3 बजे ठप हो गया।
मुक्त रूप के एलएलएम-रूट चालक दल उन सभी का जवाब साफ नहीं देते हैं शुद्ध DAGs उन सभी का जवाब देते हैं लेकिन एक ब्रेस्टस्टॉर्म एजेंट की जरूरत है खोजात्मक आकार खो देते हैं।
CrewAI का विभाजन व्यापार के बारे में ईमानदार है। सहयोग, भूमिका आधारित, अन्वेषणात्मक काम के लिए क्रू। घटना-चालित, कोड-स्वामित्व वाले, ऑडिटेबल उत्पादन के लिए प्रवाह। एक ही ढांचा, दो आकार, प्रति सतह चुनें।
अवधारणा
चार आदिम
CrewAI की सतह छोटी है, इसे याद रखें और बाकी कॉन्फिग है।
- Agent.
role + goal + backstory + tools + (optional) llm. पृष्ठभूमि भार सहनशील है. यह स्वर, निर्णय को आकार देता है, जब एजेंट रुकता है. उपकरण कार्य हैं एजेंट कॉल कर सकते हैं (नीचे अधिक). - Task.
description + expected_output + agent + (optional) context + (optional) output_pydantic. एक पुनः प्रयोज्य कार्य इकाई।expected_outputयह अनुबंध है।contextउपधारा के कार्यों की सूची देता है जिनके आउटपुट में पारित किया जाता है।output_pydanticएक संरचित आकार को बल देता है। - Crew.कंटेनर. सूची के मालिक है
agents, सूचीtasks,process, और वैकल्पिकmemory+verbose+manager_llmसेटिंग्स। - Process.निष्पादन रणनीति क्रमबद्ध, पदानुक्रमिक, सहमति (नियोजित) रन का आकार चुनता है।
एजेंट एक दूसरे को सीधे नहीं देखते हैं, कार्य संदर्भ एजेंटों को सौंपते हैं, चालक दल कार्य क्रमबद्ध करता है, प्रक्रिया तय करती है कि अगला कार्य कौन चुनता है, यह संपूर्ण मानसिक मॉडल है।
Validated againstCrewAI 0.86 (2026-05). नए संस्करण प्रक्रिया प्रकारों का नाम बदल सकते हैं या विलय कर सकते हैं; CrewAI Processes docsकिसी विशिष्ट आकार पर निर्भर करने से पहले।
अनुक्रमिक बनाम पदानुक्रमिक बनाम सहमति
- Sequential.कार्य घोषणा क्रम में चलते हैं। कार्य N का आउटपुट
contextN + 1 कार्य करने के लिए। सबसे कम लागत. सबसे पूर्वानुमान. आदेश तय किया है जब उपयोग करें. - Hierarchical.एक प्रबंधक एजेंट (अलग एलएलएम कॉल) विशेषज्ञों के बीच मार्गों। CrewAI प्रबंधक को या तो आपके से उत्पन्न करता है
manager_llmप्रबंधक प्रत्येक राउंड में अगला कार्य चुनता है और इसे अस्वीकार या पुनर्निर्देशित कर सकता है। जब आपके पास चार या अधिक विशेषज्ञ हैं और आदेश वास्तव में पूर्व आउटपुट पर निर्भर करता है। - Consensus.योजना बनाई गई है, वर्तमान में सार्वजनिक एपीआई में लागू नहीं की गई है। डॉक्स भविष्य की मतदान आधारित प्रक्रिया के लिए नाम आरक्षित करते हैं। आज उस पर भरोसा न करें।
पदानुक्रम प्रत्येक विशेषज्ञ कॉल के शीर्ष पर एक प्रति राउंड एलएलएम कॉल (प्रबंधक) जोड़ता है। टोकन लागत पांच चरणों के दौरे पर तीन गुना हो सकती है। इसके लिए केवल तभी भुगतान करें जब आपको रूटिंग की आवश्यकता हो।
चालक दल बनाम प्रवाह
यह 2026 में डॉक नेतृत्व के साथ ढांचा है।
- Crew.LLM-चालित स्वायत्तता. फ्रेमवर्क रनटाइम में आकार चुनता है. अनुसंधान, ब्रेनस्टॉर्म, पहले मसौदे के लिए अच्छा है, जहां भी रास्ता उत्तर का हिस्सा है। दोहराया जाना मुश्किल है। परीक्षण करना मुश्किल है। प्रोटोटाइप के लिए सस्ता है।
- Flow.घटना-चालित ग्राफ आप के मालिक हैं।
@startप्रवेश को चिह्नित करता है।@listen(topic)एक कदम है कि एक और कदम है कि विषय को उत्सर्जित करता है जब एक कदम है। प्रत्येक कदम सादा पायथन है (एक क्रू आंतरिक रूप से बुला सकते हैं) ।
डॉक की 2026 उत्पादन सिफारिशः एक प्रवाह से शुरू करें।Crew.kickoff()प्रवाह के अंदर से कॉल करते हैं जब स्वायत्तता अपनी लागत कमाता है प्रवाह आपको लेखा परीक्षा का रास्ता देता है, चालक दल आपको खोज देता है।
उपकरण एकीकरण
एजेंट को एक उपकरण देने के तीन तरीके। सबसे सरल एक चुनें जो फिट बैठता है।
@tooldecorator.शुद्ध कार्य उपकरण बन जाते हैं। हस्ताक्षर योजना है; डॉकस्ट्रिंग एलएलएम का वर्णन है। एक बार के सहायक के लिए सबसे अच्छा है।
```python
from crewai.tools import tool
@tool("Search the web")
def search(query: str) -> str:
"""Return top results for the query."""
return run_search(query)
```
BaseToolsubclass.स्पष्ट एआरजी स्कीमा, असिनक्रॉन समर्थन, पुनः प्रयासों के साथ वर्ग-आधारित उपकरण। जब उपकरण में स्टेट (क्लाइंट, कैश) या संरचित एआरजी की आवश्यकता होती है तो उपयोग करें।
```python
from crewai.tools import BaseTool
from pydantic import BaseModel
class SearchArgs(BaseModel):
query: str
limit: int = 10
class SearchTool(BaseTool):
name = "web_search"
description = "Search the web and return top results."
args_schema = SearchArgs
def _run(self, query: str, limit: int = 10) -> str:
return self.client.search(query, limit=limit)
```
- Built-in toolkits.क्रूएआई प्रथम पक्ष के एडाप्टर जहाजः
SerperDevTool,FileReadTool,DirectoryReadTool,CodeInterpreterTool,RagTool,WebsiteSearchTool. एक आयात के साथ वायर्ड.
संरचित आउटपुट Pydantic का उपयोग करते हैं. पास output_pydantic=MyModelCrewAI मॉडल के खिलाफ LLM प्रतिक्रिया को मान्य करता है और या तो मजबूर करता है या फिर से प्रयास करता है।expected_outputस्ट्रिंग. मुक्त पाठ आउटपुट मसौदा के लिए ठीक हैं; संरचित आउटपुट हैं जो डाउनस्ट्रीम प्रवाह का उपभोग कर सकते हैं।
स्मृति हुक
CrewAI चार प्रकार की स्मृति को बॉक्स से बाहर भेजता है। वे बनाते हैंः एक चालक दल एक ही समय में सभी चार सक्षम कर सकते हैं।
Validated againstCrewAI 0.86 (2026-05). हाल के रिलीज़ में सब कुछ एक एकीकृत मार्ग के माध्यम से मार्ग प्रशस्त किया गया है
Memoryनीचे दिए गए अवधारणा मॉडल अभी भी बरकरार है, लेकिन सार्वजनिक वर्ग की सतह एक ही में गिर सकता हैMemoryनए संस्करणों में प्रवेश बिंदु; जांच CrewAI memory docsवर्तमान एपीआई के लिए।
- Short-term.एक रन के भीतर बातचीत बफर. अंत में मिटा दिया.
- Long-term.रन के माध्यम से बरकरार। वेक्टर डीबी में संग्रहीत (Chroma डिफ़ॉल्ट रूप से, swappable) । वर्तमान कार्य के समानता द्वारा प्राप्त किया गया।
- Entity."ग्राहक एक्स उद्यम योजना पर है" इकाई द्वारा कुंजीबद्ध, समानता से नहीं। पार दौड़ में जीवित रहता है।
- Contextual.विधानसभा समय पुनर्प्राप्ति, एजेंट को इसकी आवश्यकता होने पर प्रासंगिक स्मृति खींचता है, पूर्व लोड नहीं है।
के साथ चालक दल पर सक्षम करेंmemory=Trueया प्रति प्रकार विन्यास. आप एक एम्बेडिंग प्रदाता द्वारा समर्थित विन्यास (डिफ़ॉल्ट रूप से OpenAI, स्थानीय के लिए swappable) । स्मृति CrewAI पतले फ्रेमवर्क के खिलाफ अपने रखरखाव के लिए जगहों में से एक है; शुद्ध LangGraph आपको इन में से प्रत्येक को अपने आप को वायर करने की आवश्यकता है।
जब भूमिका आधारित टीमें फिट होती हैं
- तीन से छह एजेंटों के नामित भूमिकाओं और एक सहयोगी कार्यप्रवाह के साथ।
- रूटिंग जहां LLM के अगले कदम के बारे में निर्णय मूल्य का हिस्सा है (पदानुक्रमिक)
- जहाँ भी टीम को पढ़ने में अधिक खुशी है
role + goal + backstoryग्राफ परिभाषा पढ़ने की तुलना में।
जब वे नहीं करते
- कठोर क्रमबद्धता के साथ निर्धारक DAG। लैंगग्राफ (पाठ 13) का उपयोग करें। ग्राफ आकार सही अमूर्त है; क्रूएआई की भूमिका फ्रेमिंग घर्षण है।
- उप-दूसरी विलंबता बजट। पदानुक्रमिक यात्राओं को जोड़ता है। यहां तक कि अनुक्रमिक अनुशंसित करता है जो पृष्ठभूमि कहानियों और पिछले आउटपुट शामिल हैं।
- एकल एजेंट लूप्स। फ्रेमवर्क को छोड़ दें; एक एजेंट लूप (पाठ 1) प्लस एक टूल रजिस्ट्री छोटा है।
पाठ 17 (एजेंट फ्रेमवर्क ट्रेडऑफ) यह एक मैट्रिक्स में प्रस्तुत करता है। संक्षिप्त संस्करणः क्रूएआई "सहयोगी भूमिका आधारित" कोने में बैठता है।
निर्भरता का आकार
लैंगचेन से स्वतंत्र। पायथन 3.10 से 3.13. उपयोग uv. स्टार गिनती: देखेंcrewAIInc/crewAI(2026-05 के लिए स्नैपशॉट) AWS बेड्रॉक एकीकरण प्रलेखित है; विक्रेता बेंचमार्क QA वर्कलोड पर लैंगग्राफ बनाम गति में काफी वृद्धि की रिपोर्ट करते हैं, लेकिन पद्धति (डेटासेट, हार्डवेयर, मूल्यांकन मीट्रिक) प्रकाशित नहीं होती है, इसलिए फ्रेमवर्क-विक्रेता संख्याओं को केवल दिशात्मक माना जाता है।
जहां यह पैटर्न गलत हो जाता है
- Prompt-bloat from backstories.एक 2000 शब्द की पृष्ठभूमि कहानी प्रति एजेंट और पांच एजेंटों के एक दल को पहले टूल कॉल से पहले संदर्भ बजट जला देता है। 200 शब्दों से कम पृष्ठभूमि कहानियों को रखें। एजेंटों के बीच वाक्यांशों का पुनः उपयोग करें; घर शैली को पांच बार न दोहराएं।
- Manager-LLM token tax.पदानुक्रमिक प्रक्रिया प्रत्येक विशेषज्ञ कॉल से पहले एक प्रबंधक एलएलएम कॉल जोड़ती है। पांच कार्य दल पर जो पांच के बजाय छह एलएलएम कॉल है, और प्रबंधक कॉल में पूर्ण कार्य सूची और पूर्व आउटपुट शामिल हैं। यदि आउटपुट पर निर्भर नहीं करता है तो अनुक्रमिक पर स्विच करें।
- Brittle handoffs.कार्य N
expected_outputकार्य N+1 इसे पढ़ता हैcontextऔर तीन अनुभागों का विश्लेषण करने की कोशिश करता है LLM चार का उत्पादन किया.output_pydanticकार्य N पर तो कार्य N+1 एक टाइप किया गया वस्तु, मुक्त पाठ नहीं पढ़ता है. - Crew-as-prod.फ्री फॉर्म क्रू को फ्लो रैपर के बिना उत्पादन में भेजा गया। आउटपुट वैरिएबिलिटी उच्च है; रिप्ले असंभव है; ऑन-कॉल एक खराब रन को एक अच्छे रन के खिलाफ नहीं बदल सकता है। फ्लो रैपर के साथ रैपर।
इसे बनाओ
code/main.pyदोनों आकारों के STDlib संस्करणों को लागू करता है और तीन एजेंटों के साथ एक चालक दल।
आकारः
Agent,TaskCrewAI की सतह से मेल खाने वाले डेटा क्लास।SequentialCrew.kickoff(inputs)घोषणा क्रम में कार्य करता है, आउटपुट के थ्रेडिंग के रूप मेंcontext. .HierarchicalCrew.kickoff(topic)एक प्रबंधक एजेंट प्रत्येक दौर में अगले विशेषज्ञ को चुनता है, "कर" पर रुकता है।Flowके साथ@startऔर@listen(topic)सजावट, एक छोटे से घटना लूप, और एक निशान.tool(name)क्रीमिया के दर्पण सजावट@toolआकार।Memoryके साथshort_term,long_term,entityदुकानें; मजाकिया समानता का उपयोग नंपी।- नकली LLM प्रतिक्रियाएँ हार्ड-कोड स्ट्रिंग हैं जो भूमिका और इनपुट प्रीफिक्स से कुंजीबद्ध हैं। कोई नेटवर्क नहीं। निर्धारक।
कंक्रीट डेमोः शोधकर्ता, लेखक, संपादक चालक दल "एजेंट इंजीनियरिंग 2026" पर एक संक्षिप्त उत्पादन करता है। शोधकर्ता (मुस्कुराया) स्रोतों को खींचता है। लेखक मसौदा। संपादक कसता है। वही चालक दल निर्धारात्मक आकार दिखाने के लिए एक प्रवाह के माध्यम से चलता है।
इसे चलाओः
bashpython3 code/main.pyट्रैक कवरः क्रमिक चालक दल के थ्रेडिंग आउटपुट के माध्यम से context, प्रबंधक चयन के साथ पदानुक्रमिक दल (अनुसंधानकर्ता, लेखक, संपादक, फिर "कर दिया"), प्रवाह स्पष्ट विषयों के साथ एक ही तीन चरणों चल रहा है (researched,drafted,edited), उपकरण कॉल रूट @tool, और दो चक्करों के बाद जीवित रहने वाली दीर्घकालिक स्मृति.
चालक दल का निशान तरल है, प्रबंधक सिद्धांत रूप में फिर से आदेश दे सकता है. प्रवाह का निशान तय है. यह विकल्प सबक है.
इसका प्रयोग करें
- CrewAI Flowयहां तक कि जब प्रवाह एक कदम है जो बुलाता है
Crew.kickoff()प्रवाह लेखा परीक्षा सीमा देता है। - CrewAI Crew (Sequential)स्पष्ट रूप से व्यवस्थित सहयोगात्मक कार्य के लिए, विशेष रूप से पहले मसौदे और समीक्षा लूप्स के लिए।
- CrewAI Crew (Hierarchical)जब रूटिंग आउटपुट पर निर्भर करता है और आपके पास चार या अधिक विशेषज्ञ हैं।
- LangGraph(पाठ 13) स्पष्ट राज्य मशीनों के लिए, टिकाऊ जीवन शैली, सख्त क्रमबद्धता।
- AutoGen v0.4(पाठ 14) अभिनेता-मॉडल समवर्ती और दोष पृथक्करण के लिए।
- OpenAI Agents SDK(पाठ 16) हाथों और रैलियों के साथ ओपनएआई-प्रथम उत्पादों के लिए।
- Claude Agent SDK(पाठ 17) उप-बगेंट और सत्र स्टोर के साथ क्लाउड-प्रथम उत्पादों के लिए।
इसे भेजें
outputs/skill-crew-or-flow.mdएक कार्य के लिए चालक दल बनाम प्रवाह का चयन करता है और न्यूनतम कार्यान्वयन को तैयार करता है। हार्ड बिना पृष्ठभूमि के चालक दल, स्पष्ट विषयों के बिना प्रवाह, तीन से कम विशेषज्ञों के साथ पदानुक्रम पर अस्वीकार करता है।
फंदे
- Backstory as flavor.यह आउटपुट को आकार देता है. प्रति एजेंट तीन संस्करणों का परीक्षण; भिन्नता असली है. एक चुनें, इसे फ्रीज.
- Skipping
expected_output.बिना अनुबंध प्रति कार्य, डाउनस्ट्रीम कार्य ले लो जो LLM उत्पादन किया. चालक दल चलाता है; लेखा परीक्षा विफल रहता है. - Memory always-on.दीर्घकालिक हर रन लिखता है वेक्टर डीबी बढ़ता है, रिकवरी शोर हो जाता है, दायरा उन कार्यों को लिखता है जहां तथ्य निरंतर है।
- Manager prompt drift.पदानुक्रम के प्रबंधक का संकेत अप्रत्यक्ष है. यदि रूटिंग अजीब हो जाता है, इसे शब्द मोड में फेंक और पढ़ें.
- Tool side effects in Crews.एक चालक दल अपेक्षा से अधिक बार एक उपकरण कॉल कर सकते हैं. पोस्ट, हटाएँ, भुगतान एक प्रवाह चरण में belongs, कभी भी एक चालक दल उपकरण.
व्यायाम
- अनुक्रमिक चालक दल को एक प्रवाह में परिवर्तित करें, स्पर्श बिंदुओं की गणना करें जहां परिवर्तनशीलता गिरती है, ध्यान दें जहां पठनीयता गिरती है।
- चालक दल को इकाई स्मृति जोड़ेंः एक ग्राहक के बारे में तथ्य चक्का के बाद भी बरकरार रहते हैं। सत्यापित निकालने सही इकाई खींचता है।
- एक पदानुक्रम प्रक्रिया लागू करें जहां प्रबंधक संपादक के आउटपुट में कम से कम तीन पैराग्राफ होने तक संपादक के लिए मार्ग से इनकार करता है। पुनः प्रयास का पता लगाएं।
- तार ए
BaseToolएक (मुस्कुराया) वेब खोज के लिए उपवर्ग। निशान आकार बनाम तुलना करें@toolसजावटी संस्करण। - जोड़ें
output_pydantic=Briefसंपादक कार्य में, जहांBriefहैtitle,summary,sections. लेखक कार्य आउटपुट गलत रूप से JSON एक बार; ट्रैक में CrewAI के पुनः प्रयास व्यवहार की पुष्टि करें. - CrewAI के डॉक्यूमेंट्स का परिचय पढ़ें। खिलौना वास्तविक में ले जाओ।
crewaiएपीआई. एसटीडीएलबी संस्करण किस गारंटी को छोड़ दिया? - एजेंटओप्स या लैंगफ्यूज (लर्सन 24) को वास्तविक रन में वायर करें. आप स्टडीलिब संस्करण में कौन से निशान याद कर रहे थे?
प्रमुख शर्तें
| Term | What people say | What it actually means |
|---|---|---|
| Agent | "Persona" | Role + goal + backstory + tools |
| Task | "Unit of work" | Description + expected output + assignee + optional structured output |
| Crew | "Agent team" | Container for Agents + Tasks + Process |
| Process | "Execution strategy" | Sequential / Hierarchical / Consensus (planned) |
| Flow | "Deterministic workflow" | Event-driven, code-owned, testable |
| Backstory | "Persona prompt" | Tone and judgment shaper for the Agent |
@tool | "Function tool" | Decorator that turns a function into a tool the Agent can call |
BaseTool | "Class tool" | Class-based tool with args schema, retries, async support |
| Entity memory | "Per-entity facts" | Memory scoped to a customer / account / issue |
| Long-term memory | "Cross-run memory" | Vector-backed memory that survives between kickoffs |
| Contextual memory | "Just-in-time retrieval" | Memory pulled at the moment the Agent needs it |
| Manager LLM | "Router agent" | Extra LLM in Hierarchical process that picks the next task |
expected_output | "Task contract" | String that tells the Agent (and audit) what shape to return |
आगे पढ़ना
- CrewAI docs introduction: अवधारणाएं और अनुशंसित उत्पादन पथ
- CrewAI Flows guide: घटना-चालित आकार,
@start,@listen - CrewAI tools reference
@tool,BaseTool, अंतर्निहित उपकरण किट - CrewAI memory: अल्पकालिक, दीर्घकालिक, इकाई, संदर्भ
- Anthropic, Building Effective Agents: जब मल्टी एजेंट मदद करता है और जब यह मदद नहीं करता है
- LangGraph overview: राज्य-मशीन विकल्प
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.