Zurück zum Blog
CrewAI AI Agents Python 15. November 2024

Multi-Agent AI Systeme mit CrewAI: Teams statt Einzelkämpfer

Wie man spezialisierte KI-Agenten orchestriert, die wie ein echtes Team zusammenarbeiten. Ein praktischer Leitfaden mit Code-Beispielen.

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:

  1. Was ist das Ziel? Was soll am Ende erreicht werden?
  2. Welche Schritte sind nötig? Welche Teilaufgaben führen zum Ziel?
  3. 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:

CrewAI DeepLearning.AI

Planst du ein Multi-Agent-System? Schreib mir, ich helfe gerne bei Architektur und Implementierung.