提示工程是指精确地将需求传达给生成式人工智能工具的艺术和科学。它需要优秀的语言能力、好的横向思维能力以及对技术的深入了解。这是一个涉及编写和优化AI提示以确保高效、准确输出的过程。你准备好成为一名“人工智能心理学家”了吗?现在是时候进入这个利润丰厚的新职业的底层了。这是如何做到的。
生成式人工智能还处于早期阶段,但它已经威胁到颠覆职业道路和整个行业。虽然人工智能艺术和文本生成正受到相当大的主流关注,但软件开发人员往往对ChatGPT 和 GitHub Copilot 等大型语言模型 (LLM) 更感兴趣。这些工具可以帮助开发人员使用自然语言查询更高效地编写代码。
如果你花了几分钟时间玩过生成式人工智能工具的公共版本,你就会熟悉你可以为它们提供的各种输入,以产生结果。但并非所有查询都是平等的。学习如何制作AI 提示以尽快获得最佳结果正迅速成为一项适销对路的技能,称为提示工程。
目录
一、什么是提示工程?
二、如何成为一名提示工程师
三、展示您的快速工程技能
四、提示工程正在迅速发展
五、如何编写有效的 AI 提示……
一、什么是提示工程?
提示工程是“将您的需求精确地传达给生成式AI 工具的艺术和科学”,AIPRM 的首席营销官 Mike King 说,AIPRM 是提示管理工具和社区驱动的提示库的提供商。“可以把它想象成人类意图和机器输出之间的转换器。就像任何翻译一样,它需要让对话的双方有深刻的理解。
[什么是生成式人工智能?创造的人工智能 ]
“提示工程需要出色的语言能力、良好的横向思维能力以及对底层技术的理解,”英国的人工智能顾问理查德·巴特(Richard Batt)补充道,他将提示工程作为他的服务之一。“当您第一次尝试时,它可能看起来非常简单,但对于复杂的请求获得质量一致的响应可能比看起来要困难得多!”
我们与这个快速发展的领域的从业者进行了交谈,以了解那些对提示工程感兴趣的人的机会,以及如何学习该行业的技巧并向潜在客户和雇主证明自己。虽然对提示工程的深入研究超出了本文的范围,但我们将以一个示例结束,该示例演示了编写有效查询所涉及的一些内容。
二、如何成为一名提示工程师
约瑟夫·里夫 (Joseph Reeve) 领导着一个团队,在产品分析软件提供商Amplitude 从事需要快速工程设计的功能。他还构建了内部工具,使大型语言模型( LLM )更容易使用。这使他成为这个新兴领域的资深专业人士。正如他所指出的,“LLM 的伟大之处在于,只要你会打字,入门基本上没有障碍!如果你想评估某人的及时工程建议,很容易在你选择的 LLM 中测试他们的查询。同样,如果您提供及时的工程服务,您可以确定您的雇主或客户将使用法学硕士来检查您的结果。”
因此,如何学习提示工程,并把自己推销为提示工程师,这个问题还没有一个简单、固定的答案,至少现在还没有。“我们肯定处于'狂野西部'时期,”AIPRM的King说。“即时工程对不同的人来说意味着很多事情。对某些人来说,它只是编写提示。对其他人来说,这是微调和配置LLM 以及编写提示。事实上,没有正式的规则,但像大型提示这样的最佳实践正在出现。”
虽然像DeepLearning.ai 这样的提供商开始出现正式的提示工程课程,但大多数开发人员将采取自主的方法来学习和提高提示工程技能。生成式人工智能初创公司 CYQIQ 的首席技术官 Richárd Hruby 提出了一个学习提示工程的三方策略:
1.了解模型体系结构。
2.尝试,失败,学习,再试一次。
3.花时间在 Twitter、Reddit、Discord 和其他社交媒体上。
让我们花点时间详细考虑一下这些要点。
三、了解大型语言模型
虽然特定LLM 工作方式的某些方面是专有的,但大部分理论和研究都是公开的。熟悉引擎盖下发生的事情将使您不会过多地四处奔波。“虽然具体的实现可能有所不同,但所有 LLM 都建立在相同的基础概念和层之上,其中包括分词器、嵌入层和转换器层,”高级软件开发人员 Andrew Vasilyev 说,他在 JetBrains 的 ReSharper 中为 AI 助手提供提示。“理解这些概念对于认识到LLM的局限性以及它们可以有效处理的任务至关重要。仅仅将LLM视为一个黑匣子可能会导致对其能力的高估。”
Caylent云战略和解决方案副总裁 Randall Hunt 通过正式和非正式实验了解了提示工程的来龙去脉,这是他的公司使用 AI 模型的一部分。他建议潜在的提示工程师跟上LLM研究的现状。像瓦西里耶夫一样,他强调标记化是理解LLM如何工作的关键。“这些模型试图预测下一个令牌,因此以令牌的形式为它们提供上下文非常重要,这是提示长度和提示性能之间的平衡行为。”他补充说,了解模型的局限性很重要,包括“上下文大小、语言约束和角色约束”。
四、不断迭代
使用生成式AI 最令人兴奋的部分之一是您可以获得即时反馈。这意味着值得花时间调整和试验您的提示,这是一个可以帮助您提高技能的过程。“制作提示从来都不是一次性的过程,”CYQIQ 的 Hruby 说。“多次测试和完善提示始终是要走的路。通常,你是第一个尝试提示用例的人,所以你学习如何编写更好的提示的唯一方法就是通过实验。”
五、查找您的在线社区
无论您是在磨练自己的快速工程技术以提高工作效率,还是在家中利用自己的时间,我们采访的每个人都强调,您不必独自完成。发烧友社区在各种subreddit 和 Discord 中比比皆是——当然,在 Twitter 聊天中也是如此。
六、展示您的快速工程技能
在仍在兴起的提示工程世界中,在线社区可以服务于双重目的。通过分享你所学到的知识,你可以在社区中建立你的声誉,这可以带来职业或合同机会。将其扩展到其他社交媒体可以帮助您为自己出名。
“营销技能组合没有秘密,”AIPRM的 King 说。“通过博客和视频博客参与思想领导力,尤其是短视频,因为它具有最高的病毒式传播倾向。活跃在各种零工经济市场上,因为有很多人没有耐心来培养他们的快速工程技能。
与我们交谈的许多人还强调,您应该身体力行——让您的提示和基于AI 的工具可供潜在客户或客户查看,并让其他人从中学习。Gleen是一家为企业品牌构建客户成功聊天机器人的生成式人工智能初创公司,该公司的联合创始人兼首席技术官Nagendra Kumar敦促那些磨练其快速工程技能的人“构建具有端到端体验的'玩具'产品。最好的方法是构建一些应用程序,在这些应用程序中,您的提示是预先插入的,用户可以使用它们。”
而且,当然,通过开源您的工作或为开源项目做出贡献,您永远不会出错。“创建一个很棒的提示的存储库,并定期在那里提交提示。展示用例的示例,“Kumar说。“GitHub 上有许多开源 LLM 工具,它们都喜欢做出贡献,”Amplitude 的 Reeve 说。“寻找一个你认为可能有趣的项目,并开始寻找提示弱点并提出改进建议。”
七、提示工程正在迅速发展
我们采访过的几乎每个人都强调的一件事是,这门学科仍处于萌芽状态,并且正在迅速发展。“我认为任何声称自己是这个领域专家的人都应该用这样的话来警告他们的主张,'这是一个快速发展的领域,今天有意义的建议可能与六个月后有意义的建议不同,'”Caylent's Hunt说。“我甚至会说,在这个领域还没有任何真正的专家。随着模型在上下文中的增长、每个代币(注:token AI应用按流量付费)成本的缩小和吞吐量的提高,及时的工程建议将需要适应。”
这些变化的一个重要原因是底层模型本身在不断变化,大型人工智能公司和开源项目都在不断训练LLM 使用更多数据并完善其功能。“随着 AI 模型及其架构的发展——OpenAI 每四到六周发布一次新版本的 GPT-4——提示技术也应该如此,”CYQIQ 的 Hruby 说,他重申在线社区是分享有关转变的知识和观察的好地方。
“每当生成式人工智能工具进行升级或更改时(而且它们经常这样做),它们解释和响应提示的方式都会发生变化,”AIPRM的 King 补充道。“这种现象,我们称之为'快速漂移',既令人着迷又令人沮丧。这就像拥有一辆兰博基尼,然后有一天你坐上它,在你习惯了以每小时 100 英里的速度转弯后,方向盘的响应延迟。”
提示工程听起来可能有点像搜索引擎优化——这是从业者有时不得不争先恐后地考虑底层技术创造者的突然和意外变化的另一个领域,而底层技术的创造者的兴趣并不总是与他们自己的利益一致。然而,CYQIQ的Hruby预见到,在未来,提示工程师和人工智能公司之间的关系比SEO商店和谷歌之间的关系更具协作性,尤其是因为LLM领域没有人实现垄断主导地位——至少现在还没有。“模型提供商将(可能部分是投资者的推动)分享越来越多的关于开发人员如何充分利用其模型的最佳实践,”他说。“截至目前,官方沟通并不多,但主要是来自社区的喋喋不休,讨论哪种提示最适合每个模型和版本。但我希望供应商将来能提高透明度。”
在中短期内,专业提示工程的工作会是什么样子?Amplitude的 Reeve 概述了如何将快速的工程开发集成到像他这样的公司的整体工作流程中。“事实证明,出色的提示工程是高度协作的,结合了特定领域的专家、数据工程师和软件工程师的知识,”他说。
八、如何编写有效的 AI 提示
Reeve说,快速工程是一个过程。“当您发现效果良好的提示类型时,您需要重新洗牌、拆分和合并提示,以便每次都能获得完美的结果。”他将整个过程分为四个阶段:原型设计、生产、国际化以及打磨和优化。
原型设计阶段就是通过实验来发现你想要增强提示的数据类型,以及各种 LLM 能够与你试图解决的特定任务相关的内容。这个阶段主要需要了解你试图解决的问题(例如,产品经理)和系统中可用的数据(例如,数据工程师)。
在生产阶段,您主要尝试将任务拆分为可以可靠执行的最少数量的提示,并将提示连接到应用程序代码中的真实数据。此阶段需要传统的工程技能、数据工程技能和原型设计阶段的输出。
对于许多项目来说,语言支持很重要。在国际化阶段,您应该考虑调整提示以输出所需的语言。根据模型的不同,这可能是微不足道的,但值得让母语人士来验证输出。
在改进和优化阶段,困难的部分开始了。完善你的提示,从LLM中榨取每一个边际收益,目前是一项无限的任务。OpenAI 的模型在不断变化,因此您需要定期返回以确保提示仍然运行良好——您可能需要构建一些单元测试以简化此操作。此阶段涉及调整传递到提示符中的文本和数据,并测量结果随时间推移的质量。它需要对您的问题领域有特定领域的知识,有时还需要一些软件工程。成本和速度都与传入和传出 LLM 的令牌数量(注:涉及每次的使用成本)直接相关,这意味着您需要使输入提示(包括数据)和输出格式尽可能简洁。LLM 之间的成本也不同,因此早期决策可能会产生很大影响。
九、一个提示工程示例
虽然提示工程的完整课程超出了本文的范围,但我们将以Glee 的 Nagendra Kumar 的一些提示和提示工程示例作为总结,展示将有用且高效的提示组合在一起的工作和思维过程。
Kumar提供了以下在软件开发环境中进行快速工程的技巧:
1.一次提供一个具体任务。将提示分解为离散的任务。
2.添加更多上下文。在开始实际问题之前,请围绕细节添加上下文并指定 AI 将扮演的角色。
3.为内容提供清晰的分隔符。使提示的各个部分清晰明了。例如,假设“我的代码是斜体的”或“我的代码是引号”。
4.不要切换上下文。坚持与你的对话相关的上下文。如果您要求 AI 调试前端代码,请讨论前端代码。避免谈论任何与你的背景无关的事情。
现在,让我们看看这些技巧的实际效果。这是Kumar 的例子。
作为前端开发人员,我们有许多React 组件和 CSS 来提供令人惊叹的 UI 体验。有时我们必须更改 CSS,但这可能很棘手。下面是一个示例,我们使用开发人员提示来获得惊人的结果。
问题:给定客户徽标列表,在前端以圆形方式旋转它们。
提示:你是一个了不起的前端工程师。您将按照上述指南帮助我编写一些JavaScript 和 CSS 代码以满足我的要求。
指南:
我的代码在React 中。所以坚持 React 编码标准。
为CSS 创建一个单独的部分。
不要使代码复杂化。使其易于理解。
编写响应移动和桌面设备屏幕大小的React 代码。
不要假设任何事情——如果需要,请提出后续问题。
要求:我有一个React 组件,可以在工作表中呈现客户徽标。我想更改我的 React 组件,以便列表开始以循环方式旋转。看看我在引号部分编写的代码,并对其进行修改以使其以循环方式旋转。
```
const HorizontalList = ({ items }) => {
const style = {
display: 'inline-block',
margin: '0 10px'
};
return (
<div>
{items.map((item, index) => (
<span key={index} style={style}>
{item}
</span>
))}
</div>
);
};
```
本着提示工程的精神,我们鼓励你把这个提示输入到你选择的LLM中,检查结果,然后看看你是否可以改进它。祝你好运!
十、提示工程的未来
提示工程从这里走向何方是任何人的猜测。事实上,你可以争辩说,生成式人工智能的真正梦想是,最终不需要专门的提示工程知识。“我们得到的迹象表明,OpenAI正试图将这项技术推向一个需要更少工程的方向,”AIPRM的King说。“我认为从长远来看,从生成式人工智能工具中获得你想要的东西会容易得多,更多的工具将集成和抽象功能,所以它不再需要成为某人的全职工作。”
也就是说,自COBOL 早期以来,人们一直梦想着与计算机进行简单、无摩擦的交互,但从未完全实现。对于软件开发人员来说,学习如何与生成式人工智能交谈可能是未来几年的一项有利可图的新技能。
乔什·弗鲁林格 作者:Josh Fruhlinger
特约撰稿人,信息世界
【睿观:作者讨论了一种新兴的技能领域——提示工程。以下是对文章每个部分进行的概述和总结:
一、什么是提示工程?
提示工程是指精确地将需求传达给生成式人工智能工具的艺术和科学。它需要优秀的语言能力、好的横向思维能力以及对技术的深入了解。这是一个涉及编写和优化AI提示以确保高效、准确输出的过程。
总结:提示工程是一种关键技能,涉及与生成式AI交流以生成有效的输出。
二、如何成为一名提示工程师
成为提示工程师没有固定的途径。多数人通过自学和实践来进步。理解模型的结构、多次尝试并从失败中学习是该领域的关键入门步骤。
总结:成为一名有效的提示工程师需要实践、教育和持续的专业发展。
三、了解大型语言模型
了解LLM的工作原理对于进行有效的提示工程至关重要。这包括了解基本的AI模型结构如分词器、嵌入层和转换器层等,以及它们的限制。
总结:深入了解语言模型的工作原理是进行高效提示工程的前提。
四、不断迭代
在生成式AI中,迭代是改进过程的关键。不断调整和测试提示可以优化性能和输出质量。
总结:通过反复测试和优化,提示工程师可以不断提高提示的效果。
五、查找您的在线社区
提示工程师可以通过参与在线社区来学习、分享知识和扩展人脉网络。这可以帮助提升技能并可能带来职业机会。
总结:活跃的社区参与能够为提示工程师提供支持和机会。
六、展示您的快速工程技能
通过展示你的技能和成果,可以在业内建立声誉。这包括分享技术博客、参与开源项目等。
总结:展示你的技能和成果是增加可见性和职业发展的重要手段。
七、提示工程正在迅速发展
提示工程是一个快速发展的领域,随着技术的进步,所需的技能和最佳实践也在不断变化。
总结:提示工程师需要持续学习和适应新技术和方法。
八、如何编写有效的AI提示
有效的AI提示需要准确和清晰地表达需求,并通过反复测试来优化。这涉及到原型设计、生产、国际化和优化阶段。
总结:编写有效的AI提示是一个涉及多个阶段的迭代过程。
九、一个提示工程示例
文章中通过一个具体例子解释了如何为特定的软件开发任务编写优化的AI提示。
总结:实际例子能帮助理解如何应用提示工程技能解决实际问题。
十、提示工程的未来
随着生成式AI技术的发展,提示工程将会继续演化,可能会变得更加自动化和用户友好。
总结:提示工程是一个不断发展的领域,其未来可能会带来更多自动化的工具和方法。】