Bygg kraftfulla multi-agent AI-system med Python
Senast uppdaterad: Februari 2025
CrewAI är ett kraftfullt Python-ramverk för att bygga multi-agent AI-system där flera AI-agenter samarbetar för att lösa komplexa uppgifter. Till skillnad från en enskild AI-agent kan du med CrewAI skapa "team" av agenter där varje agent har sin specialisering – en kan forska, en annan kan skriva, en tredje granskar, och så vidare.
Detta ger mer strukturerade, förutsägbara och effektiva arbetsflöden jämfört med autonoma agenter som försöker göra allt själva.
Flera specialiserade agenter arbetar tillsammans istället för en generalist som försöker göra allt.
Varje agent har en specifik roll och expertis, vilket ger mer fokuserade och kvalitativa resultat.
Definiera sekventiella eller parallella processer beroende på dina behov.
Ge agenter tillgång till verktyg som websökning, filhantering, API-anrop och mer.
Agenter kan komma ihåg tidigare interaktioner och lära sig över tid.
Fungerar med OpenAI, Anthropic, lokala modeller via Ollama/LM Studio och fler.
Innan du börjar installationen, se till att du har följande:
En virtuell miljö isolerar ditt CrewAI-projekt från andra Python-installationer och förhindrar konflikter mellan paket.
# Skapa virtuell miljö
python3 -m venv crewai-env
# Aktivera miljön
source crewai-env/bin/activate
# Din terminal visar nu (crewai-env) före prompten
Se till att du har senaste versionen av pip för bästa kompatibilitet:
pip install --upgrade pip
Installera CrewAI och alla dess beroenden:
# Grundläggande installation
pip install crewai
# Eller med extra verktyg och beroenden
pip install 'crewai[tools]'
Kontrollera att CrewAI installerats korrekt:
# Kontrollera CrewAI version
crewai --version
# Eller via Python
python -c "import crewai; print(crewai.__version__)"
CrewAI har ett inbyggt kommando för att skapa projektstruktur:
# Skapa nytt projekt
crewai create my_project
# Navigera till projektmappen
cd my_project
Detta skapar en mappstruktur som ser ut ungefär så här:
my_project/
├── .env # Miljövariabler (API-nycklar)
├── .gitignore # Git-ignorerade filer
├── README.md # Projektdokumentation
├── pyproject.toml # Python-projektkonfiguration
├── src/
│ └── my_project/
│ ├── __init__.py
│ ├── main.py # Huvudfil
│ ├── crew.py # Crew-definition
│ └── config/
│ ├── agents.yaml # Agent-konfiguration
│ └── tasks.yaml # Uppgiftsdefinitioner
└── tests/ # Testfiler
Öppna .env-filen och lägg till dina API-nycklar:
# För OpenAI
OPENAI_API_KEY=sk-your-key-here
# För Anthropic Claude
ANTHROPIC_API_KEY=sk-ant-your-key-here
# För lokal modell via Ollama
OPENAI_API_BASE=http://localhost:11434/v1
OPENAI_MODEL_NAME=llama2
# För LM Studio
OPENAI_API_BASE=http://localhost:1234/v1
OPENAI_MODEL_NAME=local-model
Testa att projektet fungerar genom att köra det medföljande exemplet:
crewai run
Detta startar ett exempel-crew som visar grundläggande funktionalitet. Du bör se agenter som börjar arbeta och producera output.
Här är ett komplett exempel på en research-crew med två agenter:
from crewai import Agent, Task, Crew, Process
# Definiera agenter
researcher = Agent(
role='Research Specialist',
goal='Hitta och samla relevant information om {topic}',
backstory='Du är en expert på att hitta och analysera information från olika källor.',
verbose=True,
allow_delegation=False
)
writer = Agent(
role='Content Writer',
goal='Skriva en välstrukturerad artikel om {topic}',
backstory='Du är en skicklig skribent som kan ta komplex information och göra den lättbegriplig.',
verbose=True,
allow_delegation=False
)
# Definiera uppgifter
research_task = Task(
description='Researcha {topic} och samla de viktigaste fakta och insikterna',
expected_output='En sammanfattning av research med nyckelinsikter',
agent=researcher
)
writing_task = Task(
description='Skriv en artikel om {topic} baserad på research',
expected_output='En välskriven artikel på 500 ord',
agent=writer
)
# Skapa crew
crew = Crew(
agents=[researcher, writer],
tasks=[research_task, writing_task],
process=Process.sequential, # Agenter arbetar i ordning
verbose=2
)
# Kör crew
result = crew.kickoff(inputs={'topic': 'AI inom hälsovård'})
print(result)
För uppgifter som kan göras samtidigt, använd parallell processing:
crew = Crew(
agents=[researcher, analyst, fact_checker],
tasks=[research_task, analysis_task, fact_check_task],
process=Process.parallel, # Alla arbetar samtidigt
verbose=2
)
Ge agenter tillgång till verktyg för websökning och filhantering:
from crewai_tools import SerperDevTool, FileReadTool
# Definiera verktyg
search_tool = SerperDevTool() # Websökning
file_tool = FileReadTool() # Läsa filer
# Agent med verktyg
researcher = Agent(
role='Research Specialist',
goal='Researcha {topic} från webben',
tools=[search_tool, file_tool],
verbose=True
)
För större projekt är det bättre att använda YAML-filer:
researcher:
role: "Research Specialist"
goal: "Hitta och samla information om {topic}"
backstory: |
Du är en expert på informationssökning med år av erfarenhet.
Du vet hur man hittar pålitliga källor och verifierar fakta.
writer:
role: "Content Writer"
goal: "Skapa engagerande innehåll om {topic}"
backstory: |
Du är en professionell innehållsskapare som kan anpassa ton
och stil efter målgrupp.
Ge agenter långtidsminne för att komma ihåg tidigare interaktioner:
from crewai import Crew
crew = Crew(
agents=[researcher, writer],
tasks=[research_task, writing_task],
memory=True, # Aktivera minneshantering
verbose=2
)
Låt agenter delegera uppgifter till varandra:
manager = Agent(
role='Project Manager',
goal='Koordinera arbetet mellan agenter',
allow_delegation=True, # Kan delegera till andra
verbose=True
)
Isolera alltid projekt i virtuella miljöer:
# Skapa ny miljö för varje projekt
python3 -m venv projekt1-env
python3 -m venv projekt2-env
# Aktivera rätt miljö för rätt projekt
source projekt1-env/bin/activate
Symptom: ERROR: CrewAI requires Python 3.10 or later
Lösning:
# Kontrollera version
python3 --version
# Installera Python 3.10+ (Ubuntu/Debian)
sudo apt install python3.10 python3.10-venv
# Använd specifik version
python3.10 -m venv crewai-env
Symptom: AuthenticationError eller Invalid API key
Lösningar:
import os
from dotenv import load_dotenv
load_dotenv()
api_key = os.getenv('OPENAI_API_KEY')
print(f"API key loaded: {api_key[:10]}..." if api_key else "No API key found")
Symptom: ModuleNotFoundError: No module named 'crewai'
Lösningar:
# Kontrollera att virtuell miljö är aktiverad
which python # Ska visa sökväg till venv
# Installera om CrewAI
pip install --upgrade crewai
# Kontrollera installerade paket
pip list | grep crewai
Lösningar:
Lösningar:
| Användningsområde | Agenter | Fördelar |
|---|---|---|
| Innehållsproduktion | Researcher + Writer + Editor | Högkvalitativt innehåll med research, skrivning och granskning |
| Dataanalys | Data Collector + Analyst + Visualizer | Samla, analysera och presentera data automatiskt |
| Kodgenerering | Architect + Developer + Reviewer | Design, kod och code review i ett arbetsflöde |
| Marknadsundersökning | Market Researcher + Competitor Analyst + Strategist | Omfattande marknadsanalys från flera perspektiv |
| Kundservice | Customer Support + Technical Expert + Escalation Manager | Strukturerad hantering från första kontakt till lösning |
| Social Media | Content Creator + Scheduler + Analyst | Skapa, planera och analysera sociala medier |
CrewAI är nu installerat och du är redo att bygga ditt första multi-agent AI-system. Börja med de enkla exemplen och experimentera sedan med mer avancerade konfigurationer!
CrewAI är ett Python-ramverk för att bygga multi-agent AI-system där flera AI-agenter samarbetar med olika roller. Det möjliggör strukturerade arbetsflöden där agenter kan dela ansvarsområden som research, skrivning, granskning och analys.
CrewAI kräver Python 3.10 eller senare. Äldre versioner stöds inte på grund av beroenden till moderna Python-funktioner.
CrewAI själv är gratis och open source. Däremot kan kostnader uppstå för AI-modeller du använder (som OpenAI API). Du kan också använda gratis lokala modeller via LM Studio eller Ollama.
Ja! CrewAI fungerar utmärkt med lokala modeller via LM Studio, Ollama eller liknande. Detta ger dig full kontroll och inga API-kostnader.
Auto-GPT är en autonom agent som försöker lösa uppgifter självständigt. CrewAI fokuserar på att låta flera specialiserade agenter samarbeta i strukturerade team, vilket ofta ger mer förutsägbara och kontrollerbara resultat.
Teoretiskt obegränsat, men praktiskt rekommenderas 2-6 agenter för bästa balans mellan komplexitet och effektivitet. Fler agenter = mer latens och högre kostnader.
CrewAI är perfekt för: innehållsproduktion (research + skrivning + granskning), dataanalys med flera perspektiv, automatisering av komplexa arbetsflöden, kodgenerering med review-process, och marknadsundersökningar.
Ja, grundläggande Python-kunskaper krävs. CrewAI är ett programmeringsramverk, inte ett grafiskt verktyg. Du definierar agenter, uppgifter och arbetsflöden i Python-kod.
Använd .env-filer för att lagra API-nycklar, lägg aldrig .env i Git (använd .gitignore), använd environment variables i produktion, och överväg secrets-hantering som Vault för känsliga miljöer.
Ja, CrewAI stöder både sekventiella och parallella arbetsflöden. Du kan låta vissa agenter arbeta samtidigt för snabbare resultat, eller sekventiellt när output från en agent behövs av nästa.