从入门到实战:提示词工程(Prompt Engineering)保姆级指南

从入门到实战:提示词工程( )保姆级指南

您好呀, 我是有的。近来于运用大模型时发觉, 相同的需求, 有着不一样的提问方式来对应, 进而所获的后果差别极大——存在一些模糊且敷衍的, 还存在一些精准且能落实的。而在这背后领域, 实际上存在着称作「提示词工程」的力量。

不少开发者认为, 啥是提示词, 那可不就是随意问上那么一句, 然而, 实事求是的讲了, 提示词工程它可是一门具备系统性的方法论, 而且, 它更是那把能够解锁大模型潜能的关键钥匙, 并不需要去懂得复杂的模型训练过程, 仅仅依靠精准的指令设计, 就能够让AI效率实现翻倍, 并且输出更加贴合需求。今儿个, 就从入门开始一直讲到实战, 讲讲提示词工程, 要把它讲得明明白白, 新手朋友们即便没什么经验, 也能够快速上手, 看过之后, 直接就可以拿过来套用!

一、先搞懂:什么是提示词工程?(新手必看)

首先明确核心定义和两个关键概念,避免混淆:

提示词(), 在我们与大模型交互期间扮演着“指令”的角色, 像“来写一个快速排序算法”“对这篇技术文档的核心要点予以总结”就是此类, 这些提示词还属于触发模型输出的初始信号。

提示词工程(), 这嘛, 它被称作 In- , 说滴是在不更新模型权重的情形之下, 到底该究竟怎样去跟大模型交互, 从而去引导它的行为, 进而获得所需结果的办法咧 ;与此同时, 它还是围绕提示词的设计、优化、评估以及迭代而形成的完整方法论, 其核心, 乃是要把人类的模糊需求, 转变为大模型能够精准理解的“自然语言代码”, 本质上是一种“双向沟通的艺术”——既要清晰地传递目标, 又得预判模型的理解偏差, 通过反复调整得以实现精准匹配撒。

这里存在着一组关键数据, 这些数据是完全能够体现出它的价值的: 依据研究情况来看, 对提示词进行优化的话, 是能够让模型性能得到提升的, 提升的幅度为30%至60%, 在特定的任务当中, 甚至是可以达成70%的准确率方面的提升的;与此同时, 良好的提示词还能够使得token消耗减少20%至30%呢, 进而降低API调用成本。

概括来讲, 提示词工程并非是那种用来“炫技”的东西, 而是一种具有能够直接对工作效率起到提升作用, 还可对使用成本予以降低效果的实用性技能, 不管是在日常办公领域当中, 还是代码开发方面, 亦或是内容创作范畴内, 都是能够派上用场的。更为关键的是, 提示词优化属于所有大型模型应用开发的基础性必修课程, 一个不错的提示词, 甚至能够让基础模型所输出的效果达到可以和经过简单微调处理的模型相媲美的程度。

另外, 不论RAG, 还是Agent智能体, 又或者是跟其他围绕模型相关的、各种各类复杂的开发工作, 按本质来讲都能够简单地进行综合性概括归纳总结为在提示词方面着力去做到更好——只要掌握了提示词工程, 那么就等同于掌握了大模型应用开发中那个最为核心的基础。

二、核心原则:3个底层逻辑+1个核心前提,避开90%的坑

诸多之人撰写提示词, 其成效不理想, 关键在于遗漏了一项基础前提, 并且违反了大模型的理解逻辑。牢记这一核心前提以及三个底层原则啊, 相较于死记硬背技巧而言更为有用哟:

核心前提:清晰表达需求,是所有技巧的基础

对任何技巧而言, 清晰展现你的需求都远比其更具优势。这恰似人与人之间进行沟通, 只要话语无法表述清楚, 就绝对不可能使别人领会你的思想。因而, 写出清晰的指令有着双重意义, 它既是提示词工程的核心所在, 同时也是所有技巧得以成立的基础。

1. 具体不模糊:拒绝“空话”,给足细节

不会“猜需求”之事是大模型所做的, 你给到的信息越是具体那么它的输出就越是精准。这同样是普通用户跟专业提示词使用者间的核心差异所在, 前者依靠模型“猜需求”, 后者主动去“喂信息”。

反而举例说明, “帮我剖析对用户流失情况进行分析之事”, (该表述模糊且笼统, 以至于模型没办法去定位相关场景以及核心变量)。

示例呈现为: 某电商App, 过去3个月里月活动呈现降低态势, 降幅达15%, 此情况主要出现于安卓用户下单流程里的前3分钟时段, 针对已尝试过的优化加载速度这一举措却并无成效, 现需对流失原因展开透彻分析, 并且提出3个具备可落地特性的解决方案。(时间线+场景+关键变量, 缺一不可)

2. 结构清晰:给AI“剧本”,让它按流程输出

零乱无序的提示词语, 会致使模型难以把握关键要点;然而具备结构化特点的指令, 能够引领模型依照你的预期进行输出, 甚至还能降低后期编辑所需的成本。公式参考: 先给出结论→再展开论证过程→最后提供备选方案 = 实现信息降维打击。

相反的示例是, 解读为何人工智能就会失去控制, 没有条理结构而言, 输出的状况也许会杂乱无章的那种。

以下为正面示例: 请依照这般结构予以回答, 其一, 运用一句话去归纳AI失控的中心结论;其二, 罗列出3个技术方面的缘由, 并且附带简要的解释;其三, 给出2种防范的法子, 其中涵盖实施难度的评估。

3. 迭代优化:把提示词当“代码”,持续试错

并非一次性就炮制好的优秀提示词, 而是如同编写代码那般, 得反复去进行测试, 还要做出调整。模型准许“无成本重置”, 我们能够借助调整指令里边的细节,像增添示例、补充背景此类做法, 迅速验证效果, 这样一种“快速迭代, 接着反馈, 随后优化”的循环, 乃是提升提示词效果的核心路径。

三、在开发者高频场景之中用于实战利用的技巧, 是有着五个核心方法以及四个高频技巧, 能够直接去进行套用的。

按照开发者平常运用的场景状况, 将5个关键办法以及4个经常出现且使用频率较高的技巧进行整合, 每一个技巧都配备了正面以及反面的示例还有运用的具体场景, 同时照顾到通用性以及实用性, 看过之后能够直接开始操作使用。

(一)有着5个核心方法, 这是基础必备的, 其中方法1是详细的描述, 这属于核心技巧。

犹如核心前提所讲的那般, 表达需求要清晰, 要详细, 这是提示词有效的关键所在。不要对冗余信息进行堆砌, 然而必须将“目标、场景、要求”讲明白, 防止出现模糊表述, 以使模型无需去“猜测”你的需求。

反面的示例呈现为, “分析数据”, 此表述模糊又笼统, 致使模型没办法定位其分析的维度, 以及对应的场景。

剖析某项目最近3个月的用户活跃数据, 统计每一天活跃人数涨落幅度, 找出波动最大的3个日期, 并且简要阐述可能的影响因素, 输出格式要为表格加上文字分析。

方法2:让模型充当某个角色

给模型确定具体的身份, 它能够快速被激活在相应领域的专业能力, 使得输出更具有针对性, 它比普通提示的准确率提升超过45%, 这个情况尤其适合代码开发、文档撰写等场景。

示例实用(代码情形): “你身为一位具备十年经验的后端开发者, 专长于撰写简洁且高效以及可复用的代码。请运用实施用户留存率计算。需求是用代码块形式输出, 附带可视化折线图, 注释以中文标明关键逻辑。“。

实用情形示范(聚焦技术文档相关场景), 你身为经验深厚的技术文档工程师, 具备将繁杂的技术理念以通俗方式呈现的能力。用 300 字以内阐述关键运行要素, 着重彰显其于提示词规划中的运用, 回避专业术语过度堆积, 使其契合新手理解水平。

方法3:使用分隔符标明输入的不同部分

中括号, XML标签, 三引号等分隔符, 能够助力划分要区别来看待的文本, 还可以助力模型更优地理解文本内容, 免得混淆输入的各异模块。常常会用三引号('''''')将需要重点从事处理的内容给框起来, 明明白白凸显区分指令和输入内容的界限。

示例情形如下: “请剖析以下技术文档的片段内容, 从中提取出里面的核心功能以及适用场景来: '', '', 【这一技术文档片段】它是一项针对建置而成更大语言型式模型应用之架构框架, 其核心具备的功能涵盖提示词编排、多模态之间交互互动、知识库连接, 适用于开发者能够迅速搭建起来 AI 对话机器人、文档分析工具之类的应用了。'', '', 要求: 仅仅输出进行提取之后所得的结果, 格式呈现为「核心功能: XXX, 适用场景: XXX」。”。

方法4:对任务指定步骤

针对能拆分的复杂任务, 尽可能把它拆开, 为其确定一系列不同步骤, 清晰明确的步骤会使模型更易于明白任务逻辑, 防止遗漏关键环节, 进而输出更具条理、更为精准。

带有实用示例的文档分析如下: 对于以下关于处理技术文档片段的步骤而言, 第一步是要去读取并且理解其中所含有的文本全部内容, 还要标注出核心信息, 此核心信息涵盖框架名称以及核心功能;第二步是要去检查信息所具有的完整性, 假如出现有缺失的情况,那就标注为「未提及」;第三步是要按照「框架名称-核心功能」这样的格式去整理成为简洁的列表;第四步是要简要地作出总结文本核心结论, 要求不超过50字。文本呈''''''形式。

此处粘贴技术文档片段

''''''”

方法5:提供例子(Few-Shot思想落地)

这一技巧, 其本质类似少样本学习, 先给大模型提供一至三个示例, 以此让模型迅速学习输出格式, 或者逻辑, 又或者风格, 之后再让模型依照例子去完成任务, 三个示例能够使模型模仿准确率达到百分之八十五, 与此同时还能降低模型出现一本正经胡说八道这种幻觉问题。

现在请对“VS Code是一款轻量型代码编辑器”进行分类, 分类要求按照以下示例, 对技术文本进行分类, 类别为框架、工具、语言。示例1表明“是一种解释型、面向对象的编程语言”应分类为语言;示例2表明“是用于构建大模型应用的框架”应分类为框架。 那么“VS Code是一款轻量型代码编辑器”应分类为 → ”。

(二)4个处于进阶提升阶段的高频技巧 , 技巧1是角色扮演法 , 此方法能够激活模型的“专业知识库”。

和“让模型去充当某一个角色”的核心保持一致, 重点在结合具体的场景设定来精准确定身份, 以此激活模型在对应领域的专业能力, 这种情况尤其适合于复杂技术场景。

技巧2:需求分层法——明确优先级,避免AI遗漏重点

要是需求涵盖多个部分, 那就采用“核心需求→附加需求→限制条件”这样的结构, 以此使得AI搞清楚优先级, 防止输出偏离关键要点。公式参照: 核心需求→附加需求→限制条件 = AI优先级排序。

反面的示例是, “帮我设计一个营销方案”, 这种表述是笼统的, 没有优先级, 所以AI有可能输出无关的内容。

面向18至35岁开发者群体, 有这样一个需求, 要为一款AI代码助手工具设计产品推广文案, 其核心需求是此设计本身, 附加需求是文案应涵盖该AI代码助手工具的比如代码生成以及bug修复等核心功能, 还有开发者使用场景, 同时存在限制条件, 预算限度不超过5万, 整体语言风格需简洁精准而且不做夸大宣传。

技巧3:思维链提示(CoT)——解决复杂问题,提升准确率

在数学计算场景里, 单纯指令难以使AI给出准确结果, 在逻辑分析场景中亦然, 对于复杂代码调试场景同样如此, 这时要引导模型“分步思考”, 去模拟人类解决问题的路径, 要让模型“知其然, 更知其所以然”, 如此一来复杂问题理解准确率能提升55%。

用于示例(代码调试的那种场景)的情况: “需要按照步骤去进行调试下面所提供的代码, 找寻出报错产生的原因并且作出修改: 其一, 要对代码的核心功能开展分析(也就是读取CSV文件同时筛选数据);其二, 逐行去检查语法以及逻辑方面存在的错误, 把错误的位置标注出来;其三, 给出修改过后完整的代码, 并且要对修改的原因作出解释;其四, 阐述修改之后怎样去验证代码能够正常运行。代码: ”。

此处粘贴报错代码

提示词工程_提示词工程入门到实战指南_提示词工程核心原则和方法

技巧4:少样本提示——快速适配特定格式/风格

和“提供例子”核心保持一致, 着重针对固定格式比如表格、代码模板, 或者特定风格像技术博客、接口文档, 经由少量示例使模型快速实现适配, 从而大幅提升输出的一致性水准。

有这样一个实用示例, 是处于接口文档场景下的: 需按照以下示例格式, 去生成关于用户登录接口的文档, 其示例为, 接口名称是用户注册, 请求方式为POST, 请求地址是/api/user/, 请求参数有, (字符串, 必填, 用户名)、(字符串, 必填, 密码), 返回结果是{"code":200"msg":"注册成功""data":{"":123}}。当下要生成用户登录接口的文档, 此文档要求参数包含、、(布尔值, 可选, 是否记住登录状态)。

四、重要的概念是, 叫做Zero-shot的学习, 还有叫做Few-shot的学习, 这是实际操作中必须要具备的。

Zero-shot与Few-shot学习, 在提示词工程里, 属于两个核心思想, 灵活运用此中两种思想, 能够大大提升提示词效果, 但要避免专业术语堆砌, 下面用通俗的语言讲透。

1. Zero-shot学习(零样本学习)

在训练阶段压根不存在和测试阶段完全一样的类别, 这就是被叫做Zero-shot (零样本学习)的情况, 然而模型却能够借助训练过的知识, 将其推广到测试集中的新类别之上, 这种能力就荣获了“零样本”学习的称谓, 由于模型在训练期间从来都没见过测试集中的新类别, 它在模型训练以及提示词优化当中都有呈现。

从通俗角度去理解, 就是要使得模型能够做到“举一反三”, 举例来说, 你并没有向模型传授过“低代码框架”的分类方式, 然而模型凭借学习过的与“框架”相关的知识, 能够辨认出低代码框架的文本, 并且将其完成分类。

2. Few-shot学习(少样本学习)

少数样本学习, 是说当模型在学习了一定类别的大量数据之后, 对于新的类别而言, 只需要少量的样本便能够快速地进行学习, 与之对应的还有单样本学习, 它也算在样本少到仅为一个的情形下的一种少数样本学习。

简单来讲: 让模型“瞧几个示例”, 它便能够迅速领会新任务, 举例来说, 你给予模型一个关于“技术文本信息抽取”的实例, 它就会依据此实例的逻辑, 达成其他技术文本的信息抽取, 这同样是我们“给出例子”技巧的关键缘由。

五、开发者高频场景实战案例(直接复制使用)

组合开发者平常工作, 归纳了5个高频场景的完备提示词, 复制粘贴之后, 替换括号当中的内容便可使用, 极大节省时间。

案例1:代码生成(/Java通用)

“你是一位资深

编程语言

开发者,代码风格简洁、规范,注释清晰。请实现

具体的功能, 举例来说, 像是将Excel文件予以读取, 接着针对数据开展去重操作, 从而把最新的那一条数据留存下来。

被要求, 1. 代码能够直接运行起来, 不需要作出任何修改;2. 附带中文的注释, 用来对关键逻辑作出说明;3. 对异常情况进行处理(比如文件不存在、数据呈现为空的状态);4. 给出运行的步骤以及依赖包的安装命令。

案例2:技术文档总结

此处粘贴技术文档内容

案例3:bug调试

你身为资深后端开发者, 对排查各种代码漏洞尤其擅长, 逻辑展现为清晰的状态。可否帮我针对以下情况, 予以排查。

编程语言

代码出现报错情况, 对此有一系列要求, 首先要去分析报错所呈现出来的信息, 进而定位错误究竟处于什么位置以及产生错误的原因是什么, 接着要给出修改之后的完整代码, 并且标注出修改的具体地方, 然后还要解释错误产生的缘由以及修改时所依据的思路, 同时要提供验证的方法, 以此来确保经过修改后的代码能够正常运行。报错信息是这样的。

此处粘贴报错信息

;代码:

此处粘贴报错代码

案例4:接口调试提示

你身为接口调试专家, 对HTTP/HTTPS接口调用逻辑颇为熟悉。请帮我剖析一下以下这个接口调用失败的缘由, 具体要求如下: 首先, 要去核查接口地址、请求方式以及请求参数是不是正确;其次, 要剖析一下可能致使失败的原因, 像是参数格式有误、权限不够、接口还未进行部署之类的;再者, 要给出详尽的调试步骤以及解决办法;最后, 要提供正确的接口调用示例, 比如说可以附上curl命令。接口信息:

此处粘贴接口地址、请求方式、请求参数、响应结果

案例5:技术方案撰写

“你是技术架构师,擅长撰写简洁、可落地的技术方案。请围绕

具体需求,如:搭建一个用户行为分析系统

编写出一份简易的技术方案, 条件如下: 其一, 该方案要划分成4个部分, 这4其中包括需求分析、技术选型、核心架构以及实施步骤;其二, 技术选型要与主流框架相互结合, 还要阐述选型的理由;其三, 核心架构需运用简单的文字予以描述, 并不需要绘制相关的图形;其四, 实施步骤有分阶段进行, 并且要使明每个阶段的核心任务, 要具备可落地、可量化的特性。

六、进阶方向:从“会用”到“精通”

若想要进一步去提升提示词工程能力、解锁更为复杂的场景的话, 能够从这3个方向开始着手, 一步步成为专业的提示词工程师(当下硅谷科技公司提示词工程师年薪能够达到30万美元以上)。

1. 学习高级提示技术

学习深入些, 思维链发生进一步长进, 像多分支推理、自我一致性这类, 还有元提示这得使得AI对提示词予以优化, 以及自动提示工程也就是APE等这类高级技术, 去应对更为复杂的任务, 诸如企业当中所涉及的数据分析、以及多轮对话机器人的开发这类任务哟。

2. 结合工具提升效率

借助和提示词有关的工具, 让设计以及优化效率得以提升, 比如说: (有着多步骤提示串联的支持)、(微软所推出的提示编排工具)、(优质提示词的交易平台)、(提示词版本管理还有分析工具), 特别是适用于复杂场景的提示词编排。

3. 建立评估体系,降低模型幻觉

把提示工程看作是数据科学进程, 去创建测试集合, 挑选适宜的评估指标, 像是忠实度、相关性、精确度、准确率、召回率这些, 运用A/B测试来对比不同提示词的成效, 不断地迭代优化, 并且结合“参考文本加上示例”的办法, 进一步减少模型幻觉, 保证提示词具有稳定性和有效性。

七、最后:提示词工程的核心误区

误区1: 提示词并非越长就越好, 核心在于精准, 而非冗长, 因为多余的信息会对模型判断造成干扰。

误区2: 对边缘场景予以忽视, 优秀的提示词势必要覆盖典型场景以及边缘场景, 像输入格式出现异常、没得符合条件的数据这种情况, 要添加兜底规则, 以此提升稳定性。

误区3: 不进行迭代优化, 一次性就把提示词写得极为理想这种情况几乎是不存在的, 需要经过多次测试, 还要进行诸多调整, 如此这般, 才能够寻觅到最为合适的方案。

误区4: 依靠模型“进行需求猜测”, 这是人类“自认为理所当然”的前提, 像说到“代码需要适配.8+”这种情况, 模型没办法自己去感知, 必须要清楚地讲明白。

要点来了, 误区5它强调的是, 分隔符使用方面出现了混乱状况, 分隔符的核心是什么呢, 就是“区分模块”这么个情况, 它并不需要被滥用, 只要选择一种比如说三引号这种就可以了, 然后统一去使用就行。

误区6: Few-shot的示例数量存在过多或者过少的情况, 示例数量为1 - 3个就可以啦, 要是太多的话就会增加token的消耗, 而太少了话又没办法引导模型去掌握相应的逻辑。

结尾

提示词工程的实质, 并非是“话术方面的技巧”, 而在于“需求的翻译工作”, 也就是将人类那种模糊不清的需求, 转化成大模型能够理解、能够去执行的精确指令, 它并不要求你懂得机器学习、明白模型训练, 只要掌握核心的逻辑以及实用的技巧, 便能够使得大模型成为你的“高效助手”。

今天所进行分享之内容, 涵盖了新手自入门直至实战进阶的全部核心要点, 涉具体有包括核心定义, 有包含1个前提以及3个原则, 还有5个核心方法并4个高频技巧, 以及Zero-shot与Few-shot关键概念, 另外存在着5个开发者高频场景的实战事例, 不论之到底是日常之办公, 还是代码开发作为事项, 或者乃内容创作之情况, 均能够直接予以套用的标点符号。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值