返回博客列表

“思考”工具:帮助Agen在复杂的工具使用情境中停下来思考

2026-01-30
1 min read
AI学习aiagent

> 与扩展思考相似,但两者是不同的概念。扩展思考是指 Agent 在开始生成响应之前所做的操作。通过扩展思考,Agent 会在采取行动之前深入思考并反复迭代其计划。“思考”工具的作用是,在 Agent 开始生成响应之后,增加一个步骤,使其停下来思考是否已掌握继续执行所需的所有信息。这在执行大量工具调用或与用户进行冗长的多步骤对话时尤为有用。 借助“思考”工具,我们让 Agent 能够在得出最终答案...

与扩展思考相似,但两者是不同的概念。扩展思考是指 Agent 在开始生成响应之前所做的操作。通过扩展思考,Agent 会在采取行动之前深入思考并反复迭代其计划。“思考”工具的作用是,在 Agent 开始生成响应之后,增加一个步骤,使其停下来思考是否已掌握继续执行所需的所有信息。这在执行大量工具调用或与用户进行冗长的多步骤对话时尤为有用。

借助“思考”工具,我们让 Agent 能够在得出最终答案的过程中,增加一个额外的思考步骤——并为其分配一个专门的空间。

听下来发现的新信息

“思考”工具更适用于 Agent 无法仅凭用户查询获得所有必要信息来形成响应,并且需要处理外部信息(例如工具调用结果中的信息)的情况。Agent 使用“思考”工具进行的推理不如通过扩展思考所能获得的推理全面,而是更侧重于模型发现的新信息。

思考工具的定义

{
    "name": "think",
    "description": {
        "name": "think",
        "description": "使用此工具思考某事。它不会获取新信息或更改数据库,而只是将想法附加到日志中。当需要复杂推理或某些缓存记忆时,请使用它"
    },
    "input_schema": {
        "type": "object",
        "properties": {
            "thought": {
                "type": "string",
                "description": "一个值得思考的想法."
            }
        },
        "required": [
            "thought"
        ]
    }
}

{
 "name": "think",
 "description": "使用该工具来思考某些事情。它不会获取新信息或对存储库进行任何更改,而只是记录思考内容。在需要进行复杂推理或头脑风暴时使用它。例如,如果您浏览存储库并发现了一个错误的来源,请调用此工具进行头脑风暴,想出几种修复错误的独特方法,并评估哪种(哪些)更改可能最简单且最有效。或者,如果您收到了一些测试结果,请调用此工具进行头脑风暴,想出修复失败测试的方法。",
 "input_schema": {
  "type": "object",
  "properties": {
   "thought": {
    "type": "string",
    "description": "你的思考."
   }
  },
  "required": ["thought"]
 }
}

何时不应使用“思考”工具

虽然“思考”工具可以带来显著的改进,但它并不适用于所有工具使用场景,而且会增加提示符的长度和输出标记的数量。具体来说,我们发现“思考”工具在以下使用场景中没有任何改进:

  1. 非顺序工具调用 。如果 Claude 只需要进行一次工具调用或多次并行调用即可完成任务,那么添加“思考”功能不太可能带来任何改进。
  2. 简单的指令如下 。当 Claude 需要遵守的限制不多,而且其默认行为已经足够好时,额外的“思考”不太可能带来任何好处。
返回博客列表
最后更新于 2026-01-30
想法或问题?在 GitHub Issue 下方参与讨论
去评论