← 返回博客

Prompt 工程:从入门到防注入的完整指南

好的 Prompt 让模型成为你的工具,差的 Prompt 让模型成为攻击者的枪。系统性地掌握 Prompt 设计与安全防护。

M
esanmu.2026-03-05

好的 Prompt 让模型成为你的工具,差的 Prompt 让模型成为攻击者的枪。系统性地掌握 Prompt 设计与安全防护。

Prompt 设计的核心原则

1. 角色设定 (System Prompt)

明确模型的身份、边界和输出格式。一个好的 System Prompt 应该包含:

  • 角色定义:你是一个 XX 领域的专家
  • 行为约束:只基于提供的上下文回答,不捏造信息
  • 输出格式:以 JSON/Markdown/列表格式返回

2. Few-Shot 示例

提供 2-3 个高质量的输入/输出示例,比任何语言描述都有效。关键是示例要覆盖边界情况。

3. 思维链 (Chain-of-Thought)

在复杂推理任务中,引导模型"先想后答"。简单的一句"Let's think step by step"能将数学推理准确率提升 40%+。

Prompt 注入防护

在生产环境中,Prompt 注入是最大的安全威胁。三层防线:

  1. 输入净化:过滤或转义用户输入中的特殊指令词
  2. 分离关注点:使用 XML 标签或分隔符明确划分系统指令和用户输入
  3. 输出验证:对模型输出做结构化验证,拒绝异常格式
<system>你是客服助手,只回答产品相关问题。</system>
<user_input>{用户输入}</user_input>

常见误区

  • 越长越好:冗长的 Prompt 反而会让模型迷失重点。保持精简,每一句都应有明确目的
  • 温度越低越好temperature=0 适合事实性问答,但分析和创意任务需要 0.3-0.7 的温度
  • 不迭代:Prompt 工程是实验科学,而非一次性写作。构建评估集,系统地测试和迭代