Hogyan Használjuk a CrewAI-t: Gyakorlati Útmutató Többügynökös Munkafolyamatokhoz
Merész ígéret: Ha valaha is szeretetted volna lemásolni a legjobb csapattagodat, hogy gyorsabban végezzen a projekttel, a CrewAI közel visz ehhez – több AI-ügynök koordinálásával, akik együtt terveznek, együttműködnek és szállítanak munkát.
Ebben a gyakorlati, megoldásközpontú útmutatóban pontosan megtanulod, hogyan használd a CrewAI-t: a keretrendszer telepítésétől kezdve az ügynökök definiálásán át a szerepek, eszközök, feladatok és strukturált többügynökös munkafolyamatok felépítéséig, amelyek valós eredményeket hoznak. Bemutatunk mintákat kutatásra, tartalomra, adatelemzésre és kódgenerálásra – valamint tippeket a gyakori buktatók, mint ügynökök zsákutcái, túlzsúfolt promptok és eszközök túlzott használatának elkerüléséhez.
Célunk: lépésről lépésre egy "próbáld ki ma" útvonalat adni, másolható kóddal, harcedzett bevált gyakorlatokkal és néhány adaptálható munkafolyamat-ötlettel. Legyen szó piacfelmérés automatizálásáról vagy jegyekből termékspecifikáció felépítéséről, ez a hatékony CrewAI-használat bevezetője.
Mi az a CrewAI (és miben különbözik)
- CrewAI egy keretrendszer többügynökös rendszerek építésére, ahol minden ügynöknek szerepe, célja, eszközei és szabályai vannak. A keretrendszer ezután koordinálja az ügynököket – feladatokat ad át, megosztja a kontextust, és iterál az eredmény felé.
- Ellentétben egyetlen LLM prompttal, CrewAI szerkezetet erőltet: az ügynökök explicit módon definiáltak, a feladatok modulárisak, az eszközök engedélyezettek, és az eredmények ellenőrizhetőek.
- Előny: lebontott munkafolyamatok (kutatás → szintézis → írás → QA), amelyek leképezik a valódi csapatok munkáját – csak gyorsabban, skálázhatóan és reprodukálhatóan.
Gyors kezdés: Hogyan használd a CrewAI-t 10 perc alatt
Az alábbi minimális mintával eljutsz a nulláról egy működő többügynökös csapatig. Python-t feltételezünk.
1) Telepítés és Beállítás
pip install crewai langchain-openai python-dotenv
Hozz létre egy .env fájlt az LLM szolgáltató kulcsaid megadásához:
OPENAI_API_KEY=sk-your-key
# vagy a stack-ed által támogatott egyéb szolgáltatók
2) Ügynökök Definiálása (Szerepek + Célok + Eszközök)
from crewai import Agent
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(model="gpt-4o-mini", temperature=0.2)
researcher = Agent(
role="Market Researcher",
goal="Megbízható, friss piaci és versenytársi információk felkutatása.",
backstory=(
"Te egy alapos elemző vagy, aki ellenőrzi az állításokat, idézi a forrásokat, és összefoglalja "
"a hiteles kiadványok jelzéseit."
),
tools=[], # később adj hozzá web-/kereső-/scraper eszközöket
llm=llm
)
strategist = Agent(
role="Product Strategist",
goal="Összegzi a kutatást egy világos pozícionálásba és útiterv opciókba.",
backstory="A világosságot, megvalósíthatóságot és mérhető eredményeket helyezed előtérbe.",
tools=[],
llm=llm
)
writer = Agent(
role="Content Writer",
goal="Jól strukturált összefoglalót készít példákkal és további lépésekkel.",
backstory="Tömören, meggyőzően írsz angol nyelven, követed a stílus útmutatókat.",
tools=[],
llm=llm
)
3) Feladatok Létrehozása (Bemenetek, Kimenetek és Elfogadási Kritériumok)
from crewai import Task
research_task = Task(
description=(
"Kutassa a 2025-ös amerikai SMB projektmenedzsment szoftverpiacot. "
"Azonosítsa a fő versenytársakat, árazási kategóriákat, ICP-ket és három kielégítetlen igényt. "
"Adjon vissza felsorolást 3–5 hivatkozással."
),
expected_output=(
"Markdown összefoglaló, szakaszokkal: Piacméret, Fő szereplők, Árazás, ICP-k, "
"Kielégítetlen igények, Források (linkekkel)."
),
agent=researcher
)
synthesis_task = Task(
description=(
"A kutatási összefoglaló alapján készíts pozícionálási nyilatkozatot, 2–3 megkülönböztető elemet, "
"és egy 90 napos mérföldkővel rendelkező ütemtervet."
),
expected_output="Rövid stratégiai memo (max 400 szó).",
agent=strategist
)
writing_task = Task(
description=(
"Alakítsd át a stratégiai memót nyilvános, egylapos dokumentummá. Tartalmazzon címet, "
"értékajánlatot, funkciókat felsorolva és cselekvésre ösztönzést (CTA)."
),
expected_output="Markdown formátumú egylapos, landing page-hez alkalmas.",
agent=writer
)
4) A Csapat Koordinálása (Folyamat + Memória)
from crewai import Crew
crew = Crew(
agents=[researcher, strategist, writer],
tasks=[research_task, synthesis_task, writing_task],
process="sequential", # sorrendben adjuk át az eredményeket
verbose=True
)
result = crew.kickoff
print(result)
Ez az első működő pipeline-od. Definiáltad az ügynököket, összekötötted a feladatokat, és futtattál egy szekvenciális folyamatot. Bővítheted eszközökkel (keresés, scraping, kódvégrehajtás), validációval és párhuzamos lépésekkel.
Mentális Modell a CrewAI Projektekhez
Gondolkodj projektmenedzserként:
- Szerepek: Ki mit csinál? Kutató, Elemző, Mérnök, Ellenőr.
- Szabályok: Milyen szabványokat kell betartani? Stílus útmutató, hivatkozások, tesztek.
- Eszközök: Milyen képességek engedélyezettek? Webkeresés, vektor adatbázis, Python, API-k.
- Feladatok: Hogyan bontjuk le a problémát? Bemenetek, kimenetek, elfogadási kritériumok.
- Átadások: Mi kerül továbbításra? Dokumentumok, metaadatok, korlátozások.
- Visszacsatolás: Ki validál? QA ügynök, emberi közreműködő, vagy tesztek.
A CrewAI-val a kódod ezt az operációs modellt kódolja le.
Hogyan Használd a CrewAI-t Valódi Munkához: 5 Bizonyított Minta
1) Kutatás → Szintézis → Vázlatkészítés (Tartalom & Jelentések)
- Ügynökök: Kutató, Szerkesztő, Író, Tényellenőrző.
- Eszközök: Webkeresés, forrásellenőrző, stílus útmutató.
- Tipp: Kötelezővé tegyük a hivatkozásokat és „állítás táblázatot”, az illúziók elkerülése érdekében.
fact_checker = Agent(
role="Tényellenőrző",
goal="Minden állítás elsődleges forrásokkal való validálása; gyenge hivatkozások jelzése.",
backstory="Szkeptikus, gondos, elfogulatlan.",
llm=llm
)
qa_task = Task(
description="Validáld az összes tényállítást; javításokat tegyél be [FIX] címkével.",
expected_output="Javított változat összefoglalóval.",
agent=fact_checker
)
2) Termékspecifikáció Jegyekből (Mérnöki munkához)
- Ügynökök: Jegycsoportosító, Specifikáció Író, Ellenőr, Tesztíró.
- Eszközök: Hibakövető API, kódcontextus beágyazásokkal, egységteszt generátor.
- Tipp: Adj hozzá automatizált „Kész állapot” ellenőrzőlistát.
3) Adat → Elemzés → Narratíva (Elemzés)
- Ügynökök: Adatkezelő (Python), Elemző, Storyteller.
- Eszközök: Pandas, SQL, ábrázolás, notebook futtatás.
- Tipp: Használj eszközképesített ügynököt
python futtatással a verifikálható elemzéshez.
4) Kódgenerálás Guardrail-ekkel
- Ügynökök: Tervező, Fejlesztő, Kódellenőrző, Tesztelő, Reviewer.
- Eszközök: Repo olvasás, egységteszt futtató, formázó, biztonsági szkenner.
- Tipp: Kérd, hogy az Ellenőr hivatkozzon a helyességet bizonyító tesztekre.
5) Ügyfél Email Sorozatok Nagy Méretben
- Ügynökök: Szegmentáló, Szövegíró, Személyre szabó, QA.
- Eszközök: CRM API, sablonok, márka stílus útmutató.
- Tipp: Adj hozzá visszapattanás/spam ellenőrző eszközt és kényszeríts A/B változatokat.
Eszközök Hozzáadása: Adj az Ügynököknek Valódi Képességeket
A CrewAI akkor tündököl, ha az ügynökök képesek eszközöket használni. Példa: adj a kutatónak webkeresést és URL-olvasót.
from langchain_community.tools import DuckDuckGoSearchRun
from langchain_community.document_loaders import WebBaseLoader
search = DuckDuckGoSearchRun
def web_search_tool(query: str):
return search.run(query)
def read_url_tool(url: str):
loader = WebBaseLoader(url)
docs = loader.load()
return "\n\n".join([d.page_content[:2000] for d in docs])
researcher.tools = [web_search_tool, read_url_tool]
Bevett gyakorlatok:
- Legkisebb jogosultság: Csak azokat az eszközöket add az ügynöknek, amikre valóban szüksége van.
- Séma fegyelem: Az eszközök legyenek determinisztikusak és típusosak; lehetőleg adjanak vissza tömör, strukturált szöveget (JSON/Markdown).
- Költségkontroll: Tartsd az eszközök kimenetét röviden; foglald össze mielőtt továbbadod.
Feladatok Tervezése, Amik Sikeresek
A jól megtervezett feladatok döntik el a többügynökös rendszerek sikerét vagy kudarcát.
- Légy explicit: „Adj vissza markdown táblázatot X, Y, Z oszlopokkal.”
- Határozd meg az elfogadási kritériumokat: „3 hivatkozást tartalmazzon elsődleges forrásokra.”
- Állíts be határokat: Szószám, időkorlát vagy lépéskorlát csökkenti az eltérést.
- Tartalmazzon példákat: Adj mini specifikációt a kívánt formátumra.
- Adj memória címkéket: Használj konzisztens fejezetcímeket/kulcsokat a feladatokon átívelő átadásokhoz.
Példa feladatszerkezet:
Task(
description=(
"Összefoglalni 5 friss tanulmányt a távmunkával kapcsolatos termelékenységről (2023–2025) "
"módszertan, mintanagyság és fő eredmények szerint."
),
expected_output=(
"Markdown H2 szekciókkal tanulmányonként, végső összehasonlító táblázattal és linkekkel."
),
agent=researcher
)
Koordinációs Módok: Szekvenciális vs. Párhuzamos vs. Hibrid
- Szekvenciális: Megbízható átadások; lassabb, de egyszerűbb átlátni.
- Párhuzamos: Több ügynök dolgozik egyszerre (pl. 3 kutató); majd később egyesítünk.
- Hibrid: Párhuzamos kutatás → szintézis és QA egybeolvasztás.
Példa hibridre:
r1 = Agent(role="Researcher A", goal="Az árképzésre fókuszál", backstory="", llm=llm)
r2 = Agent(role="Researcher B", goal="A funkciókra fókuszál", backstory="", llm=llm)
# Párhuzamos feladatok r1-nek és r2-nek; utána egy összefoglaló egységesíti az eredményeket.
Tipp: Egyesítéskor utasítsd a szintetizálót, hogy szűrje az ismétléseket, oldja fel az ellentmondásokat, és hivatkozzon a megbízhatóbb forrásokra.
Guardrail-ek és QA: Tartsd őszintén az Ügynököket
- Bírák: Adj hozzá egy Ellenőrt vagy Tényellenőrt, akiknek explicit vétójoga van.
- Ellenőrzőlisták: Kódold be a megfelelést (adatvédelem, biztonság, márkatónus) olyan listaként, amit a QA ügynöknek pipálnia kell.
- Önelemzés: Kérd meg az ügynököket, hogy foglaljanak össze egy rövid "Mit hagyhattam ki" részt.
- Determináció: Alacsonyabb hőmérséklet használata QA ügynököknél.
qa = Agent(
role="QA Reviewer",
goal="Biztosítani, hogy a kimenetek megfeleljenek az elfogadási kritériumoknak és a stílus útmutatónak.",
backstory="Szigorú és precíz vagy.",
llm=llm
)
Prompt Tervezés CrewAI Ügynököknek
Az ügynökök promptjai mini állásleírások. Tartsd tömören.
- Szerep prompt: Ki vagy, mire törekszel.
- Cél prompt: A kívánt végeredmény.
- Korlátok: Szószám, formátum, hangnem, hivatkozások.
- Eszközök: Nevek, mikor használd őket, mit adjanak vissza.
- Példák: 1–2 rövid, valósághű minták.
Kód-részlet:
researcher = Agent(
role="Analitikus Kutató",
goal=(
"Tömör, pontos összefoglalókat adj 3–5 megbízható hivatkozással és kockázati megjegyzéssel."
),
backstory=(
"Ellenőrzöd az állításokat, elsődleges forrásokat preferálsz és jelzed a bizonytalanságot."
),
llm=llm
)
Átláthatóság: Lásd, mit csináltak az Ügynökök (és miért)
Engedélyezd a részletes naplózást és tárold az eredményeket:
- Mentsd el minden feladat promptját, eredményét és eszközhívását.
- Tárolj egy futtatási manifesztet metaadatokkal (modell, hőmérséklet, eszközök).
- Tarts fenn egy jegyzetfüzetet köztes megjegyzéseknek; ez segít a hibakeresésben és auditban.
Minta:
crew = Crew(..., verbose=True, output_log_file="runs/2025-crew.log")
Költség, Várakozási Idő és Megbízhatóság Tippek
- Csomagolás: Párhuzamosítsd az egymástól független feladatokat; maximalizáld a konkurenciát annak érdekében, hogy elkerüld a kvótakapukat.
- Összefoglalás: Tömörítsd a köztes eredményeket a tokenhasználat csökkentésére.
- Gyorsítótárazás: Memoizáld a stabil lépéseket (pl. piaci definíciók) vektoros adattárolók segítségével.
- Vészmegoldások: Biztosíts tartalék modellt vagy újrapróbálkozási szabályokat instabil hívásokhoz.
- Ember a hurkon belül: Tegyél be opcionális jóváhagyási pontokat kockázatos lépésekhez.
Gyakori Buktatók (és Hogyan Javítsunk Rajtuk)
- Buktató: Pontatlan feladatok → széttartó eredmények.
- Javítás: Adj explict elfogadási kritériumokat és példákat.
- Buktató: Túl sok eszköz → figyelemelterelés és költség.
- Javítás: Használj csak a feladathoz szükséges, minimális jogosultságú eszközöket.
- Buktató: Végtelen ciklusok vagy túlzott iteráció.
- Javítás: Állíts be lépés/időkorlátot és "állj le, ha teljesült" feltételt.
- Buktató: Kontextusvesztés az ügynökök között.
- Javítás: Használj strukturált átadási objektumokat (JSON) és konzisztens fejezetcímeket.
- Buktató: QA háttérbe szorul.
- Javítás: Kezeld a QA-t első osztályú ügynökként, vétójoggal.
Végponttól végpontig példa: Versenytársi Összefoglaló Generátor
Cél: Versenytársi összefoglaló készítése három eszköz összehasonlításával egy célzott személyiség számára.
Ügynökök:
- Személyiség Elemző → definiálja a fájdalompontokat és a feladatokat (JTBD).
- Kutató → adatokat és hivatkozásokat gyűjt.
- Szintetizáló → összehasonlító táblázatot és következtetéseket készít.
- Író → elkészíti a végső összefoglalót.
- QA → ellenőrzi a források hitelességét és az érthetőséget.
Váz:
persona = Agent(role="Persona Analyst", goal="Definiálja az ICP-t és JTBD-t.", llm=llm)
researcher = Agent(role="Researcher", goal="Hiteles adatok gyűjtése.", llm=llm)
synth = Agent(role="Synthesizer", goal="Összehasonlítás és értelmezés.", llm=llm)
writer = Agent(role="Writer", goal="Vezetői összefoglaló készítése.", llm=llm)
qa = Agent(role="QA", goal="Állítások és érthetőség validálása.", llm=llm)
persona_task = Task(description="Definiálja az ICP & JTBD-t a RevOps vezetők számára SaaS-ban.", agent=persona,
expected_output="Felsorolás + fájdalompontok + siker mutatók.")
research_task = Task(description="Gyűjtse össze 3 eszköz árát, funkcióit és értékeléseit.", agent=researcher,
expected_output="Táblázat + 5 hivatkozás.")
synth_task = Task(description="Készítsen összehasonlító mátrixot és top 3 megállapítást.", agent=synth,
expected_output="Markdown tábla + betekintések.")
write_task = Task(description="Írjon egy egylapos összefoglalót ajánlásokkal.", agent=writer,
expected_output="Vezetői összefoglaló markdown formátumban.")
qa_task = Task(description="Ellenőrizze a pontosságot és olvashatóságot; javítsa a hibákat.", agent=qa,
expected_output="Tiszta, ellenőrzött összefoglaló.")
crew = Crew(agents=[persona, researcher, synth, writer, qa],
tasks=[persona_task, research_task, synth_task, write_task, qa_task],
process="sequential", verbose=True)
print(crew.kickoff)
Mikor Használj CrewAI-t és Mikor Egyetlen Promptot
Használd CrewAI-t, amikor:
- A feladat természetesen bontódik szerepekre vagy szakaszokra.
- Szükséges nyomonkövethetőség, QA vagy eszközhasználat.
- Újrahasznosítható pipeline-t építesz, nem egyszeri megoldást.
Egyetlen promptot használj, amikor:
- Rövid, szubjektív feladatról van szó, külső eszközök nélkül.
- A sebesség fontosabb, mint a struktúra.
Mellesleg: Gyorsabb Vázlatkészítés AI Oldalsávval
Ha többügynökös munkafolyamatokat használsz kutatáshoz, vázlatkészítéshez és tartalomgyártáshoz, érdemes tudni, hogy egy olyan AI oldalsáv, mint a Sider.ai, a böngésződ és dokumentumaid mellett futva képes oldalakat összefoglalni, vázlatokat készíteni és valós időben finomítani a vázlatokat. Ez nem helyettesíti a CrewAI koordinációját, de felgyorsíthatja a manuális részeket – részletek gyűjtése, szakaszok átfogalmazása vagy a hangnem ellenőrzése – mielőtt visszacsatlakoztatod az anyagot a csapathoz. Következő Lépések
- Telepítsd a CrewAI-t és fuss le a gyors kezdési példát.
- Válassz egy valós munkafolyamatot (kutatás → vázlat → QA), és kódold le.
- Adj hozzá egy eszközt egyszerre; mérd a hatását a kimenet minőségére és költségére.
- Vezess be egy QA ügynököt explicit elfogadási kritériumokkal.
- Vált az hibrid koordinációs modellre a sebességért.
Fontos Tanulságok
- A CrewAI komplex projekteket moduláris, többügynökös munkafolyamatokká alakít.
- A siker kulcsa a tiszta szerepkörök, világos feladatok és fegyelmezett eszközhasználat.
- Guardrail-ek (QA, ellenőrzőlisták, korlátok) csökkentik a költségeket és javítják a minőséget.
- Kezdj kicsiben, majd skálázz párhuzamos kutatásokkal és hibrid folyamatokkal.
Mini Ellenőrzőlista: Hogyan Használjuk Hatékonyan a CrewAI-t
- Explicit módon definiáld a szerepeket, célokat és eszközöket.
- Írj feladatokat elfogadási kritériumokkal és példákkal.
- Használj szekvenciális módot a megbízhatósághoz, hibridet a sebességhez.
- Adj hozzá QA ügynököt korán; biztosíts neki vétójogot.
- Naplózz mindent; tárold az eredményeket auditáláshoz.
- Optimalizáld a költséget összefoglalókkal, gyorsítótárakkal és csomagolással.
GYIK
K1: Mi az a CrewAI és hogyan használjam többügynökös munkafolyamatokhoz?
A CrewAI egy keretrendszer több AI-ügynök koordinálására szerepekkel, feladatokkal és eszközökkel. Úgy használod, hogy definiálod az ügynököket, létrehozod a feladatokat elfogadási kritériumokkal, majd futtatod a csapatot, amely összehangolja az átadásokat, hogy elkészítse a végső eredményt.
Kérdés 2: Hogyan adhatok hozzá olyan eszközöket, mint a webes keresés a CrewAI ügynökökhöz?
Csatoljon eszközfunkciókat egy ügynökhöz, és adja meg, mikor használja azokat. Tartsa a kimeneteket strukturáltnak és rövidnek (pl. JSON vagy markdown), hogy kézben tartsa a költségeket és javítsa az átadásokat.
Kérdés 3: Mikor érdemes a CrewAI-t használni egyetlen LLM prompt helyett?
Használja a CrewAI-t, ha egy feladat szakaszokra bontható, eszközhasználatot vagy minőségbiztosítást igényel, vagy ismételhető folyamatokra van szükség. Használjon egyetlen promptot gyors, szubjektív feladatokhoz, amelyek nem igényelnek struktúrát.
Kérdés 4: Hogyan akadályozhatom meg a hallucinációkat a CrewAI kimeneteiben?
Adjon hozzá egy Tényellenőrző vagy Minőségbiztosító ügynököt vétójoggal, követeljen meg hivatkozásokat elsődleges forrásokra, állítson be alacsony hőmérsékletet a minőségbiztosításhoz, és adjon meg elfogadási kritériumokat, például egy állítástáblázatot.
Kérdés 5: Képes a CrewAI párhuzamosan futtatni a feladatokat a sebesség növelése érdekében?
Igen. Használjon párhuzamos ügynököket független feladatokhoz (pl. több kutató), majd egy szintézis feladatot az eredmények egyesítéséhez. A hibrid vezénylés egyensúlyban tartja a sebességet és a megbízhatóságot.