先这样答
提示词工程和上下文工程的区别在于优化层级。前者是单点优化,后者是系统层设计。提示词工程改变指令的具体写法。开发者主要调整文本的措辞。开发者也会修改指令的逻辑结构。开发者还会向模型提供少样本示例。这些操作解决如何向模型提问的问题。
上下文工程管理模型最终能看到什么信息。开发者需要处理多轮对话的历史记录。开发者要处理外部工具返回的执行结果。开发者负责检索内容的取舍与组织。这些操作决定模型回答问题所依赖的事实基础。
两者在开发中有明确的依赖关系。上下文工程是地基。如果输入给模型的上下文包含大量垃圾信息,模型无法给出准确回答。在这种情况下,提示词写得再好也没有用。开发者必须先通过上下文工程筛选出干净的信息。开发者随后通过提示词工程引导模型输出。这道阿里云原题考察候选人对这两者优先级的理解。
面试官会怎么追问
-
「模型回答效果不好时,你先调提示词还是先查上下文?」 我先查上下文。上下文决定模型有没有回答问题所需的信息。如果上下文包含垃圾信息,改提示词解决不了问题。清理并组织好上下文后,我再去优化提示词的措辞。
-
「你在做上下文工程时,怎么处理工具返回的结果?」 我筛选工具返回的内容。我剔除无关的冗余字段。我把关键数据重新组织成模型容易理解的格式。这能防止无效信息干扰模型判断。
-
「为什么说提示词工程只是单点优化?」 提示词工程只停留在指令文本层面。它不改变模型获取外部信息的机制。它负责调整当前请求的句式或示例。这种优化无法解决信息源本身的质量问题。
回答的坑
- 夸大提示词工程的作用,忽视上下文质量对模型输出的决定性影响。
- 混淆两者概念,把截断历史对话当成提示词工程来回答。
同系列的题
—— 本题完 ——