Skip to content

Agent frameworks and orchestration

How do you add a model to an app without handing it control?

Give the model one bounded job, such as drafting a title. Keep the proposed change separate and ask an authorized person to approve it before the app saves anything.

When do you need an agent framework?

Use ordinary application code when the steps are already known. Add a model where it helps with a judgment or draft, such as suggesting a clearer title for a workshop listing.

If all you need is to save a title the editor typed, a normal form can do that. If you want to suggest a title from a short description, start with one model reply. Consider a framework when the app needs to track tool calls, approval or progress across several steps.

Where should a person check the work?

Show the proposed change to someone allowed to approve it before any write. The app should save only the exact change that person approved and should do nothing if they decline.

On paper, write “Saturday Pottery” as the current title and “Intro to Wheel Throwing” as the proposal. Make one card for the old title, one for the proposed title and one for the reviewer’s decision. Neither drafting nor opening the review changes the listing.

Compare tools

Scroll the table sideways to read every column.

Compare model steps, human approvals and saved progress
ToolWhere does it fit?Match the tool to your existing app and the kind of workflow you need.How does review work?Look for the point where a person can decide before any change.What keeps your place?Check what the library stores and what your app still needs to hold.What can add cost?Separate the library from models, hosting and other services.
Vercel AI SDKTypeScript library for adding model calls and tools to a web app.Configure approval for the tool. The app handles the reviewer’s decision.Keep the draft and pending decision in your app.The library is open source. Model and hosting charges are separate.
OpenAI Agents SDKPython SDK for agent runs with tool calls and pauses.A run can stop for a decision before a configured tool executes.The SDK can serialize the paused run. Keep it in trusted server storage.The Python package is MIT-licensed. Model, tools and hosting can add cost.
LangGraphGraph library for explicit steps and alternative paths.An interrupt can wait for an editor. Keep writes after approval.Configure persistent checkpoints. The interrupted step starts again on resume.The library is MIT-licensed. Hosting, storage and model services are separate.
Pydantic AIUse the Python framework for structured output and tool calls.Defer a specific proposed call and ask your app’s authorized reviewer.Save what the waiting run needs. Compare snapshots with a durable execution engine.Check model calls, hosting, storage and any separate durable runtime.
Claude Agent SDKUse the Claude-based SDK inside an app you build.Limit available actions and check who may authorize them.Resume saved conversation history. Keep app approvals separately.Count model usage and the environment running the SDK.
Google Agent Development KitChoose the Google SDK and features supported in your app’s language.Use an action confirmation where supported and check app permissions.Ordinary sessions can use persistent storage. The built-in database and Vertex AI services do not support action confirmations.Budget for model calls, hosting and the session store.
LlamaIndexUse Python workflow steps near a document retrieval system.Pause for human input and return the person’s answer to the waiting step.Save workflow context separately from original files and the app’s decision records.MIT framework. Price models, storage and hosting separately.
DifyDraw steps and branches in a visual workflow.Use a review step and check who can respond and when it times out.Check your version and deployment before depending on a paused run. Keep business records separately.Compare cloud workspace and model units with self-hosted operation and terms.
MastraBuild TypeScript workflows and model-assisted tools.Pause for a matching approval decision or missing input.Choose persistent storage if a suspended run needs to survive a restart.Apache 2.0 core and separate Enterprise terms. Price models, runtime and storage.
CrewAIArrange distinct Python tasks with an ordered flow or branches.Ask for feedback at the selected step and keep the reviewed version.Check persistence for flow state and pending feedback on your version.MIT core. Budget for model calls, hosting and storage.

What happens if the reviewer returns later?

Keep the pending decision in the app so it can show the same proposal later. Check that the reviewer still has permission and that the original record did not change while the draft waited.

Trace four outcomes on paper: approve, decline, record changed while waiting, and approve pressed twice. The last case should still produce one saved edit. If the record changed, stop and show a new proposal for review. No account, real data or external tool is needed.

What still needs a decision after choosing a framework?

Decide where the draft, approval and final result live, and what information the model or any run logs receive. The framework helps coordinate steps. Your app still decides who can see or change the record.

Count model requests and the services you run separately from the library. Keep credentials and customer data out of examples and check what gets written to logs before adding a real model or storage service.