函数名称、描述、参数描述要简洁清晰
要简洁清晰的对函数以及函数参数进行描述, 防止 LLM 理解有误或者做多余的事情
扁平化参数结构
参数一定不要进行多层嵌套, 要做到一层铺开
不要有太多参数
参数数量不要太多, 最多不要超过 3-4 个
枚举限定参数值
可以通过枚举来限定参数的值, 以防止 LLM 捏造参数值
适当提供few-shot
对于参数的描述可以通过 few-shot 来辅助 LLM 如何生成参数
友好的错误提示
函数调用过程中出现错误要尽可能的进行友好提示辅助 LLM 下次调用时该如何修正。如何简单的抛出一个异常很有可能导致生成错误信息
返回值要固定结构化输出
返回值如果不清晰很有可能导致 LLM 不能理解, 要进行结构化的输出
单次调用中不要做复杂的工具链路调用
对于单次的 LLM 调用不要让 LLM 做复杂的工具链路调用 (先让 LLM 调用 A 和 B, 再根据 A 和 B 的结果调用 C), 这样做很容易出现问题。如果要做工具链路调用应该用 react 等做多次 LLM 调用