Ein einzelner KI-Agent kann beeindruckende Dinge leisten. Aber für komplexe, mehrstufige Aufgaben stößt er schnell an Grenzen. Die Lösung? Mehrere spezialisierte Agenten, die zusammenarbeiten wie ein echtes Team.
CrewAI ist ein Python-Framework, das genau das ermöglicht: die Orchestrierung von KI-Agenten zu einer Crew, in der jeder Agent eine spezifische Rolle übernimmt.
Das Konzept: Denke wie ein Manager
CrewAI basiert auf einer einfachen Idee: Anstatt einen Agenten zu bauen, der alles kann, stelle ein Team zusammen. Die Fragen, die du dir stellen solltest:
- Was ist das Ziel? Was soll am Ende erreicht werden?
- Welche Schritte sind nötig? Welche Teilaufgaben führen zum Ziel?
- Wer kann das am besten? Welche Spezialisten brauchst du?
Genau wie ein Manager, der ein Team zusammenstellt, definierst du Rollen, Verantwortlichkeiten und Arbeitsabläufe.
Die drei Kernkonzepte
1. Agents: Die Spezialisten
Jeder Agent hat eine spezifische Rolle, ein Ziel und einen Hintergrund. Je präziser du diese definierst, desto besser die Ergebnisse.
from crewai import Agent
content_planner = Agent(
role="Content-Stratege",
goal="Recherchiere Themen und erstelle Artikelstrukturen",
backstory="""Du bist ein erfahrener Content-Stratege mit
10 Jahren Erfahrung im Tech-Journalismus. Du weißt,
wie man komplexe Themen strukturiert und
Leser fesselt.""",
tools=[search_tool, scrape_tool],
allow_delegation=False
)
Best Practice: Spezifische Rollen
Statt "Researcher" verwende "FINRA-zertifizierter Finanzanalyst" oder "HR-Spezialist mit Fokus auf deutsches Arbeitsrecht". Je spezifischer die Rolle, desto fokussierter arbeitet der Agent.
2. Tasks: Die Aufgaben
Tasks definieren, was getan werden soll. Jede Task hat eine Beschreibung, erwartete Ausgabe und einen zugewiesenen Agenten.
from crewai import Task
plan_task = Task(
description="""Recherchiere das Thema {topic} und erstelle
einen detaillierten Artikelplan mit:
- Hauptthesen
- Struktur mit Überschriften
- Wichtige Punkte pro Abschnitt""",
expected_output="Markdown-Dokument mit Artikelstruktur",
agent=content_planner
)
3. Crew: Das Team
Die Crew bringt Agents und Tasks zusammen und definiert, wie sie zusammenarbeiten.
from crewai import Crew, Process
crew = Crew(
agents=[planner, writer, editor],
tasks=[plan_task, write_task, edit_task],
process=Process.sequential,
verbose=True
)
result = crew.kickoff(inputs={"topic": "KI im Gesundheitswesen"})
Praktisches Beispiel: Content-Erstellung
Ein klassischer Anwendungsfall: automatisierte Blog-Artikel. Drei Agenten arbeiten zusammen:
Content-Stratege
Recherchiert das Thema, identifiziert Kernpunkte, erstellt die Artikelstruktur
Content-Writer
Schreibt den Artikel basierend auf dem Plan, achtet auf Stil und Lesbarkeit
Editor
Prüft auf Fehler, verbessert Formulierungen, stellt Brand-Konsistenz sicher
Der entscheidende Punkt: Jeder Agent erhält die Ausgabe des vorherigen Agenten als Kontext. Der Writer sieht den Plan des Strategen. Der Editor sieht den fertigen Artikel. So entsteht ein natürlicher Workflow.
Sequentiell vs. Hierarchisch
CrewAI unterstützt zwei Prozessarten:
Sequential Process
Tasks werden nacheinander abgearbeitet. Agent A liefert an Agent B, der an Agent C. Ideal für lineare Workflows wie Content-Erstellung oder Datenverarbeitung.
crew = Crew(
process=Process.sequential,
...
)
Hierarchical Process
Ein Manager-LLM koordiniert die Agenten dynamisch. Entscheidet selbst, welcher Agent wann zum Einsatz kommt. Ideal für komplexe Aufgaben mit Abhängigkeiten.
from langchain_openai import ChatOpenAI
crew = Crew(
process=Process.hierarchical,
manager_llm=ChatOpenAI(model="gpt-4-turbo"),
...
)
Tools: Die Werkzeuge der Agenten
Agenten werden mächtig durch ihre Tools. CrewAI bietet eingebaute Tools und erlaubt eigene:
from crewai_tools import SerperDevTool, ScrapeWebsiteTool
# Eingebaute Tools
search_tool = SerperDevTool() # Web-Suche
scrape_tool = ScrapeWebsiteTool() # Website-Inhalte extrahieren
# Custom Tool
from crewai_tools import BaseTool
class SentimentTool(BaseTool):
name = "Sentiment Analyse"
description = "Analysiert die Stimmung eines Textes"
def _run(self, text: str) -> str:
# Implementierung hier
return "positiv"
Tool-Design Prinzipien
Tools sollten vielseitig (mehrere Szenarien abdecken), fehlertolerant (Fehler graceful behandeln) und effizient (Caching für wiederholte Aufrufe) sein.
Reale Anwendungsfälle
Multi-Agent-Systeme eignen sich besonders für Aufgaben, die verschiedene Perspektiven oder Expertise erfordern:
Sales Automation
Lead-Recherche, Profilanalyse, personalisierte E-Mail-Kampagnen
Financial Analysis
Marktdaten sammeln, Strategie entwickeln, Risiko bewerten
Customer Support
Ticket-Analyse, Lösungsvorschlag, Qualitätskontrolle
Event Planning
Venue-Koordination, Logistik, Marketing
Strukturierte Outputs mit Pydantic
Für konsistente Ergebnisse kannst du das Output-Format mit Pydantic definieren:
from pydantic import BaseModel
class ArticlePlan(BaseModel):
title: str
summary: str
sections: list[str]
target_audience: str
plan_task = Task(
description="Erstelle einen Artikelplan...",
output_json=ArticlePlan,
output_file="./output/plan.json",
agent=planner
)
Key Learnings
"Ein gut zusammengestelltes Agent-Team übertrifft einen einzelnen 'Super-Agenten' bei komplexen Aufgaben deutlich."
1. Spezifische Rollen definieren
Generische Rollen wie "Researcher" führen zu generischen Ergebnissen. "Senior Financial Analyst mit Fokus auf Tech-Startups" liefert deutlich bessere Outputs.
2. Tasks klar abgrenzen
Jede Task sollte ein klares Ziel und eine definierte Ausgabe haben. Überlappungen führen zu Duplikaten und Inkonsistenzen.
3. Tools gezielt zuweisen
Nicht jeder Agent braucht alle Tools. Ein Editor braucht keine Web-Suche. Ein Researcher braucht kein File-Writing. Weniger ist oft mehr.
4. Iteration einplanen
Multi-Agent-Systeme brauchen Tuning. Starte mit einem einfachen Setup und erweitere schrittweise basierend auf den Ergebnissen.
Fazit
CrewAI macht es einfach, von einzelnen Agenten zu kollaborativen Teams überzugehen. Der Schlüssel liegt in der sorgfältigen Definition von Rollen, Tasks und Workflows. Denke wie ein Manager, der ein Team zusammenstellt, und du wirst KI-Systeme bauen, die komplexe Aufgaben zuverlässig lösen.
Verwendete Tools:
Planst du ein Multi-Agent-System? Schreib mir, ich helfe gerne bei Architektur und Implementierung.