最近在做一个内部工具,需要让LLM根据自然语言描述自动生成SQL查询。我试了各种Prompt写法:角色设定、Few-shot示例、思维链,甚至把数据库schema直接塞进上下文。效果时好时坏,同一个模板换个表名就翻车。而且加了太多约束之后,模型输出反而变得僵硬,经常给出语法错误或者凭空捏造列名。想问问有实战经验的各位,你们在代码生成这类“确定性要求高”的任务里,Prompt工程到底能优化到什么程度?有没有什么方法论或者评测指标,还是说主要靠反复试错和碰运气?