跳到主要内容
📖 本章预览

本章为预览版本,展示部分核心内容。完整内容包含详细源码解析、实战代码和面试要点,加入知识星球即可解锁全部章节。

第4章 Prompt 工程化:让 AI 听懂人话

4.1 Prompt 基础概念

4.1.1 什么是 Prompt Engineering

  • Prompt 的本质:与大模型沟通的"编程语言"
  • Prompt 质量对输出结果的决定性影响
  • Prompt Engineering 与传统编程的思维差异

4.1.2 Spring AI 中的 Prompt 抽象

  • Prompt 类的核心结构
  • Message 接口与消息类型体系
  • ChatOptions 参数配置与 Prompt 的关系

4.2 消息体系详解

4.2.1 SystemMessage(系统消息)

  • 作用:设定 AI 的角色、行为边界和输出规范
  • 最佳实践:如何写出高质量的 System Prompt
  • 常见模式:角色扮演、输出格式约束、安全边界设定
  • 代码示例:通过 SystemMessage 定义一个专业翻译助手

4.2.2 UserMessage(用户消息)

  • 作用:承载用户的实际问题或指令
  • 单轮 vs 多轮场景下的 UserMessage 构建
  • 携带上下文信息的技巧
  • 多模态 UserMessage:文本 + 图片 + 文件

4.2.3 AssistantMessage(助手消息)

  • 作用:表示模型的历史回复,用于多轮对话上下文
  • 在对话历史中的拼接方式
  • 与 Function Calling 结果的关联

4.2.4 消息组合与对话构建

  • 多消息组合的顺序规则
  • 构建完整对话上下文的标准模式
  • Token 消耗与消息裁剪策略

4.3 PromptTemplate 模板引擎

4.3.1 模板引擎机制

  • PromptTemplate 的设计思想:将 Prompt 参数化
  • 模板语法:{variable} 占位符
  • 从字符串创建模板
  • 从资源文件(classpath)加载模板

4.3.2 模板变量与渲染

  • 单变量替换
  • 多变量替换
  • Map 参数传递
  • 默认值与缺失变量处理

4.3.3 模板管理实践

  • 模板文件的目录组织规范
  • 按业务场景分类管理模板
  • 模板的版本控制与 Git 管理
  • 多语言模板的组织方式

4.4 结构化 Prompt 设计模式

4.4.1 角色设定模式(Role Prompting)

  • 原理:通过角色定义引导模型行为
  • 单角色设定:专家、助手、审核员
  • 复合角色:多重身份叠加
  • 角色设定的边界与局限

4.4.2 少样本提示(Few-Shot Prompting)

  • 原理:通过示例教会模型输出格式
  • 示例数量的选择:1-shot、3-shot、5-shot 的效果对比
  • 示例的质量要求:多样性、代表性、一致性
  • 动态 Few-Shot:根据输入自动选择最相关的示例
  • 在 Spring AI 中实现 Few-Shot 的代码模式

4.4.3 思维链提示(Chain-of-Thought, CoT)

  • 原理:引导模型逐步推理而非直接给答案
  • Zero-Shot CoT:"让我们一步步思考"
  • Manual CoT:手动编写推理步骤示例
  • Auto-CoT:自动生成推理链
  • CoT 适用场景:数学推理、逻辑判断、复杂决策

4.4.4 其他高级 Prompt 模式

  • ReAct 模式:推理 + 行动交替
  • Self-Consistency:多次采样取一致结果
  • Tree-of-Thought:树状推理探索
  • 输出格式约束:JSON Mode、Markdown 表格、XML 结构

4.5 Prompt 版本管理与 A/B 测试

4.5.1 为什么需要 Prompt 版本管理

  • Prompt 即代码:Prompt 变更对业务的影响等同于代码变更
  • 常见问题:Prompt 漂移、回归、不可复现

🔒 解锁完整内容

本章剩余内容需要解锁后查看

以上仅为本章部分预览内容,完整内容包含更多深度源码解析、实战代码和面试要点。

加入知识星球你将获得:

  • ✅ 全部 26 章完整内容 + 持续更新
  • ✅ 配套源码 + 实战项目
  • ✅ 一对一答疑 + 面试辅导
  • ✅ 简历优化 + 内推机会

📚 本章完整目录

以下为本章完整目录结构,加入知识星球即可解锁全部内容。

4.5.2 版本管理方案

4.5.3 A/B 测试实践

4.5.4 Prompt 持续优化闭环

4.6 实战练习

练习1:构建多角色客服 Prompt

练习2:Few-Shot 实现文本分类

练习3:CoT 实现复杂推理