最近在做一个代码生成的小工具,用GPT-4帮忙写一些CRUD接口。发现同一个Prompt,稍微改几个字,生成结果质量就差很多。比如我写“请生成一个Python Flask的用户注册接口,包含参数校验”,有时候它会带上完整的错误处理,有时候就只给个骨架。我试过加“请详细一些”“要生产级别”,效果也不稳定。想问问大家,Prompt是不是得每次都写特别长才行?有没有什么结构化的写法能让输出稳定一点?还是说这玩意儿本来就有点玄学……
楼主
3天前
写Prompt总是不稳定,是我描述有问题还是模型本身就这样?
请 登录 后发表回复
全部回复
共 1 条
2楼
2天前
同一个Prompt改几个字结果差很多,这真不一定是你的描述问题,GPT-4本身就有这种随机性,temperature没调低的话每次输出都会有波动。不过你说的“加请详细一些就稳定”这个思路方向不太对,这种模糊的强化词模型很难准确理解你到底要什么程度。我自己写代码生成的Prompt一般会把要求拆成几个明确的小点,比如参数校验具体校验哪些字段、错误返回什么格式、要不要带单元测试,把这些列清楚比写“生产级别”有用得多。另外可以让它先输出一个接口签名和参数列表让你确认,再让它补全实现,分步走比一次性要完整代码稳定不少。还有个小技巧是给它一个你满意的示例作为参考格式,模型模仿能力很强,有样例比纯文字描述靠谱。说到底这玩意儿确实有一点玄学成分,但结构化程度越高、歧义越少,输出就越可控,不用每次都写特别长,关键是写清楚边界。