Skip to main content

9.3.1 工具路线图:Schema、权限、观察

工具让 Agent 从语言走向行动。更多工具不会自动让 Agent 更强;不清楚的工具会带来错误调用、不安全动作、循环和成本泄漏。

先看行动边界

Agent 工具行动层地图

Agent 工具章节学习顺序图

Agent 受控工具调用闭环图

工具调用必须受控:选择工具、校验参数、检查权限、执行、观察,再决定下一步。

跑一个工具 Schema 检查

执行任何工具调用前,先使用 schema。

tool_call = {
"name": "search_course_docs",
"args": {"query": "RAG evaluation", "top_k": 3},
}

schema = {
"name": "search_course_docs",
"required": ["query", "top_k"],
"max_top_k": 5,
}

name_ok = tool_call["name"] == schema["name"]
args_ok = all(field in tool_call["args"] for field in schema["required"])
limit_ok = tool_call["args"]["top_k"] <= schema["max_top_k"]

print("can_execute:", name_ok and args_ok and limit_ok)
print("observation_needed:", True)

预期输出:

can_execute: True
observation_needed: True

工具运行后,Agent 必须观察并总结结果。不要让模型假装失败的工具已经成功。

按这个顺序学

步骤阅读实操产出
1Function Calling把模型意图转成结构化行动
2工具描述写清用途、输入、限制、示例和失败模式
3工具策略选择工具顺序、fallback、timeout 和停止规则
4工具安全加入权限、沙箱、审计和人工确认
5多工具实战记录成功和失败调用 trace

通过标准

如果你能阅读工具 trace,并判断失败发生在规划、参数、执行、观察还是权限控制,就通过了本章。

本章出口小项目是一个学习助手:包含 3 个工具 schema、5 个测试调用、1 条失败调用记录和一份可打印 trace。