Explore
Comparisons and explainers
Fair comparisons of the tools, honest notes on running frameworks in production, and plain explanations of the concepts behind customer-facing AI agents.
Comparisons
- ComparisonBest AI agent platforms for SaaS teamsNine AI agent platforms for SaaS teams, sorted by language and how much of the loop you own, then by whether customers use the agent and it is multi-tenant.
- ComparisonLangfuse alternatives for customer-facing agentsLangfuse is a good trace store. The narrow reasons to switch, a comparison of LangSmith, Phoenix, Braintrust, Helicone and Datadog, and the multi-tenant case.
- ComparisonLangfuse vs LangSmith, and the third question neither answersLangfuse vs LangSmith on tracing, evals, prompts, self-hosting and price, with a pick for each team, and what changes when the agent is customer-facing.
- ComparisonLangGraph alternatives, honestly comparedWho should stay on LangGraph and who wants Mastra, Pydantic AI, a provider SDK or a platform, compared on loop ownership, state, tenancy, surfaces and evals.
- ComparisonLangSmith alternatives without the LangChain lock-inFive LangSmith alternatives compared (Langfuse, Phoenix, Braintrust, Helicone, Runtype), what a migration involves, and how OpenTelemetry decouples you.
In production
- In productionAgent frameworks compared, and the layer none of them coverLangGraph, Pydantic AI, Mastra, the OpenAI and Claude Agent SDKs and the Vercel AI SDK compared on loop ownership, durability and the serving layer.
- In productionEvals and cost attribution for an OpenAI Agents SDK appThe OpenAI Agents SDK gives you handoffs, guardrails, sessions and tracing. What you add when the agent serves paying accounts across many tenants.
- In productionLangfuse, LangSmith and Braintrust comparedLangfuse, LangSmith and Braintrust do overlapping jobs. What each is best at, which one to keep, and the per-account layer none of the three covers.
- In productionPydantic AI in production: evals, cost and tenancyPydantic AI gives you typed dependencies and validated output. What a Pydantic AI service still needs in production: tenant context, cost and evals.
- In productionRunning LangGraph agents multi-tenantLangGraph owns the loop, the state schema and every edge. Where tenant identity rides through config, checkpointers, the store, traces and cost.
- In productionShipping a Claude Agent SDK agent to customersThe Claude Agent SDK gives you Anthropic's agent loop, tools, permission modes and hooks. What you add when the agent serves customers across accounts.
- In productionVercel AI SDK for the interface, what runs behind itThe Vercel AI SDK is a strong interface and streaming layer. Where its seam sits, and how to put an agent runtime, tenancy, evals and surfaces behind it.
- In productionWhat Mastra covers, and what customer-facing agents still needMastra covers TypeScript agents, workflows, memory and evals. What a Mastra app still needs once outside customers use it: tenancy, config and cost.
Explainers
- ExplainerAgent or workflow: a decision rule that holds up in productionWhen a model should choose the next step and when your code should, four tests that decide it, worked examples, and how the two shapes nest inside each other.
- ExplainerBuild or buy: what an AI platform layer actually has to doThe ten jobs an AI platform layer has to cover, what each one costs to keep running, the three conditions that justify building, and a scoring rubric.
- ExplainerGuardrails that still hold when the model changesWhich AI guardrails break when you swap models, which hold, and a test procedure that proves the difference before the new model reaches customers.
- ExplainerHow much should an agent remember, and where should that liveAgent memory is five stores that get built as one. What belongs in the conversation window, a summary, long-term facts, documents and records.
- ExplainerHow to map an AI feature onto the NIST AI RMF and the EU AI ActA feature-level mapping from NIST AI RMF functions and EU AI Act obligations to controls you configure, plus the artifact that evidences each one.
- ExplainerHow to price an AI feature when your cost is variableSeat pricing assumes flat marginal cost. Five ways to price an AI feature when it does not: bundled, seat uplift, credits, usage-based, outcome-based.
- ExplainerLLM-as-a-judge: when to trust it, and how to check the judgeWhen a model grader can be trusted, the biases that move its scores, how to calibrate one against human labels, and which checks to keep deterministic.
- ExplainerMCP or a plain API: which one should you expose to agentsMCP and a REST API answer different questions. How they differ on discovery, schemas, auth, state and streaming, and when to expose one, the other or both.
- ExplainerPrompt caching: what it saves, and where it quietly breaksHow prefix caching works across providers, what silently invalidates a cached prefix, what reads and writes cost, and how to measure hit rate.
- ExplainerWhat an MCP server is, and when your product needs oneAn MCP server offers tools, resources and prompts over JSON-RPC. What the protocol defines, what it leaves to you, and how to decide whether to build one.
- ExplainerWhen a multi-agent system helps, and when it is just more surface areaFour reasons to split one agent into several that hold up, the ones that do not, and the handoff, budget and tracing mechanics that decide the result.
- ExplainerWhen to route to a cheaper model, and how to know it is safeRoute on task class rather than guessed difficulty, pick one step to downgrade, prove it with two arms over the same eval cases, and keep a rollback.
- ExplainerWhy AI pilots stall at 80%, and what the last 20% actually isThe last 20% of an AI pilot is six blockers with six artifacts: a quality bar, an eval report, a cost model, a data-flow map, an escalation design, an owner.