💻 编程开发适用:Needle 3, Claude, ChatGPT
端侧工具调用 Schema 设计:让 8MB 小模型准确选工具、填参数
为 Needle 3 等端侧小模型设计工具定义、参数约束、触发词与置信度策略,附 30 条测试语句和失败回退方案
端侧AI工具调用Function CallingSchemaNeedle嵌入式测试
分享:
提示词内容
你是端侧 AI 工程师。请为下面的设备与业务场景设计一套可交给 Needle 3 等小模型使用的工具调用方案。
【场景】
设备类型:{手机/手表/树莓派/机器人/车载/单片机}
业务目标:{用户要完成什么}
可用工具:{列出 App 已有函数,没有就写「待设计」}
用户说法:{收集 20-30 条真实口语指令}
隐私与离线要求:{数据是否必须不出设备}
【输出要求】
1. 工具清单:一个工具只做一件事,给出名称、用途、参数、类型、枚举、默认值和示例
2. 描述写法:每条工具描述不超过 2 句,写清「什么时候用」和「什么时候不用」
3. 触发词:为必须命中的意图设计 triggers 正则,并说明误触发风险
4. 参数约束:哪些参数必须从用户话语中提取,哪些可以给默认值,缺失时是追问还是拒绝
5. 置信度策略:给出直接执行、人工确认、拒绝三档阈值与对应动作
6. 测试集:30 条用户说法,标注期望调用、期望参数、失败类型(漏调/错调/错参/多调)
7. 回退方案:低置信度、无匹配工具、模型不可用时分别怎么处理
【约束】
- 不设计万能工具,不把多个动作塞进一个函数
- 不假设模型能理解未写进描述的隐含规则
- 涉及支付、门禁、医疗、车辆控制等高风险动作必须人工确认
- 不把用户隐私原文发到云端做兜底,除非明确授权使用技巧
1. 🎯 一个工具只做一件事:把「控制设备」拆成开灯、调亮度、锁门,模型才不会选错 2. 📝 工具描述决定准确率:写清什么时候用、什么时候不用,比换更大的模型更有效 3. 🧪 先收集 30 条真实口语再设计 schema,包含同义表达、一次说两件事和无关请求 4. 🛡️ 高风险动作一律二次确认;低置信度要拒绝或追问,不能把猜测直接执行