Week 1 导读:提示工程(Prompt Engineering)
March 15, 2026 · View on GitHub
Week 1 导读:提示工程(Prompt Engineering)
这周学什么:学习 6 种与 AI 对话的方法,每种方法解决不同类型的问题。
核心概念——用生活场景来理解
少样本提示(Few-shot Prompting)
就像教新员工做事——你不是讲一堆理论,而是直接给几个例子:"这种邮件这样回,那种邮件那样回"。AI 也一样,给它几个输入-输出的例子,它就能推断出规律。
比如你想让 AI 把口语化的句子改写成正式表达,与其解释一堆"正式文体的特征",不如直接给三个例子。AI 看了之后,自然就懂你要什么风格了。
思维链(Chain-of-Thought, CoT)
类似让人"把解题过程写出来"。不只要答案,还要推理步骤。数学老师说的"写过程"就是这个道理。
为什么有用?因为当 AI 被要求一步一步思考时,它犯的错误会明显减少——就像你做数学题,心算容易出错,但在草稿纸上一步步写出来就准确多了。
工具调用(Tool Calling)
AI 自己算数不靠谱,但它可以"打电话"叫计算器来帮忙。Tool Calling 就是让 AI 知道有哪些外部工具可以用,并在需要时自动调用。
这个概念非常重要。AI 不是无所不能的,但它可以很聪明地判断"这件事我自己做不好,应该调用某个工具来完成"。就像一个优秀的项目经理——他不需要自己写代码、做设计、搞运维,但他知道什么时候该找谁来做什么。
自一致性(Self-Consistency)
同一个问题问 AI 多次,取大多数一致的答案。就像问路时多问几个人,大部分人指的方向更可靠。
这个方法特别适合那些有明确正确答案但 AI 可能"算错"的场景。多跑几次,做个"投票",准确率就上去了。代价是需要多花一些 API 调用的费用和时间。
RAG(检索增强生成, Retrieval-Augmented Generation)
AI 的知识有截止日期,RAG 就像给它配了一个实时更新的参考资料库。先检索相关信息,再基于这些信息回答。
举个例子:你问 AI "我们公司上周的销售数据是多少",它当然不知道。但如果你先从数据库里把相关数据检索出来,塞进提示里,AI 就能基于这些数据给你一个有用的分析。这就是 RAG 的核心思路——先"取"后"答"。
反思(Reflexion)
让 AI 检查自己的答案并改进。类似写完文章后的自我校对——先写一遍,再回头看哪里有问题,修改后再提交。
这是一个很朴素但有效的技巧。AI 第一次给的答案未必是最好的,但如果你让它回头审视自己的回答,它往往能发现问题并给出更好的版本。在 Agentic Coding 中,这个机制会被大量使用。
术语速查
| 术语 | 简短定义 |
|---|---|
| Prompt(提示) | 你给 AI 的输入文本,包括指令、上下文和问题 |
| Few-shot | 在提示中提供少量示例来引导 AI 的输出格式和风格 |
| Zero-shot | 不给示例,直接提问 |
| Chain-of-Thought (CoT) | 引导 AI 逐步推理而非直接给出答案 |
| Tool Calling | AI 判断需要外部工具并自动调用的能力 |
| Self-Consistency | 多次采样同一问题,取一致性最高的答案 |
| RAG | 检索外部信息并注入提示中,让 AI 基于最新/专有信息回答 |
| Reflexion | AI 审视自己的输出并迭代改进 |
| Temperature(温度) | 控制 AI 回答随机性的参数,越高越随机 |
| Token(令牌) | AI 处理文本的基本单位,大约 3/4 个英文单词为一个 token |
与主题线的连接
为什么从提示工程开始?因为 Agentic Coding 的核心就是与 AI 有效沟通。不管你未来用什么工具——Cursor、Claude Code、Warp——底层都是在写"提示"。掌握了这些技术,你就掌握了与 AI 协作的基本语言。
你会发现,后面每一周的内容都建立在这些基础之上:Week 2 用这些技术让 AI 帮你写代码,Week 3 的 MCP 本质上是 Tool Calling 的标准化扩展,Week 4 的 Agent 就是把 CoT + Tool Calling + Reflexion 组合在一起形成的自主循环。
任务导读
assignment.md 中包含 6 个实践任务,每个对应一种提示技术。下面是每个任务的简要说明和提示。
任务 1 — Few-shot Prompting: 你需要设计一个包含示例的提示,让 AI 完成特定的文本转换任务。提示:想想什么任务用"给例子"比"写说明"更高效。
任务 2 — Chain-of-Thought: 给 AI 一个需要多步推理的问题,对比"直接回答"和"逐步推理"的效果差异。提示:数学题、逻辑题是展示 CoT 威力的好场景。
任务 3 — Tool Calling: 让 AI 在需要时调用外部工具(如计算器、搜索引擎)。提示:关注的重点不是工具本身,而是 AI 如何"决定"什么时候该调用工具。
任务 4 — Self-Consistency: 对同一个问题多次采样,观察答案的一致性。提示:试试用不同的 temperature 值,看看对一致性有什么影响。
任务 5 — RAG: 实现一个简单的检索-生成流程。提示:核心步骤是"检索相关文档片段 → 注入提示 → 让 AI 基于这些信息回答"。
任务 6 — Reflexion: 让 AI 生成答案后自我评估并改进。提示:关键是设计好"评估标准"——AI 需要知道从哪些维度检查自己的回答。
环境准备
在开始练习之前,确保完成以下准备工作。
1. 安装项目依赖
按照仓库根目录的说明安装 Python 环境和依赖(详见根目录 README)。
2. 安装 Ollama
Ollama 是一个在本地运行大语言模型的工具。
- macOS (Homebrew):
brew install --cask ollama ollama serve - Linux:
curl -fsSL https://ollama.com/install.sh | sh - Windows: 从 ollama.com/download 下载安装。
验证安装:
ollama -v
3. 下载模型
首次使用需要下载模型(只需做一次):
ollama run mistral-nemo:12b
ollama run llama3.1:8b
练习任务
本周有 6 个练习,每个对应一个 Python 文件。你需要在每个文件中找到 TODO 标记的位置,设计提示词(Prompt)让模型完成任务。
| 技术 | 文件 | 要做什么 |
|---|---|---|
| 少样本提示 (Few-shot) | k_shot_prompting.py | 给模型几个示例,让它学会执行特定任务 |
| 思维链 (Chain-of-Thought) | chain_of_thought.py | 让模型展示推理过程,一步步得出答案 |
| 工具调用 (Tool Calling) | tool_calling.py | 让模型知道有哪些工具可用,并在需要时调用 |
| 自一致性 (Self-Consistency) | self_consistency_prompting.py | 多次采样取最一致的答案 |
| RAG (检索增强生成) | rag.py | 先检索相关信息,再基于信息回答 |
| 反思 (Reflexion) | reflexion.py | 让模型检查并改进自己的输出 |
每个任务的步骤
- 打开对应的
.py文件 - 阅读文件顶部的任务说明
- 找到所有
TODO标记的位置 - 设计你的提示词(这是唯一需要修改的部分——不要修改模型设置)
- 运行脚本,观察结果
- 反复迭代提示词,直到测试通过
- 保存你最终使用的提示词和输出结果
重要提示:完成后请仔细检查,确保所有 TODO 都已处理。
自检清单
- 理解每种提示技术的原理和适用场景
- 能用自己的话解释 Few-shot 和 CoT 的区别
- 完成至少 4 种技术的实践练习
- 能说出什么时候该用 RAG vs. 直接提示
- 理解 Temperature 参数对 AI 输出的影响
- 能把"提示工程"的核心思想用一句话说清楚