工具的规范

1.命名

命名最好以 动词 + 名词

2.Description

“能做什么” + “什么时候调用” + ”返回结果/限制“ + ”参数限制(可选参数[required = false]/必选参数)“

3.参数

  • 安全参数需要走旁路传入(不要给大模型)
  • 可选必选 + 参数格式 上description
  • 独立字段拆开传入/动态字段Json传入
  • 返回下一步怎么做
  • 大结果不需要,只返回摘要

4.入参校验

  • 合理的报错,收集所有的错误信息一次性返回
  • 错误详细,告诉大模型怎么改
  • 日期格式可用正则+parse双保险

5.幂等提交

防重复提交,命中直接返回已存在信息

6.报错

错误不可透传到框架上(错误信息大模型看不懂)

自己catch且报错信息简明

7.写后验证

查库兜底,防止大模型幻觉

8.读写分离

读工具没有代价,写工具需要严格校验

职责单一更灵活注册tool

9.不同工具协作

  • 通过中间库保存参数信息(不走大模型传递不同工具的参数)
    • 保存json(大模型可能搬运json的时候幻觉)
    • 上下文开销减少(不用搬参数)
    • 跨agent可复用(不同agent内存不互通)

bgg1s