Pick a framework¶
Not sure which one to choose? Use this table.
| If you want… | Pick | Output | Best for |
|---|---|---|---|
| Multiple cooperating roles, prod-grade scaffolding | CrewAI | Python + YAML | Most teams. Familiar Python project layout. |
| Explicit state and graph control | LangGraph | Python | Pipelines, long-running flows, conditional routing. |
| To deploy inside IBM watsonx Orchestrate | WatsonX Orchestrate | YAML | Enterprise IBM stacks. |
| Event-driven mini-crews | CrewAI Flow | Python | Multi-step pipelines with branching. |
| A single-file reasoning loop | ReAct | Python | Tool-calling agents, demos, embedded use. |
CrewAI¶
Generates a complete project:
project/
config/
agents.yaml # role, goal, backstory
tasks.yaml # description, expected_output, agent
src/
crew.py # @CrewBase with @agent, @task, @crew
main.py
tools/ # tools picked from the catalogue
tests/test_smoke.py
pyproject.toml # crewai>=1.12
README.md .env.example .gitignore
Modes: code_only, yaml_only, code_and_yaml.
LangGraph¶
A single graph.py with:
TypedDictstate schema- one node function per task
- edges from task dependencies
- a
STARTentry point graph.compile()+app.invoke()
Mode: code_only.
WatsonX Orchestrate¶
Emits the ADK YAML:
spec_version: v1
kind: native
name: agent-name
description: What the agent does
instructions: |
Detailed instructions from task goals
llm: watsonx/meta-llama/llama-3-3-70b-instruct
tools: [tool_name]
knowledge_base: []
agent-generator "Customer support assistant" \
-f watsonx_orchestrate -o support.yaml
orchestrate agents import -f support.yaml
Mode: yaml_only.
CrewAI Flow¶
Single Python file with:
FlowState(Pydantic) for shared stateWorkflowFlow(Flow[FlowState])@start()and@listen()decorators- Each step spawns a mini-Crew
Mode: code_only.
ReAct¶
Single file with:
- Tool registry via
@register_tool think()/act()functionsreact_loop()with aMAX_ITERATIONSguard- Per-task runners; built-in
searchandcalculate
Mode: code_only.
Capability matrix¶
| Feature | CrewAI | LangGraph | WatsonX | Flow | ReAct |
|---|---|---|---|---|---|
| Code output | ✓ | ✓ | ✓ | ✓ | |
| YAML output | ✓ | ✓ | |||
| Code + YAML | ✓ | ||||
| Tool templates | ✓ | ✓ | ✓ | ✓ | |
| MCP wrapper | ✓ | ✓ | ✓ | ✓ |
Next: Architecture · Platform overview