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 能够自我纠错

这些内容,我们会在后续文章中逐一展开。

06.参考资料