Tools/KI-Agenten
CrewAI im Test: Crews, Flows und die Token-Rechnung
CrewAI ist das MIT-lizenzierte Python-Framework für Multi-Agent-Systeme: Crews für autonome Zusammenarbeit, Flows für kontrollierten State. Was ein Lauf an Tokens kostet und wo es hakt.
- Art
- Agent framework
- Preis
- MIT · enterprise paid
Balázs Csorba··10 Min. Lesezeit
- Multi-agent
- Agent orchestration
- Python
- Flows
- Token cost

Das Wichtigste in Kürze
- CrewAI 1.15.23 ist MIT-lizenziertes Python für 3.10 bis 3.13, ohne eigene Ausführungsgrenze und mit Extras für Tools, LiteLLM, mem0, Qdrant und Bedrock.
- Crews delegieren über Modellaufrufe, deshalb bestimmt die Topologie die Kosten eines Laufs: Rollen-Prompts, ein hierarchischer Manager, drei Guardrail-Retries und Memory-Analyse kosten alle extra.
- Memory hält Einträge als LanceDB-Vektoren und ruft ein Modell beim Speichern und beim tiefen Abruf, zusätzlich zum Embedding-Aufruf.
- Das eingebaute Tracing geht an CrewAIs eigenes Backend und verlangt ein Konto plus eine Zustimmung beim ersten Lauf; Langfuse, Phoenix, Braintrust und MLflow laufen stattdessen über OpenTelemetry.
- Das Framework ist am besten, wenn der Flow die Logik hält und ein oder zwei Agenten den offenen Teil machen.
CrewAI ist ein MIT-lizenziertes Python-Framework für Multi-Agent-Systeme und in dieser Kategorie das sofort einsatzfähigste: Ein Agent bekommt Rolle, Ziel und Backstory, eine Aufgabe bekommt eine erwartete Ausgabe, und ein Crew führt beides in ein paar Zeilen Code zusammen. Das Urteil: gut gebaut, ungewöhnlich gut dokumentiert und still teuer. Jedes strukturelle Feature, das das Framework über einen nackten Prompt hinaus legt, ist als zusätzlicher Modellaufruf implementiert, und eine Produktionsrechnung besteht genau aus solchen Aufrufen.
Es liegt auf derselben Ebene wie LangGraph, AutoGen und Pydantic AI und konkurriert um Bedienung, nicht um Kontrolle. Der Anbieter teilt das Angebot in zwei Teile: die Bibliothek auf PyPI, kostenlos und ohne Zählung, und CrewAI AMP, eine gehostete Control Plane mit visuellem Editor, Tracing und Governance, die auf Anfrage verkauft wird. Alles Folgende betrifft die Bibliothek, denn die ist es, die du installierst.
Was CrewAI ist
Die Bibliothek erschien erstmals im Dezember 2023 auf PyPI und wird von CrewAI Inc. offen weiterentwickelt. Version 1.15.23 wurde am 28. September 2026 veröffentlicht, verlangt Python 3.10 bis 3.13, und das Repository hat 59.413 Sterne und 8.655 Forks. Die Installation ist ein einzelnes Wheel von rund 1,2 MB, mit optionalen Extras für Tools, LiteLLM, mem0, Qdrant, Bedrock, Anthropic und A2A-Unterstützung.
- MIT-Lizenz, keine Ausführungsgrenze und keine Laufzeitabhängigkeit von LangChain oder einem anderen Agent-Framework.
- Zwei Ebenen: Flows, die State und Ausführungsreihenfolge besitzen, und Crews, also Gruppen von Agenten, die Aufgaben ausführen.
- Ein Agent ist ein Prompt mit Attributen: Rolle, Ziel und Backstory, dazu optional eine Tool-Liste, ein LLM und ein Memory-Scope.
- Prozesse sind sequenziell oder hierarchisch. Der hierarchische braucht ein Manager-LLM und delegiert Arbeit über Modellaufrufe.
- Ergebnisse können Text, JSON oder ein Pydantic-Modell sein, was der saubere Weg zurück in Anwendungscode ist.
- MCP-Server binden sich über crewai-tools an Agenten an, per stdio, SSE oder Streamable HTTP.
Wie ein Lauf funktioniert
Ein Flow ist eine Klasse von Methoden, die per Dekorator verdrahtet werden. @start() markiert die Einstiegspunkte, @listen() bindet eine Methode an das Ergebnis einer anderen, @router() lenkt die Ausführung in einen von mehreren Zweigen, und and_ sowie or_ kombinieren Bedingungen. Das State-Objekt ist ein Pydantic-Modell, die Form der Daten zwischen den Schritten wird also deklariert und nicht erraten, und flow.plot() rendert den Graphen. Sind mehrere @start()-Methoden gleichzeitig erfüllt, laufen sie parallel.
Innerhalb eines Flow-Schritts baut ein Crew den Prompt zusammen: Rolle, Ziel und Backstory jedes Agenten werden jeder Aufgabe vorangestellt, die Aufgabenbeschreibung wird interpoliert, und die Ausgabe einer Aufgabe wird Kontext der nächsten. Ein Agent läuft standardmäßig bis zu 20 Iterationen, wiederholt zweimal bei Fehlern und fasst Nachrichten zusammen, um im Kontextfenster zu bleiben. Darauf muss man schauen. Mit den Standardwerten ist ein Crew aus vier Aufgaben vier lange Prompts, bevor überhaupt delegiert wird, und ein Crew mit Memory addiert pro Abruf einen Embedding-Aufruf plus einen Modellaufruf zum Analysieren und Konsolidieren.
Erste Schritte
Die CLI ist der schnelle Weg hinein. uv tool install crewai legt ein crewai-Binary in den Pfad, crewai create crew <name> erzeugt ein JSON-first-Projekt mit agents/*.jsonc und crew.jsonc, und crewai create flow <name> erzeugt ein Flow-Projekt. crewai install löst Abhängigkeiten über uv auf, crewai run führt den Einstiegspunkt aus, und crewai memory öffnet einen Terminal-Browser für den Speicher. Das Flag --classic stellt das ältere Layout aus Python-Klasse plus YAML wieder her.
from crewai import Agent, Crew, Process, Task
from crewai.flow import Flow, listen, start
from pydantic import BaseModel
class ReportState(BaseModel):
topic: str = "agent memory"
brief: str = ""
class ReportFlow(Flow[ReportState]):
@start()
def pick_topic(self):
self.state.topic = "agent memory"
@listen(pick_topic)
def research(self):
analyst = Agent(
role="Research analyst",
goal=f"Collect verifiable facts about {self.state.topic}",
backstory="You read primary sources and quote them.",
llm="openai/gpt-4o-mini",
)
task = Task(
description="Write a brief on {topic}.",
expected_output="Five bullets, each with a source URL.",
agent=analyst,
)
crew = Crew(agents=[analyst], tasks=[task], process=Process.sequential)
self.state.brief = crew.kickoff(inputs={"topic": self.state.topic}).raw
ReportFlow().kickoff()Das kostet im Normalfall höchstens zwei Modellaufrufe: einen für die Reasoning- und Tool-Schleife des Agenten, einen für die endgültige Antwort. Kommt ein zweiter Agent, ein Manager oder Memory dazu, steigt die Zahl schnell, weshalb crew.usage_metrics und flow.usage_metrics die ersten beiden Dinge sind, die hinter ein Dashboard gehören.
Memory und Knowledge
Memory wurde zu einer einzigen Memory-Klasse zusammengefasst. Die Einträge sind Vektoren in LanceDB unter .crewai/memory, sortiert nach einem Mix aus semantischer Ähnlichkeit, Aktualität mit 30 Tagen Halbwertszeit und einem Importance-Score, den das Modell beim Speichern vergibt. Beim Abruf gibt es zwei Tiefen: shallow ist eine reine Vektorsuche mit rund 200 ms und ohne Modellaufruf, deep analysiert zuerst die Anfrage und läuft nur, wenn die Anfrage länger als 200 Zeichen ist. Mit aktiviertem Memory extrahiert ein Crew aus jeder Aufgabenausgabe Fakten und holt vor jeder Aufgabe Kontext.
- Der Speicher ist standardmäßig lokal in LanceDB, und das Backend ist ein Protokoll, lässt sich also ersetzen.
- Standard-Embedder ist OpenAI text-embedding-3-large mit 3.072 Dimensionen, Standard-Analyse-Modell gpt-4o-mini. Beides ist konfigurierbar.
- Knowledge-Quellen sind ein eigener Mechanismus: Sie landen in ChromaDB-Collections mit einer Relevanzschwelle von 0,35 und drei Dokumenten pro Abfrage.
- Schreibvorgänge laufen in einem Hintergrund-Thread und der Abruf wartet auf sie, so geht am Ende eines Laufs nichts verloren, aber die Analyse kostet trotzdem Tokens.
Memory ist außerdem der Teil, den man vor der Freigabe durch eine Datenschutzprüfung lesen sollte. Die Dokumentation sagt klar, dass der Inhalt der Einträge zur Analyse von Scope, Kategorie und Importance an das konfigurierte LLM geht, weshalb alles Vertrauliche ein lokales Modell auf beiden Seiten braucht, für das LLM und für den Embedder.
Im Produktivbetrieb
Die Bibliothek bewegt sich schnell. Stabile Versionen erschienen am 9., 16. und 28. September 2026, und Dev-Pre-Releases erscheinen täglich, Pinning ist für alles Langlebige also nicht optional. Das Repository hat 570 offene Issues, und dieselbe Distribution trägt inzwischen die Open-Source-Laufzeit und den Client für die gehostete Plattform, weshalb ein Changelog-Eintrag einen SQLite-Fix neben einer Plattformfunktion enthalten kann.
Observability
Das eingebaute Tracing verdient einen zweiten Blick. Es ist standardmäßig aus und getrennt von der Telemetrie konfigurierbar, aber das Ziel ist CrewAIs eigenes Backend: Es braucht ein kostenloses AMP-Konto, eine authentifizierte CLI, und beim ersten Lauf fragt der Prozess, ob der Execution-Trace geteilt werden darf. Traces enthalten Prompts, Eingaben und Ausgaben, und der lokale Puffer hält bis zu 1.000 Spans, bevor die ältesten fallen. Für selbst gehostete Setups sind die OpenTelemetry-Integrationen die bessere Voreinstellung, und die Dokumentation liefert fertige Wege für Langfuse, Arize Phoenix, Braintrust, Datadog, MLflow, Opik, Patronus, Portkey, Weave und Galileo.
- Setze
CREWAI_DISABLE_TELEMETRY=1wenn du keinen Grund hast, anonyme Nutzungsdaten an den Anbieter zu senden. - Tracing fragt beim ersten Lauf im Terminal nach Zustimmung und verwirft den Puffer, wenn niemand antwortet;
crewai traces enableundcrewai traces disableändern das später. kickoff_async()wickelt nur den synchronen Lauf in einen Thread.akickoff()undakickoff_for_each()sind die nativen Async-Wege und die richtige Wahl unter Last.@persistschreibt den Flow-State standardmäßig in eine lokale SQLite-Datenbank.restore_from_state_idforkt einen Lauf aus einem gespeicherten Snapshot, währendkickoff(inputs={"id": ...})den Original fortsetzt.
Guardrails
Task-Guardrails gibt es in zwei Formen. Ein Python-Callable bekommt die Aufgabenausgabe und liefert ein Urteil, während ein einfacher String zu einem LLM-Guardrail wird, der die Ausgabe mit dem Modell des Agenten bewertet. Retries sind standardmäßig drei, ein nie erfüllter Guardrail kann die Aufgabenkosten also verdreifachen, bevor irgendetwas eskaliert wird. Guardrails prüfen Ausgaben; sie sind keine Grenze um Werkzeuge, und eine Prompt-Injection im Ergebnis eines Tools kommt direkt durch.
Lizenz und Kosten
Die Lizenz ist der einfache Teil. CrewAI ist MIT ohne Ausführungsgrenze, und der einzige Kostenbeitrag des Frameworks selbst ist der Modellverkehr, den seine eigenen Features erzeugen. Das bezahlte Produkt ist CrewAI AMP: ein kostenloser Basic-Plan mit 50 Workflow-Ausführungen pro Monat und eine Enterprise-Stufe, die fallweise kalkuliert wird.
| Was du betreibst | Preis | Was enthalten ist |
|---|---|---|
| CrewAI OSS | Kostenlos | Keine Ausführungsgrenze. Modellaufrufe, Tools und eigene Infrastruktur zahlst du selbst. |
| CrewAI AMP Basic | Kostenlos | 50 Workflow-Ausführungen pro Monat, visueller Editor, GitHub-Sync, Tracing und OpenTelemetry. |
| CrewAI AMP Enterprise | Individuelles Angebot | SSO, RBAC, Workload Identity, PII-Redaktion, eigene VPC oder On-Prem, 45 Tage Onboarding. |
Wo es hakt
Die Schwächen sind strukturell und sollten vor jedem Vergleich stehen. Jede Abstraktionsebene ist ein Prompt: Rolle, Ziel und Backstory werden jeder Aufgabe vorangestellt, der Kontext wächst also mit dem Crew, und die Standardwerte des Frameworks, zwanzig Iterationen, drei Guardrail-Retries und Memory-Analyse beim Speichern und beim Abruf, werden separat abgerechnet. Delegation und der hierarchische Manager sind die schlimmsten Posten, denn jeder Hop ist ein weiterer Modellaufruf, dessen einzige Aufgabe es ist zu entscheiden, wer als Nächstes arbeitet. Python ist die einzige Laufzeit, in einer Kategorie, in der die umgebende Anwendung oft TypeScript ist. Und außerhalb der bezahlten Plattform stützt sich Debugging auf Log-Ausgaben, was schwächer ist als eine Graph-Laufzeit, die einen fehlgeschlagenen Knoten wiederholen kann.
| Framework | Wie Arbeit verdrahtet wird | Kosten pro Aufgabe | Debugging |
|---|---|---|---|
| CrewAI | Rollen und Aufgaben; ein Flow hält State und Reihenfolge | Am höchsten: Delegation, Memory-Analyse und Guardrail-Retries addieren Modellaufrufe | AMP-Traces brauchen ein Konto; OpenTelemetry-Hooks für Langfuse, Phoenix, Braintrust, MLflow |
| LangGraph | Expliziter Graph, typisierter State, Checkpoints | Am niedrigsten: Routing ist normales Python | LangSmith-Traces, Replay ab jedem Knoten |
| AutoGen | Konversatorische Teams mit Mustern und Abbruchbedingungen | Hoch und offen, wenn keine Turn-Limits gesetzt sind | AgentChat-Logging; GraphFlow ergänzt einen gerichteten Graphen |
LangGraph ist das bessere Werkzeug für eine feste Produktionspipeline mit Schleifen und Checkpoints, und es gewinnt bei den Kosten, weil Routing normales Python ist. AutoGen ist das bessere Werkzeug für offene Konversation. CrewAI gewinnt dort, wo es zählt, wenn das System an jemanden übergeben werden muss, der kein Engineer ist: Das Vokabular ist eine Stellenbeschreibung, und die JSONC- oder YAML-Konfiguration ist lesbar. Die eigene Dokumentation des Anbieters enthält einen Migrationsleitfaden von LangGraph zu CrewAI und Vergleichs-Notebooks, was man vor einem Vertrag wissen sollte.
Urteil
CrewAI ist ein gutes Default für Teams, die agentenförmigen Code wollen, ohne einen Graphen von Hand zu verdrahten, und ein schlechtes Default überall dort, wo die Token-Rechnung die bindende Größe ist. Das Framework ist solide, seine Dokumentation ist besser als die der Wettbewerber, und die Flow-Ebene verdient ihren Platz für sich genommen. Der Preis dafür ist, dass Autonomie als Modellaufrufe ausgedrückt wird, und das Framework macht sie gern für dich.
- Nimm es, wenn die Pipeline weitgehend linear ist und der teure Teil ein oder zwei offene Schritte sind. Halte den Crew klein und lass den Flow die Logik tragen.
- Nimm es, wenn Nicht-Engineers die Konfiguration lesen oder bearbeiten müssen, denn eine Rolle, ein Ziel und eine YAML-Datei sind leichter zu prüfen als ein Knotengraph.
- Nimm es nicht für eine feste Hochlast-Pipeline, in der jeder Hop ein normaler Funktionsaufruf ist. Der Koordinations-Overhead kauft Flexibilität, die eine solche Pipeline nie nutzt.
- Nimm es nicht, wenn du ab Tag eins Checkpoint-Replay und Kosten pro Knoten brauchst, ohne entweder die Plattform zu bezahlen oder OpenTelemetry selbst anzuschließen.
- Miss, bevor du es behältst: Setze usage_metrics in der ersten Woche hinter ein Dashboard und vergleiche den Crew mit denselben Schritten als reinen Flow.
Quellen
Häufige Fragen
Ist CrewAI im Produktivbetrieb kostenlos?
Ja. Das Framework ist MIT-lizenziert und ohne Ausführungsgrenze; Kosten entstehen durch die Modellaufrufe deiner Agenten und deine eigene Infrastruktur. Das kommerzielle Produkt CrewAI AMP hat einen kostenlosen Basic-Plan mit 50 Workflow-Ausführungen pro Monat und eine Enterprise-Stufe auf Anfrage.
Hängt CrewAI von LangChain ab?
Nein. Das Paket hat keine LangChain-Abhängigkeit und positioniert sich als eigenständiges Framework. Der Modellzugriff läuft über Provider-SDKs, LiteLLM ist als Extra crewai[litellm] verfügbar.
Worin unterscheiden sich Crews und Flows?
Ein Flow hält State und Ausführungsreihenfolge über @start-, @listen- und @router-Methoden; ein Crew ist eine Menge Agenten und Aufgaben, die in einem Flow-Schritt läuft. Die Empfehlung des Anbieters lautet, mit einem Flow zu starten und an einen Crew zu delegieren, wenn ein Schritt Autonomie braucht.
Ist CrewAIs Memory für vertrauliche Daten geeignet?
Nicht ohne Weiteres. Der Inhalt der Einträge geht zur Analyse von Scope, Kategorie und Importance an das konfigurierte LLM, und der Standard-Embedder ist OpenAI text-embedding-3-large. Die Dokumentation empfiehlt für vertrauliche Inhalte ein lokales LLM und einen lokalen Embedder wie Ollama.