上下文工程
本书作者:测试开发刚哥,文章版权归个人所有,未经授权请勿转载。 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 处理复杂文档的索引策略 文档除了纯文本,还包括表格、图片、代码、脚注等复杂结构。 ...