网上有很多类似Best Prompts这样的现成的似乎很好用的东西. 当然, 参考下这些好的Prompt是非常有价值的.
但写出好的Prompt的一个关键的方式不在于去抄那些好的Prompts, 而是自己持续去改进微调你的Prompts.
微调三步曲
ChatGPT是一个非常出色的AI智能机器人. 但想要它能很好的实现你的期望, 你需要一个持续改进的过程. 才能让它更完美的回复你.
这就是微调三步曲. 分为以下几个步骤.
- 根据你的期望,提出一个Prompt, 向ChatGPT提问
- 获得ChatGPT的响应,比对结果与你的期望的差距, 调整Prompt,弥补ChatGPT忽略的地方
- 再次获得ChatGPT的响应,检查是否满足你的需求. 以此循环.
这才是好的Prompt的生成的最佳方式. 不存在一个放之四海皆标准的好Prompt, 你需要持续的与ChatGPT互动,去微调你的Prompt,才有可能让它更满足你的需求.
示例
接下来,我演示一个示例. 怎么样持续改进你的Prompt.
目标
在这个示例中,我的目标是让ChatGPT去总结我过往写的一篇文章. 这篇文章是我从我过往的文章中随便选出来的 -- JMeter与LoadRunner的简要对比
第一版Prompt
我希望ChatGPT帮助我总结这篇文章说了什么, 所以我的第一版的Prompt是这样的
我提供了一段文章,以---开始并结束.
---
.... 文章内容过长,忽略. 这里的真实内容是文章的完整内容
---
请帮助我总结这篇文章
我的Prompt非常简单直接. 让ChatGPT帮助我总结这篇文章,这是我的目标.
这篇文章对比了主流的性能测试软件LoadRunner和JMeter,并列举了它们在商业性质、平台支持、体积、学习曲线、二次开发、专业性和使用场景等方面的不同。文章认为,JMeter更适合程序员、中小公司及互联网企业、没有技术背景的测试人员使用,而LoadRunner则更适合专业的测试人员使用。此外,文章还提到了JMeter UI不够专业、GUI模式对内存使用偏高、不支持JavaScript和Ajax等缺点,并介绍了性能测试的五大基本要素。
这是ChatGPT的回复.
这个总结其实挺到位的. 把文章内容的几个方面都说到了. 但我可能并不满意,主要表现在, 总结的条理不清晰, 对文章的内容也没有很好的分类.
所以意识到这一点后,我改进了我的Prompt
第二版Prompt
我提供了一段文章,以---开始并结束.
---
.... 文章内容过长,忽略. 这里的真实内容是文章的完整内容
---
请根据这篇文章,帮且我晰清的总结一下,Jmeter与LoadRunner有哪些区别
这次ChatGPT的响应如下
这个结果显然比上个提升了一大步.
第三版
但我意识到,我只是让它总结区别. 我这篇文章在最后还做了个建议, 什么场景下适合用什么. 但上一版的Prompt没有说到这个, ChatGPT也就忽略了.
我于是又改进了一版
我提供了一段文章,以---开始并结束.
---
.... 文章内容过长,忽略. 这里的真实内容是文章的完整内容
---
请根据这篇文章,帮且我总结一下,Jmeter与LoadRunner有哪些区别, 并且分析各自适应的人群或场景是什么
我在Prompt中,加上了让它把各种适合的人群与场景的提示词.
可以明显看到,改进了很多.
第四版
最后,虽然这个响应已经非常出色了. 但是这是个纯文本输出. 但实际上ChatGPT的能力非常强大. 我希望让它直接输出一个HTML页面内容.
在一些场景下,比如使用程序调用, 获取结果并显示的时候,这就非常有用了.
所以,我改进了这个Prompt
我提供了一段文章,以---开始并结束.
---
.... 文章内容过长,忽略. 这里的真实内容是文章的完整内容
---
请根据这篇文章,帮且我总结一下,Jmeter与LoadRunner有哪些区别, 并且分析各自适应的人群或场景是什么. 并且请以美观的HTML格式响应给我
结果如下
这是个可以直接显示的HTML内容. 是不是又进一步改进了.