ace
ACE(Agentic Context Engineering)是一个旨在让大语言模型实现自我进化的创新框架。它不再将上下文视为静态的提示词,而是将其看作一本不断演进的“策略手册”,通过生成、反思和策展三个角色的协同工作,自动积累并优化领域知识。
传统方法在长期迭代中常面临“上下文崩塌”问题,即关键细节因反复重写而丢失,或受限于“简短偏好”导致策略过于简化。ACE 独创性地引入了“增量式更新”机制,仅对上下文进行局部修正与合并,既保留了宝贵的历史经验,又能高效吸纳新洞察,从而在保持内容详尽的同时实现可扩展的自我提升。
该技术特别适合 AI 研究人员、大模型应用开发者以及需要构建高适应性智能体的团队使用。其核心亮点在于无需人工标注数据即可利用执行反馈进行自监督学习,且在效率上表现卓越:相比现有自适应方法,平均适配延迟降低逾 86%,同时在代理任务和垂直领域基准测试中取得了显著的性能提升。如果你希望打造能随时间推移越用越聪明、且具备深厚领域知识的 AI 助手,ACE 提供了一个高效且低成本的解决方案。
使用场景
某金融科技公司正在构建一个自动化财报分析 Agent,需要从复杂的 XBRL 文档中提取关键财务指标并生成合规报告。
没有 ace 时
- 知识遗忘严重:随着处理案例增多,Agent 的上下文提示词因不断重写而发生“上下文坍塌”,逐渐丢失了针对特殊会计准则的精细处理规则。
- 试错成本高昂:每次优化策略都需要全量重新生成提示词,导致延迟极高,且无法保留之前验证有效的局部经验。
- 错误重复发生:缺乏系统的反思机制,Agent 在遇到类似的边缘案例(如非标准折旧计算)时会反复犯同样的逻辑错误。
- 依赖人工标注:想要提升准确率必须依赖大量人工标注数据进行微调,开发周期长且维护成本巨大。
使用 ace 后
- 知识持续累积:ace 的“增长与精炼”原则让上下文像活页手册一样演进,新增的行业特例被结构化地追加,旧有的核心规则完好无损。
- 增量高效更新:通过 Generator、Reflector 和 Curator 三方协作,仅对策略进行局部增量修改(Delta Updates),适配延迟降低了 91.5%。
- 自动避坑指南:Reflector 自动从执行反馈中提取教训,Curator 将其转化为带有“有益/有害”计数的结构化条目,彻底杜绝同类错误复发。
- 无监督自进化:利用自然执行反馈实现自监督学习,无需额外标注数据即可在 FiNER 等专业基准上提升 8.6% 的准确率。
ace 通过将静态提示词转化为可自我进化的动态策略库,让语言代理在处理复杂领域任务时越用越聪明,同时大幅降低了算力与时间成本。
运行环境要求
- 未说明
未说明
未说明

快速开始
智能体上下文工程:面向自我改进语言模型的动态上下文
🎯 概述
ACE(智能体上下文工程)是一个框架,它通过将上下文视为不断演化的行动手册,使大型语言模型能够自我改进。这些行动手册会以模块化的方式积累、提炼和组织策略,经过生成、反思和精选的过程逐步完善。与传统方法因简短性偏差和上下文坍塌而受限不同,ACE引入了结构化的增量更新机制,遵循“增长与精炼”的原则,在保留详细领域知识的同时,确保在整个适应过程中保持全面性和可扩展性。
最新消息
- 2025年11月:ACE 论文及代码库正式发布!
核心特性
- 🔄 三角色智能体架构:生成器、反思者和精选者协同工作,持续优化上下文
- 📈 增量式差异更新:局部编辑在保留原有知识的同时,不断积累新见解
- 🎓 自监督学习:无需标注数据即可有效适应,利用自然执行反馈进行学习
- 🚀 高效性:相比现有自适应方法,平均适应延迟降低86.9%
- 💰 成本效益:所需迭代次数显著减少,总成本更低,同时实现更高的准确性
教程
- 📚 添加评估数据集 链接
- ✨ 扩展ACE以支持工具调用(即将推出)
📊 性能表现
ACE在各项任务中均显著优于基准模型,无论是离线还是在线适应场景下,都能在代理任务上取得平均**+10.6%的提升,在领域特定基准测试中则达到+8.6%**的改进。
基准测试结果
| 任务类别 | 数据集 | 提升幅度 | 详情 |
|---|---|---|---|
| 代理任务 | AppWorld | +10.6% | 在平均表现上媲美顶级生产级代理模型(GPT-4.1),并在更具挑战性的测试集上超越其表现,且仅使用较小规模的开源模型 |
| 金融领域 | FiNER + XBRL Formula | +8.6% | 面向领域的推理能力,结合结构化信息抽取 |
效率提升
- 离线(AppWorld):相较于GEPA,延迟降低82.3%,迭代次数减少75.1%
- 在线(FiNER):相较于Dynamic Cheatsheet,延迟降低91.5%,token成本减少83.6%
工作原理
- 生成器为新查询生成推理路径,揭示有效策略及常见陷阱。
- 反思者将评估与洞察提取从精选过程中分离出来,从而提升上下文质量。
- 精选者将经验教训转化为结构化的增量更新,并附带有益与有害标记,采用确定性合并方式去除重复内容并进行修剪。
这一设计有效避免了上下文坍塌问题——即反复改写导致细节逐渐丢失的现象。
🚀 快速入门
安装步骤
# 克隆仓库
git clone https://github.com/ace-agent/ace.git
cd ace
# 安装uv(若尚未安装)
curl -LsSf https://astral.sh/uv/install.sh | sh
# 安装ACE及相关依赖
uv sync
# 设置API密钥
cp .env.example .env
# 编辑.env文件,填入所需的API密钥
基本用法
from ace import ACE
from utils import initialize_clients
# 初始化API客户端
api_provider = "sambanova" # 或 "together", "openai", "commonstack"
# 初始化ACE系统
ace_system = ACE(
api_provider=api_provider,
generator_model="DeepSeek-V3.1",
reflector_model="DeepSeek-V3.1",
curator_model="DeepSeek-V3.1",
max_tokens=4096
)
# 准备配置
config = {
'num_epochs': 1,
'max_num_rounds': 3,
'curator_frequency': 1,
'eval_steps': 100,
'online_eval_frequency': 15,
'save_steps': 50,
'playbook_token_budget': 80000,
'task_name': 'your_task',
'json_mode': False,
'no_ground_truth': False,
'save_dir': './results',
'test_workers': 20,
'use_bulletpoint_analyzer': false,
'api_provider': api_provider
}
# 离线适应
results = ace_system.run(
mode='offline',
train_samples=train_data,
val_samples=val_data,
test_samples=test_data, # 可选
data_processor=processor,
config=config
)
# 在线适应
results = ace_system.run(
mode='online',
test_samples=test_data,
data_processor=processor,
config=config
)
# 仅评估
results = ace_system.run(
mode='eval_only',
test_samples=test_data,
data_processor=processor,
config=config
)
💼 金融领域示例
训练脚本使用
finance/run.py脚本提供了一个统一的接口,用于金融分析任务的训练与评估。
# 离线训练(自动进行初始与最终测试)
uv run python -m eval.finance.run \
--task_name finer \
--mode offline \
--save_path results
# 在线训练与测试
uv run python -m eval.finance.run \
--task_name finer \
--mode online \
--save_path results
# 仅对测试集进行评估。可提供预训练好的剧本,或留空initial_playbook_path以评估未初始化的剧本。
uv run python -m eval.finance.run \
--task_name finer \
--mode eval_only \
--initial_playbook_path results/ace_run_TIMESTAMP_finer_offline/best_playbook.txt \
--save_path test_results
# 使用自定义配置进行训练
uv run python -m eval.finance.run \
--task_name finer \
--mode offline \
--save_path results \
--num_epochs 3 \
--eval_steps 100 \
--max_tokens 4096
可用参数
点击此处查看可用参数
| 参数 | 描述 | 默认值 |
|---|---|---|
--task_name |
要训练的任务(例如 finer、formula) |
必填 |
--save_path |
保存结果的目录 | 必填 |
--initial_playbook_path |
初始 playbook 的路径 | 可选 |
--mode |
运行模式:'offline' 表示离线训练并进行验证,'online' 表示在线训练并在测试集上测试,'eval_only' 表示仅评估 | offline |
--api_provider |
LLM 调用的 API 提供者。可选 ['sambanova', 'together', 'openai', 'commonstack'] | sambanova |
--num_epochs |
训练轮数 | 1 |
--max_num_rounds |
错误答案的最大反思轮数 | 3 |
--curator_frequency |
每 N 步运行一次策展人 | 1 |
--eval_steps |
每 N 步评估一次 | 100 |
--online_eval_frequency |
在在线模式下,每 N 个样本更新一次 playbook 以用于评估 | 15 |
--save_steps |
每 N 步保存一次中间 playbook | 50 |
--max_tokens |
LLM 响应的最大 token 数 | 4096 |
--playbook_token_budget |
playbook 的总 token 预算 | 80000 |
--test_workers |
测试的并行工作线程数量 | 20 |
--generator_model |
生成器使用的模型 | DeepSeek-V3.1 |
--reflector_model |
反思者使用的模型 | DeepSeek-V3.1 |
--curator_model |
策展者使用的模型 | DeepSeek-V3.1 |
--json_mode |
启用 JSON 模式以获得结构化输出 | False |
--no_ground_truth |
反思时不使用真实答案 | False |
--use_bulletpoint_analyzer |
启用项目符号分析器以去重和合并 playbook | False |
--bulletpoint_analyzer_threshold |
项目符号分析器的相似度阈值(0-1) | 0.9 |
📈 结果与输出
以离线训练为例,训练完成后,ACE 会生成以下内容:
results/
└── ace_run_TIMESTAMP_finer_offline/
├── run_config.json # 训练配置
├── final_results.json # 所有阶段的汇总结果
├── initial_test_results.json # 使用空 playbook 的初始测试结果(基线)
├── final_test_results.json # 使用最佳 playbook 的最终测试结果
├── train_results.json # 训练结果
├── val_results.json # 验证结果及错误日志
├── pre_train_post_train_results.json # 每个训练样本的详细预训练和后训练生成器输出
├── final_playbook.txt # 最终演化的上下文
├── best_playbook.txt # 性能最佳的上下文(仅限于离线训练)
├── bullet_usage_log.jsonl # 项目符号使用情况跟踪
├── curator_operations_diff.jsonl # 策展人操作跟踪
├── detailed_llm_logs/ # 详细的 LLM 调用日志
└── intermediate_playbooks/ # 中间 playbook
理解 playbook 格式
演化的上下文(playbook)遵循以下结构:
## 策略与见解
[str-00001] helpful=5 harmful=0 :: 处理数据前务必验证数据类型
[str-00002] helpful=3 harmful=1 :: 考虑金融数据中的边界情况
## 公式与计算
[cal-00003] helpful=8 harmful=0 :: 净现值 = Σ(现金流 / (1+r)^t)
## 需要避免的常见错误
[mis-00004] helpful=6 harmful=0 :: 不要忘记时区转换
每个项目符号包含:
- ID:
[section_slug-00000]用于追踪 - 计数:
helpful=X harmful=Y由反思者更新 - 内容:
:: 实际建议或策略
📬 支持的任务
代理任务
- AppWorld:模拟的应用交互数字环境
领域特定任务
- FiNER:金融信息抽取
- XBRL Formula:结构化金融数据处理
🛠️ 扩展 ACE
ACE 设计为易于扩展到新的任务和领域。要添加您自己的任务:
- 准备您的数据:创建包含训练/验证/测试划分的 JSONL 文件
- 实现 DataProcessor:只需实现 3 个方法——
process_task_data()、answer_is_correct()、evaluate_accuracy() - 创建训练脚本:初始化 ACE 并使用
run()方法进行训练 - 自定义提示词(可选):根据您的领域调整提示词
评估编排(并行测试执行、结果聚合)由 utils.py 中的可重用工具处理,因此您只需专注于任务特定的逻辑。
快速示例
class DataProcessor:
def process_task_data(self, raw_data):
# 将您的数据格式转换为标准化格式
return [{"context": ..., "question": ..., "target": ..., "others": {...}}]
def answer_is_correct(self, predicted, ground_truth):
# 您的比较逻辑
return predicted.strip() == ground_truth.strip()
def evaluate_accuracy(self, predictions, ground_truths):
# 计算准确率
return sum(self.answer_is_correct(p, g) for p, g in zip(predictions, ground_truths)) / len(predictions)
🤝 贡献
我们欢迎贡献!请按照以下步骤操作:
- 分支仓库
- 创建特性分支 (
git checkout -b feature/amazing-feature) - 提交更改 (
git commit -m '添加惊人功能') - 推送到分支 (
git push origin feature/amazing-feature) - 打开拉取请求
📚 更多资源
🙏 致谢
这项工作建立在 Dynamic Cheatsheet 的洞察之上,并融合了更广泛的 LLM 代理和上下文优化研究社区的思想。
📧 联系方式
如有疑问或反馈:
- 论文作者:请参阅 arXiv 论文,获取作者联系方式
- 问题报告:请在 GitHub 上提交 issue
- 讨论区:加入 GitHub Discussions
📝 引用
如果您在研究中使用 ACE,请引用我们的论文:
@misc{zhang2025agenticcontextengineeringevolving,
title={Agentic Context Engineering: Evolving Contexts for Self-Improving Language Models},
author={Qizheng Zhang and Changran Hu and Shubhangi Upasani and Boyuan Ma and Fenglu Hong and Vamsidhar Kamanuru and Jay Rainton and Chen Wu and Mengmeng Ji and Hanchen Li and Urmish Thakker and James Zou and Kunle Olukotun},
year={2025},
eprint={2510.04618},
archivePrefix={arXiv},
primaryClass={cs.LG},
url={https://arxiv.org/abs/2510.04618},
}
⭐ 如果 ACE 对您的研究有所帮助,请在 GitHub 上为我们点赞!
由 ACE 团队用心打造 ❤️
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
opencode
OpenCode 是一款开源的 AI 编程助手(Coding Agent),旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件,而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码,还是排查难以定位的 Bug,OpenCode 都能通过自然语言交互高效完成,显著减少开发者在重复性劳动和上下文切换上的时间消耗。 这款工具专为软件开发者、工程师及技术研究人员设计,特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构,这意味着用户可以审查代码逻辑、自定义行为策略,甚至私有化部署以保障数据安全,彻底打破了传统闭源 AI 助手的“黑盒”限制。 在技术体验上,OpenCode 提供了灵活的终端界面(Terminal UI)和正在测试中的桌面应用程序,支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具,安装便捷,并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客,还是渴望提升产出的独立开发者,OpenCode 都提供了一个透明、可信
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。