Kuidas kasutada CrewAI-d: praktiline juhend mitme agendi töövoogudeks
Julgelt lubatud: Kui oled kunagi soovinud kloonida oma parimat meeskonnakaaslast, et projekti kiiremini lahendada, viib CrewAI sind sellele lähedale — orkestreerides mitut AI agenti, kes planeerivad, teevad koostööd ja täidavad tööd koos.
Selles praktilises ja lahenduskeskse juhendis õpid täpselt, kuidas kasutada CrewAI-d: alustades raamistiku paigaldamisest ja agentide defineerimisest kuni rollide, tööriistade, ülesannete ja struktureeritud mitme agendi töövoogude loomise ning tegelike tulemusteni jõudmiseni. Läbi käime uurimise, sisu, andmeanalüüsi ja koodigeneratsiooni mustreid ning ka seda, kuidas vältida levinud lõkse nagu agentide ummikseisud, käsu ülespuhumine ja tööriistade liigne kasutamine.
Meie eesmärk: anda samm-sammult „proovi juba täna“ juhend koos kopeeri-kleebi koodiga, lahingus katsetatud parimate tavadega ja mõne töövoo plaaniga, mida saad kohandada. Olgu see turu-uuringu automatiseerimine või tootemäärajate loomine piletitest — see on sinu algus CrewAI tõhusaks kasutamiseks.
Mis on CrewAI (ja miks see on erinev)
- CrewAI on raamistik mitme agendi süsteemide ehitamiseks, kus igal agendil on oma roll, eesmärk, tööriistad ja reeglid. Raamistik koordineerib neid agente — delegeerides ülesandeid, jagades konteksti ja suunates tulemuse koostamise poole.
- Erinevalt ühest LLM käsust, CrewAI loob struktuuri: agentidel on selged rollid, ülesanded on moodulidena, tööriistad on lubatud ja tulemused jälgitavad.
- Tulemus: jaotatud töövood (uurimine → süntees → kirjutamine → kvaliteedikontroll), mis peegeldavad tõeliste meeskondade töökorraldust — kuid kiiremini, skaleeritavamalt ja korduvkasutatavalt.
Kiire algus: Kuidas kasutada CrewAI-d 10 minutiga
Järgnevalt on minimaalne skeem, mis viib su nullist toimiva mitme agendi meeskonnani. Eeldame Pythonit.
1) Paigalda ja seadista
pip install crewai langchain-openai python-dotenv
from crewai import Agent
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(model="gpt-4o-mini", temperature=0.2)
<a6>researcher = Agent(
role="Turu Uurija",
goal="Leia usaldusväärseid ja ajakohaseid teadmisi sihtturu ja konkurentide kohta.",
backstory=("Oled põhjalik analüütik, kes kontrollib väiteid, viitab allikatele ja võtab kokku ", "teavet mainekatest väljaannetest."),
tools=[], # lisa hiljem veebi/otsingu/andmehangete tööriistad
llm=llm
)
<a17>strategist = Agent(
role="Tootestrateeg",
goal="Sünteesi põhjal kindel positsioneerimine ja teekaardi variandid.",
backstory="Prioriseerid selgust, teostatavust ja mõõdetavaid tulemusi.",
tools=[],
llm=llm
)
<a25>writer = Agent(
role="Sisukirjutaja",
goal="Tooda hästi struktureeritud kokkuvõte koos näidete ja järgnevate sammudega.",
backstory="Kirjutad lühidalt ja veenvalt inglise keeles ning järgides stiili juhiseid.",
tools=[],
llm=llm
)
3) Loo Ülesanded (Sisendid, Väljundid ja Nõuded)
from crewai import Task
<a3>research_task = Task(
description=("Uuri USA VKE projektijuhtimise tarkvaraturgu 2025. aastal. "
"Identifitseeri peamised konkurendid, hinnatasemed, sihtrühmad ja kolm lahendamata vajadust. "
"Tagasta punktid koos 3–5 viitega."),
expected_output=("Markdowni kokkuvõte jaotustega: Turumaht, Peamised mängijad, Hinnad, Sihtrühmad, "
"Lahendamata vajadused, Allikad (linkidega)."),
agent=researcher
)
synthesis_task = Task(
description=("Kasuta uurimiskokkuvõtet positsioneerimisavalduse, 2–3 eristaja ja "
"90-päevase teekaardi loomiseks täppmärgistega."),
expected_output="Lühike strateegiamemo (kuni 400 sõna).",
agent=strategist
)
writing_task = Task(
description=("Muuda strateegiamemo avalikult mõistetavaks ühe lehe kokkuvõtteks. Loo pealkiri, "
"väärtuspakkumine, tähtsused ja tegevusele kutsumine (CTA)."),
expected_output="Markdowni ühe lehe lõiv maandumislehe jaoks.",
agent=writer
)
4) Orkestreeri Meeskond (Töövoog + Mälu)
from crewai import Crew
<a3>crew = Crew(
agents=[researcher, strategist, writer],
tasks=[research_task, synthesis_task, writing_task],
process="sequential", # tulemuste järjekordne edastamine
verbose=True
)
result = crew.kickoff
print(result)
See on sinu esimene toimiv torujuhe. Sa defineerisid agentid, ühendasid ülesanded ja jooksutasid järjestikust töövoogu. Laiendada saad tööriistadega (otsing, andmete hankimine, koodi täitmine), valideerimisega ja paralleelsete etappidega.
CrewAI projekti mõttemudel
Mõtle nagu projektijuht:
- Rollid: Kes mida teeb? Uurija, analüütik, insener, hindaja.
- Reeglid: Millised standardid peavad olema täidetud? Stiili juhend, viited, testid.
- Tööriistad: Milliseid võimalusi lubatakse? Veebiotsing, vektoriandmebaas, Python, API-d.
- Ülesanded: Kuidas probleemi lagundame? Sisendid, väljundid, nõuded.
- Üleandmised: Mis edasi läheb? Artefaktid, metaandmed, piirangud.
- Tagasiside: Kes kontrollib? Kvaliteedikontrolli agent, inimene protsessis või testid.
CrewAI-s kodeerib see töökohtumise mudel ära.
Kuidas kasutada CrewAI-d päris töös: 5 tõestatud malli
1) Uuring → Süntees → Mustand (Sisu ja aruanded)
- Agendid: Uurija, toimetaja, kirjanik, fakti kontrollija.
- Tööriistad: Veebiotsing, allikakontroll, stiilijuhend.
- Nipp: Sunni allikaviiteid ja „väidete tabelit“ hallutsinatsioonide vältimiseks.
<a1>fact_checker = Agent(
role="Fakti Kontrollija",
goal="Kontrolli kõiki väiteid peamise allikaga; märgi nõrgad viited.",
backstory="Oled skeptiline, põhjalik ja erapooletu.",
llm=llm
)
qa_task = Task(
description="Kontrolli kõiki fakte ja lisa parandused märgendiga [FIX].",
expected_output="Parandatud mustand koos paranduste kokkuvõttega.",
agent=fact_checker
)
2) Toote määratlus piletitest (Inseneritöö)
- Agendid: Piletite grupeerija, määratleja, hindaja, testikirjutaja.
- Tööriistad: Pileti jälgija API, koodibaasi kontekst koodivektorite abil, ühikutestide generaator.
- Nipp: Lisa automatiseeritud „Tehtud määratlus“ checklist.
3) Andmed → Tõlgendus → Narratiiv (Analüütika)
- Agendid: Andmetöötleja (Python), analüütik, loo jutustaja.
- Tööriistad: Pandas, SQL, graafikud, sülearvuti jooksutamine.
- Nipp: Kasuta tööriistaga agenti
python täitmisega kontrollitava analüütika jaoks.
4) Koodigeneratsioon Guardrailidega
- Agendid: Plaanimees, kooder, koodiparandaja, testija, hindaja.
- Tööriistad: repo lugemine, ühikutestide jooksutaja, formaadija, turvaaudit.
- Nipp: Nõua hindajalt testide viitamist, mis tõendavad õigsust.
5) Kliendimeili järjekorrad mahus
- Agendid: Segmentija, koopiakirjutaja, personaliseerija, kvaliteedikontroll.
- Tööriistad: CRM API, mallid, bränditoonijuhend.
- Nipp: Lisa tagasilöögi/spämmi kontrolli tööriist ja sunni A/B variante.
Tööriistade lisamine: anna agentidele pärisvõimalused
CrewAI paistab silma, kui agentidel on tööriistad kasutada. Näiteks anna uurijale veebiotsing ja URL lugemine.
from langchain_community.tools import DuckDuckGoSearchRun
from langchain_community.document_loaders import WebBaseLoader
search = DuckDuckGoSearchRun
<a6>def web_search_tool(query: str):
return search.run(query)
<a9>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]
Parimad tavad:
- Vähem volitusi: Lisa vaid need tööriistad, mida agent tõesti vajab.
- Šeemi distsipliin: Tööriistad peaksid olema deterministlikud ja tüübitud; võimalusel tagastada lühike, struktureeritud tekst (JSON/Markdown).
- Kulude kontroll: Hoia tööriistade väljundid lühikesed; tee kokkuvõtted enne järgmisele üleandmist.
Ülesannete läbimõeldud kavandamine
Hästi kavandatud ülesanded teevad või lõhuvad mitme agendi süsteemid.
- Ole täpne: „Tagasta Markdowni tabel veergudega X, Y, Z.“
- Määra vastuvõtukriteeriumid: „Sisaldab 3 allikat, mis on pärit algallikatest.“
- Piira mahtu: Sõnade arv, ajapiirang või sammude limiit vähendavad hajumist.
- Lisa näited: Anna mini-spetsifikatsioon soovitud väljundist.
- Lisa mälu märgendid: Kasuta järjepidevaid päiseid/võtmeid ülesannetes, et üleandmine oleks lihtne.
Näiteülesanne:
Task(
description=("Kokkuvõtle 5 värsket uuringut kaugtöö tootlikkuse kohta (2023–2025) koos "
"metoodika, valimi suuruse ja peamiste leidudega."),
expected_output=("Markdown koos iga uuringu H2 peatükkide, lõpliku võrdlustabeli ja linkidega."),
agent=researcher
)
Orkestreerimise režiimid: järjestikune vs paralleelne vs hübriid
- Järjestikune: Usaldusväärne üleandmine; aeglasem, kuid lihtsam mõista.
- Paralleelne: Mitmed agendid töötavad samaaegselt (nt 3 uurijat); hiljem koondatakse.
- Hübriid: Uuringud paralleelselt → süntees ja kvaliteedikontroll järjestikult.
Hübriidi näide:
r1 = Agent(role="Uurija A", goal="Fookus hinnastamisel", backstory="", llm=llm)
r2 = Agent(role="Uurija B", goal="Fookus omadustel", backstory="", llm=llm)
# Paralleelsed ülesanded r1, r2 jaoks; järelülesanne sünteesib tulemused.
Nipp: Koondamisel juhenda sünteesi tegijat duplikaatide eemaldamiseks, vastuolude lahendamiseks ja tugevama allika viitamiseks.
Juhised ja kvaliteedikontroll: hoia agendid ausad
- Kohtunikud: Lisa hindaja või fakti kontrollija vetoõigusega.
- Kontrollnimekirjad: Kodeeri vastavus (privaatsus, turvalisus, bränditoon) kvaliteedikontrolli agenti kontroll-lehena.
- Enesekriitika: Palu agentidel lisada lühike „Mida võisin mööda vaadata“ lõik.
- Deterministlikkus: Kasuta kvaliteedikontrolli agentidel madalamat temperatuuri.
qa = Agent(
role="Kvaliteedikontroller",
goal="Tagada väljundite vastavus nõuetele ja stiilijuhisele.",
backstory="Oled range ja pedantne.",
llm=llm
)
Käsu loomine CrewAI agentidele
Agentide käsud on mini-töökuulutused. Hoia need kompaktsetena.
- Rolli käsk: Kes sa oled, millele keskendud.
- Eesmärgikäsk: Soovitud lõpptulemus.
- Piirangud: Sõnade arv, formaat, stiil, viited.
- Tööriistad: Nimed, kasutamise ajad, mis tagasi anda.
- Näited: 1–2 lühikest ja realistlikku proovi.
Näidis:
researcher = Agent(
role="Analüütiline Uurija",
goal=("Tooda kompakte, täpseid kokkuvõtteid 3–5 usaldusväärse allikaviitega ja riskimärkusega."),
backstory=("Sa kontrollid väiteid, eelistad algallikaid ja märgid ebakindlust."),
llm=llm
)
Jälgitavus: näe, mida agendid tegid (ja miks)
Lülita sisse detailne logimine ja säilita artefakte:
- Salvesta iga ülesande käsk, väljund ja tööriistakutsed.
- Salvesta jooksu manifest metaandmetega (mudel, temperatuur, tööriistad).
- Hoia vahemälu märkmeid; see aitab siluda ja auditeerida.
Musternäide:
crew = Crew(..., verbose=True, output_log_file="runs/2025-crew.log")
Kulu, viiteaeg ja usaldusväärsusnõuanded
- Partii töötlemine: Paralelleeri iseseisvaid ülesandeid; piirake samaaegsusi, et vältida päringu limiite.
- Kokkuvõtete tegemine: Kokku suru vahearuanded tokenite kulude vähendamiseks.
- Vahemällu salvestamine: Memoi saa stabiilseid samme (nt turumääratlused) vektorandmebaasidesse.
- Varuplaanid: Pane paika varumudel või korduskatse poliitika ebastabiilsete päringute jaoks.
- Inimene protsessis: Lisa valikulisi kinnituspunkte kõrge riskiga sammudel.
Levinud lõksud (ja kuidas neid parandada)
- Lõks: ebamäärased ülesanded → hajusad väljundid.
- Parandus: lisa konkreetsed vastuvõtukriteeriumid ja näited.
- Lõks: liiga palju tööriistu → tähelepanu hajumine ja kulud.
- Parandus: kasuta vähima volitusega, ülesandespetsiifilisi tööriistu.
- Lõks: lõputud tsüklid või liigne iteratsioon.
- Parandus: lisa sammude või aja piirang ning „peatumine kui nõuded täidetud“ tingimus.
- Lõks: konteksti kaotus agentide vahel.
- Parandus: kasuta struktureeritud üleandmisesemeid (JSON) ja järjepidevaid päiseid.
- Lõks: kvaliteedikontroll tagantjärele.
- Parandus: käsitle kvalitatiivset hindamist esmaklassilise agendina vetoõigusega.
Lõpp-lõpuni näide: konkurentsianalüüsi generaator
Eesmärk: luua konkurentsianalüüs, mis võrdleb kolme tööriista sihtpersona jaoks.
Agendid:
- Persona analüütik → määratleb valupunktid ja tööülesanded.
- Uurija → kogub andmeid ja viiteid.
- Sünteesija → koostab võrdlustabeli ja tõlgendab.
- Kirjutaja → loob lõpliku kokkuvõtte.
- Kvaliteedikontroll → kontrollib allikaid ja selgust.
Struktuur:
persona = Agent(role="Persona Analüütik", goal="Määra ICP ja JTBD.", llm=llm)
researcher = Agent(role="Uurija", goal="Kogu usaldusväärsed andmed.", llm=llm)
synth = Agent(role="Sünteesija", goal="Võrdle ja tõlgenda.", llm=llm)
writer = Agent(role="Kirjutaja", goal="Loo juhtkonnale valmis kokkuvõte.", llm=llm)
qa = Agent(role="Kvaliteedikontroller", goal="Kontrolli väiteid ja selgust.", llm=llm)
persona_task = Task(description="Määra ICP & JTBD RevOps juhtidele SaaS-is.", agent=persona,
expected_output="Punktid + valupunktid + edu mõõdikud.")
research_task = Task(description="Kogu hinnad, omadused ja ülevaated 3 tööriista kohta.", agent=researcher,
expected_output="Tabel + 5 viidet.")
synth_task = Task(description="Koosta võrdlustabel ja top 3 tähelepanekut.", agent=synth,
expected_output="Markdowni tabel + tähelepanekud.")
write_task = Task(description="Kirjuta 1-leheküljeline kokkuvõte soovitustega.", agent=writer,
expected_output="Juhtkonnale mõeldud markdown.")
qa_task = Task(description="Kontrolli täpsust ja loetavust; paranda vead.", agent=qa,
expected_output="Puhas, valideeritud kokkuvõte.")
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)
Millal kasutada CrewAI-d ja millal üht käsu
Kasuta CrewAI-d, kui:
- Ülesanne laguneb loomulikult rollideks või etappideks.
- Vajad jälgitavust, kvaliteedikontrolli või tööriistakasutust.
- Ehita korduvkasutatavat torujuhet, mitte ühekordset lahendust.
Kasuta üht käsku, kui:
- Ülesanne on lühike, subjektiivne ja ilma väliste tööriistadeta.
- Oluline on kiirus rohkem kui struktuur.
Muide: Kiirenda kirjutamist AI kõrvalpaneeliga
Kui kasutad mitme agendi töövooge uurimiseks, kavandamiseks ja sisu loomiseks, tasub märgata, et AI kõrvalpaneel nagu Sider.ai saab tegutseda koos sinu brauseri ja dokumentidega, et reaalajas lehti kokku võtta, sisulugusid genereerida ja mustandeid lihvida. See ei asenda CrewAI orkestreerimist, kuid kiirendab käsitsi tehtavaid osi — näiteks lõigu kokkuvõtted, ümberkirjutamine või tooni kontroll enne tulemuse tagasi meeskonda toomist. Tegutsemiseks järgmised sammud
- Paigalda CrewAI ja proovi kiiret algnäidet.
- Vali reaalne töövoog (uurimus → mustand → kvaliteedikontroll) ja kodeeri see.
- Lisa tööriist ükshaaval; mõõda mõju väljundile ja kuludele.
- Lisa kvaliteedikontrolli agent koos konkreetsete vastuvõtukriteeriumitega.
- Kiiruse huvides mine üle hübriidsele orkestreerimise mudelile.
Peamised järeldused
- CrewAI muudab keerulised projektid mooduliteks mitme agendi töövoogudeks.
- Edu saavutamiseks on vajalikud täpsed rollid, selged ülesanded ja distsiplineeritud tööriistakasutus.
- Juhised (kvaliteedikontroll, kontrollnimekirjad, piirangud) hoiavad kulud madalal ja kvaliteedi kõrgel.
- Alusta väikestest sammudest, seejärel laienda paralleelse uurimise ja hübriidsete töövoogudega.
Mini-kontrollnimekiri: Kuidas CrewAI-d tõhusalt kasutada
- Defineeri rollid, eesmärgid ja tööriistad selgelt.
- Kirjuta ülesanded koos vastuvõtukriteeriumide ja näidetega.
- Kasuta järjestikust töövoogu usaldusväärsuseks, hübriidset kiiruseks.
- Lisa kohe kvaliteedikontrolli agent; anna talle vetoõigus.
- Logi kõike; säilita artefakte auditi tarbeks.
- Optimeeri kulusid kokkuvõtete, vahemällu salvestamise ja partii töötlemisega.
KKK
K1: Mis on CrewAI ja kuidas seda kasutada mitme agendi töövoogudes?
CrewAI on raamistik mitme AI agendi orkestreerimiseks koos rollide, ülesannete ja tööriistadega. Kasutamine hõlmab agentide defineerimist, ülesannete loomist vastuvõtukriteeriumidega ja meeskonna jooksutamist, mis koordineerib tööülesannete üleandmisi lõpptulemuse saamiseks.
K2: Kuidas lisada CrewAI agentidele veebiotsingu sarnaseid tööriistu?
Lisage agendile tööriistafunktsioonid ja juhendage, millal neid kasutada. Hoidke väljundid struktureeritud ja lühikesed (nt JSON või markdown), et kulusid kontrollida ja ülekandeid parandada.
K3: Millal peaksin kasutama CrewAI-d ühe LLM-i viiba asemel?
Kasutage CrewAI-d, kui ülesanne jaguneb etappideks, nõuab tööriistade kasutamist või kvaliteedikontrolli või vajab korratavaid töövooge. Kasutage ühte viipa kiirete, subjektiivsete ülesannete jaoks, mis ei vaja struktuuri.
K4: Kuidas ma saan CrewAI väljundites hallutsinatsioone vältida?
Lisage faktikontrollija või QA agent vetoõigusega, nõudke viiteid esmastele allikatele, määrake QA jaoks madal temperatuur ja täpsustage vastuvõtukriteeriumid, näiteks väidete tabel.
K5: Kas CrewAI saab ülesandeid paralleelselt käivitada, et asju kiirendada?
Jah. Kasutage paralleelseid agente sõltumatute ülesannete jaoks (nt mitu teadurit) ja seejärel sünteesimisülesannet tulemuste ühendamiseks. Hübriidorkestreerimine tasakaalustab kiiruse ja usaldusväärsuse.