一、 Prompt Engineering(提示词工程)的本质:给“超级大脑”下指令

大模型(LLM)就像一个知识渊博但有点“过度自信”的实习生。

  • 传统编程:你是老板,写死板的代码逻辑(if-else),机器必须严格执行。
  • Prompt Engineering:你是教练,通过设计“提示词”来引导这个实习生发挥能力。
核心三要素(你的“测试用例”结构)

一个高质量的 Prompt 通常包含这三个部分,这就像你写自动化测试脚本时的 Given-When-Then 结构:

要素 作用 类比(测试视角)
1. 指令 (Instruction) 明确告诉模型“做什么” 测试用例的标题:如“测试用户登录功能”
2. 上下文 (Context) 提供背景信息、参考数据 测试前置条件/测试数据:如“数据库中有该用户”
3. 输出约束 (Constraint) 规定格式、长度、语气 断言 (Assert):如“返回状态码必须是 200”

 二、 Few-shot Prompting:通过“示例”来对齐预期

你之前学的 RAG 是喂给模型“知识库”,而 Few-shot 是喂给模型“解题思路”。

1. 什么是 Few-shot?
  • Zero-shot (零样本):直接问。“把这句话翻译成英文。” —— 依靠模型预训练的通用能力。
  • Few-shot (少样本):给几个例子,再问。 “例子1:好评 -> Positive。例子2:差评 -> Negative。现在请标注:这个产品太棒了 -> ?”
2. 本质是什么?
  • In-Context Learning (上下文学习):你不需要重新训练模型(微调),而是利用模型的“短期记忆”,在当前对话窗口里通过展示“输入-输出”对,让模型瞬间学会一种模式。
  • 解决“听不懂人话”的问题:当你的指令很模糊,或者需要特定格式输出时,直接给例子是最高效的。
3. 适用场景
  • 格式转换(如:把表格转成 JSON)。
  • 风格迁移(如:把这段话改成莎士比亚风格)。
  • 复杂分类任务。

三、 Chain-of-Thought (CoT):给模型“草稿纸”

这是解决复杂逻辑问题的杀手级技巧。

1. 什么是思维链 (CoT)?

不要让模型直接给答案,而是让它先推理,再回答。

  • 普通提问:“小明有 6 个苹果,吃了 2 个,又买了 3 个,还剩几个?” —— 模型可能算错。
  • CoT 提问:“...请一步步思考,最后给出答案。” —— 模型会输出:“第一步:6-2=4;第二步:4+3=7。答案是 7。”
2. 本质是什么?
  • 模拟人类的慢思考:直接给答案是“直觉”(System 1),一步步推导是“逻辑”(System 2)。
  • 降低幻觉:通过拆解步骤,模型更容易利用其内部知识库进行连贯推理,而不是凭空捏造。
3. 两种形式
  1. Zero-shot CoT:在问题末尾加一句魔法咒语——“Let's think step by step.” (简单粗暴,适合通用模型)。
  2. Few-shot CoT:在 Few-shot 的例子中,把推理过程也写出来给模型看。这通常效果更好,因为你可以规定推理的逻辑路径。

四、 系统化总结:如何像专家一样设计 Prompt

第一层级:基础指令 (The Baseline)
  • 手段:清晰的指令 + 输出约束。
  • 适用:简单问答、内容摘要。
  • 口诀:“你是谁(角色),要干什么(任务),输出什么格式(约束)。”
第二层级:上下文增强 (The RAG/Context)
  • 手段:将外部知识(检索到的文档)作为上下文注入 Prompt。
  • 适用:事实性问答、基于文档的分析。
  • 理解:这就是 RAG,把知识库片段拼接到 Prompt 里。
第三层级:思维工程 (The Reasoning)
  • 手段:Few-shot + CoT。
  • 适用:逻辑推理、数学计算、复杂决策。
  • 技巧:如果你发现模型在做复杂的业务逻辑判断时出错,不要骂它,给它一张“草稿纸”(CoT)让它慢慢算。
第四层级:外部工具 (The Agent)
  • 手段:Function Calling / Tool Use。
  • 适用:需要调用 API、查数据库、执行代码的场景。
  • 理解:这就是 LangChain 做的事情。Prompt 告诉模型:“如果你搞不定,就调用这个工具。”

 五、 给测试专家的特别建议

在做 Prompt Engineering 时,大家可以引入软件测试的思维:

  1. 边界值测试:在 Few-shot 里,故意给一个边界值的例子(如空输入、超长文本),看模型怎么处理。
  2. 等价类划分:设计 Prompt 时,确保 Few-shot 的例子覆盖了主要的业务场景(正常流、异常流)。
  3. 断言即约束:在 Prompt 的输出约束里,像写单元测试断言一样,严格规定 JSON 格式或枚举值,防止模型“自由发挥”。

一句话总结
Few-shot 是通过“举例子”来告诉模型“我要什么样的格式/风格”;Chain-of-Thought 是通过“给步骤”来告诉模型“我要什么样的逻辑”。两者结合,就是目前微调之外,让模型变聪明的最强手段。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐