Agent Tools 设计
目录
本节我们来介绍如何为 Agent 设计准确且省钱的工具。
1. Tools 设计
Tools 设计遵循一些基本原则:
- 效率和准确性:
- 什么时候选择开发一个专用工具,还是选择使用已有的通用工具。
- 当 agent 需要处理一些深度复杂的业务逻辑的时候,可以考虑开发一个专用 tools,而不是使用通用 tools
- 功能独立:
- Tools定义需要做到 意图清晰,工具功能之间没有重叠
- 工具本质上就是一个可调用的函数,可以通过扩展工具的参数来增强工具的功能
- 成本效益:
- 提供批量化工具
- 提供 save 工具,其他工具内部使用 save 的数据集进行过滤,避免重复
2. 通用 thinking tools
2.1 为什么需要 thinking tools
大多数时候,我们会提供一个通用的 thinking tools,会有如下好处:
- thinking 工具对一些 LLM 的性能提升是非常明显的:
- 可以防止模型误判结束,稳定多轮工具执行流程;
- 记录推理过程,区分流程阶段标记,特别是对于那些不具备思考能力的模型。
- 可以简化 agent loop 的实现逻辑,loop 只需要判断是否还有工具调用来决定 loop 是否终止。
下面是两个具体模型的对比:
Gemini 2.5 Flash
该模型无原生穿插文本思考的能力,一旦进入工具调用流程就只会连续发起tool call,全程不输出自然语言:
- 对话上下文只堆积工具入参、返回数据,缺少推理、任务进度记录;
- 多轮长流程后容易遗忘前期逻辑、迷失任务目标;
- 必须额外提供
thinking专用工具,让模型通过调用该工具写入思考内容,否则流程极易跑偏、提前终止。
Kimi K2
K2是专为Agent场景优化的模型,自带文本输出思考能力,不依赖thinking工具:
- 执行模式为先输出一段自然思路,再调用工具,文本说明与工具调用交替出现;
- 推理、任务进度直接存入上下文,完整保留思考链路;
- 有无
thinking工具都能稳定运行,不会出现思路丢失、任务迷失。
2.1 工具定义
|
|
2.2 thinking 如何使用提示词
通用工具使用提示词:
|
|