工具 schema 与描述设计
模型选不准、填不对工具,八成是 schema 与描述的问题:名字要说清「做什么」而不是「怎么实现」、参数少而正交、描述里写清什么时候不该用。七条硬规则之外,方法是先建评测再改描述,不凭感觉调。
也叫:工具设计 · 工具描述 · tool schema · 选择准确率
工具设计七条硬规则出自 T3-2
| 规则 | 反例 | 正例 |
|---|---|---|
| 搜索优于罗列 | list_all_contacts() 返回全部 |
search_contacts(query, limit=10) |
| 参数名消歧 | user |
user_id(明确是 id 不是姓名) |
| 命名加前缀分组 | search、create |
crm_search_contact、jira_create_issue |
| 功能合并去重叠 | 5 个近义的取消/退款工具 | 1 个 order_action(action: enum) |
| 返回值默认精简 | 整个订单 JSON | 默认 8 字段,fields 参数按需展开 |
| 描述写清边界 | "取消订单" | "取消未发货订单;已发货请用 return_request" |
| 错误信息可操作 | Error 400 |
参数 date 需为 YYYY-MM-DD,你传入 "上周三" |
以上节选自T3-2 Function Calling 机制与工具设计——模型其实没有调用任何函数,读全文能看到前后语境。
延伸阅读
考这个知识点的题1 道
会连带问到8 道
- Q1-04system prompt 和 user prompt 有什么区别?为什么指令要放 system?
- Q1-10怎么让模型稳定输出合法 JSON?结构化输出的几种实现与兜底策略?
- Q3-03Function Calling 的完整机制——模型真的「调用」函数了吗?
- Q3-05并行工具调用什么时候用?工具结果太长塞爆上下文怎么办?
- Q3-08MCP 是什么?它和 Function Calling 是什么关系、解决了 FC 的什么问题?
- Q3-09MCP 的三大原语(Tools / Resources / Prompts)分别干什么?
- Q3-19什么是分级自治?高危操作(写库 / 发邮件 / 付款)怎么设计人工确认?
- Q3-24Agent Skills 是什么?和把说明全写进 system prompt 有什么区别?渐进式披露解决什么?