构建AI智能体:三、Prompt提示词工程:几句话让AI秒懂你心

139 阅读9分钟

​在构思这篇文章的时候,我在考虑该从什么角度去阐述Prompt原理,首先要理解什么是Prompt,Prompt与大模型有什么关系,为什么大模型要做Prompt,怎样去做好Prompt提示词,带着这些疑问,我也浮现出曾经走过的弯路,吸取的教训以及总结的经验,希望能简洁、通俗而又带有启发的做一个有意义的分享!

故事从这里开始

随着DeepSeek的火热,很多人都体验了和DeepSeek交互带来的便利,通过输入自己的问题,获得想要的结果,这个过程中有些人会觉得实实在在带来了方便,提问后分析过程,不仅让自己的思维更加开阔,让自己脑洞大开,但也有人觉得回答的和自己想要的天差地别,完全不是自己想要的答案,为什么同一个工具,有人觉得好,有人觉得不好,这里有个至关重要的原因,就是我们在提问时有没有精准的表达我们的意思,有没有让大模型更清楚的知道我们想要什么,如何让我们更好的表达,如何让大模型更深的理解,这就是我们不得不做的Prompt提示词工程。

一、Prompt几个疑问

1. 什么是Prompt

Prompt是用户根据自己的需求给AI大模型编辑的一段指令性文字,引导大模型生成预期的输出结果。

2. Prompt和大模型有什么关系

Prompt主要是对大模型发送指令和引导交互,通过精确的指令或结构化的语言引导大模型领会我们的意图,大模型将输入的文本进行分解,转化为向量表示,通过自然语言处理让计算机有更准确的理解,最大限度的符合我们的思想所表达的语义。

3. 为什么大模型要做Prompt

大模型存储积累了海量的数据,通过Prompt指令主要是为了引导模型理解用户意图,明确指令和结合上下文分析,快速的定位用户的需求,减少误差,给出针对性的解答,实践证明高质量的提示词能提高准确度,减少歧义内容。

4.为什么我们要了解Prompt工程?

  1. 减少无效沟通和反复试错的时间浪费,降低挫败感;

  2. 显著提升输出质量,获得更相关、更精准、更有创意的回答;

  3. 拓宽AI应用范围,能用AI完成更复杂、更定制化的任务;

  4. 提升个人竞争力,AI工具是必备技能,Prompt工程是基础。

二、Prompt的核心要素

1. Prompt原理

  • 引导模型激活相关知识:

  • 模型在训练过程中学习了海量的文本数据(书籍、文章、代码、对话等),形成了一个包含广泛知识和语言模式的庞大神经网络;

  • 当你输入一个 Prompt 时,它本质上是在激活模型中与这个 Prompt 最相关的部分知识、模式和参数。

  • 就像在搜索引擎输入关键词,Prompt 是给模型输入的“关键词+上下文+指令”,告诉它:“请调用与**相关的知识,以何种的方式,生成一个什么样的任务”。

给模型定义任务和输出,模型在收到指令后会明白需要做什么,比如:

  • 回答问题: “最近火爆的大模型有哪些?”

  • 生成文本: “秋天就要来了,帮我写一首带有秋风扫落叶的唯美意境古诗。”

  • 段落翻译: “将以下英文句子翻译成中文:...”

  • 文章总结: “用三句话总结这篇文章的核心观点和中心思想。”

  • 代码生成: “写一个Python文件,调用电脑摄像头,实现人像的检测,输出属于哪一种情绪。”

  • 扩展推理: “'好的事务都是缓慢到来的',继续完成后面的内容。”

  • 赋予角色: “我的女朋友生气了,我想安稳好她,有什么好的方法和建议!”

一个明确而又不繁杂的Prompt,能极大地提高模型输出符合预期的概率。

  • 提供上下文和约束:

  • 参考背景:“比如代码生成时,可指定参考某一文件,或者基于某文章内容得出总结;或者秋天来了,创造关于秋天的诗句......”

  • 格式要求:“代码生成可指定文件格式;内容生成可指定Markdown文档等”

  • 模仿风格:“指定幽默风气的语气”、“专业严谨的学术语言”

  • 长度限制:“回答100字以内”,“一段简短的模式”,“一首诗”

  • **技巧方式:**比如生成视频时"广角镜头缓慢推进,由远及近徐徐展现出山脉雪景.....",

2.提示词的策略

  • 采用Cot**(Chain-of-Thought)** 显示的展示推理过程,要求模型在输出最终答案之前,明确要求它“逐步推理”、“展示思考过程”,跟着思路一步步得出结论,从而判断结论是否准确和符合预期。

  • 提供 Few-Shot 参考示例,在给模型的提示中,包含几个输入-输出的示例,这些示例展示了你期望模型如何处理类似的任务(包括格式、推理步骤、风格等)。

例如在第一篇博文中我们指定让模型输出是属于正向还是负向:帮我判断产品表达的意思是正向还是负向,回复请用一个词语:正向 或者 负向

3.Prompt的主要类型

  • **指令型:**直接明了的知道要做什么,“输出滕王阁序全文以及说明创作背景”
  • **问答型:**为什么....;....是什么;
  • 补全型:”月黑风高时,继续扩写,一个人走在黑夜的马路上“
  • **创意型:**给一个简单的故事情节,或诗句、文字内容输出一段文本

4.Prompt编写基本原则

  • **清晰明确:**避免使用不清楚、有歧义的语言,让任务更清晰
  • **具体详细:**落实细节,指明约束条件,场景具体化,风格要求等
  • 上下文: 当任务需要特定视角或知识时,明确设定背景
  • 输出要求: 明确希望答案以什么形式呈现(表格、JSON、Markdown等)
  • **迭代优化:**在结果欠缺的情况下,可以在上一次的指令上迭代,优化每次的输出

三、Prompt的应用场景

1.生成图片

简单版:一缕微黄的阳光洒下林间小路

精致版:铺满金黄、火红落叶的林间小径蜿蜒曲折,柔和的光束透过色彩斑斓的树冠洒下,形成梦幻的光柱,远处薄雾弥漫。逆光拍摄风格,温暖色调,秋日氛围浓郁,超真实细节。

总结:每一个Prompt都会生成结果,但什么样是符合预期,需要更细致的描述,提示词不同,结果差异也会很大。

参考:湿漉漉的青石板路反射着昏黄温暖的灯笼光芒,古色古香的建筑屋檐滴落雨滴,一把油纸伞在朦胧雨雾中渐行渐远。氛围神秘而浪漫,电影感构图,胶片质感。

2.生成网页代码

起初需要一个操作成功的弹窗提示,还没明确具体需要什么样式,打算看看生成出来的效果逐步优化:

step1:一个处理成功后的弹窗提示特效

step2:再多家一些文字内容和处理按钮

setp3:再加一个倒计时提醒10s后将自动关闭窗体

step4:在操作成功下面加一行有底色的特殊说明的文字

step5:再增加一段标题和大段文本的特别说明 整体宽度加宽

step6:右上角加一个关闭按钮

总结:在不清楚细节前,可以先输入简单指令,逐步迭代优化,达到预期的效果

3.生成视频

提示词:广角镜头缓慢推近,展现冬季雪山夜景,宁静祥和。月光洒在白雪覆盖的山峰上,冰冷的河水倒映着闪耀的星空,营造出梦幻而神秘的氛围。

超强提示词:(暮春时节的宋代沈园:一场穿越时空的惊鸿一瞥)

核心画面:

青石板小径在江南烟雨中泛着釉色水光,九曲回廊两侧垂丝海棠落英缤纷,池塘倒映着黛瓦粉墙与漫天绯云。陆游(四十岁模样)身着褪色青衫立于醉月亭,手持竹节杖凝望水面涟漪,眼角细纹盛满十年离殇。唐琬(三十许)穿着藕荷色对襟襦裙从葫芦门廊转角走来,云鬓微松簪着珍珠步摇,怀抱的琵琶柄端系着半旧同心结,抬眼时惊起廊下白鹭,裙裾拂过青苔的瞬间定格永恒。

光影特效:

夕阳穿过镂花窗棂形成丁达尔光柱,照亮空中旋转的海棠花瓣与雨丝,池面泛起星芒般的光点。采用浅景深镜头聚焦人物微表情,背景虚化的假山竹影呈现水墨晕染效果,人物衣袂纹理可见苏绣针脚与雨渍浸染的细节。

情感符号:

亭角风铃凝固在将响未响的姿态,石桌上半阙《钗头凤》墨迹未干,锦鲤衔着落花潜入深水。两人目光交汇处形成空气的波纹扰动,琵琶弦上凝结着晶莹水珠,陆游指节发白攥着未能送出的玉簪。

高级参数:

宋代院画美学结合4K电影级渲染,绢本设色质感与光学镜头感叠加,人物皮肤保有体温感与呼吸起伏,环境粒子效果包含2000万级花瓣/雨丝/光尘独立运算。色彩系统遵循宣和画谱色谱,动态范围覆盖暮光至烛光的17档亮度。

负面提示词:

现代物品、艳丽色彩、夸张表情、肢体接触、完满结局、晴空万里、对称构图、塑料质感、服装错误、字体显现、人群干扰、幸福氛围

最后,掌握Prompt工程能极大释放大型语言模型的潜力,让你更高效、更精准地获得所需结果。它是一个需要持续学习和实践的动态过程。