{
  "path": "/tutorials/langgraph-tool-calling",
  "reviewedAt": "2026-10-23",
  "version": "langgraph1.2.16/langchain-openai1.7.2",
  "status": "partial-local-tool-loop-pass-gateway-not-run",
  "sourceURLs": [
    "https://docs.langchain.com/oss/python/langgraph/quickstart",
    "https://docs.langchain.com/oss/python/integrations/chat/openai"
  ],
  "validationScope": "真实LangGraph1.2.16 StateGraph执行LLM→tools→LLM，模型产生add_items(17,25)，实际ToolMessage为42，随后最终回答，退出0；不是用预制AIMessage或FakeChatModel替代推理。 网关分支未执行：独立真实探针确认当前测试Key的Gemini组429后停止新增请求，没有伪造网关tool_call。",
  "bodySteps": [
    "定义add_items蓝色/红色整数工具并bind_tools。",
    "StateGraph保留add_messages；LLM节点返回真实AIMessage。",
    "只有tool_calls存在才进入工具节点，按工具名白名单执行真实函数，ToolMessage携带同一tool_call_id。",
    "工具结果返回LLM节点；recursion_limit=6限制循环。",
    "对17+25输入保存所有消息，必须出现真实ToolMessage 42才算工具执行通过。",
    "网关分支必须重新用有效账户、准确模型ID实跑两轮工具请求才能验证。本次当前测试Key的Gemini分组独立探针429，已停止新请求，本地工具循环成功不能证明公网工具协议可用。"
  ],
  "files": [
    {
      "file": "README.md",
      "bytes": 609,
      "sha256": "6eb9d6ecf0ebcbe7288548a4b4e9c0a096535a9ae890fe5877cbb62888c1bc0b"
    },
    {
      "file": "input.json",
      "bytes": 95,
      "sha256": "8f0add780ec1363b398bcdfed6f2c39758247d8c6fdd2d3cd8c9dfe49755fdbe"
    },
    {
      "file": "requirements.txt",
      "bytes": 845,
      "sha256": "1c58c544638674053ee72e82af2ebde1b3b06bb0fcf8a02eee5ffcee682988ac"
    },
    {
      "file": "run-execution.json",
      "bytes": 3988,
      "sha256": "6b42f2a12cb004aceb3eb601803d6a862f3b216a4058489d3c1f8467bd0e58c7"
    },
    {
      "file": "run.py",
      "bytes": 1762,
      "sha256": "9faa1625d0c6e2c762ce406752146b0fcbea5f9cdd8e2d8dc9cb77a3e67b5e68"
    }
  ],
  "privateCredentialsPublished": false,
  "commands": [
    "python -m pip install -r requirements.txt",
    "python run.py"
  ],
  "observations": [
    "真实LangGraph1.2.16 StateGraph执行LLM→tools→LLM，模型产生add_items(17,25)，实际ToolMessage为42，随后最终回答，退出0；不是用预制AIMessage或FakeChatModel替代推理。 网关分支未执行：独立真实探针确认当前测试Key的Gemini组429后停止新增请求，没有伪造网关tool_call。",
    "模型为本次隔离Ollama原生导入的明确别名tutorial-qwen3-proof；权重和原始请求/响应留档。",
    "网关分支未发起：当前测试Key的Gemini组独立探针429后停止新增请求。"
  ],
  "limits": [
    "只证明对应SDK和本地模型的本题任务，不证明apizt公网账户、Claude或所有模型均可用。",
    "本次小样例通过不能推断复杂工具、多轮高风险任务也可靠。",
    "仅本地工具回路有真实成功，未验证公网工具协议，不伪造tool_call或网关成功。"
  ],
  "tokenbaTestKeyUsed": false,
  "timeoutInferenceUsage": "本地路线；没有使用apizt测试Key。",
  "modelProvenance": "隔离Ollama0.40.9；模型为官方Qwen3:0.6b完整GGUF，经原生ollama create导入为tutorial-qwen3-proof，非完整OCI pull成功。权重SHA256 7f4030143c1c477224c5434f8272c662a8b042079a0a584f0a27a1684fe2e1fa，522640096字节；原生自动识别模板，capabilities tools/thinking/completion。"
}