Ren Okabe

Author

Ren Okabe

Ren builds agent infrastructure and writes copy-paste tutorials for engineers shipping LLM tool-use systems.

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 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

Your VoltAgent script never exits

Measured on @voltagent/core 2.11.0: the first agent call lazily starts three setInterval timers that are never unref'd, so your Node process stays alive forever. Two of them poll 20 times a second. Here is the reproduction, the cause and the fix.

12 min read144
Tutorials

generateText defaults to one step, so your agent returns an empty string

On ai 7.0.116, generateText and streamText run exactly one step by default. Pass tools without stopWhen and the model calls a tool, your tool runs, and you get an empty string with no error. The same package defaults ToolLoopAgent to twenty. Measured on the wire, with the bundle lines that cause it.

9 min read159
Tutorials

Argument injection: your AI agent's allowlisted shell tool is not safe (Node)

You gave your agent a shell tool, used execFile so there is no shell, and allowlisted the programs. It is still not safe. If the agent controls the argument array, tar's own --checkpoint-action=exec runs any command with no metacharacters. Here is the reproduction and the per-binary argument policy that stops it, measured on Node 24.8.0.

7 min read169