Agent工具调用Tool Use
入门·10 分钟·通过可运行代码讲解「Agent工具调用Tool Use」,覆盖环境准备、核心代码、参数说明、异常处理、工程化改造和练习任务,适合 AI 编程入门。
Agent工具调用Tool Use
Tool Use 指让 AI 根据任务调用外部工具。它是 Agent 能真正执行任务的关键。没有工具,模型只能生成文本;有了工具,模型可以查询、计算、检索和操作系统。
工具是什么
工具本质上是程序函数。例如:
- 查询天气;
- 搜索文档;
- 查询订单;
- 执行计算;
- 读取文件;
- 创建日程。
模型不直接执行这些函数,而是提出调用请求,由你的程序执行。
工具设计原则
一个好工具应该:
- 名称清楚;
- 描述明确;
- 参数少而准确;
- 返回结构稳定;
- 错误信息可理解;
- 权限边界明确。
例如 search_policy(keyword) 比 do_something(input) 好得多。
参数schema
如果工具需要参数,必须定义清楚类型和含义:
{
"city": "城市名称",
"date": "查询日期,格式YYYY-MM-DD"
}
参数越模糊,模型越容易传错。
工具返回值
返回值尽量结构化:
{
'status': 'ok',
'data': {...},
'source': 'weather_api',
'error': None
}
不要只返回一大段无结构文本,否则模型和程序都不好处理。
只读工具和写操作工具
只读工具风险较低,例如搜索、查询、读取。写操作工具风险高,例如发送邮件、删除文件、提交订单、修改数据库。
高风险工具必须满足:权限校验、人工确认、日志记录、可回滚或可补救。
调试工具调用
调试时要记录:
- 模型为什么选择这个工具;
- 工具参数是什么;
- 执行耗时;
- 返回结果;
- 是否继续调用下一工具。
这些日志能帮你判断问题出在模型理解、参数生成还是工具本身。
小结
Tool Use 的重点不是让模型能调用越多工具越好,而是让每个工具清晰、安全、可控。工具设计得越好,Agent 越稳定。