欢迎光临
我们一直在努力

上下文工程实战:让 AI 在正确时间知道正确的事

文章目录

  • 1 -> 引言
  • 2 -> 先区分五种完全不同的信息
    • 1. 规则
    • 2. 事实
    • 3. 方法
    • 4. 状态
    • 5. 证据
  • 3 -> 上下文质量由四个属性决定
    • 权威性
    • 新鲜度
    • 作用域
    • 可复核性
  • 4 -> 上下文装载不是全文检索
  • 5 -> 上下文预算应该按任务阶段分配
    • 规划阶段
    • 实现阶段
    • 调试阶段
    • 审查阶段
    • 恢复阶段
  • 6 -> 冲突必须分成两类处理
    • 指令与授权冲突
    • 事实与证据冲突
  • 7 -> Memory 的正确位置
  • 8 -> 上下文污染是怎样发生的
    • 把一次纠正当成永久规则
    • 把 Agent 推断写入事实库
    • 保存完整聊天而不提炼
    • 跨租户召回
    • 页面提示注入
  • 9 -> 案例:一个持续三个月的产品项目
  • 10 -> 衡量上下文系统是否有效
  • 11 -> 常见误区
    • 一切都存下来
    • 只做向量搜索
    • 把规则写得极长
    • 依赖单个超长会话
    • 自动学习所有人工修改
  • 12 -> 落地检查清单
  • 13 -> 结语

在这里插入图片描述

1 -> 引言

当 AI 输出不符合预期,人们最常见的反应是继续补充 Prompt。Prompt 越写越长,模型获得的信息似乎越来越多,但结果未必更稳定:旧规则与新要求冲突、背景材料淹没当前任务、个人偏好被误当成组织政策、搜索结果覆盖了正式文档,或者模型记住了一次偶然修改,却忘了真正不可违反的边界。

这些问题说明,AI 的瓶颈经常不是“缺少信息”,而是缺少上下文治理。上下文工程要解决的不是存储,而是五个问题:什么信息值得保存、谁有权修改、何时加载、如何处理冲突、使用后怎样验证。

Anthropic 将 MCP 设计成连接模型与外部数据、工具的开放标准,OpenAI、Google、微软等也逐步形成规则文件、Skills、Memory、连接器和 Agent 协议生态。共同趋势非常明确:模型能力之外,能否获得正确上下文已经成为 Agent 系统的核心基础设施。 在这里插入图片描述

2 -> 先区分五种完全不同的信息

1. 规则

规则回答“允许怎样工作”。包括安全边界、目录权限、验证命令、发布流程、数据外送政策和人工审批要求。规则应该短、明确、可审计,不能依赖模型偶然回忆。

2. 事实

事实描述系统、业务和环境目前是什么样。包括架构、接口、客户口径、产品状态、数据字典和部署信息。事实有时间属性,应标注来源、更新时间和适用范围。

3. 方法

方法描述某类任务通常怎样完成,例如安全审查、市场研究、会议总结、博客制作和浏览器验收。适合沉淀为 Skill、模板、脚本或运行手册。

4. 状态

状态描述当前任务进行到哪里:已经完成的阶段、等待的决定、验证结果、预算和下一步。状态寿命较短,但决定长期任务能否恢复。

5. 证据

证据是支持当前判断的代码、命令输出、截图、来源段落、数据库结果和用户反馈。证据通常与一次任务相关,不能未经确认就永久升级为组织事实。

把五种信息混在同一份“超级 Prompt”中,会导致权威性和寿命混乱。更好的原则是:规则进入规则层,事实进入文档层,方法进入 Skill,状态进入任务记录,证据留在可追溯的工作材料中。

3 -> 上下文质量由四个属性决定

权威性

谁发布了这条信息,它是否有资格定义当前行为。安全政策通常高于个人偏好,当前用户也不能用一句临时要求绕过组织权限。

新鲜度

一年前的架构文档可能已经过期,昨天的命令输出也只代表被测环境。事实不能只看标题是否“正式”,还要看日期、版本和部署状态。

作用域

信息适用于整个组织、某个仓库、某个目录、某类任务、某个人还是当前会话。作用域越明确,越不容易误用。

可复核性

是否能找到原始来源、代码位置、数据查询或批准记录。无法复核的信息应该标记为推断或记忆,而不是包装成确定事实。

4 -> 上下文装载不是全文检索

RAG 经常被简化成“把问题转向量,再找最相似的文档”。但语义相似并不等于任务相关,更不等于权威。

成熟检索通常经过:

  • 范围过滤:先限定项目、租户、权限和时间;
  • 候选召回:关键词、向量、关系和结构化查询组合;
  • 权威排序:正式政策、当前代码、已批准决定优先;
  • 新鲜度判断:过期文档降权,但不一定删除;
  • 去重与压缩:保留关键段落而非整份文件;
  • 冲突标记:不同来源不一致时同时呈现;
  • 引用绑定:输出结论能够追到来源。
  • 例如用户问“当前接口是否只读”,最相似的可能是一份旧设计稿,但真正需要同时检查当前路由、权限配置、部署版本和正式政策。代码可以证明被检查版本实现了写入,却不能证明写权限已经被批准。

    5 -> 上下文预算应该按任务阶段分配

    模型上下文再大也不是免费资源。信息越多,成本越高,关键约束越容易被埋没。可以使用分阶段装载:

    规划阶段

    只加载目标、边界、架构概览、关键规则和成功标准。

    实现阶段

    加载当前模块、接口契约、相关测试、局部历史和样例。不要一次读取整个仓库。

    调试阶段

    加载失败日志、最小复现、最近变更和对应运行时配置。

    审查阶段

    加载原始需求、确认计划、完整相关 diff、验证结果和范围外声明,避免把实现者的自我辩护当证据。

    恢复阶段

    加载已确认状态、完成项、失败原因、下一步和环境差异,而不是重新回放全部聊天。

    这个过程可以称为上下文路由:根据任务类型和阶段决定信息从哪里来、以什么优先级进入、何时退出。

    6 -> 冲突必须分成两类处理

    指令与授权冲突

    它决定“能不能做”。平台安全边界、组织政策和法律要求不能被个人偏好覆盖。当前用户可以在授权范围内调整任务,但不能默默扩大生产权限、客户数据访问或外送范围。

    事实与证据冲突

    它决定“实际是什么”。判断时比较直接证据、新鲜度、作用域和可复核性。当前代码说明被检查版本的实现;命令输出说明某个环境在某个时间的观察;生产行为还要核对部署、运行配置和监控。

    两类冲突不能使用同一条“越新越优先”的规则。更新的日志不能授权危险操作,高权威政策也不能证明系统实际没有回归。

    7 -> Memory 的正确位置

    Memory 适合减少重复解释,例如:

    • 用户偏好的文档结构;
    • 经常使用的表达风格;
    • 长期项目名称与常用缩写;
    • 已被多次确认的低风险习惯;
    • 经常合作的工具和格式。

    Memory 不应承载:

    • 唯一的安全规则;
    • 生产凭据和客户数据;
    • 当前系统架构的唯一真相;
    • 权限、支付和合规边界;
    • 尚未确认的推测。

    记忆是召回辅助,不是强制执行机制。不可绕过的要求仍然需要权限、策略、CI、Hook 或人工审批。

    8 -> 上下文污染是怎样发生的

    把一次纠正当成永久规则

    用户某次为了特殊场景修改格式,系统却把它推广到所有项目。

    把 Agent 推断写入事实库

    模型根据不完整资料得出结论,下一次又把自己的旧结论当成来源,形成循环确认。

    保存完整聊天而不提炼

    长对话包含试探、错误路线和过期决定,未来难以知道哪句话仍然有效。

    跨租户召回

    检索系统只按语义相似度搜索,没有先过滤权限和租户,导致客户数据泄露。

    页面提示注入

    网页、邮件和文档中的文字被当成系统指令,改变 Agent 目标或诱导外送信息。

    治理措施包括来源标签、批准状态、版本、租户过滤、写入权限、到期时间和人工确认。未经确认的内容只能进入暂存区,不能自动成为权威事实。

    在这里插入图片描述

    9 -> 案例:一个持续三个月的产品项目

    项目初期建立四类文档:项目背景、已批准需求、架构决定和术语表。团队规则规定哪些目录可改、必须运行哪些测试、哪些用户数据禁止外送。常见工作流制作成 Skills,例如发布检查和客户反馈归类。

    每个迭代任务只加载当前需求、相关模块和最近决定。开发中产生的日志和方案属于临时证据;只有人确认的架构调整才写入决策记录。任务结束时生成简短 handoff:完成内容、验证、未解决风险和下一步。

    当新任务与旧文档冲突时,系统不会自动选择一方,而是提示:旧决定的日期、当前代码证据和影响,请负责人确认是文档过期还是实现回归。

    三个月后,Agent 不需要记住所有对话,却能通过稳定结构恢复项目。这就是上下文资产,而不是聊天记录堆积。

    10 -> 衡量上下文系统是否有效

    • 首次任务需要人工补充背景的次数;
    • 因错误或过期上下文导致的返工率;
    • 输出结论能够追溯来源的比例;
    • 跨项目或跨租户误召回次数;
    • 相同任务重复解释所花时间;
    • 上下文中实际被使用的信息比例;
    • 规则冲突被自动发现的比例;
    • 状态恢复后重复执行步骤的次数;
    • 未确认推断进入事实库的数量;
    • 文档过期后被发现和更新的时间。

    如果知识库不断增长,但人工解释和返工没有下降,它只是存储系统,不是上下文工程。

    11 -> 常见误区

    一切都存下来

    原始资料可以归档,但进入 Agent 工作上下文前仍需筛选、分层和权限控制。

    只做向量搜索

    权限、版本、结构化关系和权威性无法只靠相似度解决。

    把规则写得极长

    越长越难发现冲突。规则层保留必须执行的内容,背景链接到正式文档。

    依赖单个超长会话

    会话会压缩、中断和过期。长期状态应有独立、可验证的载体。

    自动学习所有人工修改

    修改可能是一次性例外。先判断原因和作用域,再决定是否沉淀。

    12 -> 落地检查清单

    • 规则、事实、方法、状态和证据已经分层;
    • 每条长期信息有来源、日期、作用域和负责人;
    • 检索前先执行租户和权限过滤;
    • 语义召回之后还有权威性和新鲜度排序;
    • 冲突信息不会被静默覆盖;
    • 当前代码、测试环境和生产事实被明确区分;
    • Memory 不承载唯一安全与权限要求;
    • 未确认推断不能直接写入事实库;
    • 不可信外部内容与系统指令隔离;
    • 长任务状态可以跨会话恢复;
    • 过期内容有复审和淘汰机制;
    • 输出能够关联实际使用的来源。

    13 -> 结语

    上下文工程的目标不是让模型“记住一切”,而是让它在正确时间知道正确的事,并且清楚这些信息来自哪里、是否仍然有效、能够支持什么行动。

    当规则、事实、方法、状态和证据各自有稳定位置,Agent 才能减少重复解释而不牺牲治理;当上下文路由、权限和冲突处理建立起来,知识才真正从静态文档变成可以持续参与工作的生产资料。


    感谢各位大佬支持!!!

    互三啦!!!

    赞(0)
    未经允许不得转载:171主机测评 » 上下文工程实战:让 AI 在正确时间知道正确的事
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址