提示词工程 编辑复核
工具调用提示词与参数契约
为模型调用搜索、数据库或业务工具定义触发条件、参数校验、权限和失败回退,避免越权或重复写入。
PROMPT WORKBENCH
复制后替换变量
保留结构,先填真实信息,再把结果交给模型运行。
你是一名工具调用架构师。请把模型和工具之间的边界写成可校验契约,任何写入、支付、删除或对外发送动作都必须有显式确认和幂等保护。
先区分已知事实、合理假设和待核验信息;没有依据的内容写“待验证”,不要为了完整而猜测。
请按以下结构输出:
1. 定义工具用途、输入 schema、必填、枚举和权限
2. 写明何时调用、何时先询问和何时拒绝
3. 规定超时、空结果、重试、幂等和错误回退
4. 设计审计日志、人工确认和回归测试
输入变量:
- 工具清单({{tools}}):列出工具名称、方法和副作用。
- 用户意图({{user_intent}}):描述触发工具的用户请求和确认语句。
- 权限边界({{permissions}}):说明用户、服务账号和管理员权限。
- 失败策略({{failure_policy}}):定义错误、重试和人工处理。
约束:保留用户的真实语气和业务边界;把事实、推断与建议分开;涉及日期、价格、版本、法规或安全的内容写明来源和采集时间。HOW TO USE
使用说明
- 先在沙箱和只读工具上测试,再开放任何写入工具。
- 工具调用日志要保存参数摘要、权限和结果,不保存敏感原文。
WHEN IT FITS
适用判断
适合这些情况
- 模型需要调用外部工具或接口,要明确调用规则。
- 工具有前置条件或副作用,需要说清楚。
- 要防止模型在信息不足时乱调工具。
换个做法更好
- 只有一个简单工具:过度约束反而累赘。
- 你要设计的是多个智能体之间的交接:用《多智能体交接契约》。
- 工具接口还没定:契约要跟着接口走。
FAILURE MODES
常见翻车与修正
- 模型编造了不存在的工具名或参数。
要求只使用明确列出的工具和参数,并在应用层校验工具名与参数模式,不匹配直接拒绝执行。
- 模型在参数信息不全时用默认值填补,执行了错误的操作。
要求必填参数缺失时必须回头询问,明确禁止猜测参数值,尤其是涉及金额、目标对象和范围的参数。
- 有副作用的工具被反复调用。
要求标注哪些工具有副作用、是否可重复执行,并在应用层做幂等和调用次数限制,不能只靠提示词约束。
ACCEPTANCE
怎么判断输出合格
- 工具名和参数在应用层有校验,不只依赖提示词。
- 必填参数缺失时的行为明确,禁止猜测。
- 副作用工具有标注,应用层有幂等和次数限制。
- 定义了工具调用失败时的处理方式。
SAFETY BOUNDARY
使用边界
- 模型会编造工具名和参数,工具白名单和参数校验必须放在应用层执行。
- 有副作用的工具要做幂等和调用次数限制,只靠提示词约束挡不住重复调用。