|
ingFang SC";font-size: medium;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">在人工智能(尤其是大型语言模型)领域,语境工程(Context Engineering)和提示工程(Prompt Engineering)是两个高频出现的术语。两者对于从AI系统中获取最佳结果都至关重要,但它们的目的不同,所涉及的方法也存在显著差异。本文将详细解读这两个概念的含义、应用场景、实例、相互关系、实施不当的后果、优势,以及它们如何相互补充。我们还将探讨在不同场景下应优先考虑哪一种技术,并用通俗易懂的语言、实例来进行说明。ingFang SC";font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">什么是提示工程?ingFang SC";font-size: medium;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">提示工程是设计和构建给AI模型的输入(提示)以获得期望输出的过程。可以把它看作是以一种能确保AI准确理解你需求的方式提出问题,就像给一个非常聪明的助手下达清晰的指令。ingFang SC";font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">提示工程的实例ingFang SC";font-size: medium;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">想象你正在使用AI写一个故事。像“写一个故事”这样模糊的提示可能只会得到一个平淡无奇的故事。相反,一个精心设计的提示可以是: “写一篇500字的奇幻故事,讲述一个勇敢的小女孩发现了一片隐藏的魔法森林,遇到了一只会说话的狼,并得知自己注定要从诅咒中拯救村庄。” 这个提示非常具体,提供了关于类型、角色、场景和情节的细节,能帮助AI生成一个重点突出且紧扣主题的故事。ingFang SC";font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">提示工程的关键方面ingFang SC";font-size: medium;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;" class="list-paddingleft-1">具体性:包含细节以引导AI朝着期望的输出方向发展。结构性:使用格式(如项目符号、示例)使指令易于遵循。ingFang SC";font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">什么是语境工程?ingFang SC";font-size: medium;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">语境工程是关于精心挑选和构建AI模型用于理解任务或生成响应的背景信息或数据。它涉及在处理提示之前设置模型所依赖的环境、数据集或附加信息。可以把它看作是在AI回答问题之前,为其准备“知识库”或“思维模式”。ingFang SC";font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">语境工程的实例 假设你正在为一家销售智能手机的公司构建客户支持聊天机器人。语境工程需要向AI输入结构化的数据集,例如: - 包含每款智能手机详细信息(如规格、价格、功能)的产品目录。
- 语气指南(如“要友好且专业”)。 这种语境确保当用户问“XPhone Pro的电池寿命是多少?”时,AI能做出准确且一致的回应。
语境工程的关键方面应用场景提示工程的应用场景- 内容创作:构建用于撰写文章、诗歌或社交媒体帖子的提示。
- 代码生成:让AI编写特定的代码片段,比如一个Python函数。
- 问答:设计提示以获取研究或 trivia 方面的精确答案。
- 任务自动化:创建用于重复性任务(如总结电子邮件)的提示。
代码生成的提示示例: “编写一个使用递归计算数字阶乘的Python函数。” 输出: def factorial(n): if n == 0 or n == 1: return 1 return n * factorial(n - 1)
语境工程的应用场景- 聊天机器人:为客户服务机器人提供知识库,使其能准确回答查询。
- 推荐系统:使用用户数据(如购买历史)提供个性化建议。
- 文档分析:向AI输入法律或技术文档以进行总结或获取见解。
- 检索增强生成(RAG):将知识库与大型语言模型结合,以提供包含最新信息的查询答案。
聊天机器人的语境示例: { "product": { "XPhone Pro": { "battery_life": "4000mAh,长达12小时", "price": "$799", "features": ["5G", "OLED显示屏", "128GB存储"] } }, "tone": "友好且专业" }
两者之间的关系提示工程和语境工程是相辅相成的。它们共同作用,确保AI产生准确、相关且高质量的输出。以下是它们之间的关系: 它们如何相互促进- 语境改进提示:精心设计的语境减少了对过于详细提示的需求。例如,如果AI的语境中已经有产品目录,你的提示可以更简单:“告诉我关于XPhone Pro的信息”,而不必在提示中列出所有细节。
- 提示指导语境使用:清晰的提示帮助AI知道应优先考虑语境的哪些部分。例如,“总结保修政策”这样的提示会引导AI关注语境中与保修相关的数据。
其中一个是另一个的子集吗?不,两者都不是对方的子集。它们是不同但相互关联的过程: 然而,在某些情况下,当你在提示中直接包含语境时(例如添加一段背景信息),语境工程可能感觉像是提示工程的延伸。但在使用独立语境数据库的高级系统中,这种情况不太常见。 工作流程比较提示工程工作流程- 确定目标:决定你希望AI做什么(如写一个故事、回答一个问题)。
- 测试和优化:运行提示,查看输出,并在必要时调整措辞。
工作流程示例: - 优化后的提示:“为一款具有心率监测、防水设计和7天电池寿命的智能手表写一段100字的描述,目标用户是健身爱好者。”
语境工程工作流程- 构建数据结构:将数据组织成AI可以使用的格式(如JSON、嵌入)。
- 与模型集成:将语境输入AI系统(如通过数据库或API)。
工作流程示例: - 构建数据结构:创建包含航班和酒店信息的JSON文件。
- 集成:当用户问“有去巴黎的航班吗?”时,使用检索系统提取相关数据。
两者协同工作的示意图[用户] --> [提示工程:构建清晰、具体的提示] | v [语境工程:筛选和构建背景数据] | v [AI模型:结合语境处理提示以生成输出] | v [输出:相关且准确的响应]
实施不当的后果糟糕的提示工程- 结果不一致:对于相似的提示,AI可能会产生不同的输出。
示例: - 结果:关于狗的通用概述,可能与你的需求无关(例如你想要的是关于狗训练的信息)。
糟糕的语境工程- 效率低下:AI可能难以找到相关信息,从而减慢响应速度。
示例: 优势提示工程的优势语境工程的优势- 可扩展性:通过提供可重用的知识库,支持聊天机器人或推荐系统等复杂应用。
- 响应丰富:允许AI从大型、精选的数据集中提取信息,以提供详细的答案。
你应该关注哪一个?答案取决于你的目标和应用场景: - 如果你是普通用户(例如使用AI完成一次性任务,如写作或编码),重点关注提示工程。构建清晰的提示通常足以获得快速、高质量的结果。
- 如果你正在构建AI应用程序(例如聊天机器人或推荐系统),优先考虑语境工程。结构良好的语境对于实现一致、准确和可扩展的性能至关重要。
在实际应用中,你可能两者都需要。先通过良好的提示工程来测试想法,然后为了长期、稳健的解决方案而投入语境工程。 其他比较因素除了上述提到的方面,还有一些其他因素可以帮助我们更好地理解提示工程和语境工程的区别与联系。从技术复杂度来看,提示工程相对简单,主要依赖于语言表达能力和对任务的理解,不需要太多的技术背景就能上手;而语境工程则涉及数据收集、处理、结构化以及与AI模型的集成等,技术门槛相对较高,可能需要一定的编程和数据处理知识。 从适用范围来说,提示工程更适用于简单、短期的任务,能够快速满足用户的即时需求;语境工程则更适合长期、复杂且需要持续运行的系统,为其提供稳定的知识支撑。 在成本方面,提示工程的成本主要体现在人力时间上,通过不断尝试和优化提示来获得较好的结果;语境工程的成本不仅包括数据收集和处理的人力成本,还可能涉及到存储设备、技术工具等方面的投入,尤其是在处理大规模数据时,成本相对较高。 提示工程和语境工程是同一枚硬币的两面,对于充分发挥AI系统的潜力都至关重要。提示工程是完成快速、一次性任务的首选,而语境工程对于构建稳健、可扩展的AI应用程序必不可少。通过掌握这两种技术,无论是写故事、编程序还是部署面向客户的聊天机器人,都能释放AI的全部潜力。从清晰的提示开始,然后随着需求的增长,逐步构建完善的语境工程体系。 |