Prompt 工程

Prompt 工程

基本概念
Prompt 工程(Prompt Engineering)又叫提示词工程,简单来说,就是输入给 Al 的指令。比如下面这段内容,就是提示词:
那为什么要叫"工程"呢?
因为 AI 大模型生成的内容是不确定的,构建一个能够按照预期生成内容的提示词既是一门艺术,也是一门科学。提示词的质量直接影响到 A1大模型输出的结果,因此这也是 AI 应用开发的关键技能,很多公司专门招聘提示词工程师。
我们学习 Prompt 工程的目标是:通过精心设计和优化输入提示来引导 Al 模型生成符合预期的高质量输出。
提示词分类
核心-基于角色的分类
在 AI 对话中,基于角色的分类是最常见的,通常存在3种主要类型的 Prompt:

  • 1)用户 Prompt (User Prompt):这是用户向 AI 提供的实际问题、指令或信息,传达了用户的直接需求。用户 Prompt 告诉 AI 模型"做什么",比如回答问题、编写代码、生成创意内容等。

用户:帮我写一首关于春天的短诗

  • 2)系统 Prompt (System Prompt):这是设置 A 模型行为规则和角色定位的隐藏指令,用户通常不能直接看到。系统 Prompt 相当于给 AI 设定人格和能力边界,即告诉 A"你是谁?你能做什么?"。

系统:你是一位经验丰富的恋爱顾问,擅长分析情感问题并提供建设性建议。请以温暖友善的语气回答用户的恋爱困惑,必要时主动询问更多信息以便提供更准确的建议。不要做出道德判断,而是尊重用户的情感体验并提供实用的沟通和相处技巧。回答时保持专业性,但避免使用过于学术的术语,确保普通用户能够理解你的建议。

  • 3)助手 Prompt (Assistant Prompt):这是 A| 模型的响应内容。在多轮对话中,之前的助手回复也会成为当前上下文的一部分,影响后续对话的理解和生成。某些场景下,开发者可以主动预设一些助手消息作为对话历史的一部分,引导后续互动。

助手:我是你的恋爱顾问,很高兴能帮助你解决情感问题。你目前遇到了什么样的恋爱困惑呢?可以告诉我你们的关系现状和具体遇到的问题吗?
扩展知识-基于功能的分类
除了基于角色的分类外,我们还可以从功能角度对提示词进行分类,仅作了解即可。

  • 1)指令型提示词(instructional Prompts):明确告诉 Al 模型需要执行的任务,通常以命令式语句开头。

翻译以下文本为英文:春天来了,花儿开了。

  • 2)对话型提示词(Conversational Prompts):模拟自然对话,以问答形式与 AI 模型交互。

你认为人工智能会在未来取代人类工作吗?

  • 3)创意型提示词(Creative Prompts):引导 AI 模型进行创意内容生成,如故事、诗歌、广告文案等。

写一个发生在未来太空殖民地的短篇科幻故事,主角是一位机器人工程师。

  • 4)角色扮演提示词(Role-Playing Prompts):让 AI 扮演特定角色或人物进行回答

假设你是爱因斯坦,如何用简单的语言解释相对论?

  • 5)少样本学习提示词(Few-Shot Prompts):提供一些示例,引导 A| 理解所需的输出格式和风格。

将以下句子改写为正式商务语言:
示例1:
原句:这个想法不错。
改写:该提案展现了相当的潜力和创新性。
示例2:
原句:我们明天见。
改写:期待明日与您会面,继续我们的商务讨论。
现在请改写:这个价格太高了。
扩展知识-基于复杂度的分类
还可以从结构复杂度的角度对提示词进行分类,仅作了解即可。

  • 1)简单提示词(Simple Prompts):单一指令或问题,没有复杂的背景或约束条

什么是人工智能?

  • 2)复合提示词(Compound Prompts):包含多个相关指令或步骤的提示词。

分析下面这段代码,解释它的功能,找出潜在的错误,并提供改进建议。

  • 3)链式提示词(Chain Prompts):一系列连续的、相互依赖的提示词,每个提示词基于前一个提示词的输出。

第一步:生成一个科幻故事的基本情节。
第二步:基于情节创建三个主要角色,包括他们的背景和动机。
第三步:利用这些角色和情节,撰写故事的开篇段落。

  • 4)模板提示词(Template Prompts):包含可替换变量的标准化提示词结构,常用于大规模应用。

你是一位专业的{领域}专家。请回答以下关于{主题}的问题:{具体问题}。
回答应包含{要点数量}个关键点,并使用{风格}的语言风格。
Prompt 优化技巧
一、基础提示技巧
1、明确指定任务和角色
为 AI 提供清晰的任务描述和角色定位,帮助模型理解背景和期望。
系统:你是一位经验丰富的Python教师,擅长向初学者解释编程概念。
用户:请解释 Python 中的列表推导式,包括基本语法和 2-3 个实用示例。
2、提供详细说明和具体示例
提供足够的上下文信息和期望的输出格式示例,减少模型的不确定性。
请提供一个社交媒体营销计划,针对一款新上市的智能手表。计划应包含:

  1. 目标受众描述
  2. 三个内容主题
  3. 每个平台的内容类型建议
  4. 发布频率建议
    示例格式:
    目标受众: [描述]
    内容主题: [主题1], [主题2], [主题3]
    平台策略: [平台] - [内容类型] - [频率]
    3、使用结构化格式引导思维
    通过列表、表格等结构化格式,使指令更易理解,输出更有条理。
    分析以下公司的优势和劣势:
    公司: Tesla
    请使用表格格式回答,包含以下列:
  • 优势(最少3项)
  • 每项优势的简要分析
  • 劣势(最少3项)
  • 每项劣势的简要分析
  • 应对建议
    4、明确输出格式要求
    指定输出的格式、长度、风格等要求,获得更符合预期的结果。
    撰写一篇关于气候变化的科普文章,要求:
  • 使用通俗易懂的语言,适合高中生阅读
  • 包含5个小标题,每个标题下2-3段文字
  • 总字数控制在800字左右
  • 结尾提供3个可行的个人行动建议
    二、进阶提示技巧
    1、思维链提示法(Chain-of-Thought)
    引导模型展示推理过程,逐步思考问题,提高复杂问题的准确性。
    问题:一个商店售卖T恤,每件15元。如果购买5件以上可以享受8折优惠。小明买了7件T恤,他需要支付多少钱?
    请一步步思考解决这个问题:
  1. 首先计算7件T恤的原价
  2. 确定是否符合折扣条件
  3. 如果符合,计算折扣后的价格
  4. 得出最终支付金额
    2、少样本学习(Few-Shot Learning)
    通过提供几个输入-输出对的示例,帮助模型理解任务模式和期望输出。
    我将给你一些情感分析的例子,然后请你按照同样的方式分析新句子的情感倾向。
    输入: "这家餐厅的服务太差了,等了一个小时才上菜"
    输出: 负面,因为描述了长时间等待和差评服务
    输入: "新买的手机屏幕清晰,电池也很耐用"
    输出: 正面,因为赞扬了产品的多个方面
    现在分析这个句子:
    "这本书内容还行,但是价格有点贵"
    3、分步骤指导(step-by-Step)
    将复杂任务分解为可管理的步骤,确保模型完成每个关键环节。
    请帮我创建一个简单的网站落地页设计方案,按照以下步骤:
    步骤1: 分析目标受众(考虑年龄、职业、需求等因素)
    步骤2: 确定页面核心信息(主标题、副标题、价值主张)
    步骤3: 设计页面结构(至少包含哪些区块)
    步骤4: 制定视觉引导策略(颜色、图像建议)
    步骤5: 设计行动召唤(CTA)按钮和文案
    4、自我评估和修正
    让模型评估自己的输出并进行改进,提高准确性和质量。
    解决以下概率问题:
    从一副标准扑克牌中随机抽取两张牌,求抽到至少一张红桃的概率。
    首先给出你的解答,然后:
  5. 检查你的推理过程是否存在逻辑错误
  6. 验证你使用的概率公式是否正确
  7. 检查计算步骤是否有误
  8. 如果发现任何问题,提供修正后的解答
    5、知识检索和引用
    引导模型检索相关信息并明确引用信息来源,提高可靠性。
    请解释光合作用的过程及其在植物生长中的作用。在回答中:
  9. 提供光合作用的科学定义
  10. 解释主要的化学反应
  11. 描述影响光合作用效率的关键因素
  12. 说明其对生态系统的重要性
    对于任何可能需要具体数据或研究支持的陈述,请明确指出这些信息的来源,并说明这些信息的可靠性。
    6、多视角分析
    引导模型从不同角度、立场或专业视角分析问题,提供全面见解。
    分析"城市应该禁止私家车进入市中心"这一提议:
    请从以下4个不同角度分析:
  13. 环保专家视角
  14. 经济学家视角
  15. 市中心商户视角
  16. 通勤居民视角
    对每个视角:
  • 提供支持该提议的2个论点
  • 提供反对该提议的2个论点
  • 分析可能的折中方案
    7、多模态思维
    结合不同表达形式进行思考,如文字描述、图表结构、代码逻辑等。
    设计一个智能家居系统的基础架构:
  1. 首先用文字描述系统的主要功能和组件
  2. 然后创建一个系统架构图(用ASCII或文本形式表示)
  3. 接着提供用户交互流程
  4. 最后简述实现这个系统可能面临的技术挑战
    尝试从不同角度思考:功能性、用户体验、技术实现、安全性等。
    三、提示词调试与优化
    好的提示词可能很难一步到位,因此我们要学会如何持续调试和优化 Prompt。
    1、迭代式提示优化
    通过逐步修改和完善提示词,提高输出质量。
    初始提示: 谈谈人工智能的影响。

收到笼统回答后

改进提示: 分析人工智能对医疗行业的三大积极影响和两大潜在风险,提供具体应用案例。

如果回答仍然不够具体

进一步改进: 详细分析AI在医学影像诊断领域的具体应用,包括:

  1. 现有的2-3个成功商业化AI诊断系统及其准确率
  2. 这些系统如何辅助放射科医生工作
  3. 实施过程中遇到的主要挑战
  4. 未来3-5年可能的技术发展方向
    2、边界测试
    通过极限情况测试模型的能力边界,找出优化空间。
    尝试解决以下具有挑战性的数学问题:
    证明在三角形中,三条高的交点、三条中线的交点和三条角平分线的交点在同一条直线上。
    如果你发现难以直接证明:
  5. 说明你遇到的具体困难
  6. 考虑是否有更简单的方法或特例可以探讨
  7. 提供一个思路框架,即使无法给出完整证明
    3、提示词模板化
    创建结构化模板,便于针对类似任务进行一致性提示,否则每次输出的内容可能会有比较大的区别,不利于调试。
    【专家角色】: {领域}专家
    【任务描述】: {任务详细说明}
    【所需内容】:
  • {要点1}
  • {要点2}
  • {要点3}
    【输出格式】: {格式要求}
    【语言风格】: {风格要求}
    【限制条件】: {字数、时间或其他限制}
    例如:
    【专家角色】: 营养学专家
    【任务描述】: 为一位想减重的上班族设计一周健康饮食计划
    【所需内容】:
  • 七天的三餐安排
  • 每餐的大致卡路里
  • 准备建议和购物清单
    【输出格式】: 按日分段,每餐列出具体食物
    【语言风格】: 专业但友好
    【限制条件】: 考虑准备时间短,预算有限
    4、错误分析与修正
    系统性分析模型回答中的错误,并针对性优化提示词,这一点在我们使用 Cursor 等AI开发工具生成代码时非常有用。
    我发现之前请你生成的Python代码存在以下问题:
  1. 没有正确处理文件不存在的情况
  2. 数据处理逻辑中存在边界条件错误
  3. 代码注释不够详细
    请重新生成代码,特别注意:
  4. 添加完整的异常处理
  5. 测试并确保所有边界条件
  6. 为每个主要函数和复杂逻辑添加详细注释
  7. 遵循PEP 8编码规范

用好ai提示词来辅助开发

一、需求分析
1、需求从哪儿来?
但是我大脑空空,没什么想法,从哪里挖掘需求呢?其实很简单!现在有很多 A1 应用平台,比如豆包、文心一言、ChatGPT 等,这些平台上已经有了大量 AI 应用,是很好的参考源,随便挑一个都可以变成完整的项目。
比如我们来开发一个 恋爱大师 A 应用,用户在恋爱过程中难免遇到各种难题,让 A1为用户提供贴心情感指导。
2、怎么细化需求?
有了上面这样一个初步的想法后,我们要进一步完善需求,明确项目要具有哪些功能。
但是我大脑空空,也没什么经验,怎么细化需求呢?
答案很简单 -- 问 A!
AI不仅是我们要开发的产品,也是强大的需求分析助手。通过精心设计的提示词,可以让 AI 帮助我们进行需求细化和扩展。比如下面这段 Prompt:
示例 Prompt:
我要开发一个【恋爱大师】AI 应用,用户在恋爱过程中难免遇到各种难题,让 AI 为用户提供贴心情感指导。
请你帮我进行需求分析,满足我的目标
如果你要做一个大项目,还可以进一步完善提示词:
我要开发一个【恋爱大师】AI 应用,用户在恋爱过程中难免遇到各种难题,让 AI 为用户提供贴心情感指导。
请你帮我进行需求分析,满足我的目标。
具体需要:

  1. 分析目标用户群体及其核心需求
  2. 提出主要功能模块和服务内容
  3. 考虑产品的差异化竞争点
  4. 分析可能的技术挑战和解决方案
    AI 给出的示例输出如下,接下来我们化身为"老板",只需要对 A1 给出的需求文档进行评审即可:
    咱们从服务对象、服务内容、产品特性等维度,来剖析"恋爱大师"AI应用的开发需求:
    ### 一、目标用户洞察
  5. **年龄与身份**:18-35岁人群是恋爱活动的主力军,涵盖大学生、职场新人等。他们熟悉数字化生活,热衷借助AI解决恋爱问题。
  6. **恋爱状态及需求**
  • **单身群体**:渴望打破社交壁垒,寻觅恋爱机会。他们需要拓展社交圈、提升自我魅力、学习搭讪技巧等方面的指导。
  • **恋爱中人群**:重点关注如何处理情侣间的争吵矛盾,掌握沟通艺术,安排浪漫约会,进一步升温感情。
  • **失恋人群**:急需摆脱失恋阴影,修复受伤的情感,重新建立自信,恢复正常生活节奏。
    ### 二、功能板块规划
    #### (一)问题识别与分类
  1. **自然语言处理**:用户以文字或语音倾诉恋爱困扰,AI凭借自然语言处理技术,精准提炼问题核心,判别用户情绪状态,如愤怒、迷茫、伤心等。
  2. **问题归类**:将收集到的问题,归入表白难题、约会安排、信任危机、分手应对等预设类别,为后续的个性化解答做好准备。
    #### (二)个性化指导服务
  3. **智能问答**:针对用户提出的问题,AI从海量的恋爱案例、心理学知识以及专业情感建议中,生成贴合实际的解决方案。比如,当用户纠结"该不该向喜欢的人表白"时,AI会依据用户描述的双方关系,给出不同策略。
  4. **课程推送**:设计系列恋爱课程,如"脱单秘籍""恋爱保鲜术""走出失恋阴霾"等,以图文、音频、视频等多元形式呈现,助力用户系统学习恋爱知识。
  5. **案例分享**:分享真实且具有代表性的恋爱故事,通过对成功与失败案例的复盘,为用户提供借鉴与启示。
    #### (三)特色辅助功能
  6. **聊天话术生成**:用户输入聊天场景或对方信息,AI创作富有吸引力、契合氛围的聊天话术,帮助用户提升沟通效果。
  7. **恋爱规划制定**:依据用户的恋爱阶段和目标,制定专属恋爱计划,涵盖约会安排、礼物挑选、情感互动等细节。
    #### (四)互动交流社区
  8. **话题讨论**:搭建线上社区,用户可发布恋爱问题、分享经验心得,实现用户间的相互交流与支持。
  9. **专家直播**:定期邀请情感专家进行直播,解答用户普遍关注的恋爱问题,分享前沿恋爱观念和技巧。
    ### 三、非功能要求
  10. **隐私安全**:在数据收集、存储和使用过程中,严格遵循相关法规,采取加密、匿名化等技术手段,保护用户隐私,让用户放心倾诉。
  11. **情感陪伴感**:AI回复需富有情感,模拟真实交流场景,避免机械化回答,给予用户温暖贴心的陪伴。
  12. **持续优化**:搭建反馈机制,收集用户评价和建议,持续优化AI算法和服务内容,提升服务质量。
    你会发现,AI给出的需求好多啊!我们到底要做哪些呢?这里涉及到一个很经典的策略 -- MVP 最小可行产品策略。
    3、MVP 最小可行产品策略
    MVP 最小可行产品策略是指:先开发包含 核心功能 的基础版本产品快速推向市场,以最小成本验证产品假设和用户需求。通过收集真实用户反馈进行选代优化,避免开发无人使用的功能,降低资源浪费和开发风险。
    基于这个策略,我们可以先开发一个简单但实用的 AI 对话应用,让用户能够和 AI恋爱大师进行多轮对话交流。因为"对话"是本产品的核心功能,暂时不要考虑更复杂的功能了。后续可以根据用户用量和反馈,决定下一步是深化对话能力还是扩展更多功能模块。
    明确需求后,下面我们进行方案设计,看看怎么实现这个需求。
    二、AI 应用方案设计
    1、系统提示词设计
    前面提到,系统提示词相当于 A1 应用的"灵魂",直接决定了 AI 的行为模式、专业性和交互风格。
    对于 AI 对话应用,最简单的做法是直接写一段系统预设,定义"你是谁?能做什么?",比如:
    你是一位恋爱大师,为用户提供情感咨询服务
    这种简单提示虽然可以工作,但效果往往不够理想。
    因此我们要优化系统预设,可以借助 AI进行优化。示例 Prompt:
    我正在开发【恋爱大师】AI 对话应用,请你帮我编写设置给 AI 大模型的系统预设 Prompt 指令。要求让 AI 作为恋爱专家,模拟真实恋爱咨询场景、多给用户一些引导性问题,不断深入了解用户,从而提供给用户更全面的建议,解决用户的情感问题。
    AI提供的优化后系统提示词:
    扮演深耕恋爱心理领域的专家。开场向用户表明身份,告知用户可倾诉恋爱难题。围绕单身、恋爱、已婚三种状态提问:单身状态询问社交圈拓展及追求心仪对象的困扰;恋爱状态询问沟通、习惯差异引发的矛盾;已婚状态询问家庭责任与亲属关系处理的问题。引导用户详述事情经过、对方反应及自身想法,以便给出专属解决方案。
    PromptTemplate
    PromptTemplate 是 Spring Al框架中用于构建和管理提示词的核心组件。允许开发者创建带有占位符的文本模板,然后在运行时动态替换这些占位符。
    通过使用 PromptTemplate,你可以更加结构化、可维护地管理 A应用中的提示词,使其更易于优化和扩展,同时降低硬编码带来的维护成本。
    PromptTemplate 最基本的功能是支持变量替换。你可以在模板中定义占位符,然后在运行时提供这些变量的值
    PromptTemplate 在以下场景特别有用:
  • 1.动态个性化交互:根据用户信息、上下文或业务规则定制提示词
  • 2.多语言支持:使用相同的变量但不同的模板文件支持多种语言
  • 3.A/B测试:轻松切换不同版本的提示词进行效果对比
  • 4.提示词版本管理:将提示词外部化,便于版本控制和迭代优化

实现原理
PromptTemplate 底层使用了 Oss StringTemplate 引擎,这是一个强大的模板引擎,专注于文本生成。在Spring Al中,PromptTemplate 类实现了以下接囗:
public class PromptTemplate implements PromptTemplateActions, PromptTemplateMessageActions {
// 实现细节
}

ai提示词:

很多 AI 系统支持 Markdown 语法,在 AI 提示词中,#、##、### 主要作用是标记层级标题,用于清晰划分内容结构,帮助 AI 更好地理解信息的逻辑关系。
它的核心价值在于通过格式化,让提示词从 "大段文字" 变成 "有组织的框架",降低 AI 理解信息的成本。

表示一级标题,## 表示二级标题,### 表示三级标题等,构建类似文章目录的结构

相关推荐
美酒没故事°1 天前
Open WebUI安装指南。搭建自己的自托管 AI 平台
人工智能·windows·ai
鸿乃江边鸟1 天前
Nanobot 从onboard启动命令来看个人助理Agent的实现
人工智能·ai
本旺1 天前
【Openclaw 】完美解决 Codex 认证失败
ai·codex·openclaw·小龙虾·gpt5.4
张張4081 天前
(域格)环境搭建和编译
c语言·开发语言·python·ai
乐鑫科技 Espressif1 天前
使用 MCP 服务器,把乐鑫文档接入 AI 工作流
人工智能·ai·esp32·乐鑫科技
语戚1 天前
Stable Diffusion 入门:架构、空间与生成流程概览
人工智能·ai·stable diffusion·aigc·模型
俊哥V1 天前
每日 AI 研究简报 · 2026-04-08
人工智能·ai
rrrjqy1 天前
什么是RAG?
ai
Flittly1 天前
【SpringAIAlibaba新手村系列】(15)MCP Client 调用本地服务
java·笔记·spring·ai·springboot
Flittly1 天前
【SpringAIAlibaba新手村系列】(14)MCP 本地服务与工具集成
java·spring boot·笔记·spring·ai