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 理解信息的成本。

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

相关推荐
哥布林学者2 小时前
吴恩达深度学习课程四:计算机视觉 第二周:经典网络结构 (二)残差网络
深度学习·ai
资深低代码开发平台专家2 小时前
GPT-5.2与Gemini 3.0终极抉择:谁更适配你的需求?
人工智能·gpt·ai
爱笑的眼睛114 小时前
超越剪枝与量化:下一代AI模型压缩工具的技术演进与实践
java·人工智能·python·ai
阿达_优阅达5 小时前
Tableau 2025.3 发布!可视化扩展升级、Server 版 Agent、平台数据 API,让 AI 深度融入业务工作流
人工智能·ai·数据分析·数据可视化·仪表板·tableau·版本更新
Swizard7 小时前
告别样本不平衡噩梦:Focal Loss 让你的模型学会“划重点”
算法·ai·训练
中国胖子风清扬7 小时前
Spring AI Alibaba + Ollama 实战:基于本地 Qwen3 的 Spring Boot 大模型应用
java·人工智能·spring boot·后端·spring·spring cloud·ai
CoderJia程序员甲8 小时前
GitHub 热榜项目 - 日榜(2025-12-15)
git·ai·开源·llm·github
Brian Xia9 小时前
Nano-vLLM 源码分析(一) - 课程大纲
python·ai