Prompt 工程
Prompt 工程简单来说就是向 AI 提出良好问题。一个 prompt 是您输入的问题或请求。
Prompt 工程意味着我们设计有针对性的问题和指令,帮助 AI 模型在聊天中给出正确的答案。使用更好的 prompt 可以获得更好的结果。
与所选模型的规格一起,这决定了答案的质量。
一个 prompt 的要素(问题)
为了获得更好的结果,您需要考虑以下要点:
- 目标:您到底想从语言模型获得什么?
- 角色:语言模型扮演什么角色?(例如“市场分析师”、“法律顾问”、“项目经理”)
- 上下文:请求背景信息(例如企业目标、项目细节、市场信息)
- 风格:您希望使用哪种风格?(例如正式、说服力强、简洁)
- 输出:您想要哪种格式?(例如报告、电子邮件、演示大纲、代码片段)
目标
清晰地描述问题的目标至关重要,不能省略。
您想知道什么?
- 事实性问题可以问,但要注意局限性(例如实时知识可能缺失)
- 就像在 Google 一样,重复提问不会得到完全相同的答案
- 好处是“聊天”功能,可以继续追问
示例:具有明确目标的 prompt:
请描述在一家中型企业中实施新 AI 平台的主要挑战。
在一家中型企业中实施新 AI 平台会带来多种挑战。以下是一些关键挑战:
- 对变革的抵触:员工已习惯现有流程和系统。新 AI 平台需要调整,可能引发抵触,尤其是当对工作流程的影响不明确时。
- 数据质量与可用性:AI 平台高度依赖数据。为新平台收集、清理和结构化数据可能复杂且耗时。
- 与现有系统的集成:AI 平台通常需要与其他企业应用(ERP、数据源、BI 工具)集成。这会带来技术挑战。
- 成本:除了平台许可费,还有实现、培训、数据基础设施以及可能的专业人员成本。
- 培训与采用:员工需要接受新平台的使用培训,并理解输出。若培训不足且缺乏持续支持,采用率可能很低。
- 选择合适的平台与用例:市场上有很多 AI 平台与技术。选择一个合适的平台并定义符合企业需求和战略目标的用例至关重要。
- 伦理考量与合规性:应用场景不同,可能涉及伦理问题和合规要求(如 AVG/GDPR),需要谨慎处理。
- 项目管理:成功实施需要扎实的项目管理、明确目标及各部门相关方的参与。
角色与上下文的补充
添加角色和上下文可以获得更好、更加具体的回答。
同一问题但带有角色和上下文的示例:
作为负责为数据分析与流程优化实施新 AI 平台的项目经理,面向一家拥有 150 名员工的 B2B 服务提供商,请描述主要挑战及可能的缓解策略。
作为为一家拥有 150 名员工的 B2B 服务提供商实施新 AI 平台以进行数据分析和流程优化的项目经理,我看到以下主要挑战及可能的缓解策略:
- 对变革的抵触与用户采用:
- 挑战:员工,尤其是直接受影响的人员,可能不愿放弃熟悉的工作方式,接受 AI 洞察。
- 缓解:及早让关键用户参与。清晰传达优势(效率、决策提升、洞察新机会)。提供广泛、基于角色的培训与持续支持。在部门内任命“AI 冠军”。
- 数据质量、治理与迁移:
- 挑战:AI 平台的有效性依赖高质量、受良好管理的数据。来自现有系统的数据往往不一致、不完整或不正确。
- 缓解:先进行数据审计,定义数据治理框架,进行数据清洗再进行整合/迁移。定义清晰的数据模型与数据流。进行测试,仔细验证数据。
- 与现有 IT 基础设施的集成:
- 挑战:需与现有数据源、ERP、CRM 及其他系统无缝且安全地对接。
- 缓解:提前确定所需集成,选择具备强大 API 或标准连接器的 AI 平台。充分测试集成。
- 范围蔓延与预算超支:
- 挑战:项目过程中可能出现新的 AI 应用需求,扩大范围并增加成本。
- 缓解:明确、界定的范围,首阶段定义清晰的使用场景(MVP)。执行严格的变更管理流程,制定现实的项目计划与预算,并预留缓冲。
- 选择正确的技术与实施伙伴:
- 挑战:AI 市场复杂,错误的技术选择或不熟练的伙伴可能导致项目失败。
- 缓解:深入研究符合用例的 AI 技术,选择在贵行业及所选技术上有实际经验的伙伴,获取参考案例。
- 组织内缺乏 AI 知识与能力:
- 挑战:内部缺乏足够的专业知识来有效使用、维护或进一步发展 AI 平台。
- 缓解:投资培训,考虑雇佣专业人员,或与实施伙伴密切合作进行知识交接,建立持续学习的文化。
- 伦理考量与可解释性(Explainable AI):
- 挑战:AI 做出的决策或支持的决策需要透明、可解释,尤其是对客户或员工有影响时。数据偏见可能导致不公平结果。
- 缓解:制定使用 AI 的伦理准则;尽量选择可解释的模型;建立检测与纠偏偏见的流程;对关键 AI 决策进行人工监督。
通过主动应对这些挑战,我们将提高 AI 平台成功落地、真正有助于企业目标的机会。
技术
下文描述在更高级的 prompts 中可使用的一些技术。
技术 1 - 给出示例
为确保语言模型采用与您相同的风格,给出一到两个示例。
方法名为“one & few-shot prompting”
请撰写一封给客户的关于即将进行的系统更新的概念电邮。请使用我们对客户沟通的内部政策(在文中加入相关政策要点)。以最近的通讯为风格指南,但不要包含通讯中的实际信息:(插入通讯文本)
完整的 prompt 如下:
内部客户沟通政策:
- 始终保持专业与礼貌。
- 及时提供重要变更或故障的更新。
- 提供清晰简洁的信息。
- 如有适用,确保提供解决方案或赔偿。
请以此风格撰写电邮,但不要使用此通讯中的信息。 亲爱的客户,
我们想通知您即将进行的系统更新,这可能影响我们的服务。
更新的日期与时间:[日期与时间] 预计中断时长:[时长] 涉及的服务:[服务]
在此期间,我们的服务可能会暂时中断。我们将尽力把不便降到最低,并尽快恢复服务。
下面是语言模型在扩展提示与示例后的回答
亲爱的客户,
我们想通知您即将进行的系统更新,这可能影响我们的服务。
日期与时间: [日期与时间] 预计中断时长: [时长] 涉及的服务: [服务]
在此期间,我们的服务可能会暂时中断。我们将尽力把不便降到最低,并尽快恢复服务。
如有疑问,请随时与我们联系。
此致 [您的姓名] [您的职务] [公司名称] [联系信息]
技术 2 - 提供模板
为了确保语言模型使用特定格式,请提供模板及示例。这可以让模型以特定方式输出或组织答案。您可以为多种场景设想有用的格式,例如:
- 导出为 csv,便于导入 Excel 或数据分析工具
- 导出为 json,便于 API 集成或配置文件
- 为项目会议制作日程安排
示例 prompt: 请生成三种潜在的营销渠道,面向中小企业的新 SaaS 产品。请按下列格式输出: 渠道: 受众覆盖: 潜在 ROI: 所需资源:
例如: 渠道:LinkedIn 广告 受众覆盖:特定职称、行业、公司规模 潜在 ROI:高,前提是投放精准 所需资源:广告预算、内容创建、活动管理
方法名为“output templates”
下面是语言模型在带输出模板的提示中的回答
渠道:内容营销(博客与 SEO) 受众覆盖:正在主动寻找解决方案的企业,有机流量 潜在 ROI:长期高,建立权威 所需资源:内容撰写者、SEO 专家、关键字研究与内容推广时间
渠道:Google Ads(搜索) 受众覆盖:正在主动搜索与 SaaS 产品相关的具体关键词的企业 潜在 ROI:中等至高,取决于竞争和 CPC 所需资源:广告预算、关键字研究、着陆页优化、活动管理
渠道:电子邮件营销(潜在客户培养) 受众覆盖:通过网站、网络研讨会或其他通道收集的潜在客户 潜在 ROI:高,能将潜在客户转化为客户 所需资源:电子邮件营销平台、电子邮件序列内容、细分能力
技术 3 - 给出提示
为确保语言模型以特定方式开始和撰写,请在提示末尾给出一个提示。
示例 prompt: 请你总结这份市场研究报告吗?(请粘贴报告的相关章节)。请以以下开头回复: 市场研究的主要发现是:
- 复制报告文本
方法名为“cues en hints” 此示例使用的是虚构报告。
下面是语言模型在带提示的回答
市场研究的主要发现是:
- 过去两年中面向中小企业的云基项目管理软件需求增长了 35%。
- 中小企业的关键决策因素是易用性、与现有工具的集成能力以及定价。
- A 竞争对手市场份额为 25%,B 竞争对手为 18%。市场仍有新进入者的空间,专注于特定细分市场或提供卓越的用户体验。
- 中小企业在采用新软件时面临的最大挑战是初始投资和培训员工所需的时间。
- 预计未来五年市场将以每年 15% 的速度增长。
技术 4 - 将指令内容分割
有时提示内容过长,模型可能无法准确理解您的需求。此时请用三引号将内容与剩余提示文本分开。
示例 prompt: 请为我总结这篇文章? “”” (粘贴文章文本)。 “”” 请以以下开头回答: 本文要点如下:
方法名为“content splitsen” 此示例使用一篇网络文章: https://www.leraar24.nl/2619420/onderwijs-op-afstand-wat-hebben-we-geleerd/
下面是语言模型在分割内容后的回答。我们使用三引号或三组星号来分隔问题与上下文。
本文的要点如下:
- 在新冠疫情期间,教师需要思考策略与技巧,以尽量提高远程教育的效果,同时家长在支持孩子方面承担了更大角色。
- 成功的远程教育关键因素包括组织化的日常安排、保持教师与学生之间的开放沟通、以及对哪些学习部分可线上完成或以纸质形式进行的明智选择。
- 面临的挑战包括寻找帮助脆弱学生的方法以及给家长带来的额外压力,尤其是那些在家里也工作的人。
- 学校数字化迅速推进,新增了多种数字工具和方法。文章举例提到教师 Mandy de Vries,虽然她在教学方面经验不多,但通过数字技能帮助同事。
- 文章强调持续的联系与对学生的关注,尤其是特殊教育中的学生,并提供给教师和家长的实际建议。
- 最后,文章希望家长在家庭教育中的参与度在疫情后也能持续。
技术 5 - 先请求额外信息
您可以指示模型在生成答案前先提出一些补充问题,以便更好地完善请求。
示例 prompt: “我想为开发一项新内部沟通移动应用撰写一个项目提案。应用应包含新闻更新、同事名录和即时消息等功能。在你写提案之前,你能先问我一些问题以改进提案吗?”
方法名为“ask before answer prompting”
下面是语言模型在提示前提问后的回答
当然!以下是一些我可以提出的问题,以改进项目提案:
- 内部沟通应用的主要目标是什么?(例如提高参与度、改进信息传播、促进协作)
- 应用的具体目标用户是谁?(例如所有员工、特定部门、现场员工)
- 是否有需要与现有系统或平台集成?(例如企业内网、HR 系统、Active Directory)
- 预算和时间线大致是怎样的?
- 是否有特定的安全或合规要求?(如 GDPR、数据保留政策)
- 将用来衡量应用成功的关键绩效指标(KPI)有哪些?
- 是否已有应用的设计或品牌设想?需要体现组织形象吗?
- 是否偏好开发平台(iOS、Android、跨平台)?
有了这些信息,我们就能更清晰地界定范围与需求,从而制定更强的项目提案。
技术 6 - 情感化提示
您可以指示模型调整文本的语气以符合某种情感或引发特定情感反应。此在客户服务、内部沟通或市场传播中非常有用。
示例 prompt: “我需要给对最近服务中断不满的客户写一封邮件。客户写道:””“(粘贴客户原文)我希望邮件具备同理心,承认客户的挫折,并提供建设性解决方案。”
方法名为“emotional prompting” 此示例使用虚构投诉。
完整的提示如下:
我需要给对最近服务中断不满的客户写一封邮件。客户写道: """尊敬的先生/女士,
我对昨天下午的突发服务中断非常失望。这严重影响了我们的业务运营,造成生产力损失。我们信赖您的服务,这种事件是不可接受的。我期待一个明确的解释和相应的赔偿。"""
我希望邮件具备同理心,承认客户的挫折,并提供建设性解决方案。
下面是语言模型在带情感提示的回答
尊敬的 [客户姓名],
非常感谢您来信,我们对昨日突然发生的服务中断深表歉意。我完全理解您的沮丧以及对贵业务运营的影响。对于未达到您的期望和我们的服务标准,我们深感抱歉。
中断原因是 [简短、清晰的原因说明,例如 数据中心的不可预见技术故障]。我们已立即采取行动,技术人员正在努力将服务恢复至完全正常状态,现已在 [时间点] 完全恢复。
我们对此事件非常重视,正在评估原因以防止未来再次发生。
为对您造成的不便表示一定程度的补偿,我们愿意提供 [具体方案,如下次账单折扣/一个月免费升级/服务抵扣]。我们的客户经理将于 24 小时内与您联系,亲自沟通并解答后续问题。
再次为给您带来的不便致以歉意。我们珍视您的客户关系,致力于在未来为您提供可靠的服务。
此致 [您的姓名/公司名称]
技术 7 - 多版本要求
您可以请求多种版本的回答,以便有更多选择。例如,为新产品生成不同的营销口号。可以结合设定模型的角色和系统提示来引导输出。
更多关于角色的内容,请参阅相关文章中的“角色”部分(../geavanceerd/persoonlijke-assistenten.md)。该多版本示例放在文章末尾,本文不在此重复。
技术 8 - 与系统提示结合
系统提示是一条用于指示 AI 模型应执行的指令,设定输出类型和期望行为。它可以用来控制模型的输出风格与任务。
一些简单且通用的系统提示示例:
"我希望你成为一个友好且乐于助人的助手。"
"请始终保持专业与尊重的语言使用。"
"专注于给出具体、直截了当的答案,不要赘述。"
系统提示在不同模型上的影响力不同。对于 chatGPT 来说影响力很大,对于 Claude 也是如此;对其他模型可能影响较小。可以尝试看看哪个模型最适合您的输入。
您可以在偏好设置中设置通用系统提示,但最好为您要自动化的任务逐一设计系统提示。我们把这称为“角色”。
您可以在相关文章中了解更多关于角色的内容(../geavanceerd/persoonlijke-assistenten.md)。