上下文工程即缺口工程:让AI Agent精准击中用户信息缺口
系列一:AI Agent × GAP模型 | 第5篇(深度型)
上下文窗口不是"记忆容器",而是"缺口感知器"——Agent如何通过上下文精确感知并填充用户的信息缺口。
本文你将获得
- 🧩 上下文工程的产品化解读框架(非技术视角)
- 📐 上下文与信息缺口的映射模型
- 🔄 上下文管理的4层架构(感知层/记忆层/推理层/输出层)
- 🎯 Agent精准击中缺口的6种设计策略
- 📊 上下文质量评估矩阵
- 📋 上下文工程设计检查清单(16项)
引言:为什么同一个模型,有时"正中下怀",有时"答非所问"?
你一定有过这样的体验——
同一个大模型,在同一个产品里,有时候给你的回答精准得像"读心术",你刚想到的问题它已经替你回答了;但有时候,你明明描述得很清楚,它却给你一堆无关信息,让你忍不住想摔键盘。
比如你问AI编程助手:“这段代码有Bug吗?”——
好的回答:它不仅指出了Bug的位置,还分析了Bug产生的原因,顺便提醒你"这个函数在并发场景下还有另一个潜在问题"。你甚至没问并发,但它知道你的项目是一个高并发服务。
差的回答:它把你的代码重新解释了一遍,末尾加了一句"总体来看代码质量不错"。你心里想的是"我当然知道代码不错,我问的是Bug在哪里"。
差别在哪里?不在于模型参数,不在于训练数据,而在于上下文工程——Agent是否"理解"了你的信息缺口在哪里。
这就是本文的核心论点:
上下文工程(Context Engineering)的本质,就是信息缺口工程的AI实现。Agent的上下文窗口不是"记忆容器",而是"缺口感知器"——它能通过上下文精确感知用户的信息缺口,并针对性地填充。
这个视角将彻底改变你设计AI产品的方式:你不再思考"给模型喂什么信息",而是思考"如何让模型感知用户缺什么信息"。
一、上下文工程的产品视角
1.1 什么是上下文工程?(非技术解读)
在技术圈,上下文工程通常被定义为"管理输入大语言模型的信息,以优化输出质量的方法"。这个定义没错,但它是工程师视角的。
从产品视角来看,上下文工程有一个更本质的定义:
上下文 = Agent理解用户的"信息总和"
注意,不是"信息量",而是"信息总和"——它不仅包括用户说了什么,还包括用户没说什么、用户的历史行为、用户所处的环境、以及用户自己都没意识到的隐含需求。
┌─────────────────────────────────────────────────────────────┐ │ 上下文的信息流全景 │ │ │ │ ┌──────────────┐ │ │ │ 用户输入 │─── 显性信息(说了什么) │ │ └──────────────┘ │ │ │ │ │ ▼ │ │ ┌──────────────┐ ┌──────────────┐ │ │ │ 行为信号 │───▶│ │ │ │ └──────────────┘ │ 上下文 │───▶ 缺口感知 ──▶ 输出│ │ │ │ 窗口 │ │ │ ▼ │ │ │ │ ┌──────────────┐ │ │ │ │ │ 环境信号 │───▶│ │ │ │ └──────────────┘ └──────────────┘ │ │ │ │ │ ▼ │ │ ┌──────────────┐ │ │ │ 历史记忆 │─── 隐性信息(过去发生了什么) │ │ └──────────────┘ │ │ │ │ 关键洞察:上下文窗口的真正功能不是"存储信息", │ │ 而是"通过信息对比来感知缺口" │ └─────────────────────────────────────────────────────────────┘这个视角的转变至关重要。传统理解中,上下文窗口是一个"容器"——你往里面塞更多信息,模型就能更好地回答。但如果我们把上下文窗口理解为"缺口感知器",逻辑就变了:
- 塞入信息的目的不是让模型"知道得更多",而是让模型能更精确地"感知用户缺什么"
- 上下文的质量不取决于"信息量",而取决于"缺口对比度"——已知与未知之间的边界是否清晰
1.2 上下文 vs 信息缺口:一个映射模型
上下文与信息缺口之间存在一个精密的映射关系。我们可以把上下文中的信息分为三类,每类对应一种缺口形态:
| 上下文信息类型 | 定义 | 对应的缺口形态 | 产品设计启示 |
|---|---|---|---|
| 已知信息 | 上下文中明确存在的、用户已经掌握的信息 | 定义缺口的边界——告诉Agent"用户已经知道什么" | 不要重复用户已知的信息,否则会造成"信息冗余厌恶" |
| 缺失信息 | 上下文中应该存在但实际不存在的、用户正在寻找的信息 | 就是信息缺口本身——用户的核心需求 | Agent的任务就是精准识别并填充这些缺失 |
| 隐含信息 | 上下文中没有直接表达、但可以从已有信息中推断出来的信息 | 潜在缺口——用户自己都没意识到的需求 | 这是Agent"超预期"的关键来源 |
用一个映射模型来可视化这种关系:
┌─────────────────────────────────────────────────────────────┐ │ 上下文-缺口映射模型 │ │ │ │ ┌─────────────────────────────────────┐ │ │ │ 上下文空间 │ │ │ │ │ │ │ │ ████████ 已知信息 │ │ │ │ ████████ (用户已掌握的知识) │ │ │ │ │ │ │ │ · · · · · 缺失信息 ←── 核心缺口 │ │ │ │ · · · · · (用户正在寻找的答案) │ │ │ │ │ │ │ │ ░░░░░░░░ 隐含信息 │ │ │ │ ░░░░░░░░ (用户没意识到的需求) │ │ │ │ │ │ │ └─────────────────────────────────────┘ │ │ │ │ Agent的工作流程: │ │ 1. 识别"已知" → 确定缺口边界(不重复已知) │ │ 2. 定位"缺失" → 精准填充核心缺口 │ │ 3. 挖掘"隐含" → 提供超预期的价值 │ └─────────────────────────────────────────────────────────────┘这个映射模型揭示了一个反直觉的洞察:上下文中的"已知信息"越多,Agent反而越容易精准定位缺口。这不是因为模型需要更多信息来回答,而是因为"已知"与"缺失"之间的对比度更高了,缺口的轮廓更清晰了。
这就像医生诊断:你告诉医生的信息越详细(已知),医生越能精准判断你缺什么(缺失),甚至能发现你自己没注意到的健康隐患(隐含)。
二、上下文管理的4层架构
理解了上下文与缺口的映射关系,接下来我们拆解Agent的上下文管理系统。一个设计良好的Agent,其上下文管理可以分为四层架构:
┌─────────────────────────────────────────────────────────────┐ │ 上下文管理4层架构 │ │ │ │ ┌─────────────────────────────────────────────────────┐ │ │ │ 第四层:输出层 —— 针对性填充缺口 │ │ │ │ ┌─────────────────────────────────────────────┐ │ │ │ │ │ 第三层:推理层 —— 从上下文推断缺口 │ │ │ │ │ │ ┌─────────────────────────────────────┐ │ │ │ │ │ │ │ 第二层:记忆层 —— 存储和检索上下文 │ │ │ │ │ │ │ │ ┌─────────────────────────────┐ │ │ │ │ │ │ │ │ │ 第一层:感知层 —— 收集信息 │ │ │ │ │ │ │ │ │ └─────────────────────────────┘ │ │ │ │ │ │ │ └─────────────────────────────────────┘ │ │ │ │ │ └─────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────┘ │ │ │ │ 信息流向:感知 → 记忆 → 推理 → 输出 │ │ 缺口流向:识别 → 保留 → 定位 → 填充 │ └─────────────────────────────────────────────────────────────┘2.1 感知层:收集用户信息
感知层是上下文工程的入口。它的任务不是"收集尽可能多的信息",而是"收集能帮助识别缺口的信息"。
感知层需要关注三类信息源:
(1)显性信息——用户说了什么
这是最直接的信息源。用户的问题、指令、反馈,都是显性信息。但显性信息往往只是缺口的"表层表达",而非缺口本身。
用户问:“怎么优化这段代码?”
显性信息:用户想优化代码。
实际缺口:用户可能不知道代码的性能瓶颈在哪里、不知道有哪些优化手段、不知道优化的优先级如何排列。
(2)隐性信息——用户没说什么但暗示了什么
隐性信息需要Agent从用户的表达方式、用词选择、提问时机中推断。这是区分"平庸Agent"和"优秀Agent"的关键能力。
用户在凌晨两点问:“这个API的并发上限是多少?”
显性信息:用户想知道API并发上限。
隐性信息:用户很可能正在处理一个线上性能问题,时间紧迫,需要的不只是一个数字,而是一个解决方案。
(3)环境信息——时间、设备、历史行为
环境信息为缺口识别提供"情境坐标"。同样的一个问题,在不同的环境下,对应的缺口完全不同。
| 环境维度 | 信息示例 | 对缺口识别的影响 |
|---|---|---|
| 时间 | 凌晨两点、工作日白天、周末 | 判断紧迫程度,决定回答的详细程度 |
| 设备 | 手机、桌面端、API调用 | 判断使用场景,决定输出格式 |
| 历史行为 | 过去问过类似问题、频繁切换话题 | 判断用户的专业水平和当前关注点 |
| 会话状态 | 对话刚开始、已经深入讨论了10轮 | 判断用户是在探索还是在收尾 |
2.2 记忆层:存储和检索
记忆层的核心挑战不是"存多少",而是"存什么、怎么检索"。从缺口工程的视角看,记忆层的设计需要解决一个问题:如何让过去的上下文服务于当前的缺口识别?
记忆层包含三种记忆机制:
(1)短期记忆——当前会话
短期记忆保存当前对话的完整上下文。它的作用是维持对话的连贯性,让Agent能追踪缺口的变化轨迹。
第一轮:用户问"Python怎么读取CSV?"
第二轮:用户问"如果是TSV呢?"
第三轮:用户问"那JSON呢?"短期记忆让Agent知道:用户的缺口不是"怎么读JSON",而是"Python怎么读取不同格式的数据文件"。缺口在演化,但核心需求不变。
(2)长期记忆——用户偏好与历史交互
长期记忆保存跨会话的用户信息。它的作用是建立"用户模型",让Agent能基于对用户的深度理解来识别缺口。
ChatGPT的"记忆"功能就是一个典型案例:它记住了你的职业是产品经理、你偏好简洁的回答风格、你正在做一个AI项目。当你问一个模糊问题时,这些长期记忆帮助它更精准地定位缺口。
(3)RAG——检索增强生成
RAG(Retrieval-Augmented Generation)从产品角度看,本质上是为Agent提供一个"外部知识库"来扩展缺口感知的范围。
没有RAG的Agent,只能在"用户输入 + 训练数据"的范围内感知缺口。有了RAG,Agent可以检索企业内部文档、用户的历史项目文件、实时的行业数据——这些外部信息极大地丰富了上下文,让Agent能感知到更深层、更精准的缺口。
┌─────────────────────────────────────────────────────────────┐ │ 记忆层的三级结构 │ │ │ │ ┌──────────────────────────────────────────────────┐ │ │ │ 长期记忆(跨会话) │ │ │ │ 用户画像 / 偏好 / 历史模式 / 领域知识 │ │ │ │ ┌────────────────────────────────────────────┐ │ │ │ │ │ RAG知识库(外部检索) │ │ │ │ │ │ 企业文档 / 行业数据 / 实时信息 │ │ │ │ │ │ ┌──────────────────────────────────────┐ │ │ │ │ │ │ │ 短期记忆(当前会话) │ │ │ │ │ │ │ │ 对话历史 / 当前任务状态 / 临时上下文 │ │ │ │ │ │ │ └──────────────────────────────────────┘ │ │ │ │ │ └────────────────────────────────────────────┘ │ │ │ └──────────────────────────────────────────────────┘ │ │ │ │ 越外层的记忆,覆盖范围越广,但对当前缺口的针对性越弱 │ │ 越内层的记忆,覆盖范围越窄,但对当前缺口的针对性越强 │ └─────────────────────────────────────────────────────────────┘2.3 推理层:从上下文推断缺口
推理层是上下文工程的"大脑"。感知层收集了信息,记忆层存储了信息,推理层的任务是从这些信息中推断出用户真正的信息缺口。
推理层需要完成三个关键任务:
(1)缺口定位——用户真正需要什么?
这是最核心的推理任务。用户的表面问题往往不等于真正的缺口。
用户问:“React和Vue哪个好?”
表面缺口:React和Vue的对比。
推理后的真实缺口:
- 如果用户是新手 → 缺口是"我应该学哪个作为入门?"
- 如果用户是团队Leader → 缺口是"我们技术选型应该用哪个?"
- 如果用户是资深开发者 → 缺口是"在特定场景下两者的性能差异是什么?"
(2)缺口优先级——先填哪个缺口?
一个复杂问题往往包含多个缺口。推理层需要判断哪些缺口是核心的、哪些是次要的。
用户问:“帮我设计一个推荐系统。”
识别到的缺口:
- 推荐算法选型(核心缺口)
- 数据采集方案(核心缺口)
- 系统架构设计(次要缺口,依赖前两个)
- 团队人员配置(潜在缺口)
- 部署和运维方案(潜在缺口)
优秀的Agent会先解决核心缺口,再逐步展开次要和潜在缺口。
(3)缺口验证——这个缺口是真实的吗?
不是所有"看起来像缺口"的都是真实缺口。推理层需要验证缺口的真实性,避免"过度填充"。
用户问了一个关于Python基础语法的问题,但他的GitHub上有大量高级Python项目。
推理判断:这个"基础语法缺口"很可能是假的——用户可能是在帮别人问、在写教学文档、或者在测试Agent。直接给一个入门级回答反而会冒犯用户。
2.4 输出层:针对性填充缺口
输出层是上下文工程的"最后一公里"。推理层精确定位了缺口,输出层的任务是用最合适的方式填充它。
输出层的质量可以用三个维度来衡量:
| 维度 | 定义 | 评估标准 | 与GAP模型的关联 |
|---|---|---|---|
| 精准度 | 回答是否击中了真正的缺口? | 用户是否觉得"这就是我要的"? | 对应GAP模型中的**Payoff(回报)**质量 |
| 完整度 | 是否完全填充了缺口? | 用户是否还需要追问才能解决问题? | 决定了闭环能否顺利形成 |
| 意外度 | 是否提供了超出预期的价值? | 用户是否产生了"没想到它连这个都考虑到了"的反应? | 直接对应RPE(奖赏预测误差)——超出预期的回报会触发更强的正向反馈 |
其中,意外度是最容易被忽视、但对用户留存影响最大的维度。
当Agent不仅回答了用户的问题,还预判了用户的下一个问题、指出了用户没意识到的风险、提供了用户没想到的替代方案——这种"超出预期"的体验,正是我们在本系列第三篇中讨论的**奖励预测误差(RPE)**在产品层面的体现。
回顾RPE理论(Schultz, 1997):当实际回报超过预期回报时,多巴胺系统会产生一个正向的预测误差信号,驱动个体重复导致该回报的行为。
在Agent产品中,"预期回报"是用户根据问题复杂度预判的答案质量,“实际回报"是Agent实际给出的答案。当Agent通过上下文工程实现了"意外度”——实际回报 > 预期回报——用户就会获得一个正向的RPE信号,驱动他继续使用。
三、Agent精准击中缺口的6种设计策略
理解了4层架构之后,我们进入实战环节。以下是Agent精准击中缺口的6种设计策略,每一种都对应上下文工程的一个具体落地方法。
3.1 主动追问策略
核心逻辑:当上下文不足以精确定位缺口时,Agent主动提问来缩小缺口范围。
这不是简单的"您能再说详细点吗",而是一种有针对性的缺口探测——Agent基于已有上下文,提出最能帮助定位缺口的问题。
┌─────────────────────────────────────────────────────────────┐ │ 主动追问策略示意 │ │ │ │ 用户输入:"怎么优化性能?" │ │ │ │ │ ▼ │ │ ┌─────────────┐ │ │ │ 上下文分析 │ 缺口范围太大,需要收敛 │ │ └─────────────┘ │ │ │ │ │ ▼ │ │ Agent追问(三选一,基于已有上下文选择最可能的): │ │ ┌──────────────────────────────────────────────────┐ │ │ │ ① "您指的是数据库查询性能,还是API响应速度?" │ │ │ │ ② "目前的性能瓶颈大概在哪个环节?" │ │ │ │ ③ "是前端渲染性能,还是后端处理性能?" │ │ │ └──────────────────────────────────────────────────┘ │ │ │ │ │ ▼ │ │ 用户回答 → 缺口范围缩小 → Agent精准填充 │ └─────────────────────────────────────────────────────────────┘典型案例:Perplexity的追问建议
Perplexity在每次回答后,会基于当前上下文自动生成3-5个"相关问题"。这些追问建议不是随机的,而是基于当前回答中的信息缺口来生成的——它们指向用户可能还没意识到、但很可能感兴趣的方向。这就是主动追问策略的产品化实现。
3.2 上下文继承策略
核心逻辑:跨会话保持上下文连续性,让Agent在每次新对话开始时,都能"继承"之前积累的用户理解。
上下文继承解决了AI产品中一个普遍的痛点:每次新对话都要重新解释背景。
┌─────────────────────────────────────────────────────────────┐ │ 上下文继承示意 │ │ │ │ 会话A(三天前): │ │ 用户:"我在做一个电商推荐系统,用Python写的。" │ │ Agent:[回答了推荐算法相关的问题] │ │ │ │ │ ▼ 上下文提取 │ │ ┌─────────────────────────────────────┐ │ │ │ 长期记忆更新: │ │ │ │ - 用户在做电商推荐系统 │ │ │ │ - 技术栈:Python │ │ │ │ - 专业水平:中高级 │ │ │ └─────────────────────────────────────┘ │ │ │ │ │ ▼ 上下文继承 │ │ 会话B(今天): │ │ 用户:"怎么处理冷启动问题?" │ │ Agent:(无需追问"什么系统",直接基于继承的上下文回答) │ │ "针对您的电商推荐系统,冷启动有三种策略……" │ └─────────────────────────────────────────────────────────────┘典型案例:ChatGPT的"记忆"功能
ChatGPT的Memory功能会自动从对话中提取关键信息(用户的职业、项目、偏好等),并在后续对话中自动调用。从缺口工程的角度看,这个功能的价值不在于"记住用户",而在于每次新对话开始时,Agent不需要从零开始感知缺口,而是可以直接在一个更精确的起点上工作。
3.3 多源融合策略
核心逻辑:整合多个信息源来构建更完整的上下文,从而更全面地感知缺口。
单一信息源往往只能揭示缺口的某个侧面。多源融合策略通过同时分析多个信息源,构建一个"立体"的上下文视图。
| 信息源 | 提供的缺口信息 | 融合后的增强效果 |
|---|---|---|
| 用户的问题描述 | 缺口的表层表达 | - |
| 用户的代码/文档 | 缺口的技术背景 | 判断缺口的深度和专业级别 |
| 错误日志/运行数据 | 缺口的客观证据 | 验证缺口是否真实 |
| 相关文档/知识库 | 领域标准答案 | 判断缺口的"标准解法" |
典型案例:AI编程助手的多源分析
当你在Cursor中遇到一个Bug时,它不只是分析你当前的代码——它会同时参考你的项目结构、依赖配置、Git提交历史、甚至相关的Stack Overflow讨论。这种多源融合让它的上下文远比"当前文件内容"丰富,因此它能感知到的缺口也远比表面问题更深层。
3.4 渐进精炼策略
核心逻辑:先给一个粗略但有用的答案,再根据用户的反馈逐步精炼,在迭代中逼近真正的缺口。
这种策略连接了产品设计中的**“渐进式揭示”(Progressive Disclosure)**模式——不要一次性给出所有信息,而是根据用户的反馈逐步展开。
┌─────────────────────────────────────────────────────────────┐ │ 渐进精炼策略示意 │ │ │ │ 第一轮:粗略填充 │ │ ┌─────────────────────────────────────┐ │ │ │ Agent:"推荐系统有协同过滤和内容过滤 │ │ │ │ 两种主流方案,您想了解哪种?" │ │ │ └─────────────────────────────────────┘ │ │ │ │ │ ▼ 用户反馈 → 缺口收窄 │ │ 第二轮:定向精炼 │ │ ┌─────────────────────────────────────┐ │ │ │ 用户:"协同过滤,但我的数据很稀疏。" │ │ │ │ Agent:"数据稀疏场景下,可以考虑矩阵 │ │ │ │ 分解、知识图谱增强、或者混合方案……" │ │ │ └─────────────────────────────────────┘ │ │ │ │ │ ▼ 用户反馈 → 缺口进一步收窄 │ │ 第三轮:精准填充 │ │ ┌─────────────────────────────────────┐ │ │ │ 用户:"矩阵分解具体怎么做?" │ │ │ │ Agent:(给出完整的实现方案和代码) │ │ │ └─────────────────────────────────────┘ │ │ │ │ 每一轮交互都在收窄缺口范围,直到精准填充 │ └─────────────────────────────────────────────────────────────┘渐进精炼策略的优势在于:它避免了"过度回答"(给太多信息造成认知负担)和"回答不足"(信息不够无法解决问题)两个极端,通过多轮交互逐步逼近用户的真实缺口。
3.5 隐性需求探测策略
核心逻辑:从用户的行为模式中推断用户自己都没有明确表达的需求。
这是最高级的缺口感知能力。它要求Agent不仅理解"用户说了什么",还要理解"用户的行为模式暗示了什么"。
场景:用户连续三次在Agent中查询不同数据库的对比信息(MySQL vs PostgreSQL、MongoDB vs Redis、Elasticsearch vs Solr)。
显性缺口:每次查询的具体对比信息。
隐性需求:用户很可能在做技术选型决策。Agent可以主动提供"技术选型决策框架"或"根据您的业务场景推荐最合适的数据库"——这是用户自己都没明确提出的缺口。
隐性需求探测的关键在于行为模式识别——单个行为可能没有意义,但一系列行为的组合模式会暴露出深层的缺口。
3.6 上下文压缩策略
核心逻辑:在有限的上下文窗口中,保留对缺口感知最有价值的信息,丢弃冗余信息。
上下文窗口是有限的资源。不是所有上下文信息对缺口感知都同等重要。上下文压缩策略的核心是信息优先级排序——在窗口即将溢出时,优先保留那些对缺口感知最关键的信息。
┌─────────────────────────────────────────────────────────────┐ │ 上下文压缩优先级 │ │ │ │ 优先级1(必须保留): │ │ ├── 用户的当前问题和核心需求 │ │ ├── 当前任务的中间状态 │ │ └── 缺口定位的关键线索 │ │ │ │ 优先级2(尽量保留): │ │ ├── 近期对话的关键结论 │ │ ├── 用户的明确偏好和约束 │ │ └── 已尝试过但失败的方案 │ │ │ │ 优先级3(可以丢弃): │ │ ├── 已解决的历史子问题 │ │ ├── 重复的上下文信息 │ │ └── 与当前缺口无关的背景信息 │ │ │ │ 设计原则:压缩的不是"信息量",而是"对当前缺口感知的 │ │ 贡献度低的信息" │ └─────────────────────────────────────────────────────────────┘产品设计意义:上下文压缩策略提醒我们,Agent产品的设计不应该追求"塞入更多上下文",而应该追求"让每一块上下文都服务于缺口感知"。一个精心压缩的上下文,比一个塞满无关信息的上下文,更能帮助Agent精准击中缺口。
四、上下文质量评估矩阵
如何评估你的Agent的上下文工程质量?以下是一个5维评估矩阵:
| 评估维度 | 定义 | 优秀(5分) | 良好(3-4分) | 待改进(1-2分) |
|---|---|---|---|---|
| 准确性 | 上下文信息是否正确、无歧义? | 所有信息准确无误,无歧义表达 | 偶有模糊但不影响缺口识别 | 存在错误信息导致缺口误判 |
| 完整性 | 上下文是否覆盖了缺口感知所需的关键信息? | 覆盖显性+隐性+环境三类信息 | 覆盖显性信息,部分隐性信息 | 仅覆盖用户直接输入的信息 |
| 相关性 | 上下文信息与当前缺口的关联程度? | 每条信息都直接服务于缺口感知 | 大部分信息相关,少量噪声 | 大量无关信息干扰缺口识别 |
| 时效性 | 上下文信息是否反映了最新的状态? | 实时更新,反映用户最新意图 | 基本更新,偶有滞后 | 使用过时信息,缺口定位偏差 |
| 一致性 | 多源信息之间是否矛盾? | 多源信息互相印证,形成统一视图 | 轻微矛盾但不影响整体判断 | 信息冲突严重,Agent无所适从 |
使用方法:对你的Agent产品进行一次完整的用户对话测试,然后对每个维度打分。总分20分以上为优秀,15-19分为良好,15分以下需要重点优化。
特别需要关注的是相关性和一致性这两个维度——它们是上下文工程中最容易被忽视、但对缺口感知影响最大的因素。大量无关信息(低相关性)会稀释Agent对缺口的感知精度;矛盾的信息(低一致性)会让Agent在多个可能的缺口之间摇摆不定。
五、上下文工程设计检查清单
以下是设计Agent上下文工程时的16项检查清单,覆盖从感知层到输出层的完整链路:
感知层(4项)
- S1Agent是否能区分用户的显性问题和隐性意图?
- S2Agent是否利用了环境信息(时间、设备、场景)来辅助缺口判断?
- S3Agent是否能从用户的用词和表达方式中推断专业水平?
- S4Agent是否记录了用户的历史行为模式?
记忆层(4项)
- M1短期记忆是否完整保留了当前会话的关键上下文?
- M2长期记忆是否建立了有效的用户画像?
- M3RAG检索是否能找到与当前缺口最相关的知识?
- M4记忆检索的优先级排序是否合理(最相关的排在最前)?
推理层(4项)
- R1Agent是否能区分用户的"表面问题"和"真实缺口"?
- R2当存在多个缺口时,Agent是否能正确判断优先级?
- R3Agent是否能验证缺口的真实性(避免过度填充)?
- R4Agent是否能从行为模式中推断隐性需求?
输出层(4项)
- O1Agent的回答是否精准击中了用户的核心缺口?
- O2Agent是否避免了重复用户已知的信息?
- O3Agent是否提供了超出预期的价值(触发正向RPE)?
- O4Agent的回答格式是否适应当前场景(简洁/详细/结构化)?
结语:从"喂信息"到"感知缺口"
上下文工程正在成为AI产品设计的核心能力。但我们对它的理解,需要从"如何给模型喂更多信息"升级为"如何让模型精确感知用户缺什么信息"。
这个转变的本质是:从信息供给思维,转向缺口感知思维。
传统的上下文工程关注的是"输入端"——如何构造更好的Prompt、如何检索更相关的文档、如何管理更长的对话历史。而缺口视角的上下文工程关注的是"感知端"——Agent是否真正理解了用户的信息缺口在哪里、有多大、有多紧迫。
当你下次设计Agent产品时,不妨问自己三个问题:
- 我的Agent能从用户的输入中感知到几个层次的缺口?(表面问题 / 真实需求 / 隐性需求)
- 我的Agent的上下文中,"已知"与"缺失"的边界是否足够清晰?
- 我的Agent的回答中,有多少比例是真正填充缺口的,多少比例是冗余信息?
这三个问题的答案,将决定你的Agent是"正中下怀"还是"答非所问"。
🔖系列连载中
本文属于「AI Agent × GAP模型」系列(第5篇/共6篇)
- 上一篇:《AI产品的"多巴胺开关":奖励预测误差在智能体中的应用》
- 下一篇:《MCP工具生态的产品化思考:从"连接万物"到"精准交付"》
- 关注本博客,第一时间收到更新推送
💎关注后私信回复"Agent",获取配套资料:
- 上下文工程设计检查清单(16项)
- 上下文质量评估矩阵模板