Skip to content
News

AI agent frameworks: how to choose for a production application

Compare AI agent frameworks through state, recovery, human approval and operating needs. A proposed customer notice exercise makes the selection concrete.

Dark stone and pale ceramic meet along a precise silver bond above small copper details in a softly lit material close view.

An AI agent framework provides software building blocks for connecting a model to tools, managing execution and carrying information between steps. Different frameworks make different choices about how work is represented and controlled. Choosing one means deciding which responsibilities it will handle and what your application must still provide.

The most useful comparison starts with the work your team intends to operate. A short research assistant, an internal review process and a service that takes actions on customer accounts have different requirements. The same framework can support several of these, but the surrounding design and operating burden will differ.

This guide compares four approaches through their documented capabilities: LangGraph, CrewAI Flows, Google Agent Development Kit and Microsoft Agent Framework. It then proposes a small acceptance exercise for a team making a selection. It is not a performance ranking or a report of a benchmark run across these products.

Describe the job before choosing its framework

Consider a software company preparing notices for customers affected by a product retirement. An assistant needs to inspect the affected account list, gather relevant commitments, draft individual notices and wait for an account owner to approve each message.

This illustrative workflow is easy to demonstrate with a few model calls. Its operating requirements are more demanding. Work may wait overnight. An account owner may change. A customer may be excluded after a notice is drafted. A network timeout may leave it unclear whether a message was sent.

Write down those conditions before looking at framework features. They define what a useful implementation must preserve: the current account scope, the evidence used in a draft, the approved message version and the outcome of any external action.

Separate the parts that need model judgment from ordinary application behavior. Reading a contract excerpt and proposing wording may benefit from a model. Checking that the approved account is still eligible needs an explicit rule. The framework should make those responsibilities clear enough to inspect and test.

Understand the different kinds of state

A conversation history records what an agent and user have said. Execution state records where a process has reached. Shared project knowledge records facts and decisions that may matter to several people or agents. These records can overlap, but they serve different purposes.

For the retirement notice, a conversation may contain an early draft. The execution record should say that a later version is awaiting approval. The company's customer record may establish that the account has since negotiated an exception. Continuing from the conversation alone could produce the wrong action.

When evaluating a framework, ask what it saves, where it saves it and how your application identifies the work being resumed. Check whether the selected storage survives a process restart. An example using memory inside one running process demonstrates behavior without establishing durable recovery.

Also ask how a person can inspect or correct the state. If an operator cannot tell which notice was approved, a technically successful resume is not enough to make the workflow usable.

A large construction excavation reveals an ordered grid of foundations, service passages and structural supports viewed from above.

Four framework approaches worth understanding

These are starting points for a shortlist. Check the documentation for the language, version and deployment you intend to use. Capabilities and defaults can differ between implementations.

FrameworkDocumented approachA useful evaluation question
LangGraphExplicit graph execution with checkpointed state and interruptsCan the team understand the saved state and resume the intended work safely?
CrewAI FlowsEvent driven flow control with state management and persistence optionsIs process control visible when agent tasks are combined with ordinary application steps?
Google ADKAgents supported by session, state and memory service abstractionsWhich information belongs to a conversation, and which should be available beyond it?
Microsoft Agent FrameworkAgents and explicit workflows, including workflow checkpointsDoes the checkpoint and deployment design support the team's actual recovery needs?

LangGraph: explicit execution and interruption

LangGraph's persistence documentation distinguishes checkpoints for a thread's graph state from stores for information outside that state. Its interrupt mechanism lets execution wait for external input and continue using saved state.

That is relevant when a team needs a visible boundary around human review. In the notice workflow, inspect how the approved draft is identified and what runs again when processing continues. LangGraph documents that an interrupted node restarts from its beginning on resume, so any work before the interruption needs careful treatment if it has external effects.

CrewAI Flows: process control around agent work

CrewAI Flows provides a way to connect steps through events, manage flow state and configure persistence. Agent work can participate inside a broader process.

For the example, examine whether gathering evidence, drafting a notice and preparing an approval request remain understandable as separate responsibilities. Verify the persistence configuration and the path used to reload a particular flow. A defined sequence should still be understandable when a step is retried, skipped or left waiting.

Google ADK: conversation context and memory services

Google ADK's context documentation separates a session, its state and memory beyond an individual conversation. The service implementation determines how that information is stored and made available.

This distinction matters if several account discussions feed one retirement program. Decide what belongs to each customer's conversation and what is shared across the initiative. Confirm persistence and access behavior in the selected services; the existence of a memory abstraction does not establish that every participant should see every customer record.

Microsoft Agent Framework: agents and workflow checkpoints

Microsoft Agent Framework combines agent building blocks with explicit workflows. Its workflow checkpoints save workflow state at defined execution boundaries and support continuation from saved progress.

For a process that waits on several account owners, investigate which pending requests and application state are captured. Then check what recovery requires in the chosen language and storage arrangement. A saved checkpoint and an external service's record of a sent message remain separate facts that must agree.

Test the awkward cases with one small exercise

Use the same fictional account records, proposed actions and expected outcomes for every shortlisted framework. Keep the model and tool interfaces comparable where possible, and record differences that prevent a fair comparison.

Begin with a notice awaiting approval. Stop the running application and continue the work in a new process. The operator should see the correct account, message version and review status without asking the model to reconstruct them.

Next, change an account's eligibility while approval is pending. The process should detect that the basis for the proposed action changed. An approval for the earlier situation should not silently authorize the revised action.

Then simulate an uncertain send result. The fake message service records a successful send but returns a timeout. A retry must check the existing result or reuse an identifier that prevents a duplicate send. Merely saving the agent's state cannot guarantee this behavior in an external service.

Finally, reject a draft and supply a correction. A reviewer should be able to identify the replacement, understand why it changed and confirm that the rejected version is no longer eligible for sending.

These are proposed acceptance checks, not results from tests performed for this article. They make the selection concrete: the team can see where a framework helps and where application logic, storage or an operator interface is still required.

An ordered row of intricate motor assemblies and pale structural frames extends through a spacious workshop under cool evening light.

Compare the operating burden as well as the demo

A framework that makes a prototype easy may still leave important production work to the team. Record the storage service, deployment process, monitoring, access checks and operational tools required for the design you tested.

Measure the time needed to understand a failed attempt and recover it. Keep model mistakes separate from missing data, tool errors and orchestration defects. Counting every failure as an AI problem obscures the part your engineers need to fix.

Inspect export and migration needs too. Can the team retain its business records and evaluation examples if it changes frameworks? Are important decisions understandable outside a serialized runtime object? A portable record of an approved notice is useful even if the execution system changes later.

Our guide to agent harnesses explains more of the software surrounding an agent. The article on AI orchestration examines how responsibilities and human decisions fit together. Both help separate a framework feature from the complete system a company needs to operate.

Keep shared work accessible beyond one runtime

An agent framework controls how a particular application executes. Teams also need a durable place for the objective, source material, discussion, outputs and decisions that several participants use.

Swarm Spaces support that shared work. For the notice program, a Space can retain the agreed scope, research, draft outputs and human decisions so authorized people and connected agents can continue from the same project context.

A team can build its execution logic in its chosen framework and use Swarm's API, MCP or SDK for authorized interaction with the Space. The integration still needs a clear mapping between an execution attempt and the records it creates or updates. Decide where approval is enforced and which system owns the actual send before connecting an external action.

This separation lets the team evaluate its execution technology without making every product decision or customer finding dependent on one agent session. It also gives people a place to review the work without needing to understand the framework's internal objects.

Wind shaped snow ridges stretch across a wide polar plain under soft violet daylight and a distant low horizon.

Choose on evidence you can revisit

Keep a short selection record: the workflow tested, the framework versions, the required services, the failed cases and the reasons for the decision. Record what remains untested, particularly external actions and recovery after partial failure.

There may be several acceptable choices. Prefer the one your team can explain, maintain and operate for the work at hand. A useful framework reduces the effort needed to build a dependable process while leaving its responsibilities visible to the people accountable for the result.

Swarm | AI agent frameworks: choosing for production work