Part 2 of 6 · 3 min read
Definitions and setup
Covers: Definitions; Three paradigms; A capability checklist.
Definitions
Framework, SDK, runtime
- Framework: a library that supplies structure for building agents (a loop, a graph, or roles) plus helpers.
- SDK: a vendor library for using that vendor's service; the agent SDKs here also include a loop.
- Runtime: the process that executes the loop, executes tools and holds state while it runs.
Checkpoint, thread, durable execution
- Checkpoint: a saved snapshot of the agent's state after a step.
- Thread: the identifier that groups the checkpoints of one conversation or run.
- Durable execution: running so that a crash resumes from saved progress. It is the property; checkpointing is one way to get it (module 7).
At-least-once, idempotency key, side effect
- Side effect: a change in the outside world (a refund, an email).
- At-least-once execution: a step may run again after a crash, so it can run more than once.
- Idempotency key: a unique id sent with a request so that the receiver ignores a repeat. At-least-once plus an idempotent receiver gives an exactly-once effect (module 3).
Handoff, agent-as-tool, guardrail, trace
- Handoff: control passes to another agent, which continues the conversation.
- Agent-as-tool: a manager calls another agent like a function and keeps control.
- Guardrail: a check on inputs or outputs that can stop a run.
- Trace: a recorded tree of model calls and tool calls for one run.
Three paradigms
One published assessment says CrewAI and the OpenAI Agents SDK suit early prototypes while LangGraph and AutoGen suit scalable production. I did not test that, and it will date.
A capability checklist
Ask these of any framework. The right-hand column is what to check in current documentation, because I cannot give a stable answer.
| Capability | Why it matters | What to check |
|---|---|---|
| State and persistence | resume after a crash; memory across turns | where state is stored, how it is keyed, how old state is pruned |
| Pause and resume | approval before irreversible steps | is a pause a first-class feature or a workaround |
| Control flow | loops, branches, parallel work | explicit graph, or the model decides |
| Multi-agent | handoffs, delegation | context passed, who answers the user |
| Tools and protocols | MCP, function schemas | validation, parallel execution, error format |
| Guardrails and permissions | stop bad inputs, outputs, calls | run in parallel or before; deny rules |
| Observability | debug and evaluate | traces, cost and token reports, export |
| Provider portability | avoid lock-in | non-native models supported, and to what depth |
| Deployment | where it runs | library, hosted service, languages |
As examples of the documented facts above: the Claude Agent SDK reports total_cost_usd, usage and turn count on every result and caps turns and spend; LangGraph documents checkpointers, threads and human-in-the-loop as one persistence mechanism; the OpenAI Agents SDK lists handoffs and guardrails as primitives and, by default, uses OpenAI's Responses API with adapters for other providers. Whether each is good enough for your case is for you to test.