All articles

AI agent frameworks: choose what your team can own

Compare documented framework, hosting and saved-state choices. Use an ownership record and handover exercise to choose an agent system your team can maintain.

Frame from Monkey Go's transport case film showing a system board, an AI robot and a shelf of company knowledge.
From Monkey Go's transport case film: a shared system, company knowledge and an AI agent support operational questions. The frame does not depict the frameworks compared here.

Choose AI agent frameworks by asking what your business will receive, where unfinished work will be saved and who will maintain it. A working demonstration answers only part of that question. Your team also needs a way to operate the application after the original developer leaves.

This guide assumes you have already identified a task that needs custom agents. It compares documented choices in LangGraph, Microsoft Agent Framework and Mastra, checked on 22 October 2026. These are examples for a shortlist, not a ranking or results from product tests.

Use the comparison with the person responsible for your software. The buying decision concerns the complete application, including its code, hosting, stored state and support arrangements.

Define the application you need to own

Start with one proposed job: prepare an internal operations handover from approved job records. A person checks the brief before it becomes the team's working reference. This is an illustrative design, not a reported customer result.

The application might use one agent to gather information and another to check an output. That design must earn its extra complexity. Ask what each agent contributes and what happens when their work disagrees. Multiple agents do not, by themselves, establish a better result.

Record the language and skills your technical team can support. Also identify the systems that hold the approved records. A framework choice that requires unfamiliar infrastructure creates work beyond writing the first agent.

If the task still needs an architectural decision, use our workflow, knowledge and agent comparison first. Here, you are choosing how to build and maintain the agreed design.

Separate code, runtime and saved state

A framework supplies programming components. A runtime executes the application. A hosting service may operate parts of that runtime. Keep these choices separate when comparing agentic AI frameworks.

Saved information also has different purposes. A checkpoint can describe unfinished workflow execution. A conversation record can preserve previous messages. Shared business knowledge may sit in another store. A trace can help explain what happened. One of these is not automatically a backup of the others.

Ask the builder to draw these parts and name their owners. Include model accounts, tool connections and any external data service. Mark which parts exist only on a developer's machine.

An open source AI agent framework does not settle the hosting arrangement or the cost of running the finished application. Confirm the exact package, licence terms, services and support scope separately. Access to a repository also does not prove that the business can recover its current work.

Compare three documented routes

LangGraph: choose the persistence and deployment arrangement

LangGraph's persistence guide distinguishes thread-scoped checkpoints from stores that hold application data across threads. Its Python memory saver examples keep checkpoints in RAM. Those checkpoints disappear when that process restarts, so the example alone does not demonstrate durable storage.

For our handover task, ask where a paused run would be saved and how the receiving operator would identify it. Separately identify the source records and any shared memory. Recovery also depends on the checkpoint-writing mode and backend. Request evidence using the proposed configuration, rather than accepting a demonstration that never restarts.

LangSmith Deployment adds another choice. Its deployment overview describes cloud, hybrid and self-hosted arrangements. The standalone Agent Server route requires the operator's PostgreSQL, Redis and LangSmith licence, without a control plane.

For that standalone server specifically, the deployment guide rules out serverless: scaling to zero can lose tasks. It recommends maintained Kubernetes/Helm for production. Its Docker/Compose examples cover development and testing; other orchestrators leave the documented gaps for your team to maintain.

Those requirements concern that server product. They are not a blanket requirement for every use of the LangGraph library. Record whether the proposal includes the library in your own application or an Agent Server deployment, then assign responsibility for the actual components.

Microsoft Agent Framework: check the successor and the host

Older comparisons may recommend AutoGen. The current Microsoft AutoGen repository prominently states that Microsoft no longer maintains the project and directs new users to Microsoft Agent Framework. Treat an existing AutoGen application as a migration question, rather than assuming an old recommendation describes the current supported route.

Microsoft's hosting overview separates Foundry Hosted Agents from self-hosting. In the managed route, Microsoft operates the listed hosting infrastructure, while your team still operates its agent code and Foundry configuration. With self-hosting, the application team takes responsibility for routing, storage, deployment, scaling and other listed functions. The page marks current Python self-hosting packages as prerelease; check the exact package you would use.

The workflow checkpoint guide also distinguishes Python memory, local-file and optional Cosmos DB storage. It requires compatible workflow structure and executor identities when restoring a workflow. Details differ between SDKs, so the builder should identify the applicable language and version.

A useful proposal therefore names the host and storage, explains any migration work and shows how the intended version restores a saved case. A familiar vendor name cannot replace that evidence.

Mastra: separate the application from platform services

Mastra's deployment guide describes running an application in a Node.js-compatible environment, as a standalone service or within a web framework. It also offers a hosted route. A listed deployment path does not establish that every dependency and long-running task fits every possible host.

Its platform overview separates Observability, Studio and Server products. Monitoring an application and hosting its execution are different services. Ask which, if any, the proposal includes, and which accounts the business will control.

For workflow pauses, Mastra's suspend and resume guide describes snapshots in configured storage and recovery through the relevant workflow and run identity. Resume input must match the expected schema. Retaining access to that state is a dependency to verify, not proof that any application can move unchanged between vendors or versions.

For the handover example, request a saved run that another operator can find and resume in the agreed environment. Record the storage and version used. Do not describe this proposed check as automatic recovery already demonstrated.

Copy an ownership record for each proposal

Complete one record with the builder. Put a document or demonstration reference beside each answer.

  • Application: [business task, included outputs and excluded actions].
  • Code and version: [repository, release reference, package versions and build instructions].
  • Runtime and host: [execution service, environment and account owner].
  • Saved state: [checkpoints, conversations, shared data and the store for each].
  • Configuration: [settings, connection references and who can supply approved credentials].
  • Maintenance: [person responsible for changes, storage care and failed work].
  • Transfer evidence: [receiving operator, proposed environment, required artefacts and unresolved steps].

Avoid a single answer such as “everything is in the cloud”. Name the service and the business account. Keep secrets out of the comparison document; record how an authorised operator obtains them through the agreed process.

Mark each answer as documented, demonstrated or unresolved. A link to a capability proves less than a demonstration using your proposed configuration. An unresolved dependency needs an owner and a decision date.

Ask for a handover demonstration

Use a small set of invented records. Agree the expected result before the builder runs the demonstration. The following sequence is a proposed acceptance exercise, not a test we have performed.

First, ask a receiving operator to build the named application release from its handover material. The operator should identify the host, configuration and state store without relying on the original developer's personal session.

Next, prepare a handover brief and pause it at an agreed point. Record its run reference and the evidence already gathered. Stop the application process under controlled test conditions, then follow the documented restart and recovery route.

Check the recovered work against the expected state. Which records were retained? Which steps still need input? Can the operator explain whether the application resumed the same run or started a new one? A new successful run does not establish that unfinished work survived.

Then consider a transfer to the intended receiving environment. Identify what must move, what must be configured again and what should remain in its original system. Treat transfer as a separate check from restarting on the same host. The documentation above does not establish universal state portability.

Record the outcome in four fields:

  • Expected: [release, saved case and next permitted step].
  • Observed: [actual state, operator evidence and remaining work].
  • Gap: [missing artefact, incompatible state or undocumented dependency].
  • Decision: [accept, resolve and repeat, or reject this route].

Do not use this exercise to widen the agent's permissions. Our agent approvals and recovery guide covers those operating controls. Here, the question is whether another responsible person can run the agreed application.

Make maintenance visible before choosing

Ask what happens when a package changes, a model connection needs attention or the state store approaches its capacity limit. These are separate maintenance jobs. The same person does not necessarily own them all.

Keep a short change record with the current release, proposed change, affected saved cases and checks to repeat. If a workflow's structure or state format changes, ask the builder how unfinished runs will be handled. Do not assume that deploying new code upgrades every old checkpoint.

Include ordinary operating work in the comparison: checking paused runs, reviewing failures, managing credentials and restoring data when required. Distinguish a supplier's support commitment from work assigned to your staff. A hosted service can reduce infrastructure work without taking responsibility for your business instructions or output quality.

Compare setup and ongoing effort over the same period. Keep model usage, hosting, storage, support and staff review separate. Use quoted or observed inputs where available, and mark unknowns. This guide provides no price benchmark or promised saving.

For complex workflows, request an agreed workload test before accepting a capacity claim. Framework documentation is not a performance test of your application, data and hosting arrangement.

Choose, simplify or defer

Choose a route when the team can explain the application boundary, its persistent state and its operating responsibilities. The proposal should also identify what another operator needs to take over.

Simplify when the design uses multiple agents without a clear contribution from each one. Multi-agent orchestration adds coordination to maintain; a single bounded agent or an ordinary function may meet the requirement. Make that decision from the task and evidence, not a label.

Defer when an essential dependency remains unresolved. Examples include a state store held in a personal account, a missing recovery procedure or a package version the receiving team cannot support. Deferral should name the missing evidence and who will obtain it.

Which AI agent frameworks are best for building scalable multi-agent systems in production?

The useful choice depends on your technical team's skills, the workflow's state requirements and the hosting responsibilities the business can support. Compare LangGraph, Microsoft Agent Framework and Mastra against the same ownership record and proposed recovery exercise. Their documented routes give you specific questions to resolve, not a universal winner.

For production use, ask for evidence from the intended configuration. Confirm the applicable package versions, persistent storage and support arrangements. No framework name proves that a particular multi-agent system will scale or transfer safely.

The Monkey Go transport case film shows a shared job system, company knowledge and an AI agent working together. It illustrates a business application, not a demonstration of the frameworks compared here.

Discuss your agent project with Monkey Go. Describe the task, your current technical support and what your team needs to own after handover.

Have a workflow in mind?

Let’s talk