在使用系统提示词(sys prompt)为模型定义角色具有以下重要性:
然而,也有观点认为不需要过度依赖角色扮演类的提示词。关键是要非常具体地描述出模型所在的使用环境,提供足够详细的信息,以避免模型未按预期完成任务。提示词最重要的是表达清晰准确。
(G列),如果是,则计算差值;否则,返回0。将这些公式应用到各行,并确保相应的单元格引用正确(例如,A2、B2:E2等),这样您就可以自动计算全年汇总、各月平均销售和超出年平均销售额了。1.2搞角色扮演,一直很好用Ask themodel to adopt a personaThe system message can be used to specify the persona used by themodel in its replies.系统消息有什么用?可以用来指定一个“Persona”。使其更符合特定的应用场景。Persona这个词在拉丁语里的原义是“面具”。可以看作是模型采取的特定角色或风格,就像戴上了一种特定的“社交面具”,通过这种“面具”来与用户交流。所以Persona不一定是:XX人(比如:贾斯汀比伯)、XX职业(比如:一个中学老师)。也可以是一种“风格”。例如正式、幽默、友好等。ChatGPT有一个默认的SYSTEM Prompt:You are a helpful assistant.“一个乐于助人的助手”也就是ChatGPT默认的“面具”/“角色”,所以它会尽力帮你解决提出的问题。你可以在Playground或者像Knit这样的工具里面修改这个SYSTEM Message。然后把你正常情况下要提的问题写在USER里面。这是一种进阶的提示词用法。
在大模型节点中,设置系统级的提示词(system prompt)是一个关键步骤,这与外层用户直接交互的提示词不同。系统级提示词主要用于定义模型的角色和任务,提供一个固定的模板来指导模型的行为和输出。这种设置允许你明确地指示模型扮演的角色以及它需要完成的具体任务。例如,你可能需要模型作为一个历史顾问来回答有关过去事件的问题,或者作为一个技术专家来解决特定的技术问题。通过在系统级提示词中设定这些参数,你可以确保模型的输出与你的期望和工作流的需求保持一致。与外层提示词相比,系统级提示词更侧重于模型的内部工作机制,而外层提示词则更多地关注于如何根据用户的指令进行编排和响应。通过精心设计这两种提示词,可以增强模型对用户指令的处理能力,并确保整个工作流的顺畅和高效。在大模型组件中,批处理,也就是迭代处理,允许我们对集合或数组中的每个元素进行批量处理。这种处理方式通过依次遍历集合或数组,使得每个元素都能经过相同的处理流程。批处理的关键在于其能够通过有限循环实现高效的数据处理。批处理中,我们可以设置循环次数,也就是迭代的次数。例如,在Coze的大模型组件中,最多可以支持200次的循环,这相当于一个200次的for循环,允许我们对200个元素进行连续的处理。此外,批处理还涉及到并发量的问题。这里的并发量指的是在单次迭代中同时处理的元素数量。通过调整并发量,我们可以在一次循环中同时处理多个元素,从而提高处理效率。例如,如果集合中有200个元素,我们可以设置每次同时处理5个元素,这样只需要40次循环就可以完成整个集合的处理。
Zack Witten:但是有些时候我觉得并不完全是撒谎,更像是用比喻来解释思路。比如我试图让Claude判断一张图表或图像好不好,或者说它的质量高不高。我发现最有效的提示是问模型,如果这张图表作为高中作业提交,会打什么分。所以我并不是在说「你是一名高中老师」,而更像是「我希望你按照高中老师打分的标准来分析」。David Hershey:这样的比喻其实不太容易想出来。大部分人还是会倾向于用默认的思维方式,你会经常看到大家找一些类似任务的仿制品,比如说你是一名老师,但其实很多时候这种做法忽略了你产品中的很多细节。我在企业用的提示中见过太多这样的情况,大家喜欢写类似的东西,因为他们直觉上认为这样更好,可能是因为模型看过更多的内容,比如它看过的高中测验比LLM评估还多。这可能确实有道理,但就像你说的,随着模型变得越来越好,我觉得更重要的是尽量具体地描述当前的场景。我总是这样建议别人,这并不是说我觉得这些比喻完全没用,像「把图表打分就像给高中作业打分」这样的比喻也许有一定道理。但这些往往是人们喜欢用的简单化的思路,试图快速理解发生了什么,或许不适用于模型。比如我会直接告诉它,你是这款产品中的助手,代表公司在产品里与人沟通。你是产品中的那个支持聊天窗口。你是一种语言模型,而不是一个人。关键是要非常具体地描述出模型所在的使用环境。我经常看到这种情况,因为我最担心的是大家总是用角色扮演类的提示词作为一种捷径,让模型完成某个类似的任务。而当模型没有按照预期完成任务时,他们就会感到困惑。但其实那个预设的角色根本不是你想要模型完成的任务本身。你让它去做了其他的事情。如果你没有给它提供足够详细的信息,那么你可能就漏掉了某些关键点。还是回到我们一开始说的,提示词最重要的是表达清晰准确。