Ragent 会话记忆最近 N 轮 持久化摘要如何平衡 Token 成本与上下文【免费下载链接】ragent企业级 Agentic RAG 智能体 - 全链路覆盖文档解析、多路检索、意图识别、问题重写、会话记忆、MCP 工具调用与深度思考。面向真实业务场景从 0 到 1 完整工程实现。项目地址: https://gitcode.com/gh_mirrors/ragent1/ragentRagent 是一款企业级 Agentic RAG 智能体其会话记忆模块通过「裁剪 摘要」两道水位门在保证多轮对话上下文完整的前提下把 Token 成本牢牢压在可控范围内。本文将带你快速看懂它的上下文裁剪、持久化摘要与长期记忆注入是怎么工作的。为什么多轮对话的上下文会失控在 Agent 场景里每一轮对话往往不只是一问一答还可能包含多轮工具调用。一次知识库检索返回的原文可能有几万字符这些工具结果是上下文膨胀的头号元凶也是 Token 成本的大头。如果无脑保留全部历史会遇到两个问题成本问题每轮推理都要把历史原文完整发给模型字符越多账单越贵窗口问题上下文逼近模型窗口上限时要么报错要么被粗暴截断丢失关键信息。Ragent 的解法是用字符数作为 Token 的粗代理来统一度量AgentContextChars.java并在每轮推理前按水位自动瘦身让最近 N 轮的原文始终在场、远期内容压缩成摘要。核心预算一个配置项统管全局会话上下文工程的所有阈值都从一个配置派生agent.memory.contextWindowChars默认1,200,000 字符。它的注释写得很直白——换模型只需要动这一个数。注意它不是模型标称窗口填充时需要先扣掉人设、工具 schema、输出预留等固定开销AgentMemoryProperties.java。两道门按固定比例派生水位比例动作裁剪门50%只把过老的工具结果换成占位符压缩门80%裁剪顶不住才用模型做摘要压缩保留段20%压缩切点之后至少保留的原文量 80% 而非 100% 才动手是刻意留了两成余量给压缩过程中那次模型调用自己。第一道门50% 水位裁剪老工具结果裁剪器 AgentContextTrimmer.java 的策略非常克制几乎零成本只动白名单工具默认只有search_knowledge这类可回收工具的结果会被处理对话原文一律不碰保留最近循环最近 2 个已完成工具循环 本轮正在进行的循环额外受保护不参与裁剪替换为占位符老结果被换成[历史工具结果已省略原长 X 字符原入参 Y]模型依然知道当时问了什么不划算就放弃可回收字符不足当前上下文的 20%整次跳过永不产生孤儿块只替换 tool_result、不动 tool_use避免被供应商判 400。裁剪不改消息条数、不发网络请求异常时直接退回原列表对对话零打扰AgentContextCompactionMiddleware.java。第二道门80% 水位持久化摘要压缩当上下文超过 80% 水位、且末条消息是用户消息工具循环已闭合时压缩器 AgentContextCompactor.java 才出场。它把早期原文换成一条摘要消息要点如下安全切点从尾部保留够 20% 原文后切点只落在最近的用户轮起点绝不在工具调用中间下刀值得才压切点前的可替换素材要超过总量一半否则放弃迭代式摘要新一代摘要以旧摘要为底稿增量更新避免信息逐代衰减结构化校验摘要必须具备分节结构至少 3 个##小节超长时按小节边界截断长度夹逼摘要正文上限 0.1 × 预算并夹在 [1500, 6000] 字符之间防止摘要本身变成新包袱防注入素材用带一次性 nonce 的围栏包裹原文里出现的围栏标记会被中和用户诉求一节原样搬运不被改写AgentConversationSummarizer.java每代留档每次压缩都会写入压缩审计表记录代次、压缩前后字符数运维可回溯落库失败只报警不回滚压缩本身。压缩含同步模型调用因此切到独立线程池执行不占用推理线程任何一步失败生成失败、结构不合格、保留段有孤儿工具结果都整体放弃并退回裁剪层上下文原封不动。跨越会话长期记忆注入除了会话内的最近 N 轮 摘要Ragent 还有一层跨会话的长期记忆后台抽取每轮结束后异步检查待处理用户消息满 3 条才值得叫一次模型抽取事实避免为两三句话浪费调用容量夹逼记忆注入块上限 0.005 × 预算同样夹在 [1500, 6000] 字符顶到上限时先尝试受限合并压不动才容量淘汰注入位置讲究记忆块插在人设之后、会话首条消息之前且与压缩摘要一样用 USER 角色承载——这个位置错位都会破坏压缩中间件的引用比对或被供应商拒绝AgentUserMemoryMiddleware.java。长期记忆的注入块不走上下文预算这笔账配置contextWindowChars时也要一并扣掉。运维出口与调优建议配置项作用适用场景agent.memory.summary-enabled关掉即只留裁剪层摘要模型不可用时的降级出口agent.memory.long-term-enabled关掉即停抽取与注入需要停用跨会话记忆时agent.memory.evictable-tools允许裁剪的工具白名单工具结果普遍很大时扩大范围️新手上手建议先只调contextWindowChars这一个数观察裁剪/压缩触发频率日志与审计表都有完整记录如果工具结果特别大优先确认它是否在evictable-tools白名单里多数成本问题在第一道门就能解决链路追踪与上下文裁剪复用同一套字符口径后台 Trace 面板里的数字可直接和压缩审计比对。小结Ragent 的会话记忆不追求记住一切而是分层取舍最近 2 个工具循环的原文必须保真远期工具结果先降级为占位符再老的对话浓缩为结构化摘要跨会话事实沉淀为长期记忆。三道防线全部围绕一个字符预算配置展开让 Token 成本、上下文完整性和工程可运维性之间取得了干净的平衡。【免费下载链接】ragent企业级 Agentic RAG 智能体 - 全链路覆盖文档解析、多路检索、意图识别、问题重写、会话记忆、MCP 工具调用与深度思考。面向真实业务场景从 0 到 1 完整工程实现。项目地址: https://gitcode.com/gh_mirrors/ragent1/ragent创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
企业数字化 ERP 产品动态
相关推荐
Python自动化运维用什么编程语言 今天小编准备向大家分享一篇关于自动化运维过程中应该采用哪些编程语言的文章。对于运维工作方面,大家通常会比较熟悉这一点, 所以在通常情况下都会使用现有的常规方案去处理相关事务。不过我们需要弄清楚的问题是, 是否还有其他系统能够在极短的时间内高效地完成这些既定任务。… · 2026/9/25 19:33:16
026_功率检测耦合器的方向性误差 026、功率检测耦合器的方向性误差
那个让我在凌晨三点重新焊屏蔽罩的耦合器
几年前做一个双向功率监测模块,发射链路和天线之间串了一个微带定向耦合器,用来采集正向功率和反向功率。样机在实验室台面上测得好好的,驻波比读数跟台式功率计对得上,误差不超过0.3dB。小批量… · 2026/9/25 19:33:04
APK改造的底层原理:Morphe Patches字节码补丁完全教程(dexlib2+smali) APK改造的底层原理:Morphe Patches字节码补丁完全教程(dexlib2smali) 【免费下载链接】morphe-patches Morphe Patches 项目地址: https://gitcode.com/gh_mirrors/mo/morphe-patches
Morphe Patches 是一个专业的 APK 改造 开源项目&… · 2026/9/25 19:33:04
Atlas 300V 24G推理加速卡部署YOLO模型全攻略 1. 先说清楚:Atlas 300V 24G到底算不算“运算加速卡”1.1 这个争议是怎么来的先说说那个热搜词:“atlas 300v 24g 是运算加速卡吗”。我猜会搜这个问题的人,多半是在服务器选型或者边缘设备改造时遇到了两个方向的建议。有人说它能做AI加速&a… · 2026/9/25 20:10:01
【装备篇01】基于BP神经网络的雷达干扰系统综合效能评估模型 目录
一、应用场景:电子战雷达干扰装备效能评估
二、指标体系设计
三、案例描述
四、关键代码与解析
4.1 数据定义
4.2 网络结构与初始化
4.3 核心训练循环(带详细注释)
4.4 预测与评估
4.5 训练损失曲线
五、典型运行结果
六、国… · 2026/9/25 20:10:01
MindSpore大模型训练评估体系搭建与性能优化实战指南 做了一年多大模型训练的调优,我的结论是:评估体系不是为了“证明模型没问题”,而是为了“告诉你怎么改”。这篇文章就围绕 MindSpore 环境下做大模型训练时最绕不开的两个话题——评估体系和性能优化——把我在 70B 级模型、多卡集群上踩过的… · 2026/9/25 20:10:01
I2C总线3.4MHz高速模式实测:USB转I2C+Excel扫描从机与排查指南 如果你的I2C总线也要跑3.4MHz高速模式,建议先把这篇看完。上周刚做完一轮3400KHz速率的总线扫描测试,项目代号就叫“USB TO I2C_(Excel)_Scan ---- 3400KHz总线速率测试_A”。简单说,就是用USB转I2C适配器当主机,电脑端用Excel脚本… · 2026/9/25 20:09:54
按钮颜色看着舒服却不一定清楚,做一个对比度检查工具 设计稿中的颜色在大屏上看着柔和,换到强光环境或小字号时可能已经无法清楚阅读。
实现重点落在颜色强度、预览焦点、深浅模式、对比结果和通过等级,而不是继续增加装饰组件。让前景色、背景色、字号和对比结果共同驱动预览,并给出明确等级。
… · 2026/9/25 20:09:29
Butterbase Durable Objects 深度解析:用有状态 Actor 构建聊天室与长时运行 Agent Butterbase Durable Objects 深度解析:用有状态 Actor 构建聊天室与长时运行 Agent 【免费下载链接】butterbase-oss Open-source backend-as-a-service. Postgres, auth, storage, functions, AI gateway, MCP. 项目地址: https://gitcode.com/gh_mirrors/bu/but… · 2026/9/25 20:09:22
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:37