提示词
用对比实验讲清楚提示词的结构、少样本、先想再答、JSON 输出,最后搭一个批量测试提示词的小工具。
各课
- 01一个好提示词长什么样
同一份乱糟糟的用户求助,随手写的提示词和结构清楚的提示词各跑一次,逐段对比结果。讲清楚身份、任务、背景、要求、输出格式这几块各起什么作用。
35 分钟 · 入门 - 02给例子:少样本提示
把用户留言分成四类,不给例子答对 18 条,给 4 个例子答对 20 条。讲清楚例子怎么挑、放几个、会带来什么副作用。
30 分钟 · 入门 - 03让模型先想再答
6 道容易错的题各跑 5 次,直接回答对 21 次,先写推理过程对 29 次,开启思考模式全对。讲清楚为什么先想再答有用,以及它要付出多少代价。
35 分钟 · 入门 - 04让模型输出 JSON
模型的回答要交给程序处理时,得是格式可靠的 JSON。讲 JSON 模式、用 Pydantic 校验并在失败时让模型改正,以及用严格模式的工具调用拿到符合 schema 的结构化输出。
40 分钟 · 入门 - 05提示词也要测试
把提示词放进文件、准备 30 条测试用例、每条跑 3 次,用数据比较两个版本的提示词。还会看到测试结果本身也要检查:有时错的不是模型,是标注。
40 分钟 · 入门
这个模块的每一课都是一组对比实验:同一个任务,两种写法,跑出来的结果放在一起比。你会看到随手写的提示词让模型把用户的猜测写成了事实,给 4 个例子让分类全部答对,一句"先写推理过程"让陷阱题的错误从 9 次降到 1 次。
课里没有"万能模板"。提示词写得好不好,要看它在你的任务上跑出来的结果,所以最后一课会教你怎么批量测试提示词。
为什么是这个顺序
第 1 课讲一个提示词由哪几块组成,这是基础。第 2、3 课各讲一个在基础之上最常用的技巧:给例子和让模型先想再答。第 4 课转向程序处理,讲怎么让输出变成可靠的 JSON,后面做应用、做智能体都离不开它。第 5 课把前面的一切放到"测试"的框架里:改提示词之前和之后,用数据说话。
学完的标准
- 拿到一个一句话的提示词,能找出它的问题,按身份、任务、要求、格式、分隔符改写。
- 能为一个分类任务挑出合适的少样本例子,并说出为什么挑它们。
- 能判断一个任务要不要开思考模式,并用数据支撑你的判断。
- 能写出"JSON 模式 + Pydantic 校验 + 失败重试"的代码,从一段文字里稳定地提取结构化数据。
- 改提示词之后,能用一组测试用例说明新版本比旧版本好在哪、差在哪。
本模块的代码
- code/02-prompting/few_shot.py
- code/02-prompting/json_output.py
- code/02-prompting/json_strict.py
- code/02-prompting/prompt_structure.py
- code/02-prompting/prompt_test.py
- code/02-prompting/prompts/cases.jsonl
- code/02-prompting/prompts/classify_v1.txt
- code/02-prompting/prompts/classify_v2.txt
- code/02-prompting/reasoning.py
- code/02-prompting/results.jsonl