大家好,我是大圣,一个AIGC长期学习者,目前专注于AI提示词。
愿景:成为AI提示词的布道者,带领十万小白入门AI
关注我,AI时代,让我们一起成长
在OpenAI的官方文档中已经提供了Prompt Enginerring的最佳实践,目的就是帮助用户更好的使用ChatGPT
编写优秀的提示词的第一个策略就是:编写清晰的指令,其中又包含了6个具体的分类
- 提供更多的细节
- 要求模型扮演角色
- 使用分隔符
- 指定任务步骤
- 提供样例
- 指定输出长度
本文主要针对指定输出长度进行展开讲解
一、什么是指定输出长度
想象一个场景,你是一位面试官,你每天要面试无数的人,所以你一般一个人只给30分钟的面试时间,但是你发现很多时候有些面试人员仅仅是自我介绍就花费5分钟左右的时间。你觉得这样不行,于是你在每一次要求面试人员自我介绍时,都会加一句:"请在2分钟内介绍下你自己"。
对于大模型也是同样的道理,我们平时让他写总结,写引言,写观点,如果你不加约束,他们就会按照自己的想法进行输出,很多时候可能不符合你的预期。所以我们在写Prompt的时候,如有需求,可以提前加上对长度的要求。
二、如何指定输出长度
这里不要狭隘的任务输出长度就是文本的长度,它可以有多种维度,一般常用的有:
- 词数/字数:比如公众号的摘要要求是100字,所以在生成摘要的时候需要告诉大模型,请讲字数控制在100以内
- 例子数/要点数:我们经常会让ChatGPT针对某一场景帮我们想一些例子,这个时候我们一般都有例子个数的预期,所以我们会告诉ChatGPT帮我举1个例子
- 句子数或段落数:可以通过句子数或者段落数来优化文章的组织结构
三、指定长度一定会生效么
答案是否定的,接下来我们通过几个例子来看下ChatGPT的表现
3.1 无中生有指定字数
使用GPT3.5 生成 你会发现我要求是20个字符,但是生成了30个字
3.2 叠加句子和字数约束
针对3.1的案例,我们可以进一步进行约束,不仅约束字数,还要约束句子
3.3 对既有文本的概括
另外一种场景是针对你提供文本的概括,这种情况下,大模型表现也不错。
四、总结
指定输出长度是一个非常简单的策略,但是需要注意的是:该策略并不是一直有效。如果需要严格有效,可以叠加更多的约束,比如同时约束句子和字数。同时大模型对于既有文本的概括相对效果会更好