上下文工程

上下文工程框架

引言

大语言模型的性能和效果从根本上取决与他们所接收的上下文,从简单的提示词到复杂的外部知识库,是引导其行为、扩充其知识并释放其能力的主要机制,随着大预言模型从基本的指令跟随发展成为复杂应用的核心推理引擎,设计和管理其信息负载也相应的成为一门正式的学科–上下文工程。

上下文工程包含三个关键阶段:上下文检索与生成,包含基于提示词的生成和外部知识获取,上下文处理,设计长序列处理、自我优化机制和结构化信息整合。以及上下文管理,涵盖内存层次、压缩技术和优化策略。
通过以上组件将大语言模型和外部现实联系起来,实现包含RAG以及利用函数调用和工具调用并依靠复杂的智能体通信协议与上下文编排,实现更复杂的目标。
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

为什么要进行上下文工程学习?

  1. 随着大预言模型从基本的指令跟随发展成为复杂应用的核心推理引擎,与之交互的方法必须与时俱进。“提示工程”这一术语虽然是术语,但已不足以涵盖设计、管理、优化现代人工智能系统所需信息有效载荷的全部范畴,为了解决这一问题提出了“上下文工程”这一概念。
    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  2. 随着序列长度的增加,自注意力机制会带来二次方的计算和内存开销,给长文本序列处理造成了巨大障碍,并显著影响了聊天机器人和代码理解模型等实际应用。除了计算限制,大语言模型还会出现一些可靠性问题,包括频繁出现幻觉、对输入上下文不忠实。尽管存在这些挑战,提示工程对于有效利用大语言模型仍然至关重要,因为精确且上下文丰富的提示可以减少歧义和错误,并提高模型的性能。

  3. 上下文工程通过检索增强技术、叠加提示(将任务拆分成子任务,链式提示)、结构化提示技术(思维链、少样本学习)等技术,大幅提升了性能。

未来潜力

  1. 上下文工程通过上下文学习实现了灵活的适应机制,使得模型无需重新训练的情况下适应新任务。例如零样本方法、少样本示例和角色上下文等各种提示工程技术

  2. 复杂的上下文工程技术,包括上下文学习、思维链条、思维树和规划方法,为细致入微的语言理解和生成奠定了基础。

  3. 未来研究方向表明,结合逻辑对比机制的思维链增强,在推进上下文敏感应用方面具有巨大潜力。

基础组件

  1. 上下文工程基于三个组成部分构建

    • 上下文检索:该组件通过三种主要机制应对获取合适上下文信息这一关键挑战:基于提示的生成,即精心设计有效的指令和推理框架;外部知识检索,

      • 提示工程与上下文学习

        • 零样本和少样本学习范式 零样本提示能够在没有先验示例的情况下完成任务,完全依赖于指令的清晰度和预训练知识。少样本提示通过纳入有限的示例来指导模型响应,从而扩展了这一能力,通过策略性的示例选择来展示任务执行过程。上下文学习通过利用提示中的演示示例,在不更新参数的情况下适应新任务,其性能受到示例选择和排序策略的显著影响。

        • 思维链(CoT)提示将复杂问题分解为中间推理步骤,反映了人类的认知过程。零样本思维链使用诸如 “让我们逐步思考” 这样的触发短语,将MultiArith任务的准确率从17.7% 提高到78.7% ,自动提示工程的优化进一步提升了性能。

        • 思维树(Tree-of-Thoughts, ToT)将推理组织为具有探索、前瞻和回溯能力的层次结构,将24点游戏的成功率从4% 提高到74%。思维图(Graph-of-Thoughts, GoT)将推理建模为任意图形,其中思维为顶点,依赖关系为边,与ToT相比,质量提高62%,成本降低31%。

      • 外部知识检索:它通过动态访问包括数据库、知识图库和文档集合在内的外部信息源,解决了参数化知识的基本局限性。

        • FlashRAG为RAG系统提供了全面的评估和模块化实现,

        • KRAGEN使用GOT将复杂任务分解成一个个小任务实现复杂检索。

        • self-RAG 引入了自适应检索机制,模型可动态决定何时检索信息,并生成特殊标记以控制检索时机和质量评估。

        • 知识图谱集成与结构化检索 知识图谱集成通过KAPING等框架来解决结构化信息检索问题,该框架基于语义相似性检索相关事实,并将其添加到提示词之前,无需进行模型训练。通过预规划、语义匹配和关系路径推理,实现了无需训练的知识图谱适配,在知识图谱问答任务上取得了最先进的性能。

      • 动态上下文组装:是指将获取到的信息组件进行复杂编排,形成连贯且针对任务优化的上下文,在遵守计算限制的情况下,最大限度提升模型效果。

        • 组装函数与编排机制

        • 自动化组装优化通过多轮的自我批判和修正实现迭代式输出改进,GPT-4 通过这种方法实现了20%的绝对性能提升 。

      • 上下文长序列处理:高效处理分组查询注意力(GQA)的优化技术将查询头划分为共享键头和值头的组,在多查询注意力和多头注意力之间取得平衡,同时减少解码过程中的内存需求。FlashAttention利用非对称GPU内存层次结构,实现线性内存扩展,而非二次方内存需求,FlashAttention - 2通过减少非矩阵乘法运算和优化工作分配,速度提升约两倍。KV-Cache

      • 多模态上下文: 通过将视觉、音频和3D环境等多种数据模态整合到统一的上下文表示中。模态偏差和推理缺陷是多模态大语言模型发展的一个主要障碍,即模型倾向与文本输入,通过依赖学习到的语言模式而非整合视觉或听觉信息,生成看似合理但在多模态上缺乏依据的回答。训练方法加剧了这一问题:在简单图像字幕任务上训练的mllms仅学会用于生成字幕的显著特征。忽略了其他视觉细节,这从根本上限制了深度多模态理解。

      • 关系与结构化上下文:由于基于文本的输入要求和序列架构限制,大语言模型在处理关系型和结构化数据(表格、数据库和知识图谱)时面临根本性制约。

        • GraphFormer 这样专门的架构来实现知识图谱,将图神经网络和Transformer架构结合,以解决关系型和结构化数据处理问题。

        • GraphToken 通过显式表示结构信息展示出显著改进,借助参数高效的编码函数,在图推理任务上实现了高达73个百分点的提升。Heterformer及其他混合GNN-LM架构在统一模型中执行情境化文本编码和异构结构编码,解决了扩展这些集成系统的计算难题[502, 471, 757]。

    • 上下文管理:大型语言模型(LLMs)在上下文管理方面面临着一些基本限制,这源于大多数架构中固有的有限上下文窗口大小。这一限制显著降低了模型在需要深入理解长篇文档的任务上的效能,同时带来了巨大的计算需求,阻碍了那些需要快速响应和高吞吐量的应用。另外证据显示会出现“中间迷失”现象,即大语言模型在获取长文本中间部分信息存在困难,而当关键信息出现在开头或结尾时,其表现更好。如果不进行上下文管理会出现两个现象:上下文窗口溢出,模型因超出窗口限制而忘记先前上下文。上下文崩溃,扩大的上下文窗口或对话记忆导致模型无法区分不同的对话上下文。有效的上下文管理将大语言模型能力从简单的问答扩展到利用对多个领域的全面上下文理解来实现复杂的应用。

      • 解决方案一:主要围绕内存层次结构和存储架构,例如PageAttention、MemoryBank、ReadAgent等技术

      • 解决方案二 上下文压缩

    • 系统实现:在上面的基础之上,探讨实现复杂的系统实现思路。

<think>首先,用户的问题是:“我想了解上下文工程的概念和应用 请问上下文工程 定义 应用领域 技术背景”。我需要根据系统级指令和用户可见层的要求来回答。 系统级指令: - 所有行内数学表达式必须使用$...$格式。 - 独立公式使用$$...$$格式并单独成段。 - LaTeX语法正确。 - 使用中文回答。 - 生成相关问题。 - 回答中引用的段落末尾自然地添加引用标识,例如[^1]。 用户可见层: - 回答结构清晰,帮助用户逐步解决问题。 - 尽量保证回答真实可靠。 - 参考站内引用:有引用[1]和引用[2],但我需要基于用户的问题和之前的回答来构建内容。用户的问题是新的,所以没有之前的回答历史。 用户的问题是关于上下文工程的定义、应用领域和技术背景。引用[1]和[^2]提供了相关信息: - 引用[1]:上下文工程是优化提示,为LLM选择正确的上下文,涉及动态、高效、维护向量存储等。 - 引用[2]:上下文工程是为LLM设计和管理输入上下文的新兴技术学科,决定LLM的潜力和能力。 我需要整合这些信息,构建一个清晰的回答。 回答结构: 1. **定义**:解释什么是上下文工程。 2. **应用领域**:列出上下文工程的应用场景。 3. **技术背景**:讨论技术背景,包括LLM的发展等。 4. **生成相关问题**:在回答结束时添加相关问题。 确保使用中文回答。 添加引用标识:在引用段落末尾添加[^1]或[^2]。 数学表达式:用户的问题是关于上下文工程的,可能不涉及数学,所以可能不需要。但如果提到任何公式,确保使用正确的LaTeX格式。例如,如果有概率或算法,但这里可能不需要。 最终,添加相关问题部分,以“§§相关问题§§”开头。 大纲回答: - 引言:简要介绍上下文工程。 - 定义:基于引用,定义上下文工程。 - 应用领域:描述主要应用。 - 技术背景:解释技术基础。 - 结尾:总结并添加相关问题。</think>### 上下文工程的概念与应用详解 上下文工程(Context Engineering)是近年来随着大型语言模型(LLM)兴起而发展的一门新兴技术学科,专注于为LLM设计、优化和管理输入上下文,以提升模型的性能、效率和可靠性。简单来说,它是通过精心构造输入信息(如提示词、历史对话或外部数据),帮助LLM更准确地理解任务、生成高质量输出。下面我将从定义、应用领域和技术背景三个方面逐步解释,确保回答清晰可靠,并基于权威引用(如上下文工程指南和相关研究)进行阐述。 #### 1. 定义 上下文工程的核心在于“工程化”上下文,即通过结构化方法优化LLM的输入环境。它不是简单的提示词调整,而是涉及动态选择、维护和更新上下文信息,以最小化成本、最大化效果。例如: - 引用[1]指出:“上下文工程不仅仅是优化提示;它是为您的目标选择正确的上下文。您还可以在如何维护该向量存储以及如何将这些现有子任务提取到上下文中方面更加创新。”[^1] 这强调了上下文工程作为一门系统性学科,涵盖上下文选择、存储和动态更新。 - 更正式地,上下文工程可定义为:一种技术方法,通过设计、管理和优化输入上下文(如向量数据库、历史对话或外部知识),提升LLM在特定任务上的准确性、效率和鲁棒性。其目标是解决LLM在处理复杂交互时的局限性,如幻觉(hallucination)或上下文遗忘问题。 简而言之,上下文工程就像为LLM搭建一个“智能脚手架”,确保模型在运行时能访问最相关、最高效的信息。 #### 2. 应用领域 上下文工程的应用广泛,主要集中于LLM驱动的场景,涉及动态交互和实时决策。以下是关键领域: - **智能助手与聊天机器人**:在客服或虚拟助手中,上下文工程用于维护对话历史,确保多轮交互的连贯性。例如,通过向量存储技术(如FAISS)快速检索相关上下文,减少重复查询,提升用户体验[^1]。 - **内容生成与编辑**:在自动写作或代码生成工具中,上下文工程帮助LLM理解用户意图(如通过结构化提示),生成更精准的内容。例如,在文档摘要任务中,动态注入关键背景信息(如时间线或主题向量),避免输出偏差。 - **搜索与推荐系统**:结合上下文工程,搜索引擎能更高效地过滤无关信息。引用[2]提到:“上下文工程是一个极其重要的研究方向,可以进一步决定LLM能发挥出多大的潜力和能力”[^2],这体现在个性化推荐中,通过上下文优化用户画像,提升推荐相关性。 - **自动化工作流**:在企业应用中,上下文工程用于集成LLM到复杂流程(如数据分析或决策支持),通过上下文管理减少错误率。例如,在金融风控中,注入实时市场数据作为上下文,辅助模型生成可靠报告。 - **教育与研究工具**:在教育领域,上下文工程支持自适应学习系统,根据学生历史表现动态调整提示,提供个性化辅导。 这些应用的核心优势是降低成本(减少不必要的模型调用)和提高动态性(实时适应新输入),引用[1]也强调“使您的应用程序更加动态、更便宜、更高效”[^1]。 #### 3. 技术背景 上下文工程的技术背景植根于LLM的演进和相关AI技术的融合。主要技术基础包括: - **LLM的局限性驱动创新**:传统LLM(如GPT系列)受限于固定上下文窗口(例如,早期模型仅支持2048 tokens),容易遗忘历史信息或产生不连贯输出。这催生了上下文工程的需求,以通过外部存储(如向量数据库)扩展上下文能力。技术上讲,这涉及嵌入模型(embedding models)将文本映射到向量空间,例如使用$ \text{embed}(x) $ 表示文本$x$的向量表示,便于高效检索。 - **向量数据库与检索技术**:上下文工程的核心工具是向量数据库(如Pinecone或Milvus),它们通过近似最近邻搜索(ANN)算法快速匹配相关上下文。数学上,这可以表示为最小化查询向量$ q $ 和数据库向量$ v_i $ 的距离:$$ \min_{i} \| q - v_i \|_2 $$ 这确保了上下文的高效维护[^1]。 - **提示工程与优化算法**:上下文工程结合提示工程技术,如Chain-of-Thought(思维链),通过结构化提示注入上下文。技术背景还包括强化学习(RL)方法,用于动态调整上下文权重,提升模型鲁棒性。 - **跨学科融合**:上下文工程整合了自然语言处理(NLP)、数据库系统和机器学习。引用[2]指出:“随着LLM的流行和应用,未来的会涌现更多不同的学科……上下文工程就是其中一个方向”[^2],这反映了其作为新兴交叉学科的地位,受益于Transformer架构的进步(如注意力机制)。 总之,上下文工程的技术背景是响应LLM的实践挑战,通过创新方法(如动态上下文管理)解锁模型潜力。随着AI工程化复杂度的提升,它将成为LLM应用的关键“护城河”[^1]。 ### 总结 上下文工程通过系统化设计输入上下文,显著提升LLM的性能和效率,应用覆盖智能交互、内容生成等多个领域。其技术基础源于LLM的演进和向量检索等创新。作为一门新兴学科,它正快速发展,未来可能在更多场景(如医疗诊断或自动驾驶)中发挥核心作用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值