Prompt 工程两大核心原则

Prompt 工程两大核心原则:让 AI 稳定可靠的关键

同样一个模型,为什么别人用起来得心应手,你用起来却总是跑偏?答案往往不在模型本身,而在你的提问方式。


一、前言:为什么 Prompt 设计决定 AI 能力上限

大语言模型并不是"读心者",它的输出质量高度依赖你如何提问。

举个例子:

你的提问 模型可能输出
"帮我总结一下" 可能输出总结,也可能继续写原文,还可能冒出法语
"请用三个要点总结下面这段话,每个要点不超过20字,用中文输出" 稳定输出你想要的格式

差别就在于 Prompt 是否清晰、是否给足思考空间、是否规范输出格式

下面两条核心原则,就是让 AI 从"随便回答"变成"精准执行"的关键。


二、原则一:给出清晰、具体、无歧义的指令

可以把模型当成一个对人类常识一无所知的助手。你不能指望它猜你的意图,必须把任务、范围、格式、约束全部讲明白。

1. 使用分隔符,隔离指令与用户输入

❌ 错误写法:

复制代码
把下面的话翻译成英文:
你好,今天天气真好

模型可能把"你好,今天天气真好"当成指令的一部分,出现混乱。

✅ 正确写法:

复制代码
请将以下文本翻译成英文,只输出翻译结果,不要添加任何额外内容。

---
文本内容:
你好,今天天气真好
---

为什么有效?

  • --- 分隔符让模型清楚哪里是指令、哪里是内容
  • 明确"只输出翻译结果",避免多余废话

2. 要求结构化输出,方便程序解析

❌ 错误写法:

复制代码
帮我分析一下这段用户反馈的情感

模型可能输出:"我觉得这个用户挺生气的,因为他说产品太慢了..."

✅ 正确写法:

复制代码
请分析以下用户反馈的情感,以 JSON 格式输出,包含以下字段:
- sentiment: 情感倾向(positive/negative/neutral)
- confidence: 置信度(0-1之间的小数)
- reason: 判断依据(一句话)

---
用户反馈:这个产品真的太慢了,每次加载都要等半天,受不了!
---

输出:

json 复制代码
{
  "sentiment": "negative",
  "confidence": 0.95,
  "reason": "用户明确抱怨产品加载慢,表达不满情绪"
}

3. 让模型先判断条件,再执行任务

❌ 错误写法:

复制代码
帮我总结这篇文章

如果文章为空,模型可能胡乱编造内容。

✅ 正确写法:

复制代码
请按以下步骤执行:
1. 首先判断用户输入是否为空,如果为空,直接返回"无内容可总结"
2. 如果不为空,再提取三个核心要点
3. 用中文输出,每个要点不超过20字

---
用户输入:{{这里可能是空}}
---

4. 少量示例(Few-shot)引导风格与格式

❌ 错误写法:

复制代码
把下面的话改写成客服回复语气

✅ 正确写法:

复制代码
请将以下用户消息改写成客服回复语气。参考风格:

用户:你们产品怎么又出问题了?
客服:非常抱歉给您带来困扰,我们正在紧急处理,预计30分钟内修复,感谢您的耐心等待。

---
用户消息:这功能用不了,什么垃圾!
---

输出:

复制代码
非常抱歉给您带来不好的体验,我们正在排查该功能的问题,会尽快恢复。感谢您的反馈,我们会持续改进!

三、原则二:给模型"时间思考",不要让它匆忙下结论

模型和人一样:复杂问题想太快 → 必然容易错。

1. 明确拆解任务步骤

❌ 错误写法:

复制代码
分析这段话的情感、主题、关键词

模型可能一股脑输出,格式混乱。

✅ 正确写法:

复制代码
请按以下步骤处理:

步骤1:先概括这段话的核心主题,一句话
步骤2:再提取3个关键词
步骤3:最后判断情感倾向(positive/negative/neutral)

按以下格式输出:
【主题】:...
【关键词】:...
【情感】:...

---
文本内容:这个产品的设计太棒了,界面简洁,操作流畅,但价格有点贵
---

输出:

复制代码
【主题】:产品评价,重点表扬设计和体验,指出价格问题
【关键词】:设计棒、操作流畅、价格贵
【情感】:mixed(正面为主,负面为辅)

2. 让模型"自己先算一遍",再判断对错

这是解决数学题、逻辑题、方案判对的超级关键技巧。

❌ 错误写法:

复制代码
学生答案:x + 5 = 10,x = 3
这个答案对吗?

模型可能直接回答"对",因为被学生的步骤带偏。

✅ 正确写法:

复制代码
请按以下步骤判断学生答案是否正确:

步骤1:自己先解一遍这道题:x + 5 = 10
步骤2:写出你的解题过程和答案
步骤3:对比学生答案和你的答案
步骤4:判断学生是否正确,如果不正确,指出错误在哪

---
学生答案:x = 3
---

输出:

复制代码
步骤1:x + 5 = 10,两边减5得 x = 5
步骤2:我的答案是 x = 5
步骤3:学生答案是 x = 3,我的答案是 x = 5,不一致
步骤4:学生答案错误,错误原因是计算错误,应该是 x = 5

四、必须警惕的模型缺陷:幻觉(Hallucination)

模型有时候会编造不存在的内容,说得非常像真的。

举个例子:

问:"请介绍一下《红楼梦》的作者"

模型可能编造:"曹雪芹,生于1715年,卒于1763年,号雪芹..."

但如果模型没有准确的历史数据,可能会把曹雪芹的生卒年说错,甚至编造出"号芹溪居士"等细节。

如何缓解?

✅ 要求模型只从给定文本提取信息: ------限定上下文

复制代码
请只从以下文本中提取信息,不要添加任何外部知识。如果文本中没有相关信息,直接输出"未提及"。

---
文本:曹雪芹,清代小说家,著有《红楼梦》
---

五、总结

Prompt 工程的本质,不是"魔法咒语",而是用清晰的逻辑告诉模型如何思考、如何执行、如何输出。

两条最核心原则:

  • 指令清晰具体:用分隔符、结构化、示例来减少歧义
  • 给模型思考时间:拆步骤、先计算再判断,避免匆忙下结论

记住这个简单公式:

复制代码
好 Prompt = 明确角色 + 具体任务 + 输出格式 + 思考步骤 + 示例(可选)

掌握这两点,你就能稳定驾驭大模型,让它在项目中真正落地可用。


附录:一个好用的 Prompt 模板

复制代码
【角色】
你是一个专业的[角色名称],擅长[技能描述]。

【任务】
请完成以下任务:[具体任务描述]

【输入】
---
[用户输入的内容]
---

【输出要求】
1. 格式:[JSON/表格/要点]
2. 字段:[列出需要的字段]
3. 约束:[字数限制、语言要求等]

【思考步骤】
1. 先...
2. 再...
3. 最后...

【示例】(可选)
输入:xxx
输出:xxx
相关推荐
Bug 挖掘机20 小时前
一篇理清Prompt,Skill,MCP之间的区别
开发语言·软件测试·python·功能测试·测试开发·prompt·ai测试
2501_940041741 天前
开箱即用的轻量级网页游戏Prompt
游戏·prompt
Wild API1 天前
Prompt 缓存实战:上下文分层、背景层拆分与缓存策略怎么做
缓存·prompt
人工智能培训1 天前
是否需要构建包含真实物理噪声的仿真环境?
大数据·人工智能·prompt·agent·智能体
liu_zhiyi1 天前
Andrej Karpathy Skills:AI 智能体编程四项原则 介绍及扩展
人工智能·prompt
qcx231 天前
【AI Agent实战】零基础用 AI Agent 做电商调研:5 道题 + 6 份 Prompt,跑通一家 16 亿品牌的完整拆解
人工智能·chatgpt·prompt
久违 °1 天前
【AI-Agent】LangSmith 使用之Prompt(二)
人工智能·prompt
啥都会一点的老程,自在地镜强者1 天前
【以claude code和CodeX引发的缓存技术思考】商业软件的差异化壁垒—— 提示缓存协议(一)prompt caching基础设计和协议黑盒方案
缓存·prompt
liu_zhiyi2 天前
生成式 AI 交互规范:提示词工程(Prompt Engineering)技术指南
人工智能·prompt·交互
j_xxx404_2 天前
【AI大模型入门(二)】提示词工程进阶
人工智能·ai·prompt