最近在做一个查数据库的Agent,流程是LLM先输出JSON格式的工具调用,后端执行完再把结果拼回Prompt让它总结。但发现一个问题:如果SQL查出来是空结果,模型经常自作主张编一个“根据查询结果,目前没有相关记录,可能是xxx原因”的回复,甚至把不存在的字段也说得有模有样。我试过在Prompt里加“不要编造”,效果一般。想请教下大家,工具返回结果这块的Prompt一般怎么写比较稳?是应该把原始JSON直接塞回去,还是做一层格式化?空结果这种情况有没有什么通用的处理套路?
楼主
3天前
热帖
写Agent的Prompt时,怎么让工具调用结果不被模型“脑补”?
请 登录 后发表回复
全部回复
共 1 条
2楼
14小时前
空结果这块我一般会在后端直接兜底,不让模型自由发挥——查出来是空就固定返回一句“未查询到匹配记录”,把总结的活儿也省了。原始JSON塞回去容易让模型盯着字段名瞎联想,做层轻量格式化反而更稳,比如只保留query_status和rows_count。另外可以在工具描述里明确写“空结果时禁止推测原因”,比在总结Prompt里加约束管用。