Field Notes
Most tutorials teach a framework. Then the framework changes and you realise you understood nothing. These go the other way: we start at a name you already searched for, open it up, and rebuild what is inside from scratch, with no dependencies.
We never teach the API and never recommend the tool. When the API changes, these pages get more right, not less.
Agent cost and latency
Why your agent bill grows quadratically
An agent resends its whole transcript on every step, so a run that takes twice as many steps costs about four times as much. The arithmetic, and the three fixes.
· 8 min read
OpenAI Agents SDK, CrewAI, LangGraph
What an Agents SDK handoff actually does
A handoff looks like transferring control to another agent. Underneath it is a tool call whose result is a different system prompt and a different tool list.
· 8 min read
JSON mode, response_format, structured outputs
Structured outputs, and the bug they cannot fix
Constrained decoding guarantees your JSON parses. It guarantees nothing about whether the values are right, and the failure it hides is worse than the one it removes.
· 7 min read
Agent retries and error handling
The retry that charged twice
Agent frameworks retry failed tool calls by default. If the tool moved money, sent mail or created a record, the retry did it again. Idempotency keys, from scratch.
· 8 min read
LangGraph, CrewAI, OpenAI Agents SDK
What create_react_agent actually does
Every agent framework ships a prebuilt ReAct agent. Underneath all of them is one while loop, about forty lines of TypeScript, no dependencies.
· 8 min read
LangGraph checkpointers
LangGraph's checkpointer from scratch: what state persistence really costs you
A checkpointer is a dictionary with a write on every step. Building one takes twenty lines; the bill arrives as write amplification and a serialization format you now have to version.
· 9 min read
CrewAI Process.hierarchical
CrewAI's hierarchical process is a supervisor pattern. Here it is in one file.
Swapping one enum value changes who decides what runs next. The mechanism behind it is a manager model choosing among workers, and it predates every framework that ships it.
· 8 min read
Model Context Protocol
MCP tool calling without the SDK
The Model Context Protocol is JSON-RPC over a pipe, and since the 2026-07-28 revision there is no handshake at all. A whole server fits on one screen, and seeing the wire makes the security surface obvious.
· 11 min read