Claude提示本轮工具使用限制怎么办
“本轮工具使用限制”表示Claude已用完单次响应内的工具调用次数,不代表套餐配额耗尽。发送一条消息即可开启新轮次并继续任务。
本轮工具使用限制的含义
本轮工具使用限制表示 Claude 在一次响应过程中用完了工具调用次数,因此中途停止;这不表示您的账户用完了使用额度。它停止前找到的所有内容仍保留在对话中。再发送一条消息要求它继续,系统就会开启一个新的轮次,并提供新的工具调用额度。
一个轮次是代理循环中的一次往返。Claude 生成包含工具调用的输出,客户端执行这些工具,然后将结果返回给 Claude,以便它作出下一步决定。该循环会重复执行,直到 Claude 生成不包含工具调用的响应。轮次上限限制的是一次响应允许执行的往返次数。
套餐用量上限是独立的控制项
套餐上限统计的是您在一个时间窗口内的用量。Anthropic 的错误消息帮助中心页面于 18 August 2026 查列出:接近上限时显示 Approaching 5-hour limit.,超过上限后显示 5-hour limit reached - resets [time].。消息中会说明一个时间。等到该时间后,问题就会解决;在此期间输入任何内容都没有帮助。
工具使用消息的行为正好相反。它会在任务进行期间出现,您发送一条后续消息即可立即继续工作。剩余配额不会减少。这是应执行的测试:如果等待没有作用,而继续操作可以恢复工作,说明您尚未达到配额上限。对于配额问题,Claude 提示达到上限时的处理方法列出了可用选项,Claude 用量上限的计算方式解释了这些上限所对应的时间窗口。
为什么每一轮都要设置工具调用预算
每次工具调用都会消耗上下文。调用发出后,工具执行,完整结果再返回到对话中。读取一个大文件,或运行一个输出很长的命令,单步就可能消耗数千个 token,而且这些文本会在本次会话的剩余时间内持续占用上下文。Anthropic 的代理循环文档明确说明了这一点:上下文会在各轮之间累积,因此包含多次工具调用的会话,携带的内容远多于短会话。
为每一轮设置预算,可以停止不再取得进展的循环。代理不断搜索、读取、再次搜索,却始终找不到结果时,会一直重复,直到被中断。预算就是这个中断机制。它会在适当的节点将控制权交还给您,方便您重新指定工作方向。相比让循环一直运行到上下文窗口耗尽,这样消耗的资源要少得多。
API 中可以看到此限制的位置
Anthropic 的公开错误文档没有说明 Claude 聊天应用每轮工具调用的次数,因此你看到的任何确切数字都只是猜测。API(应用程序编程接口)文档记录了同类限制,实际行为也可以在该文档中看到。
Messages API 响应中的 stop_reason 字段说明了生成停止的原因。文档列出的值包括 end_turn、max_tokens、stop_sequence、tool_use、pause_turn、refusal 和 model_context_window_exceeded。其中两个值对应本指南讨论的情况。
服务器运行 Web 搜索等服务器端工具时,如果服务端采样循环达到迭代次数上限,就会返回 pause_turn。截至 2026 年 8 月 18 日,停止原因处理页面将默认值设为每个请求 10 次迭代。文档建议将响应原样作为 assistant 消息发回,这样 Claude 就会从暂停的位置继续执行。这相当于在聊天窗口中输入“继续”。
max_tokens 表示响应达到请求中设置的输出 token 上限。如果响应在未完成的工具使用块中被截断,就无法执行该工具调用。文档建议提高 max_tokens 后重试。
请查阅停止原因处理页面中的当前值,不要直接依赖本文写入的数值。该页面中的默认值可能会变化,过时的数字不如不提供数字。
什么情况下聊天会耗尽工具调用次数
- 没有自然终点的问题。“查找所有关于 X 的内容”没有提供任何信息来告诉模型搜索何时完成。
- 重复读取相同材料,因为答案不在模型预期的位置。
- 工具返回的结果过大。一张很长的网页或一个很大的文件会占用本轮其余内容所需的上下文空间。
- 一条消息包含多个相互独立的任务。每个任务都需要单独的工具调用,但它们共用同一个调用额度。
- 当前任务不需要使用的连接器和 MCP(模型上下文协议)服务器。它们的工具定义会加载到请求中,为模型提供更多消耗本轮调用额度的方式。
如何完成剩余工作
回复“继续”,或者更好:用简短指令说明还缺少什么。这样会开启一个新的回合,并获得新的预算。之前的对话仍在上下文中,因此 Claude 会从当前进度继续,而不是重复已经执行过的工具调用。
如果它连续两次停在同一个位置,说明任务范围对单个回合来说过大,应将任务拆分。不要要求完整审计一个代码仓库,先要求列出文件,再在后续消息中逐个询问文件。4个小回合可以完成一个大回合无法完成的工作。
缩小模型需要查找的范围。提供准确的文件路径或完整的错误字符串;如果已经有日志,直接粘贴进来。粘贴日志只需占用一条消息。让模型自行查找日志会消耗多次工具调用,而且它可能找到错误的日志。
暂时关闭不需要的连接器。每个已连接的工具都会在每次请求中加入工具定义,从而消耗上下文,并扩大模型可选择的操作范围。长时间编码会话也是如此;保持 Claude Code 会话的上下文精简,决定了代理能否完成任务,而不是中途停止。
自行设置运行 agent 时的轮次上限
如果您通过自己的代码驱动 Claude,则每轮的预算由您自行设置。Claude Agent SDK(软件开发套件)在 Python 中提供 max_turns,在 TypeScript 中提供 maxTurns;文档将其定义为工具调用往返的最大次数。文档中的默认值为不设上限。
达到该上限后,SDK 会返回一个结果,其 subtype 为 error_max_turns;单次调用 query() 随后会引发错误,错误文本中包含 Reached maximum number of turns。结果仍包含 num_turns 和 session_id,因此您可以提高上限后继续同一会话,而无需重新开始任务。
在 CLI(命令行界面)中,相同的控制项是一个 flag,并且仅适用于 print 模式:
claude -p --max-turns 3 "summarise the failing tests"flag 参考文档说明,达到上限时程序会因错误退出,默认不设上限。还有一种按成本限制的对应设置:Python 中的 max_budget_usd 和 TypeScript 中的 maxBudgetUsd 会在达到支出阈值时停止循环,而不是按轮次停止;subagent 的支出也会计入该总额。如果您在按月付费的服务器上运行 agent,那么在首次长时间运行前,值得先设置控制 AI agent 在 VPS 上的成本。
等待批准的暂停是另一种情况。如果 agent 停止运行且没有产生支出,请查看 permission_mode,不要查看轮次计数,因为此时工具正在等待人类回答,而该回答始终没有到达。Claude Code 的自动模式和权限设置介绍了哪些模式会请求批准,以及哪些模式无需请求即可运行。
如何自行检查当前行为
这里的行为可能在未发布通知的情况下发生变化,因此应将本指南中的所有数字视为截至相应日期的记录,而不是固定值。以下两个位置可以说明当前情况。
- 关于停止原因的 API 文档。该文档说明了服务器工具迭代的默认值,以及如何继续执行。
- Anthropic 的帮助中心错误消息页面。该页面列出了使用限制的提示文本。截至 18 August 2026,该页面记录了五小时和每周使用限制消息,但没有提到每轮工具调用上限。正因如此,本文不引用聊天应用的官方数值。
请改为测量自己的运行情况。在 Claude Code 中,/context 会用彩色网格显示当前上下文使用量,并指出占用最多上下文的工具;/compact 会总结截至目前的对话,以释放空间。在 Agent SDK 中,每个结果都包含 num_turns,因此在设置上限前,您可以了解典型任务实际需要多少次往返。来自自身工作负载的数值,比论坛帖子中的数值更有参考价值。
FAQ
工具使用限制与我的 Claude 使用限制相同吗?
不相同。使用限制统计你在一个时间窗口内的用量,并告诉你何时重置,因此等待即可解决。工具使用消息表示当前响应因用完工具调用次数而中途停止;再次发送消息会立即开始新一轮,并获得新的预算。如果继续操作立即生效,说明问题从来不是配额。Claude 使用限制的计算方式完整介绍了配额相关情况。
如何让 Claude 完成中途停止的任务?
再发送一条消息即可。“继续”通常有效,但明确指出仍缺少什么效果更好,因为这样可以避免模型重新构建已有上下文。如果它第二次仍在同一点停止,请将任务拆分为更小的部分,每条消息处理一个部分。提供准确的文件路径,或直接粘贴内容,可以避免再次搜索,从而避免消耗原本导致停止的预算。
“límite de uso de herramientas”或“limite de uso de ferramentas”是什么意思?
这是同一条消息的西班牙语和葡萄牙语表述,通常显示为“límite de uso de herramientas en este turno”或“limite de uso de ferramentas neste turno”。所有语言中的含义都相同:Claude 已用完单个响应内允许的工具调用次数,与套餐配额无关。解决方法也相同:回复要求它继续,或将请求拆分为更小的步骤。计费限制会显示为另一条消息,并会注明重置时间。
升级套餐会提高单轮工具使用限制吗?
套餐级别和单轮工具预算是两个不同的控制项。升级套餐会提高你在一个时间窗口内的可用量,也就是会注明重置时间的限制。单个响应可以进行多少次工具调用,取决于运行模型的循环;Anthropic 未公布聊天应用中的具体数值。无论使用哪种套餐,将任务拆分为更小的轮次才真正有帮助。
为什么我自己的代理只进行几次工具调用就停止了?
检查是否设置了上限。Claude Agent SDK 在 Python 中使用 max_turns,在 TypeScript 中使用 maxTurns;命令行界面在 print 模式下使用 --max-turns。达到其中一个限制后,SDK 会返回一个结果,其中 subtype 为 error_max_turns,并返回包含文本 Reached maximum number of turns 的错误。两者的默认值都表示不限制。如果没有设置任何上限,但运行仍然停止,请查看结果中的 stop_reason:max_tokens 表示达到输出上限,pause_turn 表示服务器工具循环达到迭代限制,并要求将响应发送回去以便继续执行。