【干货收藏】智能体执行一半就终止?大模型上下文窗口超长问题深度解析

文章讨论了大模型应用中智能体因上下文管理不当导致的异常终止问题。作者发现智能体在第二次思考时因上下文窗口超长而正常终止,根本原因是历史记录未做好管理。在Langchain技术体系中,作者提出创建TrimmedInMemorySaver类解决方案,自动过滤思考过程和工具调用结果,只保留对话内容,从而控制上下文长度,防止模型异常终止。


上下文管理是大模型应用稳定性的一个重要环节。

今天在优化智能体的时候发现一个问题,就是智能体第一次思考和工具调用都是正常的,但第二次思考的时候就输出一个think标签就结束了;而且不是因为代码出现异常结束,而是智能体输出了stop结束符。

所以,这个问题就很奇怪,代码都是正常但智能体执行一般就正常结束了;哪怕是出现异常导致结束也没问题,但这种正常结束好像就没那么好排查了。

所以,经过测试发现复现的频率还挺高,之后经过多轮复现之后发现,问题大概率是出现上下文窗口上,上下文超长导致模型正常终止。

而出现这种问题,归根结底就是模型的上下文管理有问题,再准确点说就是模型历史记录没做好。

智能体的历史记录

在Langchain的技术体系中,记忆或者说历史记录有两种实现,一种是基于Memory的大模型记忆功能;另一种是Langgraph中的检查点,利用MemorySaver进行记忆存储。

从记忆的持久性上又分为本地存储和外部存储(如redis)的方式,但不论哪种方式本质上都是把对话内容保存下来,供后续拼接到上下文中。

而作者这次bug出现的原因就在于记忆没有管理好;导致上下文超长,最后模型结束。

多说一句,上下文管理是模型应用中的重要环节,原因在于任何模型都会有上下文窗口限制,并且不同的模型上下文窗口大小不同;并且,其理论窗口大小并不是最优窗口大小。

举例来说,现在最新的模型上下文长度能达到128K,但其最优长度可能只有100K或者更少。

所以,怎么管理模型上下文?

模型上下文一般由以下几个部分组成:

  • 用户问题
  • 历史记录
  • 参考内容
  • 系统提示词prompt

而其中系统提示词的长度基本上是固定的,用户问题的长度也有限;因此,上下文超长的主要原因基本上集中在历史记录和参考内容上。

其中历史记录会根据存储的数据和对话次数的增大而不断增长;参考文档也因为不同的文档切分和拼装方式,导致其长度不固定。

所以,一般情况下会对历史对话的轮数,以及参考文档的数量进行限制;防止上下文超长。

但在Langgraph中,哪些东西有可能被存到历史记录中?

事实上在系统中,那些内容被存到历史记录中这个是完全可以由开发人员控制的;但在langgraph中已经实现的记忆存储中,会把messges中的所有数据都存到记录记录中。

但这在某些场景下是有问题的,或者说在大部分场景下都是有问题的;比如说,具备思考模式的模型,以及工具调用的结果,其实这些内容是不需要被存储到历史记录中的;这玩意就像在开会时,做会议纪要,只需要把每个人说的内容记下来就行,而没必要把别人怎么想的也记下来。

因此,这时就需要在记忆模块把思考过程和工具返回的结果给过滤掉,最终只记录对话过程中的问题和回答。

class TrimmedInMemorySaver(InMemorySaver): """带自动裁剪功能的 InMemorySaver(LangGraph v0.2+ 兼容)""" def __init__(self, max_tokens=3000, strategy="last", *args, **kwargs): super().__init__(*args, **kwargs) self.max_tokens = max_tokens self.strategy = strategy def put( self, config: RunnableConfig, checkpoint: Checkpoint, metadata: CheckpointMetadata, new_versions: ChannelVersions, ) -> RunnableConfig: thread_id = config.get("configurable", {}).get("thread_id") if not thread_id: return super().put(config, checkpoint, metadata, new_versions) # 尝试从 checkpoint 中提取 messages(根据你项目 checkpoint 结构调整) messages = None if isinstance(checkpoint, dict) and "channel_values" in checkpoint: messages = checkpoint["channel_values"].get("messages") elif isinstance(checkpoint, dict) and "messages" in checkpoint: messages = checkpoint["messages"] logger.info(f"InMemorySaver中的messages: {messages}") # logger.info(f"InMemorySaver中的messages过滤之后的messages: {messages}") """ list 类型 BaseMessage messages.type """ if messages: fliter_messages = [ message for message in messages if not isinstance(message, ToolMessage) ] logger.info(f"记忆去除toolmessage: {fliter_messages}") # 关键:传入 token_counter(这里用近似计数器) trimmed_messages = trim_messages( fliter_messages, max_tokens=self.max_tokens, strategy=self.strategy, token_counter=count_tokens_approximately, # 可选:保证以 human 开始并以 human/tool 结束以确保消息序列有效 # start_on="human", # end_on=("human", "tool"), include_system=True, ) logger.info(f"trimmed_messages之后 记忆去除think标签和toolmessage: {trimmed_messages}") # 写回裁剪后的 messages(视 checkpoint 具体结构) if "channel_values" in checkpoint: checkpoint["channel_values"]["messages"] = trimmed_messages else: checkpoint["messages"] = trimmed_messages # 继续调用父类的 put 执行真正保存 return super().put(config, checkpoint, metadata, new_versions)

这样,一是可以大大减少思考过程和工具调用结果对模型的干扰,其次是可以控制历史记录的长度,防止上下文超长带来问题。

通过这样的方式,就可以避免模型上下文超长问题,但同样也会导致部分记忆丢失;这时只能要想尽可能的保存记忆,那就只能对记忆进行压缩。

但不论怎么样,只要上下文窗口限制还在,那么就永远无法避免记忆丢失的问题。

AI时代,未来的就业机会在哪里?

答案就藏在大模型的浪潮里。从ChatGPT、DeepSeek等日常工具,到自然语言处理、计算机视觉、多模态等核心领域,技术普惠化、应用垂直化与生态开源化正催生Prompt工程师、自然语言处理、计算机视觉工程师、大模型算法工程师、AI应用产品经理等AI岗位。

掌握大模型技能,就是把握高薪未来。

那么,普通人如何抓住大模型风口?

AI技术的普及对个人能力提出了新的要求,在AI时代,持续学习和适应新技术变得尤为重要。无论是企业还是个人,都需要不断更新知识体系,提升与AI协作的能力,以适应不断变化的工作环境。

因此,这里给大家整理了一份《2026最新大模型全套学习资源》,包括2026最新大模型学习路线、大模型书籍、视频教程、项目实战、最新行业报告、面试题、AI产品经理入门到精通等,带你从零基础入门到精通,快速掌握大模型技术!

由于篇幅有限,有需要的小伙伴可以扫码获取!

1. 成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。

2. 大模型经典PDF书籍

书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础(书籍含电子版PDF)

3. 大模型视频教程

对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识

4. 大模型项目实战

学以致用,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。

5. 大模型行业报告

行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

6. 大模型面试题

面试不仅是技术的较量,更需要充分的准备。

在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

为什么大家都在学AI大模型?

随着AI技术的发展,企业对人才的需求从“单一技术”转向 “AI+行业”双背景。企业对人才的需求从“单一技术”转向 “AI+行业”双背景。金融+AI、制造+AI、医疗+AI等跨界岗位薪资涨幅达30%-50%。

同时很多人面临优化裁员,近期科技巨头英特尔裁员2万人,传统岗位不断缩减,因此转行AI势在必行!

这些资料有用吗?

这份资料由我们和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理,现任上海殷泊信息科技CEO,其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证,服务航天科工、国家电网等1000+企业,以第一作者在IEEE Transactions发表论文50+篇,获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。

资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的技术人员,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。


大模型全套学习资料已整理打包,有需要的小伙伴可以微信扫描下方CSDN官方认证二维码,免费领取【保证100%免费】

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

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

相关文章

梁文锋署名新论文,DeepSeek V4架构首曝?直击Transformer致命缺陷

深夜,梁文锋署名的DeepSeek新论文又来了。这一次,他们提出全新的Engram模块,解决了Transformer的记忆难题,让模型容量不再靠堆参数! 刚刚 ,DeepSeek新论文发布了,梁文锋署名! 这一…

易语言开发从入门到精通:答疑解惑·踩坑避坑·优化提升·常用资源

易语言开发从入门到精通:答疑解惑踩坑避坑优化提升常用资源 🧭🛠️📚 1.25.1 学习目标 🎯 作为《易语言开发从入门到精通》的全书查漏补缺进阶实战辅助章,本章将聚焦前24章读者在实际开发、学习、部署过程中…

【开题答辩全过程】以 山河大学奖学金评定系统为例,包含答辩的问题和答案

个人简介一名14年经验的资深毕设内行人,语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…

【必藏】AI Agent完全指南:从ChatGPT到能思考、会行动的智能体革命

本文深入解析了AI Agent的核心概念,从ChatGPT的局限性出发,阐明AgentLLM行动能力的本质。详细介绍了Agent的三大核心组件:LLM(大脑)、Tools(工具/手脚)和Agent Loop(控制循环)。通过OpenCode实例展示了不同Agent类型及其权限控制机制&#xf…

【开题答辩全过程】以 基于安卓的医疗健康查询系统为例,包含答辩的问题和答案

个人简介一名14年经验的资深毕设内行人,语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…

径流水土流失监测设备

水土流失是生态保护的重要课题,无论是山区流域、矿区复垦区,还是梯田、坡地种植区,精准掌握径流量、含沙量等核心数据,都是开展水土流失治理、评估治理效果的关键前提!传统水土流失监测依赖人工采样、现场测量&#xf…

必藏!一文搞懂Agent开发的三大设计范式:ReAct、Plan Execute与Multi-Agent

本文深入解析了Agent开发的三大设计范式:ReAct将推理与行动交织,适合需实时决策的任务;Plan & Execute先规划后执行,适合步骤明确的复杂任务;Multi-Agent通过多角色协作处理超复杂任务。开发者可根据任务特性选择合…

人工智能究竟是如何思考的

大型语言模型展现出的智能程度是以往软件所无法比拟的。你可以让它解释复杂的主题、改写电子邮件或帮助你理清思路,而它的回答往往听起来冷静、自信且深思熟虑。这自然而然地引出了人们不断追问的问题:人工智能真的在思考吗?大型语言模型展现…

MAC 地址

MAC 地址 —mac地址基础知识总结 一、什么是 MAC 地址? MAC 地址 网卡的“物理身份证” 工作在 数据链路层(OSI 第 2 层)用来在 同一个局域网内唯一标识设备和 IP 不一样,IP 会变,MAC 基本不变二、MAC 地址长什么样&a…

【开题答辩全过程】以 基于web的拍卖系统设计与实现为例,包含答辩的问题和答案

个人简介一名14年经验的资深毕设内行人,语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…

【开题答辩全过程】以 基于Java的校内美食推荐系统的设计与实现为例,包含答辩的问题和答案

个人简介一名14年经验的资深毕设内行人,语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…

鸿蒙应用的安全审计与合规检测实战:智能待办的安全防护

🔒 鸿蒙应用的安全审计与合规检测实战:智能待办的安全防护 一、章节概述 ✅ 学习目标 掌握鸿蒙安全审计工具(DevEco Studio Security Analyzer、AGC Security Center、第三方工具)的核心原理落地《全生态智能待办》的安全审计方案…

攻防演练全流程实战指南:红队突破与蓝队防御核心技巧

攻防演练全流程实战指南:红队突破与蓝队防御核心技巧 攻防演练(又称红蓝对抗)是检验企业网络安全防护能力的核心手段,通过“红队模拟攻击、蓝队防御反击”的实战化对抗,暴露企业安全体系的薄弱环节,提升团…

从“大模型”到“好模型”:斯坦福预测2026年AI将迎来“祛魅”分水岭

2026年,不管是计算机科学界的泰斗,还是医学、法学、经济学领域的专家,他们都在强调同一个主题,那就是从“AI能做什么”转向“AI做得有多好、成本如何以及为了谁而做”。2026年将是人工智能从喧嚣的布道期正式迈入冷静评估期的关键…

木马与经典恶意软件深度解析:查杀技术与免杀对抗实战指南

木马与经典恶意软件深度解析:查杀技术与免杀对抗实战指南 在网络安全的攻防对抗中,木马(Trojan Horse) 是最经典、最具代表性的恶意软件之一。它以 “伪装欺骗” 为核心手段,以 “远程控制、数据窃取” 为主要目的&am…

Java实现Html保存为.mhtml文件

功能需求将html字符串保存为.mhtml文件代码实现pom.xml依赖<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- https://mvnrepository…

3款好玩的台球游戏,玩过的人都说很上头

在移动游戏市场中&#xff0c;台球品类长期被少数热门产品占据流量高地&#xff0c;但许多玩家反馈这些"爆款"存在氪金碾压、广告泛滥、体验割裂等问题。事实上&#xff0c;一些低调运营却用心打磨的台球手游&#xff0c;凭借真实的物理体验、丰富的玩法设计和友好的…

IP 地址解析

“IP 地址解析 / IP 地址详解” —IP地址的基础信息 一、什么是 IP 地址&#xff1f; IP 地址 网络中设备的唯一编号 就像&#xff1a; 手机号 → 找到一个人IP 地址 → 找到一台设备 常见格式&#xff08;IPv4&#xff09;&#xff1a; 192.168.1.100由 **4 个字节&#xff0…

Google DeepMind :RAG 已死,无限上下文是伪命题?RLM 如何用“代码思维”终结 AI 的记忆焦虑

不久前 DeepMind 发布了一篇论文&#xff0c;内容简单说是&#xff1a; RLM&#xff08;Recursive Language Models&#xff09; 不是让模型“硬记”所有内容&#xff0c;而是赋予模型像程序员一样操作数据的能力&#xff0c;让模型在不把超长 prompt 直接塞进 Transformer 的…

AI Agent企业落地避坑指南:7大致命错误,收藏级干货

企业落地AI Agent常面临七大陷阱&#xff1a;需求误判&#xff08;未先优化流程&#xff09;、目标输入不明确、数据处理难题、业务模式局限&#xff08;盲目追求全自动&#xff09;、项目管理缺失、预期与成本误区。AI Agent本质是效率工具&#xff0c;需明确边界&#xff0c;…