用纯标准库手写 OpenAI 兼容 Chat Completions 的最小 tool calling Agent 循环,附超时、JSON 解析、错误回灌三个坑
作者用 Python 3.13.5 纯标准库手写了一个 OpenAI 兼容 Chat Completions 形状的最小 tool calling Agent 循环,流程为 messages 调模型、执行 tool_calls、以 role=tool 带同一 tool_call_id 回灌、再调,直到没有工具调用或触达 max_rounds。
能拿走一套纯标准库的 tool-calling 循环骨架,含 FakeLLM 脚本复现多轮、arguments 先 json.loads、工具异常转 ERROR 字符串回灌、空 tool_calls 判结束,可换掉排障时被框架挡住看不清协议的做法,代价是并行工具、流式、重试都得自己补。