AI Engineering
Agent Tool Design:工具接口比 Prompt 更重要
设计适合 LLM 使用的工具接口,覆盖参数命名、边界、错误返回、幂等性、权限和可测试性。
很多 Agent 失败不是模型不聪明,而是工具太难用。参数含糊、错误信息不可读、工具边界重叠、权限不清晰,都会让模型做出错误调用。
好工具的特征
| 特征 | 说明 |
|---|---|
| 名称明确 | 从名字能看出用途。 |
| 参数少而清晰 | 避免十几个可选参数。 |
| 错误可恢复 | 返回模型能理解的错误原因和建议。 |
| 幂等 | 重试不会造成重复副作用。 |
| 权限内置 | 工具内部验证权限,不依赖模型判断。 |
| 示例充分 | 描述里给出典型输入和边界。 |
设计原则
把 tool schema 当成给 junior engineer 的函数文档来写。模型会按你的接口暗示来行动。
错误返回
{
"ok": false,
"error_code": "MISSING_REQUIRED_FIELD",
"message": "customer_id is required",
"retryable": true,
"hint": "Ask the user for customer_id before calling this tool again."
}结论
Agent tool design 是 Agent-Computer Interface。接口越清晰,模型越少猜;错误越可恢复,Agent 越可靠。
讨论
继续讨论这篇笔记
有问题、补充案例或不同观点,可以通过 GitHub Discussions 继续交流。