第2章:Prompt工程入门

大家好,我是你们的老朋友。今天咱们聊聊Prompt工程——说白了,就是怎么跟大模型好好说话。

很多人觉得写Prompt就是随便问一句。其实不是。我见过太多人,明明模型能力很强,结果因为Prompt写得稀烂,输出一塌糊涂。我自己早期也踩过这个坑。

2.1 Prompt的基本结构

一个标准的Prompt,我习惯把它拆成四个部分:

  • 指令:你希望模型做什么。比如“翻译”、“总结”、“写代码”。
  • 上下文:给模型提供背景信息。比如“这是一封客户投诉邮件”。
  • 输入数据:模型要处理的具体内容。比如邮件正文。
  • 输出格式:你希望结果长什么样。比如“用列表输出”、“JSON格式”。

举个例子:

指令:请总结以下会议纪要
上下文:这是上周产品评审会的记录,重点讨论新功能优先级
输入数据:[粘贴会议记录]
输出格式:用三个要点总结,每个要点不超过50字

嗯,这样写,模型基本不会跑偏。我在项目中试过,结构清晰的Prompt,输出质量能提升30%以上。

2.2 角色设定

角色设定,说白了就是给模型一个“人设”。你想想看,如果你跟一个律师说话,跟一个医生说话,语气和内容肯定不一样。模型也一样。

我常用的角色设定模板:

你是一位资深Python工程师,有10年Web开发经验。
请帮我审查以下代码,指出潜在的性能问题和安全隐患。

为什么要这么做?因为模型在训练时见过大量不同角色的对话。你给它一个角色,它就能调用对应的知识库。我曾经让模型扮演“苛刻的甲方”,帮我审查方案文档,效果出奇的好。

小技巧:角色越具体越好。不要说“你是专家”,要说“你是拥有10年经验的数据库架构师,擅长MySQL调优”。

2.3 上下文注入

上下文注入,就是给模型喂背景信息。模型本身没有记忆,每次对话都是独立的。所以你需要把关键信息写进Prompt里。

我遇到过最典型的场景:

❌ 错误写法:
帮我写一封邮件。

✅ 正确写法:
帮我写一封邮件。
背景:我是某SaaS公司的客户成功经理。
收件人:一位刚续费的老客户,最近使用频率下降。
目的:邀请他参加下周三的线上培训,提升产品使用率。
语气:亲切、专业、不强硬。

你看,加了上下文之后,模型写出来的邮件完全不一样。我有个项目,因为上下文注入做得好,模型生成的客服回复,客户满意度直接提升了15%。

注意:上下文不是越多越好。我见过有人把整本手册塞进去,结果模型反而抓不住重点。控制在200-500字之间,只给最相关的信息。

2.4 输出格式控制

这是很多人忽略的一点。你想想看,如果你要的是JSON,模型给你一段散文,那得多崩溃?

输出格式控制,我一般用这几种方式:

  • 明确指定格式:“请用JSON格式输出,包含name、age、email三个字段”
  • 给出示例:“参考以下格式:{“name”: “张三”, “age”: 28}”
  • 限制长度:“每个要点不超过30字”
  • 指定结构:“用表格输出,第一列是日期,第二列是事件”

举个例子:

请将以下客户反馈分类,输出为JSON数组。
格式要求:
[
  {"category": "投诉", "content": "原文", "priority": "高/中/低"}
]

输入数据:
1. 你们的APP又闪退了,烦死了!
2. 新功能很好用,点赞。
3. 能不能加个夜间模式?

这样写,模型输出的结果直接就能用。我有个自动化流程,每天处理上千条用户反馈,全靠这种格式控制。

2.5 实战:组合使用

好了,咱们把上面四个要素组合起来,写一个完整的Prompt:

角色:你是一位资深产品经理,擅长用户需求分析。
上下文:我们是一款在线协作工具,最近收到大量用户反馈。
任务:请分析以下10条用户反馈,找出Top3痛点。
输出格式:用表格输出,包含“痛点描述”、“出现次数”、“建议方案”三列。
输入数据:
[粘贴10条用户反馈]

你看,角色、上下文、指令、输出格式,全都有了。模型拿到这个Prompt,基本不会出错。

核心总结:Prompt工程不是玄学,是有章可循的。记住四个要素:指令、上下文、输入、输出。每次写Prompt前,问自己一句:“这四个要素我都写清楚了吗?”

2.6 避坑指南

最后,分享几个我踩过的坑:

  • 别太啰嗦:我曾经写过一个500字的Prompt,结果模型输出了一堆废话。后来精简到100字,效果反而更好。
  • 别用否定句:比如“不要用列表”,模型可能还是会用列表。改成“请用段落形式输出”更有效。
  • 测试再测试:同一个Prompt,换几个不同的输入试试。我有个项目,测试时发现模型对某些特定词汇特别敏感,后来调整了措辞才搞定。

嗯,今天就聊到这儿。下一章咱们会深入聊聊“思维链”和“少样本学习”,都是实战中特别有用的技巧。到时候见。