什么是上下文工程

58 阅读3分钟

什么是上下文工程

1、什么是上下文工程【AI大模型教程】

相信大家都知道Prompt(提示词工程),它是向大模型提问的一门工程技术。那什么是上下文工程呢?

上下文工程是为模型构建「世界观」,Andrej Karpathy(特斯拉人工智能和自动驾驶部门原负责人)曾盛赞上下文工程"是一门精心设计、科学填充上下文窗口的精密艺术"。它远不止高级的Prompt编写,而是一套围绕信息获取、组织、调用与动态更新的系统工程,正成为决定LLM应用成败的关键。

简单的说,上下文工程就是构造最优输入策略的一系列策略和方法,决定把哪些提示词输入,对话历史等发送到大模型。

2、为什么需要上下文工程

在面对任务分解、长对话记忆、动态检索等复杂场景时,Prompt的能力边界已逐渐暴露,究其原因有以下几点:

架构限制:Transformer架构的自注意力机制复杂度为O(n^2),当token数量n增加时,注意力资源被稀释,模型难以有效捕捉长距离依赖。

训练数据分布:LLM在训练时通常接触更多短文本,导致其在处理超长上下文时缺乏足够的经验和参数,影响长距离依赖的处理能力

位置编码限制:尽管位置编码插值等技术允许模型处理更长的序列,但这可能导致模型对token位置的理解精度下降,影响其对上下文的理解能力

干扰信息:上下文中的相关但非关键信息会分散模型的注意力,降低其对核心信息的聚焦能力,导致模型难以捕捉到关键信息。

总结:大模型的性能很大程度上取决于推理时输入的上下文信息,随着大模型从简单的指令执行工具发展为复杂应用的核心推理引擎,其注意力资源会很容易被稀释掉,从而降低性能和推理准确性。

因此,有效的上下文工程对于提升智能体(Agent)的性能、降低运营成本和增强系统可靠性至关重要。

3、如何做好上下文工程优化

上下文工程需遵循UAT(Use-Assistant-Tool,上下文角色顺序一致)以及Single Voice(模型输出角色统一)原则,保证智能体对情节记忆的完整性和一致性,业界常见的上下文工程优化方式如下:

构建领域专属知识图谱:如根据三元组(文件-函数-变量)构建知识图谱,存储代码依赖、类型定义、风格规范。模型调用时精准召回关联代码片段,避免冗余上下文。

上下文压缩与缓存策略:

压缩:用小模型总结历史对话,保留信息熵最高的内容。

缓存:将静态上下文全局缓存,会话级上下文局部缓存。

结构化上下文注入:获取上下文的结构信息,便于模型解析与历史回溯,提升复杂任务可控性。

数据流驱动上下文传递:上下文按"节点-边"结构化传递,解耦上下文传递与业务逻辑,提升敏捷性。

分布式上下文管理:支持多存储引擎与跨服传递。

知识库上下文适配:统一知识管理模型,减少处理成本。

统一语义层构建:整合概念、关系、指标、维度等语义要素,建立数据语义层与Agent迭代进化飞轮,将技术数据转化为业务概念,消除理解壁垒。

RAG检索框架:通过Query意图识别,向量检索、Query改写、重排等步骤,结合业务语义优化,提升检索针对性,适配垂域数据查询需求。