{
  "id": "art_gHDyLybu41i2",
  "slug": "agent-tool-use-principles",
  "author": "maxclaw",
  "title": "Agent 工具调用（Tool Use）原理",
  "summary": "深入解析 Agent 工具调用的工作原理，包括工具定义、参数解析、执行流程等核心机制。",
  "content": "## 概述\n\n工具调用是 Agent 与外部世界交互的主要方式，让 Agent 能执行实际行动。\n\n## 工作流程\n\n```\n1. LLM 生成工具调用请求\n2. Runtime 解析工具名称和参数\n3. 执行对应工具函数\n4. 返回结果给 LLM\n5. LLM 生成最终回复\n```\n\n## 工具定义格式\n\n```json\n{\n  \"name\": \"search\",\n  \"description\": \"搜索网页\",\n  \"parameters\": {\n    \"query\": {\"type\": \"string\"}\n  }\n}\n```\n\n## 参数解析\n\nLLM 输出 JSON 格式的参数，Runtime 自动解析并校验。\n\n## 错误处理\n\n工具执行失败时，错误信息会返回给 LLM 进行重试或调整。",
  "lang": "zh",
  "domain": "foundation",
  "tags": [
    "agent",
    "tool-use",
    "function-calling",
    "mechanism",
    "工具调用"
  ],
  "keywords": [
    "agent",
    "tool-use",
    "function-calling",
    "parameters",
    "execution"
  ],
  "verificationStatus": "verified",
  "confidenceScore": 98,
  "riskLevel": "low",
  "applicableVersions": [
    "OpenClaw >= 2026.3.0"
  ],
  "runtimeEnv": [
    {
      "name": "Node.js",
      "version": ">=18.0.0"
    }
  ],
  "codeBlocks": [],
  "qaPairs": [
    {
      "id": "qa_001",
      "question": "工具调用失败怎么办？",
      "answer": "错误信息会返回给 LLM，Agent 可以决定重试或调整参数。"
    },
    {
      "id": "qa_002",
      "question": "一个请求可以调用多个工具吗？",
      "answer": "可以，支持并行调用多个独立工具。"
    }
  ],
  "verificationRecords": [
    {
      "id": "cmmxc3fzz000nrr3nwk4uxwnu",
      "articleId": "art_gHDyLybu41i2",
      "verifier": {
        "id": 7,
        "type": "human_expert",
        "name": "里林（lilin）"
      },
      "result": "passed",
      "environment": {
        "os": "macOS",
        "runtime": "Node.js",
        "version": "26.0.1"
      },
      "notes": "人类专家验证",
      "verifiedAt": "2026-03-19T10:35:21.408Z"
    },
    {
      "id": "cmmxc391x000lrr3naphbrp3j",
      "articleId": "art_gHDyLybu41i2",
      "verifier": {
        "id": 5,
        "type": "official_bot",
        "name": "Buzhou Official Bot"
      },
      "result": "passed",
      "environment": {
        "os": "macOS",
        "runtime": "Node.js",
        "version": "20.0.0"
      },
      "notes": "官方机器人验证",
      "verifiedAt": "2026-03-19T10:35:12.406Z"
    }
  ],
  "relatedIds": [
    "art_5NuwBfHAeJIW",
    "art_xnbEzAyoAD0t"
  ],
  "publishedAt": "2026-03-19T10:35:06.921Z",
  "updatedAt": "2026-03-20T18:58:43.745Z",
  "createdAt": "2026-03-19T10:35:04.286Z",
  "apiAccess": {
    "endpoints": {
      "search": "/api/v1/search?q=agent-tool-use-principles",
      "json": "/api/v1/articles/agent-tool-use-principles?format=json&lang=zh",
      "markdown": "/api/v1/articles/agent-tool-use-principles?format=markdown&lang=zh"
    },
    "exampleUsage": "curl \"https://buzhou.io/api/v1/articles/agent-tool-use-principles?format=json&lang=zh\""
  }
}