Choosing a Framework Best Practices
Ten practices for evaluating and committing to an agent framework without over-committing early. Use them as a pre-ADR checklist and a quarterly review rubric.
Search across all documentation pages
Ten practices for evaluating and committing to an agent framework without over-committing early. Use them as a pre-ADR checklist and a quarterly review rubric.
Honest trade-offs beat vendor hype: optimize for operable control flow, team skills, and portable assets - not for the longest feature checklist.
AgentHost.run, shared schemas, and CI evals make future migration a project, not a crisis.| Criterion | Weight | Finalist A | Finalist B | Notes |
|---|---|---|---|---|
| Correct on golden cases | Must | |||
| Stop/timeout behavior | Must | |||
| Team can debug | High | |||
| Portable tools/schemas | High | |||
| HITL/resume fit | As needed | |||
| Observability quality | High | |||
| Time to first secure deploy | Medium | |||
| Dependency / upgrade risk | Medium | |||
| Cost per successful task | Medium | |||
| Conscious lock-in accepted? | High | Y/N + description |
| If you are leaning… | Ask hard |
|---|---|
| LangGraph | Are we ready to design state and edges, or are we cargo-culting graphs for a chatbot? |
| CrewAI | Do we truly need roles, or is this one agent in a trench coat? |
| Microsoft Agent Framework | Is MS ecosystem gravity a discount or a tax for us? |
| LlamaIndex | Are we solving retrieval, orchestration, or both - and who owns each? |
| Pydantic AI | Will typed single-agent services cover the roadmap for 6+ months? |
| Native Agents SDK | Is provider alignment a strategy or an accident? |
| Vercel AI SDK | What component owns durable tools, secrets, and long jobs? |
| No-code | Who reviews changes, secrets, and failure modes? |
| Custom | Who maintains the runtime when the author changes teams? |
| Anti-pattern | Why it fails | Better practice |
|---|---|---|
| Framework bake-off without shared tasks | Incomparable demos | Practice 6 |
| Choosing for resume lines | Unowned complexity | Practices 3 and 10 |
| Standardizing company-wide on day one | Ignores product diversity | Practice 14 with interfaces |
| Ignoring no-code out of pride | Wasted eng time on glue | Practice 10 |
| Migration without eval gates | Silent regressions | Practices 12 and 15 |
| "Temporary" super-agent with all tools | Security and lock-in | Practice 13 |
Items 1-10 are the core evaluation loop. Items 11-15 extend into commitment and operations so the choice stays honest after launch.
Spike two finalists on one real task with shared stop budgets and a written scorecard (practices 5-7). Everything else gets sharper after that.
Usually 1-2 engineering days per finalist for a thin agent, longer if enterprise auth and connectors are in scope. Time-box before perfectionism sets in.
No. Open source can still trap you in DSLs and state formats. Portability is about seams (tools, schemas, evals), not license text alone.
When finalists fail non-negotiables or add more escape hatches than features, and a named platform owner will maintain the loop. See Framework-Free vs Framework-Based.
ADR revisit triggers tied to metrics, not vibes. New blogs are not triggers; repeated max-turn incidents or compliance gaps might be.
Yes if interfaces and observability fields are shared. Document the split so support paths stay clear.
Patterns first (ReAct, plan-execute, multi-agent), framework second. A framework that fights your pattern is a bad fit regardless of popularity.
One page is enough: context, finalists, scorecard link, decision, conscious lock-in, revisit triggers. Formality scales with blast radius.
A multi-agent graph platform deployed for a single tool call that a 50-line loop handled with equal quality and lower cost.
Never for technical fit. Procurement can constrain the shortlist; spikes still validate operability.
Gateways help model portability and cost routing. They do not replace orchestration evaluation, tool design, or stop policies.
Stack versions: Pins from the category manifest (verify at build): OpenRouter (~315+ models, July 2026 pricing/fees); LangGraph 1.0+; CrewAI 1.14+; Microsoft Agent Framework 1.0; Vercel AI SDK 6; Pydantic AI (latest); LlamaIndex (latest); OpenAI Agents SDK (latest + MCP); MCP (Linux Foundation governance); A2A (HTTP+SSE+JSON-RPC 2.0); Solana
@solana/web3.js+@solana/spl-token.
Reviewed by Chris St. John·Last updated Jul 16, 2026