
1. 提示词不是玄学六要素框架到底解决什么问题1.1 同样一个模型为什么有人能一步到位“提示词怎么写才有效”大概是这两年最常被问到的问题之一。我也一样早期写提示词基本靠感觉一句话甩给AI然后看运气。运气好答案像模像样运气不好AI给出的东西和脑子里想的差了十万八千里。后来我逐渐意识到真正拉开差距的不是谁的词汇量大也不是背了多少热门模板而是有没有一套自己的提示词框架。六要素框架就是把这件事标准化的一套方法熟练之后无论你是在写文案、画图还是在写AI编程提示词都可以用同一套逻辑去组织信息。我见过很多零基础用户的第一反应是“提示词越长越复杂AI就越聪明”。实际上AI不是聪明不聪明的问题它更像一个阅读能力极强、但社会常识极度依赖上下文的外包员工。它不会读心术也不会自动补全那些你认为“不需要说”的前提条件。你写“帮我整理一份报告”它可能理解成列表归纳也可能理解成写一篇分析文章还可能理解成生成一个PPT大纲。提示词框架存在的意义就是把这些歧义一个个消灭掉。1.2 六要素框架一份六项必填的任务交接单我这里说的六要素指的是角色、目标、背景、边界、输出、示例。其实你可以把它理解成给新同事写任务交接单谁来干这个活最终要干成什么样这个任务发生在什么环境下哪些事不允许做交付物长什么样子有没有一个可以参考的例子这六个维度并不是我凭空发明的规则而是我踩了无数次坑之后倒推出来的。早期我写提示词经常发现最后生成的结果“跑题”复盘的时候翻来覆去地看几乎每次都能落到六类问题上要么忘了告诉AI以什么身份来处理要么目标描述里有歧义要么没给足背景资料要么没有设置禁止项要么没规定输出格式要么没给样例参考。后来我养成了一个习惯写完提示词后对照这六点逐项检查出题率立刻下降了一大截。顺带说明一下这个“六要素框架”不是唯一的写法。市面上也有角色提示词、结构化提示词、思维链提示词等流派。但六要素更适合普通人上手因为它本质上不是写作技巧而是检查清单。你不需要文笔好不需要懂算法只需要在发消息前多花三十秒把六个问题过一遍。1.3 鹈鹕骑自行车提示词工程圈最近的一面“照妖镜”最近“鹈鹕骑自行车”这句提示词在图像生成、视频生成圈子里特别火从Flux到ComfyUI再到各类中文文生图模型很多人都在拿它做测试。这个词组的妙处在于它把两个看似完全不搭的要素强行组合在一起鹈鹕这种鸟有巨大的喉囊、短腿和大嘴而自行车是结构严格的机械造物。模型既要理解“骑”这个动作又要保证鸟类解剖结构不被扭曲还得处理视角、重心、环境等一系列问题。生成结果稍微差一点画面就会变成“鹈鹕站在车旁”或者“鸟嘴里叼着自行车”非常直观地反映出模型到底有没有理解提示词。我拿这个案例当引子是因为它特别适合用来理解六要素框架。你光说“一只鹈鹕骑自行车”十个模型能给你十种理解但当你把角色、目标、背景、边界、输出、示例六项都交代清楚之后稳定度会明显上升。下面第二部分先把六个要素逐个讲透第三部分再用完整的案例做一次组装演示看完你应该能直接在自己的工具里复现。2. 六要素逐项拆解角色、目标、背景、边界、输出、示例2.1 角色把AI请到正确的工位上第一个要素是角色。很多人容易忽略它觉得“让AI干活就行了干嘛要给它头衔”。但如果你尝试过让同一个问题分别以“老师”和“小学生”的口吻回答就会明白角色的作用不仅限于口吻它还决定了AI调用的知识侧重点和表达方式。举一个生活化的例子。你问“帮我解释一下什么是递归”如果角色是“给新手讲课的程序员”它大概率会用烤面包机、排队叫号这类生活案例来解释如果角色是“技术面试官”它可能直接给出复杂度分析和边界条件讨论如果角色是“写儿童科普的编辑”它甚至会把递归写成童话故事。AI本身掌握的知识是同一套但“如何选取”和“如何组织输出”会因为角色设定发生明显偏移。实际操作中角色不要写得太笼统。尽量把角色的领域、经验水平、工作场景写出来。比如“你是一位有五年经验的React前端工程师负责审查代码并给出重构建议”。这比单纯写“你是前端工程师”要有效得多。因为这句话不仅设定了身份还暗示了你看重的是工程实践经验而非教科书式回答。2.2 目标把“要什么”压缩成一句可验收的话第二个要素是目标。目标是所有要素里最先应该确定的因为它直接决定了任务的终点。目标描述要尽量做到“可验收”也就是说你拿这句话作为判断标准能明确知道AI做没做到。举个例子“帮我写一份关于健康饮食的文案”不是一个清晰目标因为“文案”可能是平面广告、公众号文章、短视频口播稿更麻烦的是没有说明文案的用途和受众。更好的目标写法是“为一款面向都市白领的低糖早餐燕麦片写一篇订阅号推送文案目的是让读者产生点击购买的兴趣。”这样AI知道它要做的是新媒体文案对象是都市白领卖点是低糖早餐职责是促进转化。写目标时还有一个容易犯的毛病一次性塞太多要求。比如“帮我做一个既能用户注册登录、又能发布文章、还能点赞评论的项目”这种目标在AI看来就像一团乱麻。我建议在目标不清晰时先写一句话版本然后不断自问这个任务的核心交付物到底是什么如果一句话说不清那就拆分任务而不是硬塞给一次生成。2.3 背景把已知条件和资料一次给齐第三个要素是背景。背景的作用是减少AI的猜测空间。很多提示词失败不是AI笨而是信息缺失导致它只能从最普遍、最模糊的角度去理解。背景信息至少包含三类一是任务所处的情境比如“这是给公司内部技术分享用的PPT大纲”二是你已经确定的事实比如“用户反馈量已经统计好了共1200条我贴一部分原始文本给你”三是限制性条件比如“这个功能需要在手机上运行网络不稳定”。这三类信息叠加起来AI就能在更真实的上下文里替你思考。特别想提醒一点背景信息不是越多越好而是相关性越高越好。我也见过喜欢把过去一周的工作日记全贴进去的人结果AI抓不住重点。正确姿势是先说清楚哪些背景是“决策依据”哪些只是“无用的花絮”然后有选择地提供。如果你实在判断不了哪些信息有用可以在背景末尾加一句“如果需要更多资料先列出你缺少哪方面的信息”让AI自己来要。2.4 边界划清禁区防止AI自由发挥第四个要素是边界也就是“不要做什么”。边界经常被忽略因为大多数人只习惯提正向要求很少意识到AI也会过度发挥。当你让AI写一篇文章它很容易在结尾来一段慷慨激昂的总结当你让AI生成一张插画它可能擅自加一个水印或者一排超大字标题当你让AI写代码它可能自作主张接入一堆你没用过的依赖库。边界清单在使用图像生成和AI编程提示词时特别重要。图像生成里如果你想画“一只猫坐在窗台上”但是不想让画面出现月亮、星星、人物剪影就得把这些明确列为禁止项。编程场景里你不想让AI改动项目的现有架构不想引入第三方包不想使用某些底层API都必须写出来。边界的信息粒度越小AI跑偏的概率就越低。很多初学者担心写“不要什么”是不是会显得啰嗦。我的经验是宁可多写三条不存在的禁令也比生成三次废稿省时间。特别是在你追求稳定复现时边界就是你的护栏AI的自由发挥被限制住反而能产出更符合预期的结果。2.5 输出把交付物的长相、格式甚至语气都定死第五个要素是输出。输出是很多人最容易忽略的一环但它对最终体验的影响特别大。同样是“给我一份项目规划”AI可以输出一段纯文字可以输出一个Markdown表格可以输出一个时间轴列表还可以输出一个流程图。没有指定输出格式时模型会按它默认的习惯走你拿到手往往还得二次整理。输出要素里建议写明三件事格式、长度、语气。格式包括“用表格”“用代码块”“用JSON”“用大纲”等长度包括“控制在200字以内”“分五个点各三行”等语气包括“专业严谨”“轻松口语化”“中性客观”等。你以为AI应该知道的这些细节它其实是不知道的明说出来才是效率来源。有一点要注意输出格式和结果质量之间有时会有冲突。比如你既要AI生成一段严谨的法律文本又要它不超过100字这本身就可能不现实。所以设定输出要求时最好先评估一下需求和资源的匹配度不要给出自相矛盾的要求否则AI会陷入“两头堵”的困境。2.6 示例一两个好样本胜过十句形容词第六个要素是示例。给示例的本质是告诉AI“我想要的‘好’到底是什么样子”。有时候你花很长篇幅描述风格、语气、结构但AI依然不能准确把握这时候一个例子顶过全部形容词。比如你想让AI帮你写产品卖点文案与其写“要生动、要有冲击力、要吸引人”不如直接给一句示例“以前你泡一杯燕麦要等三分钟现在三秒钟就能搞定而且好喝得像现煮”。AI看到这个例子之后会模仿出相似的信息密度、句式节奏和口语表达方式比纯粹靠形容词驱动有效得多。写示例时不需要很长的范文截取一段少量但特征鲜明的片段就够了。如果你手里有多个风格不同的参考可以让AI先学习示例中的共性和差异再给出组合结果。对于代码类任务示例通常以“输入-输出”样例的形式出现给一段输入数据格式再给期望的处理结果。这样AI写出来的代码会更贴近你的实际数据结构不至于算法对了但字段名全错。3. 完整案例一用六要素写出“鹈鹕骑自行车”这类高难度图像提示词3.1 先看一个最容易翻车的写法最近“鹈鹕骑自行车”这个测试题网上有很多版本有人直接用最简格式“a pelican riding a bicycle”也有人层层加码。先来说说最常见的翻车版本只写一句“一只鹈鹕骑自行车”。这句话包含的歧义太多了。鹈鹕是什么姿态骑是像人一样坐在坐垫上还是用腿站在脚踏板上自行车是什么类型是城市通勤车、公路车还是儿童三轮车场景在哪里是城市街道还是海边公路画风是写实、卡通还是油画所有这些问题你都没说模型只能自己填坑。我实测下来的结果是很多模型会画出一只大鸟“骑”在一个已经被压变形的东西上有的甚至把自行车结构简化成了轮子加横杆完全丢失辐条、链条这些细节。最离谱的一次模型把鹈鹕的长喙处理成了车把整个画面既不像鹈鹕也不像自行车。说白了模型在试图用最省力的方式满足你那种模糊的语义匹配却越省力越离谱。3.2 按六要素逐步组装一版能用的提示词现在用六要素思路走一遍流程你会发现整个提示词的清晰度完全不同。我们先确定目标画面主视觉是一只成年大白鹈鹕在城市街道上骑行一辆复古双轮自行车。再看角色为图像生成场景设定为“擅长清新童趣插画风格的AI画师”这样模型会往插画方向倾斜而不是硬核写实。然后是背景信息。画面背景设定成明亮的晴日、低角度视角道路两旁有模糊的绿植整体氛围轻松诙谐。接着补边界保持鹈鹕的明显特征包括大喉囊、长喙、短腿确保自行车有清晰的车架、两个车轮和辐条不能变成鸟的翅膀画面中不允许出现其他动物、行人、路标、文字和水印不采用暗黑恐怖或过度写实风格。最后是输出要求横版16:9构图无任何文字细节丰富插画风格统一。根据以上拆解一版可以直接复制的中文提示词如下请以一位擅长插画设计的AI画师身份生成一张横版16:9的插画。画面主视觉是一只成年大白鹈鹕正用拟人化姿态骑着一辆复古双轮自行车出现在城市街道上。背景是明亮的晴天低角度仰拍视角路面微湿有倒影整体氛围轻松诙谐。鹈鹕必须保留大喉囊、长喙和短腿等生物特征可以用拟人化动作但四肢不能与车架融合自行车需要有完整车架、两个车轮、辐条和脚踏不能变形或与鸟的身体粘连。画面中不得出现其他动物、行人、文字、字母、水印或边框。风格参考温暖明亮的动画电影场景色彩通透细节清晰。这版提示词没有用什么高级参数也没有堆砌英文关键词但它把六个要素都照顾到了。如果你用的模型支持中文提示词比如较新版本的图像模型通常能直接得到比较稳的画面。如果用英文界面也可以把同样的逻辑翻译成英文关键信息一条不少。3.3 生成完不满意怎么调在哪个要素上动手图像生成很少有一次到位的所以学会“定位问题”比反复碰运气更重要。拿到结果后我通常是按六要素依次排查。如果画面上鹈鹕不对问题大概率出在“角色”和“边界”上。你要把角色描述得更细比如“儿童科普绘本风格的插画师”同时把边界里关于“保留大喉囊、长喙”的部分写得更强制一些。如果自行车不对问题多半出在背景和边界里的结构说明不全可以把“辐条”“链条”“复古车把”等细节拆出来单独强调。如果风格不对问题往往在输出和示例上。输出里只说“氛围轻松诙谐”是不够的很多模型会把它理解为“奇怪的表情”更好的做法是给出一个具体的风格参照比如“类似《疯狂动物城》的城市背景风格”或“类似吉卜力动画的色调”。如果你用的工具支持参考图那就更直接一张参考图比任何风格形容词都管用。如果整体构图总是不理想可以重新审视目标表述。目标里只有“横版16:9”是不够的你还需要告诉模型主体在画面中的大小比例、视线方向、留白位置。比如把“鹈鹕位于画面中心偏右车头朝向左前方”写进目标里构图的稳定性会明显改善。总之改哪里要看哪里出错不要每次都推倒重写。4. 完整案例二用六要素写一个AI编程提示词让代码一次跑通4.1 编程提示词和绘画提示词差别在哪AI编程提示词听起来和绘画提示词是两类任务但其底层逻辑完全一致。绘画提示词要把“画面要素”写清楚编程提示词要把“行为逻辑”写清楚。很多人写AI编程提示词时只写一句“帮我写个程序”或者“写个爬虫抓取数据”结果AI给出的代码要么缺少边界处理要么依赖库没交代要么处理逻辑完全不符合预期。编程场景更特殊的一点在于代码是可以被计算机精确判定对错的。绘画稍微抽象一点风格偏差还能算“审美问题”编程如果逻辑错了轻则跑起来报错重则产生错误结果你还浑然不觉。所以在写编程提示词时背景、边界、输出、示例这几个要素的价值会被放到最大。另外AI编程提示词要特别强调“方案选型”。如果你不告诉AI“用什么语言、要不要引入第三方库、性能要求是什么”它会按默认最优方案写但那个最优方案很可能不适合你。比如你只需要一个几百行的脚本它可能给你设计一个模块化系统你只想跑一次批处理它可能给你加一个定时任务框架。界定边界能有效防止这种过度设计。4.2 用六要素把日志分析脚本需求翻译清楚拿一个我实际做过的小需求来演示。任务背景我有一些Nginx访问日志想写一个Python脚本统计状态码分布、访问次数最高的十个URL以及每次请求的平均响应字节数。如果只写一句“帮我写个Python脚本分析Nginx日志”它大概率能交差但结果未必好用。按六要素走一遍情况完全不同。角色设定为“有多年运维经验的Python工程师擅长写简洁实用的脚本”。目标设定为“编写一个命令行工具输入Nginx access_log文件路径输出状态码统计、Top 10 URL和平均响应字节数”。背景信息则给出日志样例路径并贴出几行真实日志格式。边界则写明“只用Python标准库不依赖pandas、requests等第三方包”“不做网络请求不连接数据库”“遇到解析失败的日志行跳过不能中断”“脚本要能在命令行直接运行”。输出要个“完整代码文件包含main函数、命令行参数解析和示例输出”。示例则贴两行日志并说明期望统计结果。根据这些约束一个清晰的AI编程提示词会是这样你是一位有多年经验的Python运维工程师请编写一个命令行脚本用于分析Nginx access log。输入参数是日志文件路径运行后输出三部分内容状态码分布统计、访问次数最高的10个URL、所有请求的平均响应字节数。日志路径由命令行传入格式类似于 /var/log/nginx/access.log。原始日志每行格式如下 127.0.0.1 - - [10/Oct/2024:13:55:36 0800] GET /api/user HTTP/1.1 200 1024 - curl/7.68.0 192.168.1.7 - - [10/Oct/2024:13:56:11 0800] POST /api/order HTTP/1.1 500 287 - Mozilla/5.0 脚本必须只用Python标准库实现禁止使用第三方依赖不能发生网络请求也不能读写数据库解析失败的行跳过不报错。输出使用表格形式Top 10列表按照次数降序排列。请先给出完整脚本代码再写一段使用说明和运行示例。这个提示词看起来比第一版长很多但每一句都和最终执行直接相关。有了日志样例AI就不会猜错字段解析方式有了“只用标准库”的边界它就不会擅自引入pandas有了“解析失败跳过”的指令脚本在脏数据环境下也不会崩溃。4.3 加约束前后对比一次跑通和反复修bug的区别同样的需求不加约束的提示词带来的麻烦我踩过太多次了。第一次让AI写日志分析脚本它直接把pandas、matplotlib全用上了我本地环境没有装还得先补包再一次它默认日志是JSON格式但我的日志是经典Nginx combined格式跑出来全乱还有一次它没有处理空文件的情况运行时直接报了IndexError。再加上六要素约束之后效果会完全不同。它会直接只写一个几十分钟就能读完的脚本字段解析按给定格式匹配异常行跳过输出整齐的表格。合理设置边界还能让代码更易读因为AI知道自己不需要把系统设计得那么复杂只需要围绕目标完成一套精准的文件处理流程。这种“一次跑通”的体验才是AI编程提示词最能够带来价值的地方。从成本的角度看写一个详细提示词大概要花5到10分钟但换来的是少几次令人失望的生成、少几次往返修改。尤其是遇到涉及外部文件格式、语言版本、依赖环境的场景多花两分钟把背景和边界写清楚是稳赚不赔的买卖。5. 高频翻车现场与排查经验5.1 症状、原因与对策速查表下面这张表是我日常排查提示词的常用对照表。并不是所有问题都出在“写得不够长”很多问题的根源反而是某个要素缺失或者要素之间互相冲突。遇到问题先对照表格定位再精准修改效率会高很多。症状真正的原因修复策略回答泛泛而谈像百科词条缺少角色和输出要素AI选了最安全的中立表达明确指定身份、写作目的和输出语气画出来的图总有多余元素边界要素缺失模型自行补全了场景增加否定清单列出不允许出现的内容写代码报错说缺依赖没有设定边界AI默认引入第三方库在边界里写明允许使用的库和技术栈生成的表格/格式不是我要的没有声明输出格式AI按自己的习惯来指定Markdown表格、JSON、纯文本等格式让AI改了几次反而越来越乱在原有提示词上不断追加新指令语义冲突推倒重写重新按六要素组织信息需求是两个完全不同的事情目标要素没有拆分成可独立执行的任务拆成两个提示词或让AI先拆分任务结构代码能运行但结果字段对不上缺少示例AI只能猜测数据格式贴出原始数据样例注明期望输出用这张表定位问题时还有一个姿势很重要只修改一个变量。很多人遇到生成结果不理想会同时加戏、加风格、加背景、加输出要求结果根本看不出来是哪个改动奏效了。正确做法是一次只调整一个要素跑一次对比结果再决定要不要继续调整。5.2 两个心态误区提示词越长越好以及“抄泄露提示词”现在网上关于提示词的讨论非常多动不动就有人贴出几十行甚至上百行的所谓“提示词完整写法”。我自己也关注过一阵子热门帖子发现一个现象很多长提示词里有大量重复描述和无效修饰真正起作用的可能只有中间几行。提示词并不是越长越好核心标准是“信息密度高且无歧义”。一段一百字的目标比五百字的花哨形容词更能让AI复现出稳定结果。另一个很常见的坑是“抄泄露提示词”。总有网站爆料Cursor、Claude、某知名插画模型的官方提示词很多人如获至宝复制进自己的项目里就期待它一步登天。且不说某些“泄露提示词”的真假难辨即便它是真的它也是为特定产品、特定模型版本、特定场景设计的。拿别人的提示词直接改个名字就开跑忽略了角色、背景、边界这些与自己需求相关的要素效果往往大打折扣。我的建议是你可以把热门提示词当作“参考样本”但不要当“标准答案”。把里面能打动你的表达方式吸收到自己的六要素框架里替换成自己的需求内容比原样照抄可靠得多。写提示词这件事本质上考验的是思路不是记忆力。5.3 日常写提示词的推荐流程最后分享一个我目前每天都在用的流程大约需要两到三分钟。第一步先别打开对话框拿出一句话写下目标我想得到一个什么样的结果。第二步给这个任务指派一个角色同时写明这个角色最擅长什么。第三步列出所有已知事实和限制条件按重要性排序只保留和结果直接相关的关键信息。第四步用否定句补三层边界不要做什么、不要用什么、不要出现什么风格。第五步指定输出格式和长度并准备好一两个示例或参考。第六步发送前把整段提示词快速通读一遍心里自查六要素是否都覆盖到了。这套流程看起来有点机械但用熟了之后非常顺手。我见过不少朋友从“随便写一句”切换到这套流程后生成质量明显稳定下来。原因其实很简单不是他们的AI变聪明了而是他们终于把自己的需求说清楚了。我个人在实际操作中的体会是提示词能力最终会回归到“拆解问题”的能力。六要素框架最大的价值不是帮你写出某一条特定的神级提示词而是逼你在发送之前把想法里的模糊地带全部暴露出来。当你发现自己连目标都说不清时先别急着责怪AI先回去把需求想明白。如果你每次都能做到这一步那不管是画图、写文章还是编程手里的AI工具都会突然变得好用很多。