提示工程师的工作方法研究

2023-11-22 10:28傅瑞明
江苏通信 2023年5期
关键词:工程师内容语言

傅瑞明

中博信息技术研究院有限公司

0 引言

随着人工智能技术的快速发展,生成式人工智能(Generative AI)已成为备受关注的研究方向。借助大量数据和强大的算力,生成式人工智能可以学习数据中的联合概率分布,并根据用户的输入或提示生成全新的内容。这种技术在文学、音乐、图像、视频、游戏等领域展现出了强大的能力和潜力,为数字内容生产带来了革命性的变化。

语言模型是生成式人工智能的关键技术之一,在自然语言处理(NLP)中扮演着重要角色,可以应用于机器翻译、文本摘要、问答系统等任务。近年来,随着深度学习和神经网络的发展,预训练语言模型也取得了显著进步。其中,GPT(Generative Pre-trained Transformer)是一种基于Transformer架构的自回归语言模型,具有强大的生成能力和多技能特性。

然而,要充分利用大语言模型的潜力并不容易。由于市面上大语言模型能力参差不齐,逻辑推理能力普遍较弱,其输出也可能存在错误、偏差、不一致或不合理的情况。因此,如何与模型进行有效交互,通过设计合适的输入或提示,引导模型生成期望的内容或完成特定的任务,成为一个重要而具有挑战性的问题。

提示工程师(Prompt Engineer)的角色应运而生。提示工程师需要通过深入研究AI 技术和NLP 领域,掌握大模型的工作原理和机制,分析所要解决的问题,并设计合适的输入或提示,使模型生成期望的内容或完成特定的任务。如何将业务工作流与模型的生成能力结合,将会成为从事模型研究人员和懂业务人员的工作重点。

大语言模型行业落地需要的是将企业业务逻辑与模型能力结合,但目前模型很难具备该方面的能力。因此,寻找到高效快捷、具备性价比的模型落地方式是企业的当务之急。

本文旨在探讨提示工程师的工作方法,从而提高与大模型的交互效率和生成结果的质量,避开模型训练微调这种大资源投入的方式,也为企业落地大模型应用提供更简单、低成本的思路。本文介绍的提示工程师的工作流程和方法,包括输入设计、Prompt 编写、输出分析等环节,并结合案例对提示语编写进行分析和说明。最后,本文将对未来的研究方向进行展望,并提出一些建议,以便更好地应用生成式人工智能技术。本文的研究意义在于,通过深入研究提示工程师的工作方法,可以帮助人们更好地理解生成式人工智能技术,运用到日常文案编写、决策推断等工作中,低成本发掘适用于企业自身的应用场景。

1 工作流程和方法

1.1 输入设计

输入设计是ChatGPT 模型生成内容的重要前提,直接决定了输出结果。在此阶段,工程师需明确生成内容的目标和预期效果,并选择适当的输入形式和结构。首先,确定生成内容的类型和风格,如文本、图像、音频等,考虑使用场景和目标受众。其次,设计问题式或情境式输入,以便引导模型生成相应内容。注意输入简洁、准确,避免冗余信息和歧义。充分考虑用户需求和背景,提供详尽信息。同时,激发模型生成能力和想象力,给予创意和启发性地输入。

1.2 Prompt 编写

Prompt 编写是提示工程师的核心技能之一,它直接关系到ChatGPT 生成内容的质量和效果。Prompt 是指一段描述或指令,用于引导模型生成特定的内容。编写过程需要充分理解模型的结构和运作原理,同时考虑到生成内容的语境和风格,以设计出高效、精准的提示词。在编写过程中,提示工程师需要注意以下几点:首先,提示词需要具有一定的启发性和创意,可以通过随机性、模糊性、对比性等手段,激发大语言模型的创造力和想象力;其次,需要考虑到生成内容的多样性和适应性,通过增加变量、增强上下文等手段,提高生成内容的质量和可用性;最后,提示词需要避免歧义和误导,确保生成内容符合用户的期望和要求。

在Prompt 编写过程中,提示工程师可以借助一些工具和使用一些技巧,如模板式Prompt、抽象式Prompt、可调节Prompt 等。其中,模板式是指根据不同任务和场景设计出的固定格式的提示词,如“给我写一篇介绍某个主题的文章”;抽象式是指通过给出一些关键词或描述,让模型自行生成相应的内容,如“生成一篇关于旅游的文章”;可调节是指通过调整提示词中的变量和参数,来控制生成内容的多样性和适应性,如“生成一篇关于食品安全的文章,其中关键词为__,语气为__”。

1.3 输出分析

输出分析是评估和优化大语言模型生成内容的关键步骤,以提升内容质量和效率。在此阶段,工程师需对生成内容进行人工评估,优化其质量和适用性。评估包括语法、语义正确性,相关性、准确性以及流畅性和可读性。评估可借助人工、自动和A/B 测试等方法。人工评估利用专家或用户反馈调整生成内容;自动评估则运用自然语言处理工具和算法,如语言模型评估、语义相似度等;A/B 测试则对比不同版本的内容,结合数据分析和用户反馈,选出最佳生成策略和模型参数。

综上所述,输入设计、Prompt 编写和输出分析是提示工程师工作流程的三个核心步骤,他们需要充分理解大模型的结构和运作原理,同时考虑到生成内容的语境和风格,以设计出高效、精准的Prompt 和生成策略,从而提高生成内容的质量和效率。这些步骤需要不断地进行迭代和调整,以逐步优化和改善生成内容的质量和可用性。除此之外,还需要考虑用户的隐私和安全问题,确保生成内容不会泄露敏感信息或对用户造成伤害。因此,在设计和使用模型时,需要遵循相关的伦理和法律规定,保护用户的权益和利益。

2 提示语案例分析

提示词工程的核心是提示词编写,提示词作为模型输入可以很大程度上影响最终生成的效果,在文生图方面尤为明显。在与大语言模型交互的时候通常有两种方式:一种是基于预训练的大语言模型的能力,通过预测下一个最高概率出现的词生成内容;另一种是要求大语言模型遵循指令产出内容。前者适用于生成单轮问答以及文本创作;后者生成内容的质量往往取决于模型预训练语料的质量,如果在语料中没有进行思维链引导,那模型的逻辑性和推理能力会较弱,就可以通过提示词来引导模型进行推理。提示词在挖掘模型能力上呈现出通用性,可制作成为模板供用户选择,从而覆盖大多数任务。

提示词编写具备一定的技巧,这种技巧来源于训练语料的特点以及模型算法设计,可以总结为两个书写原则。

2.1 两个书写原则

第一个原则是要书写清晰而具体的指令。注意这里的清晰不等于简短,因为通常情况下更长的提示会包含更清晰的模型背景,这些将会影响输出内容的细节性和相关性。为了能够写出符合清晰具体原则的提示,可以利用以下4 种策略:

策略1:使用分隔符和标点符号。符号可以是:```,""", < >, <标签>,</标签>,“”,‘’。如图1 所示。

图1 符号划分待处理文字的范围

需要注意,被处理的文本中不能出现矛盾的指令,否则处理结果将无法正常输出。如图2 所示。

图2 指令冲突

策略2:要求生成结构化输出。输出格式可以是HTML、JSON等,这样可以方便读取并写入字典或列表中。如图3所示。

策略3:检查是否满足条件。通过设置条件来检查文本是否符合特定要求,这在模型分析方案可行性中十分重要。如图4、图5 所示。

图4 步骤归纳

图5 识别是否存在步骤

从图4、图5 结果中可以看出模型能够自主判断文本中是否存在步骤流程,该功能可以用于检查步骤上是否存在缺失或逻辑错误。该部分逻辑判断能力源自训练语料中包含的逻辑文本,若语料中含有逻辑链结构,则模型本身推理能力较好。

策略4:少样本提示。通过给出正确的示例来指导模型如何工作。如图6 所示。

图6 学习样本

第二个原则是给模型时间去“思考”。如果模型因为某些缺乏相关性的过程而给出错误结论,则需要重新构造思维链来帮助模型得出最终结论。另外一个导致模型给出不准确结论的原因是给模型处理的问题过于复杂,并且要求在短时间内或以少量字数生成,这样会导致模型做出错误的推测。同理人类,如果向一个人提出一个复杂的数学问题,并且仅给出少量时间来解题,很难保证答案的准确率。

以下是遵循这个原则的2 种策略:

策略1:指定步骤完成任务。如图7 所示。

图7 分步骤完成指定任务

策略2:在获得最终结论前指导模型给出自己的结论。模型通常会在解决数学问题时不列出步骤而直接给出答案,这些答案往往是错误的。如图8 所示,问题的正确答案为“360x+100000”,但是对于“450x+100000”的答案,模型给

图8 模型直接给出错误答案

出的是正确评价,但这个问题在图9中通过步骤引导得以解决。

按照步骤进行问题解决是目前挖掘AI 能力的有效方法。通过分析问题并逐步执行相关步骤,我们可以有效地解决复杂的任务和挑战。科学设计步骤往往基于两个关键方面:

累积经验:经验是指在实践中积累的知识和见解。通过不断尝试和实践,我们可以发现哪些步骤和方法在解决问题时更加有效。经验可以来自个人经历、领域专家的建议以及先前解决类似问题的案例研究。通过反思和总结过去的经验,我们可以识别出成功的模式和实践,从而更好地设计步骤。

明文规定:明文规定是基于先前的知识和指导准则来制定的详细步骤说明。这些规定可以包括行业标准、最佳实践、操作手册或培训材料等。明文规定提供了一种统一和标准化的方法,帮助我们规范和系统化地设计解决问题的步骤。这些规定可以是通用的,也可以是特定领域或任务的定制指导。

在科学设计步骤时,经验和明文规定相互补充。经验提供了实践中获得的直觉和洞察力,而明文规定提供了系统和结构化的指导。通过结合两者,我们可以设计出更加全面、可靠和有效的解决问题的步骤。

2.2 迭代

迭代式开发提示语是将一个主意从构想到落地的主要途径,主要包含的周期依次是:提出主意、完成提示(代码或数据)编写、实验获得结果以及错误分析。如图10 所示。

图10 迭代式提示开发

首先写出清晰具体的提示供模型生成结果,再分析生成结果是否达到预期,往往第一次生成内容只能达到预期的30%。根据结果中不满意的地方进行方案设计的完善以及提示语优化,最终重复整个过程数次,直至达到方案的应用要求。图11 为根据一个椅子产品的概况建立产品描述的过程。

图11 产品描述

若生成的内容篇幅过于冗长,不符合简洁描述要求,那么可以通过提示限制输出内容长度来获得更高的概括水平,例如要求输出精简到50 字,结果如图12 所示。

图12 生成50 字描述

接着让模型模拟生成其他两种型号的椅子,如图13 所示。

图13 模拟生成

将三款椅子进行应用场景指向型比较,选择出最佳产品并给出选择缘由,如图14 所示。

图14 产品比较

这种利用AI 来进行辅助决策的方法,适用于在给定条件下在多种方案中做出选择,这需要建立评判标准来保证一定的公平性,通常需要将大量相关语料给模型进行训练,获得相对垂直的生成能力。虽然可能会引发一系列社会层面问题,如在医疗、法律、金融领域的垂直应用中可能出现安全问题,但是乐观来看,这有利于帮助非专业人群从专业角度做出决策。

3 展望

通过使用提示语书写来指导模型执行重复劳动、做出决策和进行模拟实验,这种方法将对未来各行各业的生产方式产生深远影响。提示语书写将为企业业务逻辑与模型能力结合提供了一种方式,具有很高的价值,通过固化提示词模板来与模型交互,一定程度上也简化了用户操作,也有助于数据的合理使用。未来的编程语言很可能会变成人们日常对话的语言,只需要通过语言描述,人工智能就能将项目转化为现实。

4 结束语

本文旨在探讨提示工程师如何通过Prompt 书写来改进工作效率和生成内容质量。我们讨论了输入设计的重要性,强调了输出分析的关键作用,同时通过深入研究和实践,我们发现提示词书写是提高大语言模型性能和响应能力的有效方法。未来,随着技术的进一步发展和普及,提示工程师将在不断优化和创新的过程中发挥更重要的作用。这将为自然语言处理和人工智能领域带来更多机遇和挑战。我们鼓励研究者和工程师们在提示工程中持续探索,以推动这一领域的进步和应用。

猜你喜欢
工程师内容语言
《机械工程师》征订启事
内容回顾温故知新
Kenoteq的工程师研发环保砖块
语言是刀
青年工程师
让语言描写摇曳多姿
累积动态分析下的同声传译语言压缩
主要内容
我有我语言
工程师变成“资本家”