随记

怎样写出好的prompt?

接触生成式 AI 一段时间后,会逐渐发现一个很明显的现象:同样使用 ChatGPT、Claude、Gemini 等工具,不同 Prompt 得到的结果可能差别很大。有些回答结构完整、观点清晰,几乎可以直接使用;有些回答却比较空泛,甚至没有真正解决问题。

刚开始接触 Prompt 时,很容易把它理解成“向 AI 提问题的方式”。随着使用次数增加,会发现 Prompt 更像是一份任务说明书。它的作用不是让问题显得更复杂,而是帮助 AI 理解任务目标、背景、限制条件以及最终需要什么样的结果。

简单来说,Prompt 写得好不好,很大程度上决定了 AI 需要“猜”多少内容。需要猜测的地方越多,回答偏离实际需求的概率通常也越高。

先把任务描述清楚

很多效果不理想的 Prompt,并不是缺少什么高级技巧,而是一开始的任务就比较模糊。

例如:

帮忙优化一下这段内容。

“优化”其实包含很多可能性。可能是缩短文字,也可能是改善逻辑、修改语气、提高说服力,或者只是检查语法。如果没有进一步说明,AI 只能自行判断“优化”到底意味着什么。

换成更具体的表达后,任务就清晰很多:

将下面这段内容压缩到 300 字以内,保留核心观点,删除重复表达,语气保持自然。

类似的情况还有“分析一下”“写得更好一点”“做一个方案”等。这些表达本身没有问题,只是范围比较大。实际使用时,如果能把动作和目标说清楚,结果通常会稳定很多,例如“比较两个方案的优缺点,并从成本、实施难度和长期价值三个方面给出推荐”。

学习 Prompt 的过程中,一个越来越明显的感受是:好的 Prompt 往往不是写得复杂,而是动词足够明确。 分析、总结、比较、提取、分类、改写、解释、评价,这些动作越清楚,AI 越容易知道接下来应该做什么。

补充真正影响结果的信息

只说明任务还不够时,就需要加入背景。

例如,“写一封项目延期说明邮件”已经可以生成内容,但如果进一步说明项目原计划的上线时间、延期原因、预计延期多久,以及客户最关注的问题,生成的邮件通常会更接近实际场景。

背景信息的作用,是帮助 AI 理解任务为什么会出现,以及回答时应该优先考虑哪些因素。但背景并不是越多越好。如果加入大量与结果无关的信息,反而容易让重点变得模糊。

一个比较实用的判断方式是:这条信息会不会影响最终答案? 如果会影响,就值得加入;如果几乎不会影响,就没有必要为了让 Prompt 显得完整而强行补充。

除了背景,目标读者也很重要。同样是解释“什么是 API”,面向完全没有编程基础的人,回答应该更通俗,可能需要使用生活中的比喻;面向已经有开发经验的人,内容就可以更加技术化。明确读者,其实是在帮助 AI 决定应该使用什么语言、解释到什么程度,以及哪些知识可以默认已经掌握。

给结果加上必要的限制

任务和背景明确之后,还可以通过限制条件进一步控制结果,例如字数、语气、结构、内容范围和输出格式。

比如:

  • 控制在 800 字以内;
  • 语言自然,不要使用过多专业术语;
  • 分成问题、原因和解决方案三个部分;
  • 给出 5 个建议,并说明各自的适用场景;
  • 使用 Markdown 表格输出;
  • 不使用夸张的营销表达。

这些要求的作用,不是把 Prompt 写得更长,而是减少输出中不需要的可能性。

刚开始学习 Prompt 时,很容易产生一种想法:要求写得越多,结果越好。实际使用后会发现并不是这样。过多的限制不仅增加阅读成本,不同要求之间还可能互相冲突。

因此,更合适的做法是只保留真正重要的约束。比如一篇文章最终需要发布在博客中,那么 Markdown 格式、文章长度和目标读者可能很重要;至于每一段必须多少字、必须使用多少个案例,就未必需要提前规定。

角色、示例和输出格式都只是辅助工具

Prompt 中经常会出现“请作为一名资深产品经理”“请作为一名专业编辑”这样的角色设定。角色确实有用,因为它能够帮助 AI 选择更合适的分析视角。

例如,同样分析一款产品,以普通消费者的视角,可能更关注价格、使用体验和功能;以产品经理的视角,则可能更关注用户需求、产品定位、竞争差异和商业价值。

不过,角色不应该为了形式而存在。“作为一名专家”往往没有太多实际信息,而“从产品经理的角度,重点分析用户需求、产品价值和商业模式”会清晰得多。角色真正有价值的地方,不是身份本身,而是它能不能帮助任务确定一种明确的思考方式。

示例也是类似的工具。如果某种风格很难通过抽象描述说清楚,直接提供一个参考往往更加有效。例如,与其要求“写得高级一点”,不如给出一小段希望接近的表达,并说明需要保留哪些特点,比如“简洁、克制、有一定情绪感,不使用夸张词汇”。

输出格式同样非常实用。如果结果需要直接整理到文档、表格或其他系统中,可以提前规定格式。相比生成完成后再重新整理,直接要求按照 Markdown 表格、固定字段或 JSON 输出会方便很多。

把这些内容组合起来,一个比较通用的 Prompt 可以写成:

1
2
3
4
5
6
7
8
9
10
11
12
角色:从产品运营的角度进行分析。

背景:某款效率工具主要面向刚进入职场的年轻用户,目前新用户数量增长,但次日留存较低。

任务:分析用户留存较低的可能原因,并提出优化建议。

要求:
1. 从产品体验、用户需求和使用场景三个方面分析;
2. 区分“可能原因”和“需要进一步验证的数据”;
3. 最后给出三个优先级最高的改进方向。

输出格式:使用 Markdown,按照“问题分析—验证方式—优化建议”的结构输出。

这个模板并不是必须每次完整使用。简单任务可能一句话就足够,复杂任务再逐步增加背景、限制和格式即可。

复杂任务最好拆开完成

实际使用中,一个很常见的问题是希望用一条 Prompt 完成一个非常大的任务,例如直接要求生成完整商业计划、完整营销方案或者完整课程设计。

AI 可以一次生成很多内容,但任务范围太大时,每个部分往往只能浅浅涉及,前后也更容易出现逻辑不一致。

相比一次生成全部内容,把任务拆成几步通常更加稳定。例如,商业计划可以先分析目标用户和核心需求,再分析市场和竞争产品,然后设计商业模式,最后再把前面的结果整理成完整方案。

这样做的好处是,每一步都可以检查。如果目标用户分析已经出现偏差,就可以在进入市场分析之前及时修正,而不需要等整份内容生成结束后再全部推翻。

因此,Prompt 并不一定是一条写得很长的指令。很多时候,多轮、短而明确的 Prompt,比一条试图解决所有问题的“万能 Prompt”更有效。

如果任务开始时连需要哪些信息都不确定,也可以先让 AI 列出完成任务所需要的关键问题,再根据这些问题补充信息。复杂任务中,先把问题问对,往往比急着生成答案更重要。

好的 Prompt 本质上是不断修改出来的

学习 Prompt 后最大的变化之一,是不再追求第一条 Prompt 就得到完美答案。

真实的使用过程更像是:

提出任务 → 查看结果 → 找出问题 → 补充要求 → 再次修改。

例如第一次生成的文章太正式,可以要求减少书面表达;内容太泛,可以要求增加具体场景和案例;结构重复,可以要求合并相似观点,按照“问题—原因—方法”的顺序重新组织。

有时候还可以让 AI 在生成后自行检查,例如检查是否真正回答了核心问题、是否存在重复内容、逻辑是否连贯、有没有缺少依据的结论,然后再输出修改后的版本。这并不能保证所有问题都被发现,但对于较长的文章、报告和方案,通常能增加一层简单的质量控制。

因此,与其寻找所谓的“万能 Prompt”,更值得掌握的是一种迭代方式。Prompt 本身不是固定模板,而是随着结果不断调整的一种沟通过程。

最后的理解

经过一段时间学习后,会发现 Prompt Engineering 看起来是在研究“怎样向 AI 提问”,实际上更接近一种把模糊需求转化成清晰任务的能力。

一个比较实用的总结是:

好的 Prompt = 清晰的任务 + 必要的背景 + 合理的限制 + 明确的输出方式

任务复杂时,再加入合适的角色、示例、任务拆分和检查步骤。

真正重要的并不是记住多少 Prompt 模板,而是能够判断:问题到底是什么、哪些信息会影响结果、最终希望得到什么,以及应该怎样判断答案是否合格。

从这个角度来看,学习写 Prompt 的过程,其实也在训练表达和思考能力。AI 可以快速生成答案,但在生成答案之前,仍然需要先把问题定义清楚。

**Prompt 不需要写得复杂,重要的是让需求变得明确。**3