大模型Agent架构设计:上下文压缩5大实战方案,助你轻松应对长文本处理挑战

本文详细介绍大模型Agent架构中的上下文压缩技术,分析了上下文压缩的必要性及5种实用方案。包括三种无损压缩方法(省略重复参数、延迟展示长文、分段读取)和两种有损压缩方法(就地压缩、LLM+Prompt压缩)。文章强调应根据实际需求选择合适的压缩策略,优先考虑无损方案,确保Agent在有限上下文窗口下高效稳定运行。


从本文开始,我将陆续介绍关于Agent架构设计的一系列实践。不只是代码以及技术设计层面的实战,还有更高层面的抽象总结。有兴趣的读者可以实操后拿去做面试题或者面试答案。以我多次面试别人以及被面试的经验来看,如果系统掌握这些实践,拿个大厂P7(或对应)职级应该不是问题。Boss直聘、脉脉上大量关于Agent开发的职位,例如:Agent开发工程师、AI工程开发、大模型应用平台开发等。

当然,我个人也不提倡因为需要面试而“背”答案,只背答案而不去实操,面试的时候也容易漏洞百出。

本系列实践主要用于构建完全自主规划的Agent,类似Manus,而非基于workflow的Agent,至于二者区别,本系列实践中也将有专门论述。

本系列实践的相关内容

  1. 架构选项讨论,自主型的Agent vs. Workflow型的Agent;
  2. 架构详细设计,从多智能体到智能体工具交互协议;
  3. 上下文工程,上下文压缩的几种方案(本文);
  4. 上下文工程,Agent运行过程中错误处理的几种方案;
  5. 其他主题,如有兴趣,可以评论区或私信交流。

ps. 欢迎订阅本公众号,以便于接收后续更新.


上下文压缩的几种方案

  1. 为什么要做上下文压缩?

在上下文工程中,为什么要做压缩,这个问题的答案很明显:

  1. 大模型的上下文窗口有限,虽然近来新模型(Gemini 3 pro/kimi k2/minimax m2等)上来就是百万token,但是依然无法承载几百轮Agent Loop上下文的叠加,对于几万页的pdf更是无法处理;
  2. 假设,大模型的上下文窗口是无限的,根据注意力机制,上下文变长后,注意力将“涣散”,无法准确理解任务意图。在《上下文腐败:逐步增长的Tokens如何影响LLM的性能》(https://research.trychroma.com/context-rot)一文中,作者通过实验证明长下文会使LLM的性能严重衰减。

因而,要让Agent稳定可靠地运行下去,必须对上下文进行压缩。本文仅讨论5种工程方案。当然除了工程方案也有算法方案,不过算法方案对大部分人来说门槛过高。因而本文不做介绍。

  1. 上下文压缩的方案

上下文压缩方案从是否有损的角度看,分为有损以及无损两种。先来看一段原始上下文:

<操作> <第0轮> <执行ID>op00000</执行ID> <执行函数>create_todo_list</执行函数> <参数> { id: "todo001", "steps": [ "搜索最新的人工智能发展趋势", "整理搜索结果", "撰写总结报告" ] } </参数> <执行结果> { "status": "success", "message": "待办事项列表已创建,ID为 todo001" "steps": [ "搜索最新的人工智能发展趋势", "整理搜索结果", "撰写总结报告" ] } </执行结果> </第0轮> <第1轮> <执行ID>op12345</执行ID> <执行函数>search_with_google</执行函数> <参数> { "query": "最新的人工智能发展趋势", "num_results": 5 } </参数> <执行结果> { "results": [ { "title": "2024年人工智能发展趋势分析", "link": "https://example.com/ai-trends-2024", "snippet": "本文详细分析了2024年人工智能的发展趋势,包括生成式AI、AI伦理和可解释性等方面。" }, { "title": "人工智能的未来:2024及以后的展望", "link": "https://example.com/future-of-ai-2024", "snippet": "探讨了人工智能在各个行业中的应用前景以及未来的发展方向。" }, { "title": "2024年人工智能技术的十大趋势", "link": "https://example.com/top-ai-trends-2024", "snippet": "列出了2024年最重要的人工智能技术趋势,包括自动化、机器学习和深度学习的最新进展。" }, { "title": "人工智能在医疗领域的最新进展", "link": "https://example.com/ai-in-healthcare-2024", "snippet": "介绍了人工智能在医疗诊断、治疗和患者管理中的最新应用和发展。" }, { "title": "生成式AI的崛起及其影响", "link": "https://example.com/rise-of-generative-ai-2024", "snippet": "分析了生成式AI技术的发展及其在内容创作、设计和娱乐领域的影响。" } ] } </执行结果> </第1轮> <第2轮> <执行ID>op67890</执行ID> <执行函数>file_reader</执行函数> <参数> { "file_path": "ai_trends_summary.txt" } </参数> <执行结果> { "content": "2024年人工智能发展趋势总结:\n 1. 生成式AI技术的快速发展,推动内容创作和设计领域的创新。\n 2. AI伦理和可解释性成为关注焦点,推动行业规范和政策制定。\n 3. 人工智能在医疗、金融等关键行业的应用不断深化,提高效率和服务质量。\n 4. 自动化和机器学习技术的进步,促进各行业的数字化转型。 \n 5. 多模态AI的发展,使得AI系统能够处理和理解多种类型的数据,提高交互体验。 \n 6. 边缘AI的兴起,推动实时数据处理和智能设备的发展。" } </执行结果> </第2轮> </操作>

以上内容约4000个token。

我们来逐步分析以上内容如何压缩。首先,我们观察到第0轮:create\_todo\_list出入参有相同之处,可以省略。

2.1 无损压缩方案1:当出入参部分一致时,可以省略部分出参

create_todo_list,可以压缩为:

<第0轮> <执行ID>op00000</执行ID> <执行函数>create_todo_list</执行函数> <参数> { "id": "todo001", "steps": [ "搜索最新的人工智能发展趋势", "整理搜索结果", "撰写总结报告" ] } </参数> <执行结果> { "message": "待办事项列表已创建,ID为 todo001" } </执行结果> </第0轮>

对于todo list、plan相关的函数,可以使用类似压缩策略。

出入参压缩完成后,我们看search\_with\_google的压缩方案。这类长文的压缩方案,我们可以在第n+3轮调用时,进行省略,通过给LLM提供一个长文查阅的工具,以备不时之需。

2.2 无损压缩方案2:长文在第n+3轮调用时,进行省略

例如,在第1轮时,调用了search\_with\_google方法,在第4轮Agent Loop时,其相关上下文会被省略为:

<第1轮> <执行ID>op12345</执行ID> <执行函数>search_with_google</执行函数> <参数> { "query": "最新的人工智能发展趋势", "num_results": 5 } </参数> <执行结果> 执行结果被省略,如需要,请使用view_return_value(execution_id)查看结果 </执行结果> </第1轮>

这种方法,适用于search、file_reader等长文执行结果方法。

在长文压缩后,我们再看file_reader如何压缩与优化。file_reader主要作用是从文档中读取内容,使其对LLM可见,可是,一旦文档内容过长,上下文里面就“爆掉”,对此,我们的压缩方案是:分段读取,或就地压缩。

2.3 无损压缩方案3:长文分段读取

所谓长文分段读取,就是在file_reader中要求,读取必须提供begin_line,end_line序号,且要求一次最多不许超过n行,如下(注意参数部分):

<第2轮> <执行ID>op67890</执行ID> <执行函数>file_reader</执行函数> <参数> { "file_path": "ai_trends_summary.txt" "begin_line": 0 "end_line":5 "max_range":10 } </参数> <执行结果> { "content": "2024年人工智能发展趋势总结:\n 1. 生成式AI技术的快速发展,推动内容创作和设计领域的创新。\n 2. AI伦理和可解释性成为关注焦点,推动行业规范和政策制定。\n 3. 人工智能在医疗、金融等关键行业的应用不断深化,提高效率和服务质量。\n 4. 自动化和机器学习技术的进步,促进各行业的数字化转型。 \n 5. 多模态AI的发展,使得AI系统能够处理和理解多种类型的数据,提高交互体验。 \n 6. 边缘AI的兴起,推动实时数据处理和智能设备的发展。" } </执行结果> </第2轮>

注意,这种方法,只能让文本被正常读取,但不能彻底解决长文问题,甚至还可能引发多次读取的副作用。如果要彻底解决该问题,需要进行有损就地压缩。

2.4 有损压缩方案1:就地压缩长文

所谓就地压缩,就是不读取内容,而是直接让LLM尝试回答文章的问题。我们把file_reader换成ask_document:

<第2轮> <执行ID>op678900</执行ID> <执行函数>ask_document</执行函数> <参数> { "file_path": "ai_trends_summary.txt" "question": "提取文章的核心内容,不超过20字" } </参数> <执行结果> { "content": "2024年人工智能发展趋势总结:内容创新、边缘AI等" } </执行结果> </第2轮>

注意,这里只是提取了核心内容,更多文章细节可能丢失,因而称为“有损压缩”。

最后,我们讨论一种方法,堪称压缩的“大招”。就是做完以上压缩方案后,内容依然超长。此时就需要使用有损压缩的终极方案。

2.5 有损压缩的终极方案:通过LLM + 压缩口令Prompt进行压缩

方案分两步走:

  1. 检测Agent Loop上下文窗口,超过一定数量以后启动压缩,例如超过60000 token后,开始压缩;
  2. 将Agent Loop的上下文,以及压缩口令Prompt交给LLM启动压缩,压缩口令Prompt如下:
请将以下操作记录进行压缩,保留所有轮次(包括第0轮、第2-4轮)的关键信息, 如执行ID、执行函数、参数和执行结果的核心内容,但简化描述以减少冗余。 压缩后的输出应保持原始的XML格式结构, 包括使用相同的标签(如<操作>、<第X轮>、<执行ID>等), 并确保内容简洁明了。

使用这段口令,对原始上下文压缩后的结果为(from deepseek网页版):

<操作> <第0轮> <执行ID>op00000</执行ID> <执行函数>create_todo_list</执行函数> <参数>{"id": "todo001", "steps": ["搜索最新的人工智能发展趋势", "整理搜索结果", "撰写总结报告"]}</参数> <执行结果>{"status": "success", "message": "待办事项列表已创建"}</执行结果> </第0轮> <第1轮> <执行ID>op12345</执行ID> <执行函数>search_with_google</执行函数> <参数>{"query": "最新的人工智能发展趋势", "num_results": 5}</参数> <执行结果>{"results": [{"title": "2024年人工智能发展趋势分析"}, {"title": "人工智能的未来:2024及以后的展望"}, {"title": "2024年人工智能技术的十大趋势"}]}</执行结果> </第1轮> <第2轮> <执行ID>op67890</执行ID> <执行函数>file_reader</执行函数> <参数>{"file_path": "ai_trends_summary.txt"}</参数> <执行结果>{"content": "2024年AI趋势总结:生成式AI、AI伦理、医疗应用、自动化、多模态AI、边缘AI等关键发展。"}</执行结果> </第2轮> </操作>

只有1200 token,但是我们看到部分内容也丢失了。所以使用有损压缩,要充分考虑损失是否影响最终结果。


总结

本文讨论了在Agent架构设计中,具有代表性的5种上下文压缩方案,及其应用场景。在实践中,优先考虑使用无损压缩,再考虑有损压缩。

如何系统的学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

一直在更新,更多的大模型学习和面试资料已经上传带到CSDN的官方了,有需要的朋友可以扫描下方二维码免费领取【保证100%免费】👇👇

01.大模型风口已至:月薪30K+的AI岗正在批量诞生

2025年大模型应用呈现爆发式增长,根据工信部最新数据:

国内大模型相关岗位缺口达47万

初级工程师平均薪资28K(数据来源:BOSS直聘报告)

70%企业存在"能用模型不会调优"的痛点

真实案例:某二本机械专业学员,通过4个月系统学习,成功拿到某AI医疗公司大模型优化岗offer,薪资直接翻3倍!

02.大模型 AI 学习和面试资料

1️⃣ 提示词工程:把ChatGPT从玩具变成生产工具
2️⃣ RAG系统:让大模型精准输出行业知识
3️⃣ 智能体开发:用AutoGPT打造24小时数字员工

📦熬了三个大夜整理的《AI进化工具包》送你:
✔️ 大厂内部LLM落地手册(含58个真实案例)
✔️ 提示词设计模板库(覆盖12大应用场景)
✔️ 私藏学习路径图(0基础到项目实战仅需90天)





第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

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

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

相关文章

大模型RAG技术全解析:从原理到实践的完整指南

RAG是一种将大语言模型与外部知识库结合的生成式AI架构&#xff0c;通过检索相关文档片段提升回答准确性和时效性。文章介绍了RAG的核心组件(检索器和生成器)、发展历程、关键技术(稀疏检索如BM25和向量检索如FAISS)&#xff0c;以及向量数据库的应用。RAG解决了大模型的知识封…

美业小程序制作流程,美容院预约小程序怎么制作 - 码云数智

对美业商家来说,小程序绝非单纯的线上预约或营销工具,更是撬动数字化转型、强化核心竞争力的关键抓手。借助SaaS小程序搭建平台,无需投入高额成本、无需配备专业技术团队,就能快速打造功能完备、体验优质的美业专属…

为什么你的通用大模型没效果?程序员如何构建真正赋能工作的私域大模型

黄翰教授指出通用大模型赋能效果有限&#xff0c;因数据质量不佳和推理逻辑不稳定&#xff0c;可能编造虚假信息。未来趋势是从通用向垂直大模型过渡&#xff0c;而真正能赋能工作的是私域大模型。构建私域大模型需选择精简底座&#xff0c;结合领域知识库预训练&#xff0c;再…

全网最全8个AI论文写作软件,研究生高效写论文必备!

全网最全8个AI论文写作软件&#xff0c;研究生高效写论文必备&#xff01; 论文写作的“隐形助手”&#xff1a;AI 工具如何改变研究生的学术生活 在当今信息爆炸的时代&#xff0c;研究生们面临着前所未有的学术压力。从选题到开题&#xff0c;从撰写初稿到反复修改&#xff0…

2026年靠谱的防爆打印贴标机,标签打印贴标机,打印贴标机厂家选型决策指南 - 品牌鉴赏师

2026年靠谱的防爆打印贴标机,标签打印贴标机,打印贴标机厂家选型决策指南 引言在当今制造业和物流行业快速发展的背景下,打印贴标机的市场需求日益增长。一台性能优良的打印贴标机不仅能提高生产效率,还能确保产品…

2026年GEO源码下载源头优选,无后门安全渠道 - 源码云科技

2026年GEO源码下载源头优选,无后门安全渠道2026年AI搜索风口全面爆发,GEO优化已然成为企业引流获客的核心抓手,而选对GEO优化源码及源头渠道,直接决定了后续GEO优化推广的效果与安全。不少渠道商和创业者在找GEO优…

PLC物料分拣系统设计(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码

PLC物料分拣系统设计(设计源文件万字报告讲解)&#xff08;支持资料、图片参考_相关定制&#xff09;_文章底部可以扫码 博途程序编写&#xff0c;内容完整&#xff0c;代码规范

瑜伽课程预约小程序怎么做,瑜伽馆小程序搭建指南 - 码云数智

瑜伽馆小程序搭建指南:搭配会员管理系统的课程预约工具,精准破解用户预约耗时、课时核对繁琐等难题,同时助力场馆实现课程排期、会员档案、营收数据的全流程数字化管控。借助SaaS小程序平台,无需专业技术团队,即可…

docker后台运行node镜像 - jerry

最小、标准的 docker run 命令。✅ 最简单正确写法(推荐) docker run -d \--name node20 \-v $(pwd):/app \-w /app \node:20-alpine \tail -f /dev/null说明(关键点)-d:后台运行-v $(pwd):/app:映射当前目录-w …

2026年优秀的品类创新咨询,增长战略咨询,品牌战略咨询公司选购推荐手册 - 品牌鉴赏师

引言在 2026 年的商业市场中,品类创新咨询、增长战略咨询以及品牌战略咨询对于企业的发展愈发关键。为了给企业在选择相关咨询公司时提供科学、公正、客观的参考,我们依据一系列权威数据和专业测评方法,精心打造了这…

基于西门子plc 博图 1200 药片自动 装瓶 机控制系统设计(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码

PLC药片装瓶机设计仿真报告全套资料组态王(设计源文件万字报告讲解)&#xff08;支持资料、图片参考_相关定制&#xff09;_文章底部可以扫码 基于西门子plc 博图 1200 药片自动装瓶 机控制系统设计 1.仿真报告&#xff08;1.5W字&#xff09; 2.IO表 3.接线图 4.组态王

第三天|203.移除链表元素 707.设计链表 206.反转链表

第三天|203.移除链表元素 707.设计链表 206.反转链表 203.移除链表元素 203.移除链表元素 | 代码随想录 手把手带你学会操作链表 | LeetCode:203.移除链表元素_哔哩哔哩_bilibili 笔记 如果没有虚拟头节点,删除操作…

基于plc1200PLC的四层电梯(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码

基于plc1200PLC的四层电梯(设计源文件万字报告讲解)&#xff08;支持资料、图片参考_相关定制&#xff09;_文章底部可以扫码 论文资料&#xff0c;西门子S7-1200&#xff0c;博途V15(高版本可兼容)&#xff0c;程序、流程图、内容全。需要直接拍&#xff0c;细节私聊

西门子 1200PLC 污水处理系统仿真程序 |||博途 V|||15 及以上可打开(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码

西门子 1200PLC 污水处理系统仿真程序 |||博途 V|||15 及以上可打开(设计源文件万字报告讲解)&#xff08;支持资料、图片参考_相关定制&#xff09;_文章底部可以扫码 本商品是西门子 1200PLC 污水处理系统的设计仿真内容&#xff0c;博途 V15 及以上版本轻松打开。无需连接真…

瑜伽馆小程序制作流程,瑜伽馆微信预约系统怎么弄 - 码云数智

低成本搭建瑜伽馆数字化体系:课程预约+会员管理二合一SaaS小程序,既能解决用户线下预约麻烦、课时查询不便的核心痛点,又能帮助场馆打通课程、会员、营收的数字化管理闭环。全程无需技术开发经验,高效搭建、功能齐…

停更三天

嗯,不是摆烂绝对不是,只是这两天要考试了,我也没办法喵;高数,还是挺重要的;本文来自博客园,作者:HexCat,转载请注明原文链接:https://www.cnblogs.com/h3xcat/p/19493907

伪造充电请求免费用电、一次攻击就能让场站直接亏损数万元 - 慧知重卡开源充电桩平台

慧知重卡开源充电桩平台 充电桩防黑客&#xff1a;用OAuth2.0JWT三重防护&#xff0c;守住场站每一分收益 做充电桩场站对接久了就知道&#xff0c;黑客攻击根本不是什么小概率的黑天鹅&#xff0c;就是天天悬在头上的灰犀牛。我们跟几十家场站聊过&#xff0c;黑客的套路…

2025年广州大学程序设计竞赛新生赛

2025年广州大学程序设计竞赛新生赛A 魔法门禁试炼 比较大小,难度一星 #include <iostream> using namespace std; int main() {int a,b,c,d;cin>>a>>b>>c>>d;if(a<d&&b==…

2026优质GEO国际版源码哪家好?跨境适配优选 - 源码云科技

2026优质GEO国际版源码哪家好?跨境适配优选2026年AI营销风口下,GEO优化已然成为企业跨境获客的核心抓手,而优质的GEO优化源码更是决定服务效果与盈利空间的关键。随着AI搜索场景不断拓展,企业对GEO优化系统的全域适…

放假观察记录

放假le 想写点什么,但是又没什么好说的,起码放假了还是挺开心的 先来简单规划一下要补的题吧:新生赛的 \(J\) 和 \(H\) 题 第 \(40\) 次 \(CCF\) \(cacc\) 的 \(T3\) 和 \(T4\) \(cacc\) 的工程题 洛谷上做的一堆杂…