问题: 什么是提示词工程

👇 点击展开/折叠 面试背诵模板(建议先背这个) 提示词工程(Prompt Engineering)是指设计、优化和迭代输入给大语言模型的文本指令,以引导模型生成符合预期目标的高质量输出的系统性方法。其核心在于通过精确、结构化的提示词,利用模型的上下文学习能力、指令遵循能力和生成特性,控制输出的内容、格式、风格和逻辑。关键技术包括零样本提示、少样本提示、角色扮演、思维链(CoT)和结构化输出约束等。提示词工程是当前与 LLM 交互的最主要接口,也是提升模型在实际任务中表现的最有效手段之一。
---

提示词工程的核心要素

  • 明确目标:清晰定义任务类型(问答、总结、翻译、代码生成、创意写作等)和期望输出。
  • 上下文设置:提供必要的背景信息、角色设定或示例,帮助模型理解语境。
  • 格式约束:指定输出格式(如 JSON、列表、表格、段落、代码块),便于后续解析和集成。
  • 指令细化:通过限定长度、风格(专业/通俗)、视角(第一人称/第三人称)、逻辑链(逐步推理)等方式精细控制输出。
  • 迭代优化:基于模型输出反馈,不断调整提示词,直到达到理想效果。

常见提示词技术速览

技术 原理 适用场景
零样本提示 直接给出任务描述,无示例 通用问题、简单指令
少样本提示 在提示中提供 2-5 个输入输出示例 复杂任务、格式严格要求
角色扮演 设定模型身份(如“你是一位资深律师”) 专业性回答、风格控制
思维链(CoT) 要求模型展示推理过程,分步思考 数学题、逻辑推理、多步问题
结构化约束 使用 JSON Schema、正则或模板约束输出 API 集成、数据抽取
上下文注入 将外部知识(文档、数据库)嵌入提示 RAG(检索增强生成)

提示词工程 vs 微调 vs RAG

维度 提示词工程 微调(Fine-tuning) RAG(检索增强生成)
成本 低(仅需设计文本) 高(需要标注数据 + GPU 资源) 中(需构建向量数据库)
效果 灵活,但依赖模型已有能力 可注入新知识,改变模型行为 可引入实时外部知识
更新速度 实时修改提示即可 需重新训练,周期长 更新知识库即可
适用场景 通用任务、格式控制 专有领域、风格迁移 问答系统、知识密集型任务

编写有效提示词的常见原则(简明版)

  1. 清晰具体:避免模糊,如“写一篇关于 AI 的文章” → “写一篇 500 字科普文章,解释深度学习与传统机器学习的区别,面向大学生读者”。
  2. 设定角色和视角:如“你是一位经验丰富的 Python 工程师,请提供优化建议”。
  3. 分步要求:对于复杂任务,要求“先列出步骤,再给出最终答案”。
  4. 提供正反例:明确告诉模型“不要 X,应该 Y”。
  5. 指定输出格式:如“以 JSON 格式返回,包含字段 name, age, summary”。
  6. 控制长度和细节:设定字数限制、关键点数量等。

注意事项

  • 模型能力边界:提示词无法让模型拥有其训练数据中不存在的新知识(但 RAG 可补充)。
  • 越狱和注入风险:在安全敏感场景,需过滤用户输入,防止提示注入攻击。
  • 评估与迭代:提示词效果需通过测试集验证,不同版本模型可能有差异。