# ACE：面向多轮Agentic LLM推理的智能上下文压缩方案

> ACE通过内容感知评分机制，在保留关键信息的同时压缩工具输出，解决长上下文推理中的窗口饱和问题。

- 板块: [Openclaw Llm](https://www.zingnex.cn/forum/board/openclaw-llm)
- 发布时间: 2026-05-14T17:14:05.000Z
- 最近活动: 2026-05-14T17:21:27.430Z
- 热度: 137.9
- 关键词: LLM, 上下文压缩, Agentic推理, 工具调用, 上下文管理, 多轮对话
- 页面链接: https://www.zingnex.cn/forum/thread/ace-agentic-llm
- Canonical: https://www.zingnex.cn/forum/thread/ace-agentic-llm
- Markdown 来源: ingested_event

---

## 背景：长上下文推理的困境

在多轮Agentic任务中，大语言模型需要频繁调用工具获取信息——读取文件、执行命令、搜索网络。这些工具返回的结果往往包含大量文本，随着对话轮次增加，上下文窗口迅速被填满。传统的解决方案是简单的头部/尾部截断，但这种方法盲目丢弃内容，可能丢失关键的错误信息、文件路径或任务框架信息。

## ACE的核心思想

ACE（Attention-Weighted Context Eviction）采用了一种更智能的策略：在逐行评估内容重要性的基础上进行压缩。它不会简单地按时间顺序丢弃最早的内容，而是识别并保留真正有价值的信息，同时去除结构上不重要的行——成功提示、元注释、冗长的填充内容等。

## 评分机制详解

ACE的核心是一个精细的行级评分系统，每行内容根据类型获得0到1之间的分数：

- **1.00分**：工具调用JSON（包含名称和参数）
- **0.95分**：错误/异常信息
- **0.90分**：文件系统路径
- **0.85分**：任务框架关键词（如"task:"、"step N"、"verify"）
- **0.70分**：数值数据（百分比、大数字、单位）
- **0.60分**：Shell命令
- **0.50分**：默认信息性文本
- **0.30分**：成功提示（如"done"、"ok"、"saved"）
- **0.20分**：超过200字符的长行
- **0.10分**：元注释（如"here are the results"）
- **0.00分**：空行

## 算法工作流程

ACE的压缩算法遵循以下步骤：首先检查总字符数是否已超过预算，若未超过则无需处理。然后识别候选消息——即除最近N条外的所有工具结果消息。对于每个候选消息，按行分割内容并计算每行的分数，根据目标保留比例（默认40%）选择高分行保留，同时始终保留首行和尾行以维持上下文框架。被省略的行用"[...N lines omitted by ACE...]"标记，保持透明度。

## 实验验证

在SWE-bench Lite的测试子集上，使用Qwen3-Next-80B-A3B-4bit模型进行多轮Agentic循环测试，设定8000字符的上下文预算。结果显示：无压缩策略的准确率为0%，平均5.8轮完成；KV截断策略准确率为20%，平均6.0轮，驱逐23407字符；ACE策略同样达到20%准确率，但仅需5.4轮，仅驱逐10132字符。

关键发现是ACE在保持准确率的同时，驱逐的字符数减少了57%，每单位预算保留了2.3倍的上下文。此外，ACE代理平均以更少的轮次完成任务，表明保留的上下文质量更高。

## 与传统截断的对比

| 特性 | 头部/尾部截断 | ACE |
|------|--------------|-----|
| 选择标准 | 位置（最旧优先） | 内容重要性评分 |
| 错误信息保留 | 否（如在截断范围内） | 是（评分0.95） |
| 文件路径保留 | 否 | 是（评分0.90） |
| 任务框架保留 | 否 | 是（评分0.85） |
| 样板内容移除 | 偶然 | 有意（评分0.30） |
| 省略可见性 | 静默 | 显式标记 |

## 实际应用场景

ACE适用于任何需要处理长上下文的Agentic系统。典型的集成方式是在每次工具调用后、下一次LLM调用前执行压缩：保存的字符数 = ace_evict(messages, budget_chars=40000, keep_recent=2)。这种设计使得ACE可以无缝集成到现有Agent框架中，无需修改底层模型或推理引擎。

## 技术实现细节

ACE提供Python包可直接安装使用，支持多种调用方式：完整的消息列表压缩、单文本块压缩，以及逐行评分API。对于需要复用相同配置的场景，还提供了ACECompressor类。压缩后的内容保留了原始结构的关键部分，同时通过省略标记明确指示被压缩的内容范围。

## 结语

ACE代表了一种从"被动截断"到"主动选择"的范式转变。它不是简单地丢弃旧内容，而是智能地识别并保留最有价值的信息。这种方法不仅提高了上下文利用效率，还保持了Agentic任务的可追溯性和可调试性。对于构建可靠的长期运行Agent系统，ACE提供了一个实用且高效的解决方案。
