【AI白皮书】上下文工程

news/2025/12/7 15:50:21/文章来源:https://www.cnblogs.com/df888/p/19286514

4.1 提示词工程

提示词工程,不是简单的提问,而是一套涵盖指令设计、上下文注入、角色设定和格式控制的综合性技术。

4.1.1 优秀提示词的核心实践

  • 明确角色与目标

    范例:“假设你是一位拥有10年经验的市场营销总监,请为一款新型智能手表起草一份面向年轻专业人士的产品介绍文案。”

  • 提供清晰指令与完整上下文

    范例:“请总结以下技术文章的核心观点(不超过200字),并列出其中提到的三个关键数据。不要添加个人评论。文章内容如下:[在此处粘贴文章]”

  • 运用范例进行引导

    范例:“请分析以下句子的情感及关键对象。范例:输入:'我喜欢这部电影的剧情。'输出:{'sentiment': 'positive', 'aspect': 'plot'}。现在,请分析这个句子:'这台相机的画质很棒,但电池续航太短。'”

  • 定义结构化输出格式

    范例:“请将你的回答组织成JSON格式,包含'product_name'和'key_features'两个字段,其中key_features是一个包含至少三项功能的数组。”

4.1.2 提示词工程的固有局限性

  • 应对动态及长流程任务的局限

  • 应对模型固有的无状态特性

  • 无法突破模型固有的知识边界

  • 长上下文中的信息利用不均衡

正是因为提示词工程有诸多局限性,上下文工程(Context Engineering)应运而生。

4.2 上下文工程

上下文工程的核心理念,在于将AI应用开发的焦点从优化单次交互的指令,转向为模型的每一次推理动态构建一个完整、准确且高效的认知环境。它不再局限于设计静态的提示词模板,而是致力于创建一个系统,确保模型在执行任务时,能够实时获取并利用完成该任务所需的所有相关信息,包括外部知识、历史记忆、可用工具及执行环境。

4.2.1 上下文工程与提示词工程的核心区别

4.2.2 上下文工程的关键组成部分

  • 外部知识库的动态供给

  • 长期与短期记忆系统

  • 工具与能力的扩展

  • 运行时的上下文管理

4.3 RAG技术原理与挑战

4.3.1 RAG的基础范式:三阶段工作流

1、第一阶段:索引(Indexing)

将原始的外部知识转化为机器可高效检索的格式。文档解析与提取,文本分块(Chunking),语义向量化(Embedding),构建向量索引库。

2、第二阶段:检索(Retrieval)

根据用户的自然语言查询,从已构建好的向量索引库中,快速、准确地找出最相关的N个知识块(Top-K)。

3、第三阶段:生成(Generation)

将前一阶段检索到的多个相关知识块与用户的原始查询进行整合,构建一个增强的提示词(Augmented Prompt)。比如:

4.3.2 RAG在工程化落地中面临的挑战

  • 知识单元的完整性与信息密度的抉择

  • 难以精准捕捉模糊、多样的用户意图

  • 召回匹配时难以兼顾语义相关性与关键词精确性

  • 需要探索如何在检索精度与完整性之间取得平衡

  • 应对需要多知识点综合推理的查询实现

4.4 RAG系统优化实践:索引构建

4.4.1 基础文本分块策略

1、固定大小分块

2、基于句子或段落分块

3、语义分块:引入Embedding技术计算相邻文本单元间的语义相似度,在相似度得分显著下降的位置进行切分,从而识别出文本中的语义边界。

4.4.2 高级分块优化策略

1、滑动窗口(Sliding Window)

2、小块检索,大块生成(Small-to-Big)

3、元数据标注与过滤

4.4.3 处理复杂文档的索引策略

文档除了纯文本,还包括表格、图片、代码、脚注等复杂结构。

1、层次化索引

为文档的顶层机构(如章节标题或摘要)创建摘要索引,为底层的详细内容创建区块索引。

2、多模态内容的处理与表示

文本:采用语义分块策略。

表格:提取结构化数据(如转化为Markdown或JSON格式),或对表格进行摘要描述,并单独索引。

图像:使用OCR技术提取图中文字,并结合图像描述模型(Image Captioning)生成对图像内容的语义描述,共同作为该图像的索引内容。

综上所述,索引构建是一个需要根据数据源的特性、结构和应用场景,进行策略选择与组合优化的过程。

4.5 RAG系统优化实践:检索流程

4.5.1 查询理解与增强

将用户原始、模糊的查询,转化为机器更容易理解、更适合下游检索的结构化或增强型查询。

1、查询改写与扩充

采用改写-检索-阅读(Rewrite-Retrieve-Read)框架,在检索前增加一个“改写”步骤。比如将“AI原生应用咋回事”改写为“AI原生应用的核心特征有哪些”。

2、复杂问题分解

利用LLM识别出原始问题中隐藏的、需要独立解答的子任务。比如“对比A产品和B产品在性能和成本上的差异”分解为四个子查询:“A产品的性能是什么”、“B产品的性能是什么”、“A产品的成本是多少”、“B产品的成本是多少”。

3、假设性文档嵌入(HyDE)

不直接用用户的简短查询去匹配冗长的文档,而是先利用LLM生成一个“假设性的”理想答案文档,然后用这个内容更丰富、与真实答案在形式和语义上更接近的假设性文档去进行向量检索。

4.5.2 多路召回与混合检索

从索引库中找出所有相关的候选文档。

1、向量检索与关键词检索的协同

系统并行执行这两种检索,各自生成一个候选文档列表。

2、倒数排名融合(RRF)

一个文档如果在多个不同的检索结果列表里都排在靠前的位置,那么它很可能是一个非常相关的文档。

4.5.3 结果精炼与上下文重组

针对候选文档池,进行结果精炼和上下文重组,提高生成答案质量。

1、重排序(Rerank)

使用一个更强大、更复杂的模型(如交叉编码器)来对查询与每个候选文档进行深度交互,从而计算出一个比向量相似度更精准的相关性分数。

2、自动合并检索

在数据处理阶段就建立起文档块之间的层级关系,并在检索后智能地将离散的子块合并回更完整的父块。

4.6 RAG的未来方向

从一个被动的静态检索工具,发展为一个主动的、多维的、具备推理能力的智能知识基础设施。

4.6.1 Agentic RAG

在传统RAG中,检索是一个被动、前置的步骤;而在Agentic RAG中,检索被封装成一个智能体可以自主调用、评估和迭代的工具(Tool)。智能体基于LLM决定是否检索、何时检索、检索什么以及如何利用检索结果。

4.6.2 多模态RAG

通过统一的嵌入与检索机制,将文本、图像、语音等不同类型的内容纳入同一个语义空间。比如以文搜图、文搜视频等。

4.6.3 知识图谱与RAG的融合

通过将实体、关系和属性建模为图结构,与传统的向量、关键词检索协同,实现了双规驱动的范式。在法律、医疗、金融等强调逻辑一致性与合规性的场景中特别有价值。

总结,Agentic RAG提供了任务导向的自主规划与自我校验能力,多模态RAG扩展了外部大脑的感知边界,Graph RAG增强了结构化推理与可追溯合规的能力。

4.7 上下文管理与记忆系统

4.7.1 核心挑战:有限的工作记忆

LLM的上下文窗口是智能体唯一的工作记忆,这个空间有限、有成本且存在性能瓶颈。如果将所有历史交互、工具调用结果、中间思考步骤全部塞入上下文,会导致成本与性能下降、中间遗忘、信息噪声等问题。

4.7.2 运行时上下文处理的四大策略

1、写入:将信息保存到外部记忆

2、选择:将相关信息拉入上下文

3、压缩:为上下文瘦身

4、隔离:拆分与保护上下文

4.7.3 构建智能体的多级记忆系统

1、短期记忆:管理当前对话

2、长期记忆:沉淀持久化知识

3、记忆转换时机,包括对话自然结束时、识别重要特征时、定期摘要

总结,运行时上下文是战术层面的操作,它决定了智能体在此时此刻如何最高效地利用其工作记忆;而多级记忆系统则是战略层面的支撑,它为智能体提供了历史感和个性化的基础。

参考资料:

https://developer.aliyun.com/ebook/8479

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/991536.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

详解 PHP 反射 API:动态探查与操作代码的利器

PHP 反射 API(Reflection API)是一套动态探查、解析和操作类、方法、属性、参数等代码结构的内置工具集。它允许程序在运行时 “审视” 自身的代码结构,无需提前知晓类或函数的具体实现,就能获取其元信息(如类名、…

数据采集第四次作业

数据采集第四次作业作业①: 要求: 熟练掌握 Selenium 查找HTML元素、爬取Ajax网页数据、等待HTML元素等内容。使用Selenium框架+ MySQL数据库存储技术路线爬取“沪深A股”、“上证A股”、“深证A股”3个板块的股票数据…

AMap.MarkerCluster 在Vue中显示数量为2,但是放大页面,看到只有一个点。

AMap.MarkerCluster 在Vue中显示数量为2,但是放大页面,看到只有一个点。 下图左侧: 放大之后: ================================ 在 Vue 项目中使用高德地图的AMap.MarkerCluster(点聚合)功能时,遇到了聚合显…

2025深圳/惠州装配线服务商TOP5评测!组装线/生产线/输送线/老化线等优质厂家口碑榜,技术创新+实力实证权威榜单发布,赋能智能工业制造新生态

随着智能制造的快速发展,装配线、生产线、总装线等自动化设备在工业生产中的作用愈发重要,市场对优质服务商的需求也日益增长。本榜单基于技术实力、行业适配性、服务效能三大维度,结合行业发展趋势及市场反馈,对2…

WebGPU DevTools All In One

WebGPU DevTools All In One WebGPU InspectorWebGPU DevTools All In One WebGPU Inspector WebGPU Inspector Debugging Tools WebGPU Inspector is a Chrome Developer Tools extension for debugging WebGPU conte…

香橙派AI Pro个人云平台 - 从零搭建全记录

# 香橙派AI Pro个人云平台 - 从零搭建全记录### 前言> 越界访问是什么?一个开放的个人文件托管平台(如免费图床),按道理说用户只能查看自身账户下的文件内容,但通过改变超链接标签,实现了访问其他用户的图片内…

Java 泛型:简单易懂的核心讲解(含实战代码)

Java 泛型(Generics)是 “参数化类型” 的技术 —— 简单说就是给类、接口、方法定义时,不指定具体数据类型,而是用一个 “占位符”(比如 <T>)代替,使用时再传入实际类型(如 String、Integer)。核心价值…

Python基础全攻略:从入门到精通

基本语法 缩进:用缩进来表示代码块,通常用4个空格 注释:单行注释用#,多行注释用或""" 语句结束:通常每行一条语句,也可用分号分隔,但不推荐 变量和数据类型 变量:无需声明类型,直接赋值 常见数…

Java IO:简单易懂的核心讲解(含实战代码)

Java IO(Input/Output)是处理 “数据读写” 的核心技术,比如读取文件内容、写入文本到本地、网络数据传输等,本质是实现程序与外部设备(文件、键盘、网络)的数据交换。Java 提供了完善的 IO 体系,核心分为 字节…

深入解析:昇腾CANN训练营 学习(day3)昇腾AI处理器开发环境构建与实践指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

机器学习中交叉验证(CV)、CV fold(交叉验证折) 和 数据泄露 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

CF2174D tutorial

English version Hints How to choose the edges greedily? In which cases does the greedy method fail? How can we find the extra non-tree edges? Solution Step1 First, sort the edges by weight. If the f…

Python 基础语法:简单易懂的入门指南(含实战代码)

Python 以 “简洁、易读、灵活” 著称,核心语法贴近自然语言,是编程入门的首选。以下用大白话 + 实战代码,带你吃透 Python 基础核心知识点,零基础也能快速上手! 一、先搞懂 3 个核心前提解释型语言:写完代码直接…

Say 赛选记(11.27)

noip 前的最后一篇了(悲 AT_arc171_d [ARC171D] Rolling Hash 众所周知,\([l,r]\) 的哈希值是可以用前缀相减来算的,也就是 \(s_r - s_{l - 1} \times B^{r - l + 1}\),但这个形式在这道题中就力不从心了。 换一个…

.NET异步编程进阶:从语法糖到高性能架构的核心突破

深入探讨如何智能地结合I/O和CPU工作、避免隐藏的线程池成本,以及使用新的.NET功能使异步比以往更安全、更快速。 .NET异步编程进阶:从语法糖到高性能架构的核心突破 在每个.NET开发者的职业生涯中,都会有一个转折…

AI元人文:价值共生时代的元操作系统——理论架构、深层辩护与演进蓝图

AI元人文:价值共生时代的元操作系统——理论架构、深层辩护与演进蓝图 摘要 本文提出并系统阐释了“AI元人文”理论框架,旨在应对通用人工智能(AGI)时代“价值对齐”的根本困境。该框架实现了从寻求静态、普适价值…

2025深圳、惠州生产线厂家TOP5推荐!广东深圳、惠州地区装配线/老化线/组装线/装配线等优质供应商专业评测,智能智造+整厂方案权威榜单发布,技术赋能重构工业生产生态

随着工业自动化技术的飞速发展,生产线设备作为制造业升级的核心基础设施,市场需求持续攀升。本榜单基于技术实力、行业适配性、服务覆盖度三大维度(振熙自动化新增“整厂规划”维度),结合行业协会数据与企业实地调…

[开源代码]基于STM32的环境检测与报警系统

[开源代码]基于STM32的环境检测与报警系统 前言 随着物联网和智能硬件的发展,环境检测在工业、农业以及家庭自动化中变得越来越重要。传统的环境监测多依赖单一传感器,无法实现多参数同时监控,也难以针对不同参数设…

120_尚硅谷_函数注意事项和细节(3)

120_尚硅谷_函数注意事项和细节(3)1.函数注意事项和细节讨论 2.使用 _ 标识符,忽略返回值 3.Go支持可变参数