SuperAPI AI 工具集

context-compactor

智能体与模型

查看项目

更新于 10-15 10:01

技能介绍

用途

Context Compactor 用于长会话场景下的自动上下文摘要与压缩。当上下文接近 token 上限时,它会对上下文进行压缩,同时保留关键信息,避免因上下文溢出而丢失重要内容。

主要能力

  • 判断是否需要压缩:通过 should_compact(context, limit=100000) 检查上下文是否接近限制。
  • 执行压缩:通过 compact(context) 对上下文进行压缩。
  • 保留优先级策略:
    • 必须保留(永不删除):架构决策、未解决的 bug 与阻塞项、当前功能状态、最近文件变更(最近 5 个)、错误模式与解决方案。
    • 可摘要(压缩为摘要):已完成功能(ID 列表)、已解决错误(简要提及)、历史决策(关键点)。
    • 可丢弃(完全移除):冗余工具输出、过期搜索结果、被取代的消息、冗长日志。
  • 压缩流程:为每条消息/内容评分重要性;标记必须保留的内容;压缩可摘要内容;移除可丢弃内容;校验压缩后上下文是否连贯。
  • Token 预算分级:
    • 低于 50%:正常,无操作。
    • 50-75%:警告,准备压缩。
    • 75-90%:压缩,触发压缩。
    • 高于 90%:临界,激进压缩。
  • 集成点:autonomous-session-manager 触发压缩检查;memory-manager 存储压缩摘要;handoff-coordinator 使用压缩状态进行交接。

使用方式

检查是否需要压缩:

from scripts.compactor import ContextCompactor

compactor = ContextCompactor()
if compactor.should_compact(context, limit=100000):
    compacted = compactor.compact(context)

压缩上下文:

compacted = compactor.compact(context)
# Preserves: architectural decisions, bugs, current state
# Discards: stale tool outputs, redundant messages

适用场景

适用于长时间运行的会话,尤其是上下文接近 token 限制、需要总结已完成工作并保留关键信息的场景。

限制

资料未提供关于收费、价格、平台支持范围、性能指标或具体效果的信息,暂未提供。