-
Notifications
You must be signed in to change notification settings - Fork 546
Description
Feature Description
Agent 上下文管理优化需求
- 需求背景
当前 Agent 系统在多轮对话场景中存在以下问题:
长对话易超限:无 Token 数量限制,对话轮次增加时可能超出 LLM Context Window,导致报错
历史信息冗余:全部历史发送给 LLM,包含大量不必要内容,增加 Token 消耗
中间过程缺失:思考过程、工具调用结果仅用于展示,不参与后续决策
Managed Agent 隔离:Sub-Agent 与 Manager Agent 上下文完全独立,无法获取必要的对话历史
压缩机制缺失:无自动化的历史压缩或摘要功能
2. 需求目标
稳定性:防止 Context Window 超限导致的运行时错误
效率:减少无效 Token 消耗,降低 API 调用成本
智能:让 Agent 能够选择性利用历史思考过程和工具调用结果
可配置:支持灵活配置,适应不同业务场景
3. 功能需求
3.1 Token 感知的历史管理
需求描述:实现 Token 计数和预算管理功能,在发送上下文给 LLM 前自动评估 Token 数量,超过预算时触发压缩或截断。
预期效果:
系统能够估算发送给 LLM 的 Token 总数
可配置 Token 预算上限(如 16K / 32K / 128K)
超出预算时自动压缩历史,而非报错中断
3.2 智能上下文压缩
需求描述:提供多种压缩策略,系统根据对话长度和 Token 预算自动选择合适的策略。
压缩策略选项:
策略 说明 适用场景
保留最近 N 轮 保留最近 N 轮完整对话,更早的压缩为摘要 对话内容独立性较强
分级摘要 保留最终答案 + 关键决策,压缩中间过程 需要保留重要上下文
关键信息提取 只保留包含决策/结论的消息 对话轮次多但主题相关
预期效果:
系统根据 Token 预算自动选择压缩策略
可配置是否包含思考过程、工具调用结果等中间信息
压缩后仍保留对话的核心信息
3.3 分层历史存储与选择性提取
需求描述:建立分层的历史存储架构,支持按需获取不同粒度的历史信息。
历史信息分级:
层级 内容 用途
原始层 每个 Token、原始日志 存档、分析
步骤层 Agent 执行步骤、中间思考、工具调用 调试、审计
对话层 完整的用户-助手对话轮次 常规对话
摘要层 对话主题、关键结论、用户偏好 长对话上下文
预期效果:
可以选择性地向 LLM 提供不同层级的历史信息
例如:只提供最终答案,或额外包含关键工具调用结果
3.4 Managed Agent 上下文共享
需求描述:让 Manager Agent 能够选择性向 Sub-Agent 传递必要的上下文信息。
共享模式选项:
模式 说明
完全隔离 每个 Agent 独立的上下文(当前状态)
选择性共享 Manager 可配置共享哪些上下文类型
摘要共享 Sub-Agent 获取对话摘要而非完整历史
预期效果:
Sub-Agent 能够获取与当前任务相关的上下文
避免 Sub-Agent 重复询问已在对话中明确的信息
仍保持一定的上下文隔离,避免信息过载
3.5 增量摘要自动化
需求描述:定期自动生成对话摘要,压缩长对话的存储和传输成本。
摘要触发规则:
触发条件 说明
固定轮次 每 N 轮对话后自动生成(可配置,默认 10 轮)
Token 阈值 预估 Token 达到预算的 80% 时触发
手动触发 用户主动要求生成摘要
摘要内容:
对话主题
关键结论/要点
未解决问题
用户意图
涉及的用户偏好
预期效果:
长对话自动压缩,减少存储和传输成本
摘要可被用于快速回顾对话内容
支持后续基于摘要的对话续接
4. 配置需求
支持按以下维度配置上下文管理策略:
配置维度 说明 示例
Agent 级别 不同 Agent 类型可使用不同策略 问答 Agent / 任务 Agent
租户级别 不同租户可配置不同的默认值 企业用户 / 个人用户
会话级别 用户可在单次对话中调整 临时需要更详细的上下文
配置项示例:
Token 预算上限
压缩策略选择
是否包含思考过程
是否包含工具调用结果
摘要生成触发阈值
5. 非功能需求
需求 说明
性能 上下文组装延迟 < 200ms
可观测性 记录上下文压缩日志,便于排查问题
可回滚 压缩后仍保留原始数据,支持查看完整历史
兼容性 不影响现有的对话展示和历史查看功能
6. 成功指标
指标 目标
Context 超限错误率 < 0.1%
Token 消耗降低 长对话场景降低 30%+
用户体验 无明显下降
Proposed Solution
No response
Additional Information
No response
Metadata
Metadata
Assignees
Labels
Type
Projects
Status