函数名称、描述、参数描述要简洁清晰

要简洁清晰的对函数以及函数参数进行描述, 防止 LLM 理解有误或者做多余的事情


扁平化参数结构

参数一定不要进行多层嵌套, 要做到一层铺开


不要有太多参数

参数数量不要太多, 最多不要超过 3-4 个


枚举限定参数值

可以通过枚举来限定参数的值, 以防止 LLM 捏造参数值


适当提供few-shot

对于参数的描述可以通过 few-shot 来辅助 LLM 如何生成参数


友好的错误提示

函数调用过程中出现错误要尽可能的进行友好提示辅助 LLM 下次调用时该如何修正。如何简单的抛出一个异常很有可能导致生成错误信息


返回值要固定结构化输出

返回值如果不清晰很有可能导致 LLM 不能理解, 要进行结构化的输出


单次调用中不要做复杂的工具链路调用

对于单次的 LLM 调用不要让 LLM 做复杂的工具链路调用 (先让 LLM 调用 A 和 B, 再根据 A 和 B 的结果调用 C), 这样做很容易出现问题。如果要做工具链路调用应该用 react 等做多次 LLM 调用