最近被问了好几次,干脆写一下。模型本身只会吐字,它做不了查数据库、发请求、读文件这些事。工具调用就是提前告诉它有哪几件事可以让别人代劳,每件事需要什么参数,然后模型在对话中间发现该干这个了,不直接给你答案,而是吐出一段结构化的调用请求,你的程序接住、真的去执行、把结果塞回去,它再接着往下说。关键点在两处:一是描述写得越准,它挑得越对,参数名起得含糊它就乱填;二是执行环节必须自己校验,别把模型给的参数直接往下游怼,越权和脏数据都是这么进去的。理解成模型只负责决定叫谁,不负责真的动手,就顺了。
决定叫谁不负责动手 这句收藏