返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

为什么说上下文工程是AI产品成功的关键?

[复制链接]
链载Ai 显示全部楼层 发表于 昨天 19:22 |阅读模式 打印 上一主题 下一主题

如果你是一名产品经理,在构建AI产品的过程中,一定面临过这样的灵魂拷问:

- 为什么演示时流畅的智能客服,上线后用户却投诉“答非所问”?

- 为什么耗资百万训练的行业大模型,关键决策错误率比规则引擎的还高?

- 为什么增加上下文长度后,效果反而断崖式下跌?


而这些问题,很可能不是因为模型不够聪明,而是产品缺失了「翻译官」——在用户意图与AI能力之间,正横亘着一片可能被绝大多数产品经理忽视的黑箱地带,那就是上下文工程。


也就是说,真正决定产品存亡的战场其实在——如何把用户、场景、数据翻译成AI听得懂的「产品语言」。


本文将从以下几点聊一下我对上下文工程的理解:
1、什么是上下文工程?
2、它能解决什么问题?
3、怎么找到最佳的上下文?
4、如何效果评估?

ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;visibility: visible;">01

ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">什么是上下文工程?

简单来说,上下文工程是系统地设计、管理和优化输入到大语言模型的信息和环境(即“上下文”),以引导模型生成更准确、相关、有用且一致的输出。


我认为,核心的组成部分包括以下这些:

1、信息组装与选择

  • 确定哪些信息对模型理解任务和目标至关重要。

  • 从海量可用数据(用户输入、系统状态、数据库查询结果、知识库文档、聊天历史等)中筛选出高价值、低噪音的关键信息片段。

  • 这是克服模型输入长度限制的关键,需要“把好钢用在刀刃上”。


2、结构化与格式化

  • 将选定的信息以模型易于理解和有效利用的方式组织和呈现。

  • 这可能包括:

    • 添加结构标记: 使用标签、标题、分隔符(如###)、列名等。

    • 指令嵌入:在上下文中嵌入清晰的任务指令、目标、约束条件(角色扮演、输出格式要求)。

    • 示例嵌入:在上下文中包含少量高质量的示例。

    • 知识注入:将关键事实、实体关系、定义等精确信息嵌入上下文。

    • 思维链提示: 在上下文里引导模型的思考路径(“让我们一步步思考…”)。


3、动态上下文管理

  • 上下文通常不是静态的,而是在会话应用或多轮交互中,上下文需要根据对话状态、用户意图和之前的交互历史动态更新和维护。

  • 需要策略来决定保留哪些历史信息(摘要?关键点?完整对话?)、何时截断、如何合并新信息等等。


4、指令设计融合

指令设计(Prompt Engineering的传统领域)仍然是上下文工程的一部分,但它不再是孤立的,而是需要和精心设计的上下文紧密结合、协同工作,共同指导模型。


5、与大模型特性对齐

理解目标LLM的架构、训练数据偏好、token限制、处理上下文的方式(是平均关注所有token?还是更关注开头结尾?)等,以便优化上下文结构。


ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;visibility: visible;">02

ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">它能解决什么问题?

上下文工程的核心价值在于突破传统提示工程的固有局限,从根本上提升AI系统的实用性与可靠性。


静态的Prompt模板在面对动态变化的业务场景时往往捉襟见肘,而上下文工程通过智能注入实时的业务数据、用户状态及环境参数,为模型构建起持续演化的认知框架。


这种动态知识供给不仅显著抑制了模型的幻觉风险,更通过结构化指令(角色定义、输出规范)和嵌入式规则(促销逻辑、风控条款)的协同作用,使模型行为具有高度可预测性。


当智能客服需要同时处理用户情绪、订单历史、促销规则等多维信息时,上下文工程成为整合复杂信号的关键枢纽。


本质上是通过构建“持续进化的业务记忆体”,将碎片化信息转化为可执行的决策图谱。这种能力使得AI产品从简单的问答机器人蜕变为真正理解业务语境的智能体,从而在用户体验与商业价值的交汇点能够释放出巨大的潜力。


ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;visibility: visible;">03

ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">如何为你的AI产品找到最佳的上下文?

先说结论:我认为没有一刀切的“最佳”方案,而是需要系统性的分析和实验才能找到

以下是我总结的一些关键步骤:


第一步:明确定义任务和目标
你的AI应用具体要解决什么问题?希望模型输出什么?
用户是谁?在什么场景下使用?核心价值是什么?

第二步:识别所有潜在的信息来源
用户输入:当前的问题、指令。
系统状态/环境:当前时间、地理位置、用户身份、操作权限、应用当前状态等。
知识库/文档:内部文档、产品手册、FAQ、法规、代码库片段、数据库查询结果等。
历史对话/交互:之前的用户问题、系统回答(完整的、还是提取的关键点或摘要?)。
预定义的规则/指令/约束:需要模型遵守的特定规则、输出格式要求等。
示例(Few-Shot Learning):高质量的输入-输出样本。

第三步:分析信息的相关性与价值

对于当前任务和用户意图,哪几条信息最相关、最关键?

每条信息的“信息密度”如何?(是冗长的废话,还是浓缩的精华?)

信息之间是否存在冲突或冗余?如何解决?


第四步:考虑模型的token限制

绝对限制:明确目标LLM的最大上下文长度。

成本效益:上下文越长,API调用成本就越高,并且长上下文可能会导致模型性能下降或注意力关注点分散,所以我们需要在成本和效果之间找到平衡。


第五步:设计和格式化上下文

结构化:使用清晰的分隔符、标签、标题将不同类型的信息区分开来。

整合指令:将任务指令、角色设定巧妙地与提供的上下文数据结合起来。

嵌入示例:如果需要,选择最相关的少数示例嵌入上下文。

嵌入关键知识:对于模型可能不知道或容易出错的关键事实点,直接嵌入上下文。

格式化输出要求:明确期望的输出结构(如JSON、列表、步骤、代码块等)。

考虑顺序:LLM对上下文开头和结尾的信息可能更敏感,所以关键的指令或信息可以考虑放在开头或结尾中。


第六步:应用特定策略

长文档处理:使用向量数据库进行语义搜索选择最相关的片段、生成多个不同粒度的摘要(全文摘要、章节摘要)、提取关键实体/事实等手段。

会话应用:维护对话状态、有效摘要历史对话的关键信息、动态选择需要保留或遗忘的内容、检测用户意图变化。

复杂推理任务:显式地在上下文中引导推理步骤(比如使用思维链、思维树等),注入必要的推理规则或中间变量。


ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;visibility: visible;">04

ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">如何进行效果评估?

总结来说,可以通过使用实验、测试和AB测试的方式对不同的上下文进行评估,具体说明如下:

1、对比不同上下文策略

创建几个不同版本的上下文,比如:

V1使用 仅用户问题 + 简短指令,

V2使用 用户问题 + 关键数据摘要 + 详细指令,

V3使用 用户问题 + 更多背景信息 + 示例 + 指令,


然后在同一组测试用例上测试它们。


2、建立评估指标

准确性:输出内容是否正确?

相关性:输出是否直接回应了用户需求和上下文信息?

完整性与清晰度:是否覆盖了关键点?表达是否清晰?

一致性:不同语境或不同表述下输出是否稳定?

效率:使用的token数量?API是否有延迟?


3、收集用户反馈

最终使用产品的用户的切身体验和感受是最具权威性和决定性的标准。

比如,对于智能客服,即便从技术指标看回答准确、相关,但用户却觉得对话体验生硬、难以理解,那也说明产品存在问题。所以在评估上下文工程效果时,要高度重视最终用户的真实感受。


4、分析失败案例

为什么这次交互失败了?是缺少关键信息?信息冲突?指令不清晰?上下文太长导致关键点被遗忘?


5、持续优化

根据测试结果和反馈,不断调整信息选择、结构化和格式化的策略。


写在最后

我认为,上下文工程是构建真实可用AI应用的核心杠杆。


它不是简单的堆砌信息,而是ingFang SC", -apple-system, "system-ui", "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", Helvetica, Arial, "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", "Source Han Sans CN", sans-serif;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline;color: rgb(0, 0, 0);letter-spacing: -0.16px;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">精准定位关键信息、巧妙结构化信息、动态管理信息,并将其与清晰的指令深度结合的艺术与科学。


找到“最佳”上下文没有捷径,因为它源于对任务、用户、信息源和模型能力的深刻理解,并通过持续的实验、测试和迭代优化而来。


所以,掌握它,你就能大幅提升LLM应用的性能和可靠性。

#AI产品经理#上下文工程

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

链载AI是专业的生成式人工智能教程平台。提供Stable Diffusion、Midjourney AI绘画教程,Suno AI音乐生成指南,以及Runway、Pika等AI视频制作与动画生成实战案例。从提示词编写到参数调整,手把手助您从入门到精通。
  • 官方手机版

  • 微信公众号

  • 商务合作

  • Powered by Discuz! X3.5 | Copyright © 2025-2025. | 链载Ai
  • 桂ICP备2024021734号 | 营业执照 | |广西笔趣文化传媒有限公司|| QQ