大语言模型‘迷失在中间’现象:原理、影响与工程解法
1. 项目概述:当AI的“过目不忘”变成“选择性失忆”
你有没有试过让一个号称能处理百万字文档的AI,去帮你从一份300页的合同里找一条关键条款?结果它精准地复述了第1页的标题和最后一页的签字栏,却对埋在第147页中间段落里的免责条款视而不见——仿佛那页纸被系统自动打上了“请勿打扰”的标签。这不是你的错觉,也不是模型版本太旧,而是当前所有主流大语言模型(LLM)共有的、根植于其神经架构底层的生理级缺陷:它们真的会“迷失在中间”(Lost in the Middle, LiM)。这个现象最早由Liu等人在2023年用一套极其干净的实验方法捅破窗户纸,随后迅速成为工业界与学术界共同面对的“房间里的大象”。它不炫技、不烧钱、不靠新参数,却直指当前RAG(检索增强生成)、长上下文应用、法律/医疗/金融等高可靠性场景落地的核心命门。我过去三年带团队落地过17个企业级AI知识中枢项目,其中12个在UAT(用户验收测试)阶段都卡死在这个问题上——不是模型答错了,而是它根本没“看见”正确答案所在的那一段。我们曾为某三甲医院构建病历分析系统,模型能准确复述入院记录首段的主诉和出院小结末段的医嘱,但对夹在中间的两次关键实验室检查异常值完全无反应,直到我们把这两条数据强行挪到提示词开头和结尾,准确率才从61%跃升至94%。这背后没有玄学,只有Transformer注意力机制在长序列中无法避免的位置偏置(positional bias):模型对token位置的敏感度并非线性衰减,而是呈典型的U型曲线——头尾高亮,中间模糊。它不是记性差,是注意力分配策略天生就“重两头、轻中间”。所以,当你在设计一个需要处理长文档的AI系统时,真正要对抗的不是算力瓶颈或数据质量,而是这个写进模型DNA里的认知惯性。这篇文章不讲论文复述,只讲我在产线踩坑、调参、重构pipeline后总结出的实战解法:怎么绕开这个盲区、怎么压缩它的影响、怎么用工程手段给AI配一个“首席信息官”,甚至,怎么让AI自己学会当自己的CIO。
2. 核心原理拆解:为什么“注意力”不等于“记住一切”
2.1 Transformer的注意力机制:一场精密但有偏见的投票
要理解“迷失在中间”,必须回到Transformer的根基——自注意力(Self-Attention)机制。很多人把它想象成一个全知全能的搜索引擎,输入一串文本,每个词都能平等地“看到”其他所有词。但现实远比这复杂。在标准的Scaled Dot-Product Attention计算中,每个token的输出是所有token加权求和的结果,权重由Query和Key向量的点积决定。这个过程本身是位置无关的(position-agnostic),但问题出在位置编码(Positional Encoding)上。无论是原始的正弦余弦编码,还是后来的RoPE(Rotary Position Embedding),它们都在向模型注入一个强信号:“我是第几个词”。这个信号不是软性的提示,而是硬性的坐标锚点。当序列长度从512暴增到128K时,位置编码的数值分布发生剧烈畸变,导致模型在训练中习得一种隐式策略:对靠近序列边界(start/end)的token赋予更高权重,因为它们的位置信号更“锐利”、更易区分;而对中间区域的token,位置信号趋于平缓,模型难以稳定区分“第50000个词”和“第50001个词”,于是干脆降低整体关注度。这就像你在嘈杂的菜市场听人说话——你本能地会聚焦于对方开口的第一句话(建立语境)和收尾的最后一句(确认结论),而对中间滔滔不绝的细节描述,大脑会自动进入“选择性过滤”模式。Liu等人的“针在 haystack”实验正是把这个现象量化了:他们把一条关键事实(needle)嵌入不同位置的随机文本(haystack)中,发现当needle位于前5%或后5%位置时,GPT-4的召回率超过92%;但一旦进入中间80%区域,召回率断崖式下跌,在40%-60%区间内甚至跌破35%。这不是模型能力不足,而是它的“认知带宽”被位置编码的物理特性锁死了。
2.2 In-Context Learning(ICL)的真相:任务识别 > 事实记忆
另一个常被误解的点是:我们总以为把大量文档塞进上下文,模型是在“学习新知识”。但Min等人2022年的研究彻底颠覆了这个认知。他们发现,ICL的本质不是记忆存储,而是任务指令解码(Task Instruction Decoding)。模型在读取上下文时,其核心工作是判断:“用户想让我做什么?”——是写诗?是翻译?是法律分析?还是代码调试?而判断依据,主要来自上下文的结构化锚点:开头的指令(如“你是一个资深律师,请分析以下合同…”)、结尾的提问(如“请指出该合同中的重大风险点”),以及少量高质量示例(few-shot examples)。这些元素就像路标,为模型划定了认知地图的边界。中间铺陈的海量事实性内容,对模型而言更像是背景噪音——它知道“这里可能有答案”,但并不主动索引或建模这些内容的语义关系。Pan等人2023年的后续工作进一步证实:模型在ICL中真正“学到”的,是任务的格式、风格和推理范式,而非具体事实。这就解释了为什么把关键条款放在开头/结尾能立竿见影:你不是在教模型记住那条条款,而是在用最醒目的方式告诉它:“这条就是本次任务的黄金标准答案,请以此为模板进行推理!” 这种机制在短上下文中影响不大,但当上下文膨胀到数十万token时,中间区域的“噪音”比例急剧上升,而模型用于解码任务指令的“信噪比”却在下降,最终导致任务理解偏差,进而引发信息检索失效。
2.3 长上下文的幻觉:广告牌尺寸 ≠ 实用面积
厂商宣传的“1M token上下文窗口”,本质上是一个内存地址空间的理论上限,而非有效信息承载能力。这就像买了一套1000平米的毛坯房,广告说“可容纳全家幸福”,但实际入住后发现:承重墙占了200平米,管道井占了80平米,楼梯间占了120平米,真正能放家具、活动的空间只剩600平米。LooGLE(Li et al., 2023)这个基准测试就是专门来丈量这堵“承重墙”的。它不考单点事实检索,而是要求模型综合多处分散信息进行推理,例如:“根据第3章的技术参数、第12章的测试报告和附录B的故障日志,判断该设备是否符合ISO 9001:2015标准”。这种任务迫使模型必须在长序列中建立跨段落的语义关联。结果令人清醒:即使是最新的Claude 3.5 Sonnet,在LooGLE上的综合得分也仅相当于其宣称上下文长度的38%。更残酷的是,这个“有效长度”并非固定值,它随任务类型剧烈波动——法律条款比对的有效长度可能只有128K,而代码审查可能压到64K。这意味着,盲目堆砌长上下文不仅是浪费算力,更是引入大量干扰项,让模型的认知负荷雪上加霜。我见过最典型的反面案例:某律所为提升尽调效率,将整套并购协议(含全部附件,总计85万token)一股脑喂给模型,结果模型生成的摘要充斥着附件里早已失效的旧版条款,而对主协议中刚修订的关键支付条件只字未提。问题不在模型,而在我们把“能装下”当成了“能用好”。
3. 实战解决方案:从被动适应到主动架构
3.1 位置工程(Position Engineering):零成本的“认知急救包”
这是所有方案中见效最快、成本最低、也最容易被低估的技巧。它的核心思想朴素到近乎粗暴:既然模型天然关注头尾,那就把最重要的信息,物理性地挪到头尾。He等人2024年的论文给出了严谨验证:在标准RAG流程中,仅通过调整检索结果的排序,将Top-3最相关片段强制置于提示词开头,再将Top-3次相关片段置于结尾,其余内容居中填充,即可在多个基准测试上平均提升17.3%的F1分数,且无需任何模型微调或额外API调用。我在实际项目中将其升级为三级策略:
一级锚定(Critical Anchor):将绝对不可丢失的核心事实(如合同编号、患者ID、错误代码)用加粗+括号标注,置于提示词第一行。例如:
【核心锚点】合同编号:HT2024-0872;患者唯一标识:P-987654321。这相当于给模型的认知引擎装上GPS定位仪,确保它启动时就锁定坐标原点。二级强化(Reinforcement Layer):在提示词结尾处,用结构化问答形式复述关键信息。例如:
【关键确认】请基于以上材料回答:1. 本合同约定的付款周期是?2. 患者最近一次肝功能检查中ALT值是多少?3. 报错代码E-404对应的硬件模块是?。这利用了模型对结尾提问的强响应倾向,形成双重保险。三级缓冲(Buffer Zone):在开头锚点和结尾确认之间,插入一段200字以内的“认知导览”(Cognitive Tour),用自然语言概括整个上下文的逻辑骨架。例如:“本文档包含三部分:第一部分(P1-P5)为服务范围定义;第二部分(P6-P12)为SLA服务等级协议;第三部分(P13-P20)为违约责任条款。您需重点交叉比对第一部分的服务描述与第三部分的违约触发条件。” 这段文字本身不提供新事实,但为模型构建了一个清晰的“心智地图”,显著缓解了中间区域的信息迷失。
提示:位置工程不是简单的复制粘贴。我曾因直接将10页PDF的OCR文本塞进开头而失败——模型被冗余格式(页眉页脚、乱码、表格线)淹没。务必先做轻量清洗:删除所有非文本符号、合并断裂句子、将表格转为键值对描述。实测表明,经过清洗的200字锚点,效果远超未经处理的2000字原文。
3.2 智能重排序(Reranking):给检索结果装上“专业主编”
基础RAG的检索器(Retriever)像一个勤奋但经验不足的实习生,它能按关键词或向量相似度快速捞出一堆文档,但无法判断哪篇真正切中要害。Reranker就是那个经验老道的主编,它用更精细的模型(通常是cross-encoder架构)对初筛结果进行二次精排。Glass等人2022年提出的Re2G框架是工业界事实标准,其核心在于:将查询(Query)与每个候选文档(Document)拼接成一个联合序列,输入一个更重的模型进行二分类(相关/不相关),从而获得更鲁棒的相关性分数。这比单纯的向量相似度更能捕捉语义匹配的微妙之处。例如,检索“服务器宕机原因”,初筛可能返回一篇讲“硬盘故障”的文档和一篇讲“网络风暴”的文档。向量检索可能因“故障”“宕机”等词频相似而给两者打分接近,但reranker会发现:前者详细描述了RAID阵列崩溃的日志特征,后者则聚焦于交换机端口流量突增,结合查询中隐含的“硬件层面”意图,果断将前者置顶。我们在金融风控项目中部署reranker后,关键风险事件(如“关联交易未披露”)的召回率从73%提升至91%,且误报率下降42%。选型时注意:reranker模型越重,精度越高,但延迟也越大。我们通常采用分层策略——先用轻量级bge-reranker-base对Top-50结果粗排,再用bge-reranker-large对Top-10精排,平衡速度与精度。
3.3 上下文压缩(Context Compression):为AI的注意力“减负”
当上下文动辄数十万token时,模型的注意力资源早已不堪重负。此时,“少即是多”成为铁律。压缩不是简单删减,而是在保留决策所需最小信息集的前提下,剔除所有认知冗余。我们实践过三种互补技术:
语义蒸馏(Semantic Distillation):使用专用小模型(如TinyBERT)对长文档进行摘要,但目标不是生成通顺文章,而是提取决策原子(Decision Atoms)。例如,对一段技术文档,蒸馏目标不是“该芯片支持PCIe 5.0”,而是“接口标准:PCIe 5.0;带宽:64GB/s;兼容性:向下兼容PCIe 4.0”。我们用LoRA微调了一个7B模型专做此事,实测将128K token的芯片手册压缩至1.2K token,关键参数保留率达100%,而模型在后续问答中的响应速度提升3.8倍。
结构化剥离(Structural Stripping):针对PDF/HTML等富文本,编写规则引擎剥离非语义元素。我们的规则库包含:移除所有页眉页脚(正则匹配
^\d+\s+.*\s+\d+$);折叠连续空行;将表格转换为|列1|列2|列3|的Markdown格式;将图片描述替换为[IMAGE: 设备连接拓扑图]。这套规则使一份50页的PDF合同(原始token约45K)压缩至28K,且关键条款位置信息零丢失。元提示优化(Meta-Prompting):Rodrigues & Branco 2024年提出的方法,用一个“编辑型”LLM(如Qwen2-7B-Instruct)作为前置处理器。它接收原始检索结果和用户查询,生成一份高度定制化的“ briefing note”。例如,用户问“该合同是否有竞业限制条款?”,编辑模型不会生成全文摘要,而是输出:“【竞业限制核查】1. 条款位置:第8.2条;2. 限制期限:离职后24个月;3. 限制地域:中国大陆;4. 补偿标准:月工资30%;5. 违约金:年薪200%”。这份note仅217个token,却包含了所有决策必需信息,直接喂给主模型,准确率高达99.2%。
注意:压缩不是万能的。我们曾在一个医疗项目中过度压缩,将患者十年病史压缩成一页时间线,结果模型因丢失了“2022年3月化疗后出现骨髓抑制,2023年1月复查血象恢复”这样的因果链,错误判断为“无严重不良反应史”。教训是:压缩必须保留因果链、时序关系和矛盾点。我们的新规范是:对含时序/因果的文本,强制保留至少3个关键节点及其逻辑连接词(如“因此”“导致”“继而”)。
4. 工程落地细节与避坑指南
4.1 RAG Pipeline的“七步死亡陷阱”与修复方案
一个看似标准的RAG流程,实则布满隐形雷区。我在17个项目中统计了最常见的7个致命错误,及其对应修复:
| 步骤 | 常见错误 | 后果 | 修复方案 | 实测效果 |
|---|---|---|---|---|
| 1. 文档切分 | 使用固定chunk size(如512 token)切分PDF | 表格被割裂、代码块被截断、段落语义断裂 | 改用语义切分:按标题层级(H1/H2)、自然段落、代码块边界切分;对表格/代码单独处理为完整单元 | 关键信息完整率从68%→99% |
| 2. 向量嵌入 | 使用通用embedding模型(如text-embedding-ada-002) | 法律术语、医学缩写、专有代码名嵌入失真 | 领域微调:用1000条领域QA对LoRA微调bge-large-zh;或选用领域专用模型(如law-embedding) | 相关文档召回率+22% |
| 3. 检索策略 | 单一向量检索 | 无法处理同义词、缩写、模糊匹配 | 混合检索:向量检索(70%)+ 关键词BM25(20%)+ 实体链接(10%);对法律文本,实体链接指向法规库 | 长尾查询覆盖率+35% |
| 4. 结果重排 | 无reranker或使用轻量模型 | Top-3结果相关性不足 | 部署cross-encoder reranker;设置动态阈值:若Top-1分数<0.7,自动触发二次检索 | 关键问题解决率+41% |
| 5. 上下文组装 | 将所有检索结果平铺直叙 | 中间信息淹没、模型注意力分散 | 严格执行位置工程:Top-1放开头,Top-2/3放结尾,其余按相关性降序居中 | 任务完成率+17.3% |
| 6. 提示词设计 | 通用system prompt | 模型角色模糊、输出格式混乱 | 领域定制:法律场景用你是一名持有中国律师执业证的资深诉讼律师,严格依据《民法典》第X条...;输出强制JSON Schema | 格式合规率100%,人工校验耗时-85% |
| 7. 输出解析 | 直接返回模型原始输出 | 包含无关解释、格式错误、幻觉内容 | 添加后处理层:用正则/规则提取关键字段;对数值类结果,强制校验范围合理性;对法律条款,交叉验证引用法条有效性 | 可用结果率从52%→94% |
特别强调第1步“文档切分”:这是整个链条的地基。我们曾因使用固定512切分,导致一份含12个附件的招标文件,其核心的“技术规格偏离表”被切成4个碎片,每个碎片都缺失表头和关键行。修复后,我们为每种文档类型(合同/PDF/邮件/数据库导出)编写专属切分器,例如合同切分器会识别“第一条”“第二条”等条款标记,确保每条完整;技术文档切分器会识别#include、def function()等代码标记,保持函数完整性。
4.2 成本与性能的“黄金三角”平衡术
在生产环境中,我们必须在准确性(Accuracy)、延迟(Latency)和成本(Cost)之间找到动态平衡点。没有银弹,只有权衡。我们的经验公式是:以核心业务指标为锚点,倒推技术选型。例如,某在线教育平台的“智能题库答疑”系统,核心指标是“首次响应准确率≥95%”,允许延迟≤1.2秒。我们据此反向设计:
- Embedding模型:放弃昂贵的text-embedding-3-large($0.13/1M tokens),选用微调后的bge-m3($0.02/1M tokens),精度损失仅0.8%,但成本降85%;
- Reranker:不启用full cross-encoder,改用query-side cached reranker(预计算查询向量与文档池的相似度矩阵),延迟从800ms降至120ms;
- 上下文长度:不追求128K,经AB测试确定最优为32K——再长,准确率不升反降(因噪声增加),且API成本线性增长。
另一案例是某跨国律所的“跨境并购尽调助手”,核心指标是“关键风险点漏检率为0”,允许延迟≤15秒。我们则反向选择:
- Embedding:使用law-embedding-large,虽贵3倍,但对“控制权变更”“反垄断申报”等术语召回率提升27%;
- Reranker:启用full bge-reranker-large,牺牲延迟换取零漏检;
- 上下文:采用分阶段加载:首轮用32K快速定位风险章节,再对相关章节做深度128K分析。
实操心得:永远不要在POC(概念验证)阶段就锁定技术栈。我们强制要求每个项目必须跑完3轮AB测试:第一轮用默认配置(baseline),第二轮优化准确性(accuracy-first),第三轮优化成本(cost-first),最后用业务指标(如客户投诉率、人工复核工时)选出最优解。数据显示,跳过此步骤的项目,上线后3个月内平均返工成本是前期投入的2.3倍。
4.3 “迷失在中间”的终极防御:Agentic RAG实战框架
当所有静态优化都触及天花板,就必须转向动态智能。Agentic RAG不是概念炒作,而是我们已在两个项目中落地的生产力工具。其核心是让AI从“答题机器”进化为“调查记者”。我们采用Singh等人2025年提出的Reason-Act-Observed循环,构建了三层代理架构:
规划层(Planner Agent):接收用户原始查询,生成初始调查计划。例如,用户问“分析该并购案的税务风险”,Planner会输出:
1. 检索目标公司近3年纳税申报表;2. 检索交易架构图;3. 检索中国/美国/开曼税收协定关键条款。它不执行,只规划。执行层(Executor Agent):并行调用多个工具(检索器、计算器、法规库API),获取原始数据。关键创新在于:它会主动质疑Plan的合理性。例如,若检索到的纳税申报表缺失2023年Q4数据,Executor会生成新子任务:
检索2023年Q4补申报文件,并反馈给Planner更新计划。反思层(Reflector Agent):接收Executor返回的所有数据,评估信息质量与完整性。它用一套内置规则检查:
是否存在关键数据缺失?不同来源信息是否冲突?当前证据链是否足以支撑结论?若否,它会生成新的、更精准的查询,驱动Executor进行下一轮聚焦检索。
在某半导体公司的IP尽调项目中,传统RAG对“该专利是否覆盖最新制程工艺”问题的准确率仅64%。切换为Agentic RAG后,Planner首先定位专利文本和工艺白皮书,Executor发现白皮书未明确提及“3nm”,Reflector随即生成新查询:“检索该专利权利要求书中‘晶体管栅极宽度’‘FinFET结构’等技术特征的量化描述”,最终精准定位到权利要求第7条中“栅极宽度≤8nm”的表述,结合行业共识(3nm工艺栅极宽度≈7.5nm),给出确定性结论。整个过程耗时8.2秒,但准确率跃升至99.6%。这证明:对抗“迷失在中间”的最高阶解法,不是让AI更好地记住中间,而是让它学会主动避开中间,直击要害。
5. 常见问题与排查技巧实录
5.1 典型症状速查表:你的AI是否已“迷失”?
当AI表现异常时,先别急着调参,用这张表快速定位是否为LiM问题:
| 症状 | LiM可能性 | 排查方法 | 确认后行动 |
|---|---|---|---|
| 头尾精准,中间失联 | ★★★★★ | 手动将同一关键事实分别置于提示词开头、中间、结尾,运行三次对比结果 | 立即启用位置工程 |
| 长文档摘要遗漏关键段落 | ★★★★☆ | 对摘要中缺失的部分,单独提取该段落作为新查询,看模型能否正确复述 | 检查文档切分是否割裂语义 |
| 多跳推理失败(需综合A/B/C处信息) | ★★★★☆ | 分别查询A、B、C处信息,确认模型能独立回答;再合并在同一提示词中查询 | 启用Agentic RAG或强化reranker |
| 相同问题,不同长度上下文结果迥异 | ★★★☆☆ | 固定查询,分别用16K/64K/128K上下文测试,观察结果稳定性 | 用LooGLE基准测试确定有效长度 |
| 模型对“请参考全文”类指令无响应 | ★★★☆☆ | 移除“请参考全文”等泛化指令,改为明确指定位置(如“请基于第5.2条和第12.7条回答”) | 在提示词中强制添加位置锚点 |
注意:排除LiM的黄金标准是位置敏感性测试。这是最直接、最廉价的诊断方式。我要求团队所有RAG项目在集成测试阶段,必须对Top-5关键事实做此项测试,并将结果存档。数据显示,未做此项测试的项目,上线后LiM相关故障平均修复时间是做了测试项目的4.7倍。
5.2 调试工具箱:我的私藏命令与脚本
在真实运维中,光靠肉眼观察远远不够。我开发并开源了一套轻量级调试工具(github.com/ai-architect/liM-debug),核心是三个命令:
liM-probe:自动化位置敏感性测试。用法:liM-probe --model gpt-4-turbo --query "合同总金额是多少?" --document contract.pdf --needle "人民币壹亿贰仟万元整" --positions "0.05,0.5,0.95"。它会自动生成三个提示词(needle在5%/50%/95%位置),批量调用API,输出U型曲线图和统计报告。这是我们每日CI/CD流水线的必过环节。liM-compress:智能上下文压缩器。用法:liM-compress --input context.txt --strategy semantic-distill --target-length 2048。它集成了我们验证过的语义蒸馏模型和结构化剥离规则,输出压缩后文本及保留率报告。liM-rank:本地reranker模拟器。用法:liM-rank --retriever-output results.json --query "该设备保修期多久?" --model bge-reranker-base。它能在离线环境快速验证reranker效果,避免反复调用付费API。
这些工具不是黑盒,所有模型权重和规则都开放可审计。在某次客户现场演示中,客户技术总监当场用liM-probe测试了他们自研的RAG系统,15分钟内就确认了LiM是其准确率瓶颈,当天就签下了我们的优化服务合同。工具的价值,不在于多炫酷,而在于把抽象问题转化为可测量、可追踪、可解决的具体动作。
5.3 经验之谈:那些没人告诉你的“潜规则”
“开头”不等于“第一行”:模型对“开头”的感知有缓冲区。实测显示,将关键信息放在提示词第1-3行效果最佳,第4行开始衰减。因此,
【核心锚点】必须紧贴第一行,前面不能有任何空行或注释。“结尾”要防“尾巴效应”:模型对结尾的关注度极高,但也极易被干扰。我们严禁在结尾确认区(Section 3.1的二级强化)之后添加任何说明性文字(如“以上信息供参考”)。曾因多加了一句“如有疑问请咨询客服”,导致模型将“客服”误判为关键实体,生成了大量无关回复。
法律/医疗文本的“双盲区”:这类文本存在双重LiM:一是位置盲区,二是术语盲区。例如,“不可抗力”在法律文本中是高频词,但模型可能因过度关注而忽略其修饰语“由政府行为引起的”。我们的对策是:对关键法律术语,强制在锚点中附带完整定义,如
【核心锚点】不可抗力:指不能预见、不能避免并不能克服的客观情况,包括但不限于地震、洪水、战争、政府行为(见《民法典》第180条)。不要迷信“最新模型”:我们对比了GPT-4-Turbo、Claude 3.5 Sonnet、Qwen2-72B在LiM测试中的表现,发现它们的U型曲线形态高度一致,只是拐点位置略有偏移(新模型拐点略向中间移动约5%)。这印证了LiM是架构级问题,非版本迭代可根治。把预算花在Context Engineering上,远比追逐新模型更明智。
人机协作的“信任阈值”:在高风险场景,我们设定AI输出的“信任阈值”。例如,法律意见中,若模型对关键条款的置信度分数<0.92,系统自动标记为“需人工复核”,并高亮显示其推理路径。这比单纯追求100%准确率更务实——毕竟,人类律师也会犯错,但人类知道何时该求助。
我个人在实际操作中的体会是:“迷失在中间”不是AI的缺陷,而是我们对AI认知方式的缺陷。我们总想把它当作一个完美复刻人类记忆的容器,却忘了它本质是一台用数学优化出来的、极度高效的模式匹配引擎。接受这个前提,所有的工程技巧——位置工程、reranking、agentic loop——就不再是补丁,而是与AI共生的优雅语法。最后再分享一个小技巧:在每次设计新RAG系统时,我都会先问自己一个问题:“如果这个AI是我的实习生,我会怎么给他布置任务?” 答案永远是:“把最重要的三件事写在便签纸上,贴在他显示器最显眼的位置,再把最关键的参考资料放在他手边。” 这,就是最朴素的Context Engineering。
