怎么用 Prompt-Engineering-Guide:让 LLM 一次听话的 4 个提示工程技巧
【免费下载链接】Prompt-Engineering-Guide🐙 Guides, papers, lessons, notebooks and resources for prompt engineering, context engineering, RAG, and AI Agents.项目地址: https://gitcode.com/GitHub_Trending/pr/Prompt-Engineering-Guide
同样的提示,在一个模型上没问题,换个模型就跑偏?Prompt-Engineering-Guide 是一个精选的提示工程开源仓库,把零样本、少样本、思维链这些核心技术整理成能看懂也能用的样子。读完你会拿到一套能直接套用的提示技巧。
先看懂全景:写好一条提示的 4 个成分
上手技巧之前,先建立一个心智模型:一条能用的提示,基本就是 4 个成分——
指令 + 上下文 + 输入数据 + 输出约定
指令告诉模型做什么("分类""总结""翻译"这类动词开头);上下文是帮它做对任务的材料;输入数据是你真正要处理的内容;输出约定说清答案以什么形式给出(标签列表、JSON、一句话)。四个成分不是每条都要,但你写得越明确,结果越稳。
下面这张图来自项目本身,是一个最直观的示例:提示里放了 3 条样例(少样本),最后一行模型就照着格式输出了 negative。
现在就能做:把你昨天写过的一条提示拿出来,对照这 4 个成分看看缺了哪个——大多数"跑偏"的提示,缺的就是输出约定。
按任务挑技巧:4 类常见场景和坑
下面不按难度,按"你想解决哪类任务"来组织。每个场景都是固定套路:踩坑点 → 该用哪个技巧 → 最小可用示例 → 怎么判断效果。
代码生成:把表结构给全,模型自己会写 SQL
会踩的坑:只说"写个查询",不给表结构,模型会一本正经地编造表名和字段名。
该用的技巧:把表名、字段名、目标数据库方言写进上下文。
""" Table departments, columns = [DepartmentId, DepartmentName] Table students, columns = [DepartmentId, StudentId, StudentName] Create a MySQL query for all students in the Computer Science Department """怎么判断效果:拿测试库把生成的 SQL 跑一遍,报"未知列"就是上下文还不够,而不是模型不会写 SQL。
项目里还给了更完整的玩法:用 system 提示固定语言和输出行为(只生成代码块、不解释),在 Playground 里直接生成:
数学推理:别信答案,看过程
会踩的坑:多步计算直接要结果,模型容易"自信地算错"。比如问"这组数的奇数之和是不是偶数:15, 32, 5, 13, 82, 7, 1",直接问很容易得到错误结论。
该用的技巧:让模型先写步骤再下结论(思维链 CoT);纯计算题更进一步,让它输出 Python 代码、交给解释器执行(PAL,程序辅助语言模型)。
The odd numbers in this group add up to an even number: 15, 32, 5, 13, 82, 7, 1. Solve by breaking the problem into steps. First, identify the odd numbers, add them, and indicate whether the result is odd or even.怎么判断效果:中间步骤对("奇数是 15、5、13、7、1,和为 41"),最终结论才可信;只甩结果不给过程的输出,默认存疑。
下图是同一道题两种做法的差别:左边思维链还会算错,右边 PAL 把计算交给解释器就对了。
数据与标注生成:格式一句话写死
会踩的坑:让它"生成点样例数据",回来的是自由文本,没法直接进流程。
该用的技巧:指令里写清数量、类别分布、输出格式三件事。
Produce 10 exemplars for sentiment analysis. Examples are categorized as either positive or negative. Produce 2 negative examples and 8 positive examples. Use this format for the examples: Q: <sentence> A: <sentiment>怎么判断效果:把输出丢给json.loads或 JSON 校验器跑一遍;解析失败就在提示里补一句"只输出合法 JSON",别反复改措辞。
文本分类:样例比形容词管用
会踩的坑:你写了一堆"请输出 neutral",模型回你一个 "Neutral"——大小写不一致,下游解析直接断掉。
该用的技巧:形容格式不如直接放一条少样本样例。
Classify the text into neutral, negative or positive. Text: I think the vacation is okay. Sentiment: neutral Text: I think the food was okay. Sentiment:怎么判断效果:批量跑 10~20 句,输出能直接枚举出来就算过;标签复杂时,注意让每个标签都在样例里出现过。
现在就能做:挑上面 4 个场景里最近真实碰到过的一个,把示例换成你自己的数据跑一遍,十分钟的事。
4 个核心技巧一张表:适用边界、成本与风险
场景过完,把零样本、少样本、思维链、零样本 CoT 四个技巧收拢一下,每个一句话讲清边界:
- 零样本:不给样例只给指令,简单任务先试它。
- 少样本:附几条样例钉死格式和标签空间,分类、抽取的主力。
- 思维链(CoT):样例展示"怎么想"而不只是"答案",多步推理用它。
- 零样本 CoT:没有样例时,结尾加一句 "Let's think step by step" 的免费推理开关。
下图是标准提示与思维链在同一道题上的输出差异,左边直接给答案错了,右边先写过程再给答案就对。
| 技巧 | 适用场景 | 成本 | 主要风险 |
|---|---|---|---|
| 零样本 | 简单分类、总结、问答 | 最低 | 格式不稳,容易答非所问 |
| 少样本 | 固定格式的分类、抽取、生成 | 低(样例占 token) | 样例没覆盖目标分布时,模型会模仿错误模式 |
| CoT | 多步数学、常识、符号推理 | 中(示例多、输出长) | 中间步骤错则结论错,且错因更难定位 |
| 零样本 CoT | 拿不到样例但需要推理 | 低 | 效果依赖模型能力,弱模型上不保证 |
一句话总结选择顺序:先零样本,格式不稳上少样本,推理不稳上 CoT,没有样例就先加触发句。
📌现在就能做:拿一条之前没调好的提示,按这张表从最便宜的一档开始试,看它在哪一档变好——那一档就是你之前缺的东西。
⚠️ 避坑与调优:现象 → 原因 → 解法排查清单
常见问题都整理成清单了,遇到问题对着查:
| 现象 | 原因 | 解法 |
|---|---|---|
| 输出格式乱、夹带解释 | 输出约定没写清,或没给样例 | 指定精确格式,或补一条少样本样例,见 guides/prompts-basic-usage.md |
| 推理题结果错 | 直接跳结论,中间没有验证 | 加"分步求解"指令;纯计算换 PAL 让解释器算,见 notebooks/pe-pal.ipynb |
| 同样提示每次结果不同 | temperature 偏高 | 事实类任务把 temperature 调低,一次只动一个参数,见 guides/prompts-intro.md |
| 总在做你"不让它做"的事 | 指令在强调不要做什么 | 改成告诉它该做什么,并给出兜底回复 |
| 重复调用慢、费 token | 长上下文每次都重发 | 试上下文缓存,示例见 notebooks/gemini-context-caching.ipynb |
评估上建议养两个习惯:一是准备 10~20 道已知答案的测试题,每次改完提示直接数通过率,别靠感觉;二是记录 token 消耗和响应时间这两个数——提示不是越长越好,效果相同时短的那个更该留。
现在就能做:先搭那份 10 题测试集。它比改十次提示都便宜,而且让你之后每次改动都有据可查。
资源与上手:3 步跑起来 Prompt-Engineering-Guide
所有材料都在仓库里,按"读什么、跑什么"给你指好位置:
- 提示结构入门:guides/prompts-intro.md
- 基础用法示例(总结、分类、代码、推理):guides/prompts-basic-usage.md
- 进阶技巧(零样本 / 少样本 / CoT / 自一致性 / APE):guides/prompts-advanced-usage.md
- 应用篇(数据生成、PAL):guides/prompts-applications.md
- 可运行的示例笔记本:notebooks/,推荐从 notebooks/pe-lecture.ipynb 和 notebooks/pe-pal.ipynb 开始
3 步上手:
git clone https://gitcode.com/GitHub_Trending/pr/Prompt-Engineering-Guide,先读 guides/prompts-intro.md 把"4 个成分"过一遍。- 挑一个你手头的任务,在 guides/prompts-basic-usage.md 找到对应示例,换成自己的数据跑一次。
- 还不稳就打开 notebooks/pe-lecture.ipynb,配合你的 10 题测试集,逐档调整提示和参数。
写在最后
提示工程的价值不在背下技巧清单,而在养成"先看任务再选技巧"的习惯——这正是 Prompt-Engineering-Guide 想帮你建立的东西。上手之后,建议顺着 guides/prompts-advanced-usage.md 里的自一致性部分往下看,那是让思维链输出更稳的下一步。
【免费下载链接】Prompt-Engineering-Guide🐙 Guides, papers, lessons, notebooks and resources for prompt engineering, context engineering, RAG, and AI Agents.项目地址: https://gitcode.com/GitHub_Trending/pr/Prompt-Engineering-Guide
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考