如何使用LLM为其他神经网络创建提示
了解如何有效地为语言模型(LLM)和其他神经网络创建提示。逐步说明和优化查询的建议,以获得最佳结果。
Краткий пересказ от QRazy ИИ
- 通过LLM提示,可以将抽象的想法转化为生成图像、文本和其他模型的详细请求。
- 使用元提示可以缩短创建提示的时间,因为LLM会提出澄清性问题并形成完整的请求。
- 这个过程包括描述任务和技术细节,从而实现神经网络生成结果的更高准确性。
在这篇文章中,我想展示如何通过其他提示创建提示。听起来有点复杂,但实际上这一切相当简单:我们给LLM指令,然后它为另一种神经网络生成一个好的请求。
例如,可以上传一张图片,请求模型详细描述图片中的内容,然后基于这些描述为Gemini、Stable Diffusion、Midjourney或其他图像生成器制作一个现成的提示。
这种方法不仅可以用于图像。LLM还会为文本模型、视频生成器、音乐、配音、程序代码和数据分析准备请求。
简单来说,您用普通话告诉LLM您的想法,而它帮助您将其整理成其他模型更容易理解的任务。
什么是创建提示的提示

创建提示的提示是一种指令,我们请求神经网络不要立即执行任务,而是首先为另一个模型准备一个好的请求。
假设您想生成一张图片,但不知道如何描述场景、光照、角度、风格和其他细节。您可以用普通话告诉语言模型您的构想。它将帮助您完善描述,并收集一个准备好的提示,您只需将其插入到所需的图像生成器中即可。
本质上,一个神经网络帮助另一个神经网络设定任务。这很方便,因为您不必每次都记住在提示中确切需要指明哪些内容以及写作的顺序。
简单的模式如下:
- 您描述自己的想法。
- LLM уточняет недостающие детали。
- 模型生成准备好的提示。
- 提示传递给其他神经网络。
- 您查看结果并根据需要进行修改。
LLM如何帮助为其他模型制定任务

并不总是可以直接向神经网络清楚地解释需要什么。在脑海中有想法,但当开始写提示时,结果显得太简短且难以理解。
在这种情况下,可以使用LLM。您用普通话向它描述您的构想,而它帮助您将其转化为更准确的请求。
假设您想在一个旧工坊中制造一台机器人。可以写:
画一台在工坊里的机器人。
但结果很可能会是随机的。并不清楚机器人的样子、工坊的外观、光照情况和场景的角度是什么。
在这里,LLM派上用场。它将帮助您完善构想:建议机器人的外观、工坊的环境、合适的光线和相机位置。
也就是说,您不需要一开始就想出完美的请求。只要用自己的话草拟出主要思路,然后与模型一起将其完善到可用的版本。
短暂想法可能如何变化
| 普通描述 | 可以明确的内容 |
|---|---|
| 工坊里的机器人 | 机器人的外观和尺寸 |
| 旧工坊 | 工具、零件、灰尘、电线 |
| 昏暗的场景 | 光源和光的颜色 |
| 美丽的镜头 | 角度和相机位置 |
| 手绘风格 | 漫画、水彩、动漫或技术插图 |
什么是元提示以及它是如何工作的

元提示是一种委托神经网络准备提示的方法。您简要解释您想要什么,而它帮助将这个想法转化为另一种模型的详细指令。
假设您需要一张废弃城市的图片,但目前您只是在大致上设想它。可以请求LLM为图像生成器生成一个提示。它将帮助描述建筑、天气、光照、角度和您可能未立即想到的其他细节。
大致如此:
- 首先您描述自己的构想;
- LLM如果缺少某些信息,则会提出问题;
- 您明确重要细节;
- 模型生成准备好的提示;
- 所得请求发送到所需的神经网络。
这里最重要的一点是,您不必一开始就写出准确详细的指令。可以从几句简单的句子开始,然后逐步调整到可用的提示。
元提示并不能免除对任务进行思考的必要性。它帮助更快地整理已经存在的想法。
为什么要将提示的创建委托给语言模型

好的提示并不总是一开始就能写成。有时想法已经存在,但不清楚如何将其正常表达以及应该添加哪些细节。
与其花费很多时间选词,不如用语言模型描述您理解的任务。即使这只是几句话。LLM会帮助将它们编织成一个更详细的请求。
在以下情况下,这种方法特别方便:
- 您正在使用自己不太熟悉的模型;
- 您不知道哪些细节是重要的;
- 您想要获得多个不同的提示;
- 您需要快速将一个请求调整为另一个神经网络;
- 该提示将被使用多次;
- 任务由多个阶段组成。
完成的版本不必完全使用。它可以根据自己的需求进行调整,删除多余的细节或请求模型再生成一个版本。
最终,准备请求所需的时间更少,而结果通常更接近您最初的构想。
LLM可以为哪些神经网络创建提示

语言模型几乎可以为任何神经网络生成请求。关键是向它解释您打算使用什么系统和您想要什么。
| 模型类型 | LLM可以准备的内容 |
|---|---|
| 文本模型 | 文章、信件、翻译、总结或分析的提示 |
| 图像生成器 | 场景、角色、光、角度和风格的描述 |
| 视频生成器 | 场景、对象运动、相机运动和镜头切换 |
| 音乐生成器 | 流派、节奏、情绪、乐器和曲目结构 |
| 语音合成 | 文本、声音特征、速度、停顿和语调 |
| 代码模型 | 技术要求、需求、限制和响应格式 |
| 数据分析模型 | 分析任务、数据结构、所需计算和结果形式 |
通常,这种方法最常用于图像生成器:Gemini、Midjourney、Stable Diffusion、Flux等。您用自己的话描述构想,而LLM帮助将其整理成更详细的请求。
同样,提示也可以用于视频、音乐、配音和代码。
同时,相同的请求在不同的模型中可能表现不同。在Midjourney效果良好的内容,不一定能在Gemini或Stable Diffusion中给出同样的结果。因此最好一开始就说明这个提示是为哪种神经网络准备的。
好的提示由哪些要素构成

首先,用您的话简单描述神经网络应该做什么。如果需要文本,就这样写。如果需要图片、翻译、剧本或代码检查,也请立即指明。
然后添加一些细节,以帮助模型更好地理解您的构想。例如,文本是针对谁的,在哪里发布,它应该是什么样的结果。
如果是关于图片的,请描述您希望看到的内容:画面中将有谁,发生在何处,需要什么样的光线和情绪。对于文本,通常只需主题、大致长度和关于它如何发声的几句话就足够了。
通常应该指明的内容
- 任务。模型应该做什么。
- 背景。结果的用途及其使用场所。
- 重要细节。必须包含哪些内容。
- 限制。不应该做什么。
- 响应格式。文本、列表、表格、HTML、JSON或者只是准备好的提示。
- 目标模型。为哪种神经网络制定请求。
最后,可以指明您希望以何种形式获得回复。例如,普通文本、列表、表格、完整的HTML代码或没有额外说明的提示。
并不是说请求必须很长。有时候几句精确的句子就比长篇大论更有效,后者的要求重复或互相矛盾。
好的提示不一定是最长的,而是能够帮助模型理解您的任务的提示。
如何将普通任务描述转化为准确指令

通常一切都始于简单的想法,例如:
我想要一张美丽的夜景图片。
或者:
我需要写一篇关于太阳能电池的文章。
对人类来说,这有时就够了,而对神经网络来说,通常缺少细节。
对于夜景城市,可以进一步说明正在下雨,街道空荡荡的,霓虹灯反射在水洼中,摄像机几乎处于路面高度。
对于文章,应该写明它的目标受众、需要多详细地探讨主题以及必须涉及哪些问题。
示例
之前:
写一篇关于太阳能电池的文章。
后来:
为初学者写一篇易于理解的关于太阳能电池工作原理的文章。解释基本工作原理,讲述优缺点,并讨论影响其效率的因素。避免复杂的公式和专业术语。字数大约为6000个字符。
不需要一开始就试图写出完美的请求。更简单的方法是先用自己的话草拟任务,然后再看看缺少什么。
通常应该明确:
- 您需要什么结果;
- 它面向谁;
- 哪些细节是必不可少的;
- 模型不应执行什么;
- 需要何种格式的响应。
经过这样的修改,模糊的想法变成了一条指令,神经网络也能够更轻松地处理。
为什么LLM要先提出澄清问题

当您用简短的两句话描述任务时,模型通常会缺少信息。
例如,请求“做一张有车的图片”可以以数十种方式理解。这是什么车?在哪里?是什么时间?画面应该是什么风格?
因此,不要急于要求LLM给出准备好的提示。最好让它澄清不清楚的内容:需要什么样的结果,为哪种神经网络编写请求,必须包含哪些内容。
一开始提出的问题可以节省许多时间。否则,模型将基于自己的猜测制作提示,您随后将不得不重写一半的文本。
好的澄清问题可以是:
- 这个提示是为哪个模型准备的?
- 主对象应该是什么?
- 您需要什么样的风格?
- 结果应该是什么格式?
- 是否有不应包含的细节?
- 需要一个版本还是多个版本?
这些问题尤其有用,当您自己还未完全理解自己的需求时。通过回答这些问题,您将逐步澄清自己的想法。
如何调整提示以适应特定模型

同一个提示在不同神经网络中可能表现不同。有些地方适合简短明确的描述,而有些地方则需要更详细地描述场景、风格和重要细节。
因此,在创建提示之前最好立即指明它需要适用的模型。
您可以直接写:
为Gemini制作这个提示。
或:
将这个请求调整为Stable Diffusion。
LLM会根据选定模型的要求修改文本:删减一些内容,澄清其他内容,并在必要时添加所需细节。
有时候准备多个变体并在实践中进行测试是很有用的。即使是正确编写的提示也不一定能在第一次就得到所需的结果,因此在图像、文本或视频变成您预想的样子之前,可以对其进行适当调整。
为文本模型创建提示

首先确定您希望模型得到什么:文章、信件、商品描述、帖子或翻译。之后添加主题、预期字数和关于文本目标受众的几句说明。
同样,还应该解释文本的声音应如何。例如:
- 简单且易于人类理解;
- 正式;
- 幽默;
- 不使用复杂的术语;
- 像个人故事;
- 像技术说明。
您描述任务越清晰,就越不需要之后重写。
您可以请求LLM不仅准备新的提示,还可以修改已有的提示。例如,缩短它、删除重复部分或将其适配到另一个文本模型。
为图像生成器创建提示
生成图像时,一般的想法通常不够。“画一栋森林里的房子”这一短语给模型留下了太多的自由,因此结果可能与您的期望大相径庭。
最好添加一些细节:
- 这是什么房子;
- 周围有什么;
- 时间是下午吗;
- 天气如何;
- 场景的视角是从哪里;
- 图像应有的情绪是什么;
- 应该采用什么风格。
如有需要,可以指明应该是照片、插图、漫画、水彩画、技术图纸或其他类型的图像。
在这里,LLM特别有用。您用普通话向它描述构想,而它帮助您为Gemini、Midjourney、Stable Diffusion、Flux或其他模型整理出详细的提示。
为视频生成器创建提示

视频的提示不仅要描述画面中发生的内容, 还要描述所做的事情。
需要指出:
- 谁或什么在移动;
- 相机的方向;
- 角度是否改变;
- 光照如何变化;
- 背景发生了什么;
- 场景大约持续多久。
例如,简单地写:“汽车在夜晚城市中行驶”并不足够。
可以明确指出,相机与汽车并行移动,湿滑的柏油反射着招牌的光芒,细雨飘洒,场景看起来像是电影的一部分。
LLM将帮助将短暂的想法转化为更易理解的描述,关于动作、镜头和周围环境。
为音乐和语音合成创建提示

在创作音乐时,通常会注明流派、情感、节奏和乐器。
例如,可以请求:
一段轻松的背景旋律,伴有钢琴和柔和的电子音效。
或者:
一首快速且充满活力的曲调,用于短广告。
对于语音合成,不仅需要文本。还应该指出,声音的特征应如何,语速如何,应该在哪里停顿,以及表达什么情感。
同一段文字可以用不同的方式朗读:
- 平静地;
- 快乐地;
- 焦虑地;
- 正式地;
- 几乎是低声地;
- 像纪录片的旁白。
LLM帮助将所有这些要求汇聚成一个请求。这在您大致心里有结果想法,但不知道如何描述的时候尤其方便。
为编程和数据分析创建提示

在处理代码时,最好一开始就指出使用的编程语言、任务和代码使用的条件。
例如,仅仅请求:
做文件上传。
不够,需要明确:
- 文件上传到哪里;
- 允许哪些格式;
- 最大尺寸;
- 如何检查文件名;
- 错误时应发生什么;
- 使用何种语言和框架。
如果您已经有代码,可以附上并请求查找错误、加速运行或者重写某部分。
数据分析也是一样。需要解释您有何数据,想知道什么以及希望结果以何种形式呈现。
这可能是:
- 表;
- 图表;
- SQL查询;
- Python脚本;
- 异常检测;
- 比较指标;
- 平常的结论解释。
如何检查生成的提示的质量

要判断提示是否写得好,必须进行测试。将其插入所需的模型,并查看结果与您期望的程度有多接近。
如果文本太干涩,图像看起来与您的想法不符,或者视频中的相机运动不正确,说明请求中的某些细节缺失。
检查模型不理解的地方,补充这一点。
简短的检查清单
在重复执行之前问问自己:
- 模型完成了主要任务吗?
- 所有重要细节都出现在结果中吗?
- 有没有加入多余的内容?
- 是否正确理解样式?
- 所需格式是否符合要求?
- 提示中是否存在矛盾?
- 可以在不失去意义的情况下删除部分文本吗?
不必每次都彻底重写请求。通常,只需更改一两句话:更详细地描述样式,删除多余的内容,澄清动作或添加重要限制。
好的提示不一定是冗长的文本。关键是模型在其后能生成大致上符合您需求的结果。
如何在第一次生成后改进提示

第一次生成很少能做到完美,这是正常的。查看结果并注意到您不满意的地方。
可能是:
- 文本过于正式;
- 图像中出现了多余的对象;
- 视频中的相机向错误的方向移动;
- 音乐节奏过快;
- 代码未考虑错误处理。
在这种情况下,不必重新写整个提示。最佳做法是修改特定部分。例如,请求使文本简单化,改变光照,拉近相机或移除不必要的细节。
最好不要立即修改整个请求,而是逐步修正。首先更改一项,看看结果。这样可以明确这项修改是否有帮助。
如果一次性修改全部,不容易了解是哪个特定改动产生了所需的结果。
当提示可以按需正常工作时,将其保存。稍后可以作为基础,稍作修改并用于类似的任务。
自动生成提示时常见错误

人们常常只是请求神经网络编写一个好的提示,但没有说明为什么它需要这个提示。
模型不得不自己猜测任务,因此结果往往是一个关于一切的冗长文本。看起来很严肃,但通常没有什么用。
有时,LLM反而会使请求变得过于复杂。为模型设定某种角色,编写多页规则,要求验证每一步,并严格按照模板提供响应。
对于复杂任务,这可能会有用,但在简单的情况下只会让工作更加混乱。
常见错误
| 错误 | 发生了什么 | 如何纠正 |
|---|---|---|
| 未指明任务 | LLM自己推测提示的目标 | 简要说明需要得到什么 |
| 未提及模型 | 结果过于通用 | 指明具体的神经网络 |
| 规则太多 | 重要任务淹没在要求中 | 仅保留对结果有影响的规定 |
| 描述过于笼统 | 模型获得过多自由 | 添加几处关键细节 |
| 要求矛盾 | 结果变得不可预测 | 重读并消除不协调之处 |
| 没有响应格式 | LLM添加多余的说明 | 指定它应该返回的内容 |
有时,模型会生成过于普通的请求。例如:
创作一幅美丽的现实主义图像。
画面上应有什么,动作发生在哪里,情绪如何——这都不明确。
因此,最好始终阅读生成的提示。删除重复内容,检查是否存在矛盾,并确认其确实描述了所需的结果。

LLM能否取代提示工程师

对于一般任务,语言模型通常足够了。它能够帮助编写文本、图像、视频、音乐或代码的请求,即使您对提示工程学不熟悉。
但在复杂项目中,仅有LLM已经不够。在那里,需要在不同实例中检查提示,观察其表现良好的地方以及开始出错的地方,并逐步修改。
因此,正确的看法是把LLM视为助手,而不是完全替代专家。
它快速生成初始版本并帮助您不从空白处开始。之后,由人来检查结果并决定应更改什么。
LLM能够很好地起草提示。但人仍然需要判断它是否真的解决了任务。
如何实现模型之间提示的自动传递

如果您通过API与神经网络进行工作,提示不必每次都手动复制。可以使一模型自行将结果传递给另一模型。
例如,用户写下几句话描述他们想要得到的东西。这些描述首先发送到LLM,它将其转化为标准提示。然后,准备好的文本将自动发送到图像、视频生成器或其他所需模型。
示例链
用户 ↓短暂的任务描述 ↓LLM生成提示 ↓提示传递生成器 ↓准备好的结果返回用户图像也可以这样处理:
上传的图像 ↓模型描述内容 ↓LLM生成新提示 ↓生成器创建图像为了确保这种链条顺利运作,最好提前确定响应格式。
例如,请求LLM仅返回提示本身,而不带说明或多余的句子。这样,生成的文本就可以直接发送。
如果模型自动互换数据,最好使用严格的格式:
{ "prompt": "生成的提示", "model": "模型名称", "language": "zh", "task_type": "image"}这样程序将容易理解提示在何处,以及该将其传递到哪里。
为生成提示提供通用元提示

以下是可以用于不同任务的简单模板。将方括号中的文本替换为自己的信息。
通用元提示
您帮助为[模型名称或类型]创建提示。
我需要得到以下结果:[用您自己的话描述任务]。
如果信息不足,请先问我几个问题。只询问真正会影响结果的细节。
在我回答后,创建一个考虑到所选模型特点的准备好的提示。
提示应清晰明了,没有重复和矛盾要求。
不要在提示之前或之后添加解释。仅返回准备好的提示文本。
此模板可以用于生成:
- 文章;
- 图像;
- 视频;
- 音乐;
- 配音;
- 程序代码;
- 数据分析请求。
只需要标明模型并解释您想要得到什么。
关于通过LLM创建提示的要点

您不必马上就会写出完整详细的提示。首先,您可以用普通话向LLM讲述您的构想。
如果缺少某些细节,让模型先提出问题。这样,它就不必自己猜测,获得的结果将更接近您的想法。
准备好的提示仍需在实践中进行检查。第一版可能不理想,因此可以对其进行逐步调整并重新运行。
这一方法的最大好处是您不必每次都从零开始。可以保存有效的元提示,并作为新任务的基础。
简要说明
- 首先用普通话描述任务。
- 指明提示需用于哪个模型。
- 允许LLM提出澄清问题。
- 在实践中检查准备好的请求。
- 不要一次性更改所有内容——逐一修正细节。
- 为后续任务保存成功的选项。
LLM并不会为您设想目标。它帮助您更清晰地表达,并更快速地传达给其他模型。