简单来说:
- 提示词工程是“战术”,专注于单次交互的优化,力求一个提问就能得到最佳答案。
- 上下文工程是“战略”,专注于构建和维护一个对话环境,确保模型在整个交互过程中都能保持正确的认知和行为。
下面我们进行详细的拆解和对比。
提示词工程
提示词工程的核心是设计和优化输入给模型的文本(即提示词),以引导模型生成高质量、高相关性的输出。它主要解决的是“如何问”的问题。
关键目标:
- 清晰明确:让模型毫无歧义地理解用户的意图。
- 提供结构:通过格式、示例、步骤分解等方式,约束模型的思考过程。
- 激发能力:挖掘模型深处被预训练好的知识和能力。
主要技术和方法:
- 角色扮演:
“你是一个经验丰富的软件架构师...” - 思维链:
“让我们一步步思考...” - 少样本学习:在提问前,提供几个输入-输出的例子作为示范。
- 指令细化:不断调整指令的措辞、顺序和格式,比较输出结果。
- 使用分隔符和格式:用
###、"""等清晰划分指令、上下文和问题。
例子:
- 差提示词:
“总结一下法国大革命。”(可能过于宽泛) - 好的提示词:
你是一位历史教授,请用易于理解的方式向高中生总结法国大革命。 请遵循以下结构: 1. 主要原因 2. 关键事件 3. 重要人物 4. 最终结果和影响
核心特点: 一次性、静态的优化。
上下文工程
上下文工程的核心是管理和优化模型在一次对话中所能接触到的全部信息(即上下文窗口)。它不仅包括用户的当前提问,还包括之前的对话历史、系统指令、以及外部知识等。它解决的是“如何让模型记住并利用好历史信息”的问题。
关键目标:
- 状态维持:让模型记住在整个对话中设定的角色、规则和重要信息。
- 高效利用:在有限的上下文窗口内,放入最相关、最精炼的信息。
- 知识增强:将外部工具(如搜索引擎、数据库)查询到的结果智能地纳入上下文,弥补模型的知识短板或幻觉问题。
主要技术和方法:
- 系统提示词:在对话开始时设定的、通常对用户不可见的指令,用于定义模型的角色、行为和边界。这是上下文工程的基石。
- 对话历史管理:决定哪些历史对话需要保留,哪些可以摘要或丢弃,以避免上下文窗口被占满。
- 检索增强生成:这是上下文工程的典型应用。当用户提问时,系统先从知识库中检索相关文档,然后将
“问题 + 文档片段”一起作为上下文送给模型,让模型基于此生成答案。 - 向量数据库:用于高效存储和检索与非结构化文本最相关的信息片段,并将其注入上下文。
例子:
假设你正在和一个“AI客服”聊天:
- 系统提示词(工程师设定):
“你是XX公司的客服助手,友好且专业。绝对不允许透露任何内部技术细节。如果遇到无法解决的问题,请引导用户联系人工客服。” - 用户:
“我的订单#12345物流好几天没更新了。” - AI(查询物流系统后):
“我查到了,您的订单#12345目前卡在转运中心,可能是由于天气原因。我已为您提交加急处理。”(这里,“订单#12345”和之前的对话都成为了上下文的一部分) - 用户:
“那你能告诉我你们仓库的具体地址吗?我想自己去取。” - AI(回忆系统提示词):
“非常抱歉,出于安全政策,我无法提供仓库的具体地址。但我们已经为您加急,预计明天会有更新。”(模型成功拒绝了请求,因为它在整个上下文中都记得系统指令)
核心特点: 多轮次、动态的管理。
区别与联系
| 维度 | 提示词工程 | 上下文工程 |
|---|---|---|
| 核心焦点 | 单次输入(提示词)的质量和结构 | 整个对话会话(上下文)的信息管理和状态 |
| 时间尺度 | 静态的、一次性的 | 动态的、多轮次的 |
| 主要目标 | 引导模型产生一次性的最佳输出 | 维持模型的长期记忆、角色一致性和知识基础 |
| 操作对象 | 主要是用户的查询指令 | 系统提示词、对话历史、检索到的文档等所有在上下文窗口内的信息 |
| 类比 | 向一个聪明人提一个精准的问题 | 为这个聪明人配备一个秘书、一个档案库,并告诉他整个会议的背景和规则 |
紧密联系
- 提示词是上下文的子集:你设计的每一个提示词,最终都会成为整个上下文的一部分。
- 相互依赖:
- 一个设计精良的系统提示词(上下文工程)是构建一个优秀AI应用的基础,它定义了模型的“人设”。
- 而在这个基础上,用户每一次的提问技巧(提示词工程)决定了单轮交互的质量。
- 共同目标:最终都是为了更可靠、更高效地从LLM中获取所需的价值。在实际应用中,两者必须紧密结合。没有好的上下文管理,再好的提示词也会在长对话中失效;没有好的提示词,再大的上下文窗口也会被低效信息填满。
总结
你可以将构建一个强大的LLM应用看作是在导一场戏:
- 提示词工程是你写给演员的具体某句台词的演绎方式(比如“这里要表现出愤怒和失望”)。
- 上下文工程是你写的整个剧本、人物小传、以及导演在拍摄过程中对演员的持续引导,确保演员从头到尾都沉浸在角色里,不会演着演着就忘了自己的身份和剧情。
两者相辅相成,缺一不可,共同决定了最终演出的(模型输出的)质量。

被折叠的 条评论
为什么被折叠?



