ADAPTER

CrewAI

Role-playing as an orchestration strategy.

What it is

CrewAI arranges agents by role. You define a researcher, a writer, a reviewer, give each a goal and a backstory, hand the crew a set of tasks, and it runs them sequentially or hierarchically with a manager agent delegating.

What goes wrong

The role metaphor hides the plumbing. When output is wrong, the question is whether the researcher passed bad context, the writer ignored good context, or the manager routed the task to the wrong agent. The default output shows you what each agent said, not what each agent was responding to.

What the adapter does

Hooks the step and task callbacks and links each agent's output to the specific upstream output that fed it. Delegation becomes a traced handoff instead of a line in a transcript.

Crew(..., step_callback=adapter.on_step, task_callback=adapter.on_task)

Caveat

Hierarchical mode adds a manager agent making routing decisions that are themselves model outputs. You can trace the routing. You cannot make it deterministic.