AI AgentTechnical Deep Dive
提示工程基础:如何让 AI 听懂你的话
发布时间2025/11/15
分类AI Agent
预计阅读10 分钟
作者吴长龙
*
提示词工程不是玄学,而是一门把人类意图翻译成机器可执行指令的技术。
01.为什么要学提示工程
很多人觉得提示工程是「玄学」——同样一个问题,换个说法 AI 就给出一个完全不同的答案。
但事实上,提示工程是把模糊的人类意图,翻译成大语言模型可解析、可响应、可复现的结构化指令的过程。
它要求创作者像调试一段关键函数那样审慎:
- •定义角色:为模型装上行为罗盘
- •明确约束:为模型划出不可逾越的逻辑边界
- •嵌入示例:用真实样本浇筑输出稳定性
- •激发思维链:邀请模型展开内在的推理叙事
02.三种基础技巧
1. Zero-shot:直接下指令
Zero-shot(零样本提示) 是不给 AI 任何示例,直接下达指令。这是我们最常用的方式。
python snippetpython
# Zero-shot 示例
prompt = "写一个 React 按钮组件"效果:AI 可能给你 Class Component,也可能是 Functional Component;样式可能是内联,也可能是 CSS Modules——完全看它「心情」。
适用场景:
- •通用常识性问题
- •简单任务
- •输出格式不重要的场景
局限:
- •复杂任务容易「自由发挥」
- •输出格式不可控
2. Few-shot:照猫画虎
Few-shot(少样本提示) 在指令中提供 1-3 个「输入 → 输出」的示例,让 AI 模仿你的逻辑和格式。
python snippetpython
# Few-shot 示例
prompt = """
把以下中文翻译成英文:
苹果 -> Apple
香蕉 -> Banana
橙子 -> ?
翻译:橙子 ->
"""为什么有效:
大语言模型本质上是在做「下一个词预测」。当你给出示例时,你实际上是在:
- •定义输出格式——告诉模型你想要什么样的结构
- •建立风格基准——让模型模仿你的表达方式
- •减少歧义——示例比文字描述更精确
Few-shot 的本质是用样本代替描述,让模型自己领悟规则。
3. Chain of Thought:让模型先思考
Chain of Thought(思维链,CoT) 是通过引导模型显式展示推理步骤,从而提升复杂任务求解能力的技术。
python snippetpython
# CoT 示例
prompt = """
小明有5个苹果,他吃了2个,又买了8个。请问他现在有几个苹果?
让我们一步步思考:
1. 小明最开始有5个苹果
2. 吃了2个,剩下 5-2=3 个
3. 又买了8个,现在有 3+8=11 个
答案:11
"""核心效果(来自 Google 论文数据):
| 任务类型 | 传统提示准确率 | CoT 提示准确率 |
|---|---|---|
| 数学应用题 | 17% | 58% |
| 逻辑推理 | 32% | 63% |
| 常识问答 | 45% | 49% |
CoT 的本质是把「直接给答案」变成「展示推理过程」,让模型模拟人类逐步思考的行为。
03.组合使用:Few-shot + CoT
最强大的提示往往不是单一技巧,而是组合使用。
python snippetpython
prompt = """
任务:解数学应用题
示例:
问题:小明有10个球,他给了小红3个,又买了5个,现在有多少个?
思考过程:
1. 初始数量:10个
2. 给出后:10-3=7个
3. 购买后:7+5=12个
答案:12个
问题:小华有15块钱,他买了零食花掉7块,又爸爸给了10块,现在有多少钱?
思考过程:
"""这种组合让模型既知道怎么做(格式),又知道为什么这么做(推理)。
04.实用技巧总结
技巧 1:使用分隔符
python snippetpython
prompt = """
<<系统>>
你是一个专业的代码审查员。
<<任务>>
审查以下代码的安全性:
<<代码>>
def get_user(user_id):
query = f"SELECT * FROM users WHERE id = {user_id}"
return db.execute(query)
"""技巧 2:明确输出格式
python snippetpython
prompt = """
用 JSON 格式返回结果,包含以下字段:
- name: 产品名称
- price: 价格(数字)
- tags: 标签(数组)
返回:
"""技巧 3:角色定义
python snippetpython
prompt = """
你是一位有 10 年经验的技术架构师,擅长用通俗易懂的语言解释复杂概念。
请解释什么是微服务架构:
"""技巧 4:约束边界
python snippetpython
prompt = """
写一篇产品介绍文案,要求:
- 长度:100-200 字
- 风格:专业但不失活泼
- 禁止:夸大宣传、绝对化用语(如"第一"、"最好")
- 必须:包含具体数据或案例
"""05.从提示工程到 Agent
掌握了提示工程,你就有了驯服 LLM 的基本能力。但真正的 Agent 需要更多:
- •工具调用:让 LLM 能够行动
- •记忆管理:让 LLM 能够记住上下文
- •规划能力:让 LLM 能够拆解复杂任务
- •反思能力:让 LLM 能够自我纠错
这些内容,我们会在后续文章中逐一展开。