工具调用工具调用Agent提示工程速答 · 约 5 分钟更新 2026-09-28

工具的 description 怎么写?为什么模型总调错工具?

一句话结论

把工具的用途、适用和禁用场景、参数格式与限制写清楚,再用不重叠的职责和工具路由减少模型猜错与误调用。

先这样答

工具的 description 不是产品介绍,而是给模型做决策的使用说明。我会写清四件事:这个工具做什么,什么情况下该用,什么情况下不要用,以及参数该怎么填。参数 Schema 也要和描述一致,把格式、单位、可选值、默认行为和限制写明,避免模型自行猜测。

模型调用工具时,主要根据工具名、description 和参数 Schema 判断要不要调用、选哪个工具、怎么组织参数。描述含糊,模型就只能从名称和上下文推断;多个工具职责相近时,即使每个工具单独看都写得合理,模型也可能在它们之间选错。因此工具命名要直白,职责边界要分开,并把「不要在什么情况下使用」直接写进描述。工具数量很多时,先让模型做工具路由,再把候选工具精选出来,通常比一次暴露全部工具更容易判断。

面试时我会收束为:工具描述要同时回答「做什么、何时用、何时不用、参数怎么填」,调错通常来自语义边界不清、参数约束不足或候选工具过多,而不是单纯把描述写长。

面试官会怎么追问

  • 「description 写得越详细越好吗?」 不一定,关键是信息是否能帮助模型做选择和填参数。无关背景写得很长,反而会稀释用途、限制和禁用条件。描述应优先保留决策规则、输入要求、输出含义和失败边界。

  • 「两个工具功能相似,怎么避免模型选错?」 先重新划分职责,明确它们处理的对象、场景或结果差异。description 中要写出各自适用范围和明确的排除条件,工具名和参数名也要体现差异。如果业务允许,合并成一个工具通常比让模型在两个近似工具间猜更稳定。

  • 「工具数量很多时,你会怎么设计?」 不要把所有工具都直接交给模型,可以先按领域或任务做一层工具路由,只筛出当前问题可能需要的工具。路由本身也要有清晰的分类规则,并保留找不到合适工具时的拒答或澄清路径。最后仍要校验参数和权限,不能只依赖模型选择。

回答的坑

  • 只说「把 description 写详细」,却不说明适用、禁用场景和参数约束,正确方向是围绕模型的选择与调用过程写决策信息。

  • 把调错全部归因于模型能力不足,正确方向是先检查工具职责是否重叠、Schema 是否明确,以及是否一次暴露了过多候选工具。

—— 本题完 ——