Tutorials

Step-by-step, code-heavy guides for building AI agents.

84 posts

Agent frameworks

maxInvocations does not count failed tool calls

The beeai-framework docs say onlySuccessInvocations affects forceAtStep. It also silently scopes maxInvocations, consecutiveAllowed, minInvocations and onlyAfter. Measured end to end on 0.1.31, with a control arm on every group.

11 min read109
Agent security

SSRF: your AI agent's URL tool can reach your internal network (Node)

If your agent has a tool that takes a URL, the model chooses where your server connects. Measured end to end on Node 24 with no dependencies and no API key: the guard most people write fails four ways, including the IPv4-mapped IPv6 bypass behind CVE-2026-56266, which also defeated the first version of my own hardened guard.

14 min read188
Agent frameworks

How to test whether a LangGraph DeltaValue reducer survives a resume

On @langchain/langgraph 1.4.19 a DeltaValue field replays checkpointed writes through your reducer in larger batches than your graph produced. If the reducer reads the batching, the resumed state is not the state you ran, and nothing errors. Three runnable scripts: a ten-line invariance check, a run where six turns become one, and a sweep showing the damage sits in the tail.

10 min read172
Tutorials

tool_search finds nothing unless the path is the exact tool name

Measured on @openai/agents 0.18.0: the built-in client-side tool_search loader matches paths against tool names by exact string equality, and a miss returns zero tools with no error and no warning. The failure arrives one turn later as an error that blames the model.

9 min read188