Ako používať CrewAI: Praktický sprievodca pre pracovné postupy s viacerými agentmi
Odvážny sľub: Ak ste si niekedy priali naklonovať svojho najlepšieho tímového kolegu, aby ste projekt zvládli rýchlejšie, CrewAI vás k tomu priblíži – koordináciou viacerých AI agentov, ktorí plánujú, spolupracujú a spoločne dodávajú prácu.
V tomto praktickom sprievodcovi zameranom na riešenia sa presne naučíte, ako používať CrewAI: od inštalácie frameworku a definovania agentov, po budovanie rolí, nástrojov, úloh a štruktúrovaných pracovných postupov s viacerými agentmi, ktoré prinášajú skutočné výsledky. Budeme sa venovať vzorom pre výskum, obsah, analýzu dát a generovanie kódu – a ako sa vyhnúť bežným úskaliam, ako sú slepé uličky agentov, zahltenie promptami a preceňovanie nástrojov.
Naše zameranie: poskytnúť vám krok za krokom cestu „vyskúšajte si to ešte dnes“ s kódom na kopírovanie a vkladanie, osvedčenými postupmi overenými v praxi a niekoľkými návrhmi pracovných postupov, ktoré si môžete prispôsobiť. Či už automatizujete prieskum trhu alebo vytvárate špecifikáciu produktu z ticketov, toto je váš vstup do efektívneho používania CrewAI.
Čo je CrewAI (a prečo je odlišný)
- CrewAI je framework na budovanie systémov s viacerými agentmi, kde má každý agent rolu, cieľ, nástroje a pravidlá. Framework potom koordinuje týchto agentov – odovzdáva úlohy, zdieľa kontext a iteruje smerom k výstupu.
- Na rozdiel od jedného LLM promptu, CrewAI presadzuje štruktúru: agenti sú explicitní, úlohy sú modulárne, nástroje sú povolené a výsledky sú audítorské.
- Výsledok: dekomponované pracovné postupy (výskum → syntéza → písanie → QA), ktoré odrážajú, ako fungujú skutočné tímy – len rýchlejšie, škálovateľnejšie a reprodukovateľnejšie.
Rýchly štart: Ako používať CrewAI za 10 minút
Nižšie je uvedený minimálny vzor, ktorý vás dostane od nuly k fungujúcemu tímu s viacerými agentmi. Budeme predpokladať Python.
1) Inštalácia a nastavenie
pip install crewai langchain-openai python-dotenv
Vytvorte súbor .env s kľúčmi vášho poskytovateľa LLM:
OPENAI_API_KEY=sk-your-key
# alebo iní poskytovatelia podporovaní vašim stackom
2) Definujte svojich agentov (roly + ciele + nástroje)
from crewai import Agent
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(model="gpt-4o-mini", temperature=0.2)
researcher = Agent(
role="Market Researcher",
goal="Find credible, current insights on the target market and competitors.",
backstory=(
"You are a diligent analyst who verifies claims, cites sources, and summarizes "
"signals from reputable publications."
),
tools=[], # add web/search/scraper tools later
llm=llm
)
strategist = Agent(
role="Product Strategist",
goal="Synthesize research into a crisp positioning and roadmap options.",
backstory="You prioritize clarity, feasibility, and measurable outcomes.",
tools=[],
llm=llm
)
writer = Agent(
role="Content Writer",
goal="Produce a well-structured brief with examples and next steps.",
backstory="You write in concise, persuasive English and follow style guides.",
tools=[],
llm=llm
)
3) Vytvorte úlohy (vstupy, výstupy a kritériá prijatia)
from crewai import Task
research_task = Task(
description=(
"Research the US SMB project management software market in 2025. "
"Identify top competitors, pricing tiers, ICPs, and three unmet needs. "
"Return bullet points with 3–5 citations."
),
expected_output=(
"A markdown brief with sections: Market Size, Key Players, Pricing, ICPs, "
"Unmet Needs, Sources (with links)."
),
agent=researcher
)
synthesis_task = Task(
description=(
"Using the research brief, produce a positioning statement, 2–3 differentiators, "
"and a 90-day roadmap with milestones."
),
expected_output="A concise strategy memo (<= 400 words).",
agent=strategist
)
writing_task = Task(
description=(
"Turn the strategy memo into a public-facing one-pager. Include a headline, "
"value proposition, feature bullets, and a CTA."
),
expected_output="A markdown one-pager suitable for a landing page.",
agent=writer
)
4) Orchestrácia tímu (tok + pamäť)
from crewai import Crew
crew = Crew(
agents=[researcher, strategist, writer],
tasks=[research_task, synthesis_task, writing_task],
process="sequential", # hand off outputs in order
verbose=True
)
result = crew.kickoff
print(result)
To je váš prvý funkčný pipeline. Definovali ste agentov, prepojili ste úlohy a spustili ste sekvenčný tok. Ak ho chcete rozšíriť, pridajte nástroje (vyhľadávanie, scraping, vykonávanie kódu), validačné kroky a paralelné fázy.
Mentálny model pre projekty CrewAI
Premýšľajte ako projektový manažér:
- Role: Kto čo robí? Výskumník, analytik, inžinier, recenzent.
- Pravidlá: Aké štandardy musia byť splnené? Štylistická príručka, citácie, testy.
- Nástroje: Aké schopnosti sú povolené? Webové vyhľadávanie, vektorová DB, Python, API.
- Úlohy: Ako rozložíme problém? Vstupy, výstupy, kritériá prijatia.
- Odovzdávanie: Čo sa odovzdáva? Artefakty, metadáta, obmedzenia.
- Spätná väzba: Kto validuje? QA agent, človek v procese alebo testy.
S CrewAI váš kód kóduje tento operačný model.
Ako používať CrewAI pre skutočnú prácu: 5 overených vzorov
1) Výskum → Syntéza → Návrh (obsah a správy)
- Agenti: Výskumník, editor, spisovateľ, overovateľ faktov.
- Nástroje: Webové vyhľadávanie, nástroj na kontrolu zdroja, štýlová príručka.
- Tip: Vynúťte si citácie a „tabuľku tvrdení“, aby ste predišli halucináciám.
fact_checker = Agent(
role="Fact Checker",
goal="Validate all claims against primary sources; flag weak citations.",
backstory="Skeptical, meticulous, unbiased.",
llm=llm
)
qa_task = Task(
description="Validate all factual statements; add corrections inline with [FIX] tags.",
expected_output="A corrected draft with a summary of fixes.",
agent=fact_checker
)
2) Špecifikácia produktu z ticketov (inžinierstvo)
- Agenti: Zoskupovač ticketov, autor špecifikácií, recenzent, autor testov.
- Nástroje: API sledovača problémov, kontext kódu cez embeddings, generátor unit testov.
- Tip: Pridajte automatizovaný kontrolný zoznam „Definícia hotového“.
3) Dáta → Poznanie → Príbeh (analytika)
- Agenti: Spracovateľ dát (Python), analytik, rozprávač.
- Nástroje: Pandas, SQL, grafy, vykonávanie notebookov.
- Tip: Použite agenta s povolenými nástrojmi s vykonávaním
pythonu pre overiteľnú analytiku.
4) Generovanie kódu s ochranami
- Agenti: Plánovač, programátor, linter, tester, recenzent.
- Nástroje: Čítanie repozitára, spúšťač unit testov, formátovač, bezpečnostný skener.
- Tip: Vyžadujte, aby recenzent odkazoval na testy, ktoré dokazujú správnosť.
5) Sekvencie zákazníckych e-mailov v rozsahu
- Agenti: Segmentátor, copywriter, personalizátor, QA.
- Nástroje: CRM API, šablóny, príručka tónu značky.
- Tip: Pridajte nástroj na kontrolu bounce/spam a vynúťte varianty A/B.
Pridávanie nástrojov: Poskytnite agentom skutočné schopnosti
CrewAI vyniká, keď agenti môžu používať nástroje. Príklad: poskytnite výskumníkovi webové vyhľadávanie a čítačku URL.
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]
Osvedčené postupy:
- Najnižšie privilégiá: Pripojte iba nástroje, ktoré agent skutočne potrebuje.
- Disciplína schémy: Nástroje by mali byť deterministické a typované; vráťte stručný, štruktúrovaný text (JSON/Markdown), ak je to možné.
- Kontrola nákladov: Udržujte krátke výstupy nástrojov; pred odovzdaním zosumarizujte.
Navrhovanie úloh, ktoré uspokoja
Dobre navrhnuté úlohy tvoria alebo narúšajú systémy s viacerými agentmi.
- Buďte explicitní: „Vráťte tabuľku markdown so stĺpcami X, Y, Z.“
- Definujte kritériá prijatia: „Obsahuje 3 citácie odkazujúce na primárne zdroje.“
- Nastavte hranice: Počet slov, časové limity alebo limity krokov znižujú drift.
- Zahrňte príklady: Poskytnite mini špecifikáciu požadovaného formátu výstupu.
- Pridajte pamäťové tagy: Používajte konzistentné nadpisy/kľúče v úlohách pre jednoduché odovzdávanie.
Príklad kostry úlohy:
Task(
description=(
"Summarize 5 recent studies on remote work productivity (2023–2025) with "
"methodology, sample size, and key findings."
),
expected_output=(
"Markdown with H2 sections per study, a final comparison table, and links."
),
agent=researcher
)
Režimy orchestrácie: Sekvenčné vs. paralelné vs. hybridné
- Sekvenčné: Spoľahlivé odovzdávanie; pomalšie, ale jednoduchšie na zdôvodnenie.
- Paralelné: Viac agentov pracuje naraz (napr. 3 výskumníci); neskôr zlúčiť.
- Hybridné: Rozdeľte výskum paralelne → zlúčte syntézu a QA.
Hybridný príklad:
r1 = Agent(role="Researcher A", goal="Focus on pricing", backstory="", llm=llm)
r2 = Agent(role="Researcher B", goal="Focus on features", backstory="", llm=llm)
# Parallel tasks for r1, r2; a follow-up synthesis task merges their outputs.
Tip: Pri zlúčení inštruujte syntetizátor, aby odstránil duplicity, vyriešil konflikty a citoval silnejší zdroj.
Ochrany a QA: Udržujte agentov čestných
- Rozhodcovia: Pridajte recenzenta alebo overovateľa faktov s explicitnou právomocou veta.
- Kontrolné zoznamy: Zakódujte súlad (súkromie, bezpečnosť, tón značky) ako kontrolný zoznam, ktorý musí QA agent odškrtnúť.
- Sebakritika: Požiadajte agentov, aby zahrnuli krátku časť „Čo som mohol prehliadnuť“.
- Determinizmus: Použite nižšiu teplotu pre QA agentov.
qa = Agent(
role="QA Reviewer",
goal="Ensure outputs meet the acceptance criteria and style guide.",
backstory="You are strict and pedantic.",
llm=llm
)
Prompt Engineering pre CrewAI agentov
Prompty vašich agentov sú mini popisy práce. Udržujte ich stručné.
- Prompt roly: Kto ste, čo optimalizujete.
- Prompt cieľa: Požadovaný koncový stav.
- Obmedzenia: Počet slov, formát, tón, referencie.
- Nástroje: Názvy, kedy ich používať, čo vrátiť.
- Príklady: 1–2 krátke, realistické vzorky.
Úryvok:
researcher = Agent(
role="Analytical Researcher",
goal=(
"Deliver compact, accurate briefs with 3–5 credible citations and a risk note."
),
backstory=(
"You verify claims, prefer primary sources, and flag uncertainty."
),
llm=llm
)
Pozorovateľnosť: Pozrite si, čo agenti urobili (a prečo)
Povoľte podrobné protokoly a uchovávajte artefakty:
- Uložte prompt, výstup a volania nástrojov každej úlohy.
- Uložte manifest spustenia s metadátami (model, temp, nástroje).
- Udržujte pracovnú plochu pre predbežné poznámky; pomáha pri ladení a auditoch.
Vzor:
crew = Crew(..., verbose=True, output_log_file="runs/2025-crew.log")
Tipy na náklady, latenciu a spoľahlivosť
- Dávkovanie: Paralelizujte nezávislé úlohy; obmedzte konkurentnosť, aby ste sa vyhli limitom rýchlosti.
- Zosumarizujte: Komprimujte stredné artefakty, aby ste znížili spotrebu tokenov.
- Ukladanie do vyrovnávacej pamäte: Memoizujte stabilné kroky (napr. definície trhu) pomocou vektorových úložísk.
- Náhradné riešenia: Poskytnite záložný model alebo stratégiu opakovania pre nestabilné volania.
- Človek v procese: Vložte voliteľné schvaľovacie brány na kroky s vysokým rizikom.
Bežné úskalia (a ako ich opraviť)
- Úskalie: Vágne úlohy → kľukaté výstupy.
- Oprava: Pridajte explicitné kritériá prijatia a príklady.
- Úskalie: Príliš veľa nástrojov → rozptýlenie a náklady.
- Oprava: Iba nástroje s najnižším privilégiom, špecifické pre danú úlohu.
- Úskalie: Nekonečné slučky alebo nadmerné opakovanie.
- Oprava: Pridajte limity krokov/času a klauzulu „zastaviť, ak sú splnené kritériá“.
- Úskalie: Strata kontextu medzi agentmi.
- Oprava: Používajte štruktúrované objekty odovzdávania (JSON) a konzistentné nadpisy.
- Oprava: Zaobchádzajte s QA ako s agentom prvej triedy s právomocou veta.
Komplexný príklad: Generátor konkurenčných prehľadov
Cieľ: Vytvorte konkurenčný prehľad porovnávajúci tri nástroje pre cieľovú osobu.
Agenti:
- Analytik osoby → definuje bolestivé body a úlohy, ktoré sa majú vykonať.
- Výskumník → zhromažďuje dáta a citácie.
- Syntetizátor → vytvára porovnávaciu tabuľku a poznatky.
- Spisovateľ → vytvára konečný prehľad.
- QA → overuje zdroje a jasnosť.
Kostra:
persona = Agent(role="Persona Analyst", goal="Define ICP and JTBD.", llm=llm)
researcher = Agent(role="Researcher", goal="Collect credible data.", llm=llm)
synth = Agent(role="Synthesizer", goal="Compare and interpret.", llm=llm)
writer = Agent(role="Writer", goal="Create an executive-ready brief.", llm=llm)
qa = Agent(role="QA", goal="Validate claims and clarity.", llm=llm)
persona_task = Task(description="Define ICP & JTBD for RevOps leaders in SaaS.", agent=persona,
expected_output="Bullets + pain points + success metrics.")
research_task = Task(description="Collect pricing, features, and reviews for 3 tools.", agent=researcher,
expected_output="Table + 5 citations.")
synth_task = Task(description="Build a comparison matrix and top 3 insights.", agent=synth,
expected_output="Markdown table + insights.")
write_task = Task(description="Draft a 1-page brief with recommendations.", agent=writer,
expected_output="Executive brief in markdown.")
qa_task = Task(description="Check accuracy and readability; fix issues.", agent=qa,
expected_output="Clean, validated brief.")
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)
Kedy používať CrewAI vs. jeden prompt
Použite CrewAI, keď:
- Úloha sa prirodzene rozkladá na roly alebo fázy.
- Potrebujete sledovateľnosť, QA alebo použitie nástrojov.
- Budujete opakovane použiteľný pipeline, nie jednorazový.
Držte sa jedného promptu, keď:
- Je to krátka, subjektívna úloha bez externých nástrojov.
- Na rýchlosti záleží viac ako na štruktúre.
Mimochodom: Píšte rýchlejšie s bočným panelom AI
Ak používate pracovné postupy s viacerými agentmi na výskum, načrtnutie a návrh obsahu, stojí za zmienku, že bočný panel AI, ako je Sider.ai, môže sedieť vedľa vášho prehliadača a dokumentov, aby zosumarizoval stránky, generoval osnovy a vylepšoval návrhy v reálnom čase. Nenahradí orchestráciu CrewAI, ale môže urýchliť manuálne časti – zhromažďovanie úryvkov, prepisovanie sekcií alebo kontrolu tónu – predtým, ako obsah znova zapojíte do svojho tímu. Akčné ďalšie kroky
- Nainštalujte CrewAI a spustite príklad rýchleho štartu.
- Vyberte si skutočný pracovný postup (výskum → návrh → QA) a zakódujte ho.
- Pridávajte jeden nástroj naraz; merajte vplyv na kvalitu výstupu a náklady.
- Predstavte QA agenta s explicitnými kritériami prijatia.
- Prejdite na hybridný model orchestrácie pre rýchlosť.
Kľúčové poznatky
- CrewAI premieňa komplexné projekty na modulárne pracovné postupy s viacerými agentmi.
- Úspech závisí od jasných rolí, jasných úloh a disciplinovaného používania nástrojov.
- Ochrany (QA, kontrolné zoznamy, limity) udržiavajú nízke náklady a vysokú kvalitu.
- Začnite v malom a potom škálujte s paralelným výskumom a hybridnými tokmi.
Mini kontrolný zoznam: Ako efektívne používať CrewAI
- Definujte roly, ciele a nástroje explicitne.
- Píšte úlohy s kritériami prijatia a príkladmi.
- Používajte sekvenčné pre spoľahlivosť, hybridné pre rýchlosť.
- Pridajte QA agenta včas; dajte mu právomoc veta.
- Zaznamenávajte všetko; ukladajte artefakty pre audity.
- Optimalizujte náklady pomocou súhrnov, ukladania do vyrovnávacej pamäte a dávkovania.
FAQ
Q1:What is CrewAI and how do I use it for multi‑agent workflows?
CrewAI is a framework for orchestrating multiple AI agents with roles, tasks, and tools. You use it by defining agents, creating tasks with acceptance criteria, and running a crew that coordinates handoffs to produce a final output.
Otázka 2: Ako môžem pridať nástroje ako vyhľadávanie na webe do agentov CrewAI?
Pripojte funkcie nástrojov k agentovi a uveďte, kedy ich má používať. Výstupy udržiavajte štruktúrované a krátke (napr. JSON alebo markdown), aby ste kontrolovali náklady a zlepšili odovzdávanie.
Otázka 3: Kedy by som mal použiť CrewAI namiesto jedinej výzvy LLM?
Použite CrewAI, keď sa úloha rozkladá na etapy, vyžaduje použitie nástrojov alebo QA (Quality Assurance – zabezpečenie kvality), alebo potrebuje opakovateľné procesy. Použite jedinú výzvu pre rýchle, subjektívne úlohy, ktoré nepotrebujú štruktúru.
Otázka 4: Ako môžem zabrániť halucináciám vo výstupoch CrewAI?
Pridajte agenta na kontrolu faktov alebo QA s právom veta, vyžadujte citácie primárnych zdrojov, nastavte nízku teplotu pre QA a špecifikujte kritériá prijatia, ako napríklad tabuľka tvrdení.
Otázka 5: Môže CrewAI spúšťať úlohy paralelne, aby sa urýchlili?
Áno. Použite paralelných agentov pre nezávislé úlohy (napr. viacerí výskumníci) a potom syntetizačnú úlohu na zlúčenie výsledkov. Hybridná orchestrácia vyvažuje rýchlosť a spoľahlivosť.