ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

提示词工程入门:从ChatGPT到DALL·E与自定义GPT的实战方法论

提示词工程入门:从ChatGPT到DALL·E与自定义GPT的实战方法论

最近陆陆续续有朋友问我,AI工具这么多,每天推陈出新,到底该从哪里入手才不算白学。我的答案一直很笃定:先练提示词。不管是ChatGPT这种对话模型,还是DALL·E这种图像生成模型,甚至是你自己动手搭出来的自定义GPT,它们本质上都在做同一件事——把你的意图翻译成模型能听懂的语言。提示词就是你和AI之间的翻译官,这门手艺练得越扎实,工具能发挥出来的价值就越大。

这篇内容我准备把实操中用到的提示词方法论完整拆一遍,覆盖创意、工作和自动化三个最常见的方向。无论你是刚接触AI的小白,还是已经用了一段日子但总觉得输出质量飘忽不定的老手,这套思路都能直接套到你的场景里。文章不算短,但我尽量把原理讲明白,把案例写完整。你不需要一次性读完,建议先把框架部分浏览一遍,再挑自己最关心的场景细看,最好一边看一边打开对话框跟着试。

1. 提示词为什么值得专门花时间研究

1.1 从“会问”到“会提问”:交互方式的质变

先说说我观察到的一个现象。很多人第一次接触ChatGPT时,习惯把它当成搜索引擎来用,丢一个短句进去,比如“写个周报”“帮我做个方案”。结果出来的内容非常平庸,于是得出结论:AI也不过如此。

这个结论我见过太多次了,每次我都想劝一句:不是AI不行,是提问方式没到位。传统搜索引擎的输入是一个关键词,靠的是搜索引擎自己理解你的意图;而ChatGPT这类模型是生成式的,它根据你给出的提示词去推断最符合你期望的回答。提示词的信息量,决定了模型的表演空间。

我打个比方。你去餐厅点菜,只说“来点吃的”,厨师大概率给你上一盘他家最省事的菜,这个菜不一定难吃,但绝对不是为你定制的。可如果你说“来一份少油、微辣、不要太咸、不要香菜、配菜要菌菇类的家常小炒”,哪怕厨师店里没有这道菜,他也能照做出来。提示词就是这个点菜单。

这个变化意味着什么?意味着提问这项技能,第一次从“软素质”变成了“硬生产力”。过去我们写需求、下任务,人与人之间还能靠默契、靠眼神弥补信息差;现在面对的是模型,你漏掉的每一个关键信息,它都不会替你脑补,或者说它会用一个平均化的方案替你脑补。掌握提示词,本质上就是学会把需求描述得足够具体、足够结构化。

1.2 一条提示词串起三条业务线

我把提示词的应用场景分成三大类:创意、工作、自动化。这三类场景对提示词的要求完全不同,不区分清楚的话,学再多技巧也是乱的。

创意场景,典型代表是用DALL·E生成插画、海报、配图。这类提示词不追求逻辑严密,追求的是画面感。你要懂风格词汇、懂构图语言、懂光线和镜头术语,还得知道哪些词在图像模型里真的有效、哪些只是心理安慰。你让DALL·E画一张“赛博朋克风格的城市夜景”很容易,但要画出“从咖啡馆窗户向外看到的大雨中的霓虹街道,带着孤独感和电影感”,就需要更精细的提示词设计。

工作场景,典型代表是用ChatGPT写分析报告、改文案、做表格处理。这类提示词讲究结构化,要有清晰的背景交代、明确的任务指令、格式要求和验收标准。工作场景的输出往往不需要太多文学性,但必须可控、可复用、可量化。你换一个人来执行同一套提示词,得到的结果应该高度接近。

自动化场景,典型代表是自定义GPT。你可以把一套提示词固化下来,配合知识库文件和外部工具,让模型自动处理某类重复任务。比如做一个“周报生成助手”,它自动读取你的工作记录、归纳要点、生成周报。这里的提示词已经不只是“一句话”的问题,而是系统设计问题,需要考虑边界情况、输入输出规范、异常处理。

理解了这三条线,再回头看各种AI工具,就不会觉得眼花缭乱。底层逻辑都是提示词,只是表现形式不同、侧重点不同。

1.3 什么人最适合从提示词开始学

经常有人问我,学AI到底学什么。我的建议很直白:如果你不是要做底层模型研究的工程师,那直接从提示词开始,性价比最高。程序员可以学得更深,但文案、运营、产品、设计、行政这些岗位,先把提示词练好,是立刻能对着工作产出效果的。

也不要觉得提示词是“文科生才需要”的东西。我在实际项目中见过很多开发者也栽在提示词上,比如让模型生成代码的时候不交代语言版本、不说明运行环境,结果模型给出一段过时的API用法。会写代码和会提需求,是两种能力。把提示词练好,不只是让AI帮你干活,更是让你把自己脑子里的模糊想法,变成清晰可执行的需求文档。这个能力在任何岗位都值钱。

2. 一套能直接用起来的提示词框架

2.1 五要素:角色、任务、上下文、格式、约束

很多教程喜欢罗列所谓“万能公式”,什么“你是XXX,请帮我做XXX”之类。这种公式不是没用,但太粗糙,应付简单任务可以,稍微复杂一点就失灵。我在项目里反复打磨后,把提示词拆成五个要素:角色、任务、上下文、格式、约束。这五个要素不是每次都要写全,而是像一个工具箱,你需要哪个就拿出来用哪个。

角色(Role)解决的是“模型站在什么立场回答”。同一个问题,让模型以“资深数据分析师”身份回答,和以“销售主管”身份回答,输出的角度和用词完全不同。角色设定越具体越好,比如“你是一个有十年经验的供应链管理顾问,擅长用通俗语言解释库存优化问题”,这比简单说“你是专家”有效得多。因为模型见过的“专家”太多了,没有具体细节它就套用一个平均化的人设。

任务(Task)是提示词的最小核心,必须是一句明确的祈使句:做什么。比如“把下面的会议纪要改写成三条行动项”。任务表述要避免歧义,让不同的人读这句话能得到同样的理解。我踩过的坑是任务里夹带了太多解释性内容,模型分不清到底是要行动项还是解释过程。

上下文(Context)是很多人最容易漏掉的部分。模型不像人,你不交代背景,它就当你是外星人。上下文包括:为什么要做这件事、对象是谁、已有的材料有哪些、有没有什么限制条件。举个例子,你让它“润色这段文案”,它只能瞎猜文体和受众;但你告诉它“这是一封发给老客户的续费提醒邮件,语气要温和但坚定,不要显得急切”,效果立刻不一样。上下文给得越充分,输出就越贴题。

格式(Format)直接决定输出能不能直接用。比如“用Markdown表格输出”“用三段式结构,每段不超过200字”“先给结论再给理由”。很多人的提示词输出不可用,不是模型不行,而是你没说清楚要什么形状的交付物。这就像你让设计师做个海报,但不告诉他尺寸和风格,他只能先做个200页的提案来试水。

约束(Constraints)解决“不要什么”。比如“不要出现第一人称”“不要用夸张营销语调”“不要超过500字”。约束是给模型装护栏,能极大减少你后期修改的时间。但要注意,约束写太多也可能让模型变得束手束脚,反而输出干巴巴的内容。合理做法是写最重要的三条约束,不要试图把所有边界都列一遍。

2.2 同一个框架在DALL·E上的变形

图像生成和文本生成看着都是提示词,实际逻辑差别很大。文本提示词的核心是逻辑结构,图像提示词的核心是画面要素。你把一段给ChatGPT的提示词直接扔给DALL·E,大概率生成一张构图混乱、重点全无的图。

DALL·E的提示词我习惯拆成四个维度:主体内容、风格媒介、构图镜头、氛围细节。打个比方,你想要的画面里有什么(主体内容),用什么画风来表现(风格媒介),从什么角度拍(构图镜头),画面传递什么氛围(氛围细节)。

举个例子。你想画一张“办公室里的机器人同事在煮咖啡”的场景,基础提示词可能就是“a robot making coffee in an office”。如果加上风格“皮克斯动画风格”,加镜头“特写镜头,浅景深”,加氛围“暖黄色灯光,轻松幽默的日常感”,生成的图就会完全不一样。四要素和文本提示词里的角色、上下文其实是同一套思维,只是语言从逻辑语句变成了画面描述。

DALL·E还有几个比较影响出图质量的关键词技巧。一个是“单主体原则”,如果你一口气描述太多元素,模型往往会乱,画面重点丢失。如果你想画一群人,就明确谁是主角,别人是背景。一个是“否定表述容易失效”,DALL·E对“不要什么”的理解经常不到位,你说“不要红色”,它可能照样给你大片红色。换个思路,直接描述你要的替代对象,比如“主色调为深蓝和浅橙”。还有一个是“参考作品名”,在提示词里写“类似某部电影的光影风格”往往比几百字氛围描述更高效,但前提是别涉及版权风险和敏感题材。

2.3 自定义GPT里的系统提示词设计

自定义GPT是另一个层级的玩法。它的核心载体仍然是一段长提示词,只不过这段提示词会被固化下来,每次新对话都自动附加在开头。你可以把它理解成给模型安装了一本“使用手册”和一张“人设名片”。这个设计很有意思,因为你的提示词不再是单次对话的指令,而是产品文档。

我做过不少自定义GPT,最深的一点体会是:自定义GPT的系统提示词要写得像产品说明,而不是创作剧本。它需要明确四个问题:这个GPT服务谁,解决什么问题,有哪些输入输出规范,遇到边界情况怎么处理。这四个问题想不清楚,后面用起来一定别扭。

举个例子,我搭过一个“会议纪要整理助手”。系统提示词里写了:只接受会议录音转文字文本作为输入,输出固定的会议目标、讨论过程、结论、待办事项四项;如果输入内容超过6000字,先分段总结再合并;如果用户上传的不是文本格式,主动提示上传格式要求。这样设计之后,团队成员上传任何会议记录,它都能稳定输出固定结构的纪要,基本不需要人工调教。

还有一个经验:自定义GPT系统提示词里,要多写“当用户问到XX时应该怎么做”,少写“你是一个乐于助人的助手”这种空话。因为前者定义了模型的行为边界,后者只是让它表现得热情,但对结果帮助不大。系统提示词更像是一份操作手册,而不是一段人设台词。

3. 三个场景的完整实操案例

3.1 工作场景:用ChatGPT写一份可交付的分析摘要

我拿一个模拟项目X的实际过程来演示。假设要处理的是一份市场调研问卷数据,需求是从一堆开放式回答里提炼关键反馈,产出一份适合汇报的摘要。这个任务听起来不复杂,但直接丢数据让模型总结,往往得不到适合汇报的结果。

第一步,先给出上下文。把调研背景、目标用户、数据来源写清楚。我会这样开场:“下面的内容是某次用户调研的开放式问题回答,共65条。目标用户是产品经理,需要从中提炼出关于定价的三个核心观点和建议。调研对象是一线城市25到35岁的互联网产品使用者。”这个开场白把读者是谁、看什么、为什么做都交代清楚了。

第二步,给出任务指令:“请分段归纳每条回答的核心观点,去重,按出现频次排序,最终输出一份不超过400字的摘要。”任务指令单独一行,放在所有背景材料之前,而不是混在背景里。

第三步,定义输出格式:“以‘主要发现’开头,用三个带小标题的段落呈现,每个小标题后先写现象,再写数据支撑,例如‘有31条回答提到价格过高’。”这样模型知道交付物的形状了。

第四步,补充约束:“不要添加你自己的想法,只看材料里的内容;术语保持原文;不要使用‘部分用户表示’这类模糊表述,要给出具体数量。”

然后把原始数据粘贴进去。这里有个实操技巧:一次性贴65条数据容易超出模型的上下文窗口,我通常会先让它分段总结,再合并二次总结。实测下来,分段处理的输出质量明显高于一次性处理,原因是模型对每一条材料的注意力更集中,不容易漏掉关键观点。

最后再加一轮自我检查指令:“检查这份摘要里有没有超出原材料的信息,逐句对比原文,如果有,标出来并修正。”这一轮检查能抓出绝大多数幻觉内容。几次实测里,模型主动找出了两处可能推测过度的地方,我把那两句删掉之后,摘要就可以直接拿去汇报了。

3.2 创意场景:用DALL·E做一套风格统一的封面图

图像生成这块我踩过不少坑,最大一个坑就是“画面风格不稳定”。同一个提示词跑三次,三次风格都不一样,做系列图的时候尤其头疼。后来我用一个笨办法解决了:把风格描述抽出来,单独写成一个“风格段落”,固定在每张图的提示词开头。

比如做一系列行业科普封面图,风格段落我写的是:“扁平化矢量插画风格,主色调为深蓝和浅橙,背景简洁留白,人物使用几何形体,整体给人专业但不冷淡的感觉。”然后每次只需要替换主体内容,例如“银行工作人员在讲解理财知识”“程序员在调试服务器”,再加一个统一的构图词“居中构图,主视觉占画面70%”。

这个办法的优点是风格统一度明显提升,缺点是每次都要手动粘贴风格段落,稍微有点繁琐。后来我把这整套提示词做成了自定义GPT,其他人只需要告诉它“第5期配图,主题是跨境电商”,它就能自动套用模板,生成一组参考图。这个改动让团队的配图外包时间从半天压缩到了半小时。

再说一个出图细节。DALL·E对文字很敏感,让它生成含文字的图片时经常出现乱码。我的处理办法是:如果图片里必须有文字,我会在提示词里写清楚具体文案内容,并且说明字体风格和文字排布方式,比如“海报顶部有一行白色粗体标题‘2024行业趋势’”;如果文字不是必需品,干脆不让它写字,后期自己叠加。这个取舍非常重要,很多初学者把大量精力耗在“让它把字写对”上,其实完全可以用排版工具省事解决。

3.3 自动化场景:自定义GPT处理重复性工作流

工作里的重复性劳动,我觉得是自定义GPT最能发挥价值的地方。举一个“周报助手”的例子。

需求背景:某团队每周要交周报,大家写的方式五花八门,格式不统一,领导看着费劲。我搭了一个自定义GPT,思路如下。首先,系统提示词里定义角色和任务:“你是一名周报整理助手,负责将用户提供的零散工作记录整理成结构化周报。周报包含本周完成、本周进行中、风险与问题、下周计划四个模块。”其次,配置知识文件:把团队的周报模板、过往优秀周报案例作为参考文件上传,模型在整理时就有了“风格样本”。然后,在动作里接入一个简单的文本处理逻辑:如果用户粘贴的工作记录是纯文本,自动识别日期、动词、任务对象,归入对应模块。

这个GPT实际跑下来,最大的收获不是节省了多少时间,而是它改变了团队的输入习惯。大家发现,反正最后都要丢给助手整理,写工作记录的时候反而更随意了,想到哪写到哪,但输出却一直保持稳定。这其实是自动化工具最好的状态——对使用者要求低,对结果一致性要求高。

如果你也想做类似的东西,我建议从最痛的重复任务入手,千万别贪多。一个自定义GPT只解决一个问题,比一个什么都想干的GPT可靠得多。把范围缩小,你才能在系统提示词里把边界写清楚,输出质量才能稳定。我见过很多人第一次做自定义GPT就想着“全能助理”,结果什么都要管,什么都管不好。

对比项手动整理周报自定义GPT整理周报
整理一份周报耗时10到20分钟1分钟
格式一致性依赖个人习惯,波动大固定模块,稳定
工作记录质量要求必须写得清楚整齐随意记录也能整理
跨人复用换人之后风格又变不换提示词,风格不变

4. 常见问题与排查技巧实录

4.1 模型“答非所问”时先检查任务指令

我在带新人练提示词的时候,发现90%的“答非所问”根本不是模型笨,而是任务指令有歧义。最常见的问题是:把任务描述和背景材料混在一起,一整段话里找不到一个明确的动词指令。比如有人这样写:“以下是我们的产品介绍。我们想做一个夏季促销。产品有三个系列,分别是A、B、C。帮我写一个活动方案。”整段话没有一个清晰的任务表达,模型只能猜,猜的结果自然飘。

我的排查顺序是:先看第一行是不是任务指令。如果不是,先补上。改成“请基于下面提供的产品信息,策划一期夏季促销活动方案,要求包含三个活动主题、五个执行步骤、两个风险预案”。任务明确之后,背景材料再多也不会干扰模型判断,因为它知道每一段材料都是为这个任务服务的。

第二种常见问题是任务过大。比如“帮我分析这份财报”这种指令,模型会一次性给一个大而全、但每个部分都很浅的回答。我的做法是“拆任务”,先让它提取关键指标,再让它比较两个季度差异,再让它输出风险提示,最后汇总。每一步都是独立对话或者独立段落,质量会高很多。这个思路和我在分析场景时说的“分段总结”是一回事,本质是把模型一次任务的负担控制在合理范围内。

4.2 DALL·E出图不对,先降低描述密度

DALL·E出图和预期不符,大部分时候不是它理解力差,是你的描述信息密度太高。图像模型没有能力对几十个要素做优先级排序,你写了十个细节,它可能随机挑五六个来画,另外几个就顾不上了。

我实测下来的经验是:一张图的提示词里,核心画面要素尽量控制在三到五个。如果你想调整某个细节,不要一次性全改,每次只动一个变量。比如第一版的主体、风格、构图都满意了,只想把“白天”改成“夜晚”,那就单独替换这个时间词,别顺手又改了配色和镜头。这样既方便对比,也能准确判断是哪段描述起了效果。

另外,DALL·E对“比例”和“尺寸”的指令偶尔不敏感。如果你要严格比例,比如16:9,我一般会先把画面内容和风格写全,最后补一句“16:9 横向构图,宽银幕比例”。虽然不能保证每次百分百精确,但至少不会是竖图。还有一个小技巧:如果你反复试图修一张图都修不好,别硬修了,把提示词里描述最复杂的那块删掉,重新生成往往比继续对话更高效。对话修补容易导致模型在原有错误基础上越走越偏。

4.3 自定义GPT的边界问题怎么处理

自定义GPT看起来就是简单地搭一个机器人,实际上手之后会遇到几个典型问题,我一个个说。

第一个是“越权回答”。用户问的问题不在你预设的范围内,GPT可能会自己编一个答案硬聊下去。解决办法是在系统提示词里写清楚“如果用户的问题不属于XX范围,请回复:该问题不在服务范围内,建议联系人工。”这句话相当于给机器人装了一道闸门,否则它误会自己是全知全能的。

第二个是“知识文件过大”。很多知识文件动不动几十页,模型只会参考其中一部分,回答就可能漏掉关键信息。我的建议是:知识文件要精简到“要点+示例”的程度,最好分块上传,每块控制在几页内。你传一个300页的PDF进去,模型不是读不了,而是不知道回答时该优先引用哪一部分。与其让它自己挑,不如你帮它挑好。

第三个是“输出格式漂移”。同一个GPT,多聊几轮之后输出格式开始不稳。这个问题靠系统提示词里反复强调也没完全根治,我通常在输出指令后加一行:“每次回答必须严格遵循四段式结构,不得改变顺序和格式。”如果还是漂,就说明问题出在上下文被用户的输入带偏了,我一般会让用户重启新对话。说到底,长对话里的旧信息干扰是难以根除的,与其对抗不如重启。

5. 进阶:提示词质量的评估与迭代方法

5.1 给输出打分,建立自己的评测清单

提示词写得好不好,不能靠感觉,得有评测标准。我自己给输出质量设了四个维度:相关性、准确性、完整性、可用性。相关性看它有没有围绕任务;准确性看有没有虚构内容;完整性看该覆盖的点有没有漏;可用性看交付物能不能直接用、改动量大不大。

每次调试提示词,我就对着这四个维度打分。如果完整性差,就回到提示词里补充上下文;如果可用性差,就调整格式和约束;如果相关性差,优先检查任务指令是不是被上下文吞掉了。这套方法看起来机械,但在大量调优场景里非常有效。人最容易犯的错是凭感觉说“不对”,但说不清哪里不对,有了评测清单,每一步的修改都有了方向。

拿文本生成举例。输出里出现了一处虚构数据,那是准确性问题,处理办法是在提示词里加“不得编造数据,缺乏数据时明确说明”。结构完全对,但用词太啰嗦,那是可用性问题,处理办法是加“每段不超过100字”。这两个问题的解决方式完全不同,混在一起处理只会让提示词越来越重。

5.2 用“提示词版本管理”代替一句一句乱试

很多人在调试提示词的时候是“想到一句加一句”,最后提示词变得又臭又长,还不知道哪一句起作用了。我现在的习惯是给提示词做版本管理:每次改动只动一个变量,用V1、V2、V3命名,同时记录每次改动期望解决什么问题、实际效果如何。

比如我的图像风格段落从V1到V3,改动分别是从“扁平化”改成“扁平化矢量插画”,加上了“主色调为深蓝和浅橙”,又改成了“背景简洁留白”。每改一次,我都用同一张主体图做对比测试。这样三个月下来,我手里积累了一套“自己的提示词效果库”,哪些词有效、哪些词是废话,一目了然。

这个方法听着笨,但特别适合解决那种“AI发挥不稳定”的感觉。很多时候,不稳定不是模型的问题,而是你每次输入质量本身就有波动。手动管理提示词版本之后,你会发现大多数“玄学”其实都是可控的变量,只是之前没记录而已。如果你的工作涉及大量提示词,甚至可以用表格专门维护一份版本记录,效果更好。

5.3 多轮对话里的上下文管理技巧

还有一个容易被忽略的坑:长对话里的提示词会失效。ChatGPT的多轮对话是有上下文的,之前的对话内容会影响后续输出,有时候是正向的延续,但更多时候是负向的干扰。如果你发现某次回答突然风格大变,先看看是不是前面聊了太多无关内容,或者粘贴了超长文本导致上下文被挤占。

我的习惯是:每完成一个独立任务,就开新对话。如果确实需要延续,我会在每条新指令的开头写上“沿用上一轮讨论的背景,但忽略上一条指令中的输出格式限制”。把这个“切换开关”显式写出来,是为了避免模型默认延续上一个输出格式,给你生成一堆相似结构的答案。

举个例子,前一轮你让它用Markdown表格输出,下一轮任务换个类型,它可能还在用表格。如果你不加一句“忽略上一轮格式”,就得手动纠正。这种“格式粘滞”现象在长对话里特别常见,写提示词的时候多留个心眼,能省掉不少无用功。

说实话,提示词这门手艺,入门门槛真的很低,但要做好,需要耐心。我自己也是从“一句话问到底”的阶段走过来的,最开始也觉得写长提示词很傻,像在跟一个没耐心的实习生交代工作。但用久了你会发现,模型是非常公平的,它不会记得你是新手还是老手,只认你给出的这一串字符。你把需求描述清楚,它就给你干净整齐的交付物;你潦草敷衍,它也潦草敷衍。

最后再分享一个小技巧:每次你觉得AI输出不理想的时候,不要急着让它“重写一遍”,而是先问它“你认为我刚才的指令里哪些信息不足?请列出三个补充问题”。很多时候,模型的自我分析能帮你迅速定位问题出在上下文还是格式。把这个习惯保持下去,你的提示词水平会有一个明显的跃迁。这篇先到这里,后续我打算继续写DALL·E图像提示词的进阶参数,以及自定义GPT接外部工具的具体做法。有问题的朋友欢迎在评论区留下你实际遇到的案例,我尽量挑典型的回复。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进