您需要了解的 7 个高级 ChatGPT 提示写作技巧
2023年07月04日 由 daydream 发表
339194
0
1.指定输出格式
当您向ChatGPT提问或分配任务时,您可以指定回复的格式。想象一下,您正在给一位学生布置作业,并且您可能会指定作业在交上来时的格式。以下是一些示例。
美国最长的高速公路是哪些?请以项目符号的形式列出前四个。
以表格形式呈现这些信息
2.告诉它以HTML格式呈现
您可以指定很多关于结果显示方式的信息。例如,您可以让它生成一个表格,然后将其嵌入到网页中。
美国最长的高速公路是哪些?只列出前四个。以HTML格式呈现结果。
这就是它有趣的地方。您还可以使用您喜欢的任何样式的 HTML 来呈现该信息。有一派网页设计不喜欢传统的表格标签,更喜欢以CSS的形式呈现表格。这是那个版本。
显示该信息,但使用 CSS 而不是表标记
3. 多次尝试迭代
您经常需要与AI合作,帮助它达到您想要的结果。以我们之前的CSS结果为例。下面是它的样子:
不幸的是,这个样式不太满意。让我们看看能否改善一下。
重新做一个,但请确保所有列都对齐。将标题设为深蓝色,白色字体,全部大写和加粗。将每行数据设为浅灰色,但灰色的深浅各不相同,第1行是浅灰色,第2行稍微深一些,第3行是浅灰色,以此类推。请确保高速公路名称以粗体呈现。
我不打算包含生成的代码,因为它很长。但我们已经接近了:
让我们再试一次。
该输出看起来非常好,但列仍然未对齐。确保列的宽度足以容纳文本而不换行,左对齐所有内容,并确保所有列(包括标题)完全对齐。
这几乎是我们想要的结果,但是路线名称仍然换行了。让我们尝试修复这个问题。
这几乎是我想要的结果,但是路线名称仍然换行了。请确保路线数据也不会换行。每行数据都保持在一行上。
请不要认为这很容易。如果您曾经教过人类编程,您就会得到这种结果。有时看起来他们是被动攻击性的,但更有可能的是你没有足够仔细地指定你的要求。
4.不要害怕使用长提示或一组提示
组合出一个能够可靠生成我想要格式的高速公路信息的提示花费了相当多的尝试。一个关键的方法是确保您的提示非常具体,同时也足够详细,以便大型语言模型能够充分理解您的问题。
您可能还需要修改您的规范。我最终删除了以下行:
创建一个仅使用CSS来格式化行、列和单元格的表格。不要使用HTML表格标签。
相反,我只是告诉它我想要表格的外观,让它决定如何实现。以下是我完整、相当长的提示:
我是在一个文本编辑器Sublime Text中编写了该提示,然后将其粘贴到ChatGPT中。以下是结果,完全符合我的要求。
正如您所看到的,它选择添加了一个标题,这是可以接受的。但现在我有了一个可行的提示,我可以添加一些额外的微调。例如,我返回修改了列的规范:
为索引号(标记为"#")、高速公路名称、长度和路线创建列
我尝试将"将答案限制为仅前20个"改为"将答案限制为仅前20个",但是AI拒绝为所有20个提供所有数据。所以我完全删除了那一行,并在提示的末尾添加了一行新的内容:
为了这个项目的目的,请提供前20个高速公路的完整数据结果。
这实际上产生了部分HTML输出。我不得不告诉AI继续执行,然后它输出了其余的HTML,结果如下:
5. 对回答提供明确的限制条件
您刚刚看到了我如何修改一些回答的限制条件,包括想要呈现的答案数量和列数。但是,您也可以对更开放的问题使用限制条件。
这种类型的提示也有限制。例如,看看这个提示:
根据当时的主要报纸报道,提供第二次世界大战中的关键事件摘要。
因为模型没有训练过第二次世界大战时期的报纸,所以它无法回答这个问题(尽管它会猜测)。
同样,您不能指定任何来自"最近几年"的结果,因为模型的数据输入截止于2021年。但是,您可以指定在模型范围内的数据,例如:
列出2010年至2020年之间的重大太空任务。
请注意,我们通过日期进行了限制。但我们还可以添加其他限制条件。让我们仅限制为美国的任务:
列出2010年至2020年间由NASA进行的重大太空任务。
您还可以回到我们讨论的格式化方法,像这样进行操作:
列出2010年至2020年之间进行的所有重大太空任务。按照国家和太空机构进行分组。使国家和太空机构的名称以粗体呈现。
您甚至可以更加明确。在这里,我们包括了大洲,并指定任何没有任务的大洲都应该从列表中排除。
列出2010年至2020年之间进行的所有重大太空任务。按大洲进行分组。使大洲的名称以粗体和全大写形式呈现。使国家和太空机构的名称以粗体呈现,如果太空机构的名称是标题方式或全大写的(比如NASA),则保持不变。如果某个大洲没有太空任务,不将其包括在此列表中。
有趣的是,AI在这方面有点错觉。它正确列出了任务和大洲,但认为俄罗斯是一个大洲。我进行了第二次尝试,这一次它没有将俄罗斯视为大洲。
6、告诉它字数、句子数、字符数
说到限制条件,您可能已经注意到,ChatGPT在字数计算方面不太准确。如果您告诉它将答案限制在50个单词以内,有时它会超出或不足。这是因为语言模型是基于"符记"(代表数据的表示)工作的,而这种符记并不直接对应于单个单词。
例如,当我告诉ChatGPT“总结《权力的游戏》电视剧时”,它返回了包含六个段落的294个字。但您可以尝试限制回答。尝试使用各种限制条件,直到找到最适合您的方式。例如:
用50个字概括《权力的游戏》电视剧
用2个句子概括《权力的游戏》电视剧
用少于200个字符概括《权力的游戏》电视剧
概括《权力的游戏》电视剧,使之适用于推特
这里还要记住AI模型的限制。ChatGPT在2021年后没有训练数据。当时,推特上的推文限制为280个字符。但从2023年2月起,Twitter Blue订阅用户可以发布长达4000个字符的推文。告诉ChatGPT将某些内容限制在推特内意味着将回答限制在280个字符以内,因为那是当时的唯一限制。
7、给AI评估回答的机会
正如我们经常讨论的那样,AI经常会"产生错觉",提供非常错误的答案。通过构建与AI的对话,让它提供中间结论,可以得到更精确的答案。以这个简单的请求为例:
与“devolve”意思相似且以“B”开头的单词
尽管很难想象,但ChatGPT确实无法处理此请求,通常会回答以“D”开头的衰减、降级、退化和其他单词。
这个表面上看很简单的提示存在一些挑战。首先,“devolve”有多个含义。它可以表示转移或委派,恶化或下降,或通过继承或接替来接收。为了得到一个正确的答案,我们需要更具体,给它我们希望它追求的一般含义。而且告诉它我们正在寻找一个动词,而不是一个名词,有助于帮助它确定含义。
生成一个以字母“B”开头,具有与“devolve”类似含义的动词,特别指向事物恶化或变得更糟的概念。
问题在于,ChatGPT很难确定一个单词的首个字母(这是由于它将知识表示为符记的方式)。所以最好给AI一些时间来弄清楚这一点。
确定生成的动词的首字母。
这就是人工智能专家所说的“给AI一些时间来喘息”。与其仅仅匆忙得出第一个答案,这种方法给予AI时间来考虑它的答案是否正确。
由于AI可能不会一次得出正确答案,可以要求它重复步骤,直到给出正确答案。
在这里,AI会一步步进行尝试,直到找到一个答案为止:
请注意,在进行了六次尝试后,AI才找到了正确的单词,即使在整个过程中存在着正确的标准。第二次的"喘息"给了它评估答案的机会,并继续尝试直到成功。
结语
有一点非常重要要注意,那就是AI不会在一开始就做你想要的事情。在最后一个例子中,我花了近两个小时并尝试了大约20次才找到了一个确实可以可靠生成结果的公式。
要记住AI会记住当前会话中发生的事情。所以,虽然在当前会话中它可能给出了正确的答案,但真正的测试是将您的提示复制到一个全新的会话中,看看它是否有效。
来源:https://www.zdnet.com/article/7-advanced-chatgpt-prompt-writing-tips-you-need-to-know/