ACE 智能体经验学习引擎
让智能体把反馈与执行轨迹转成可复用策略。
这个 Agent 能做什么,适合哪些场景?
Agentic Context Engine(ACE)是一个为现有 AI 智能体加入持续学习循环的开源 Python 引擎。它以持久化的 Skillbook 保存策略,并由 Agent、Reflector 和 SkillManager 分别执行任务、分析轨迹和维护策略。其 Recursive Reflector 会在沙箱环境中编写并运行 Python 代码,以检索执行轨迹中的模式、定位错误并形成可执行洞见。项目提供 ACELiteLLM、ACE、TraceAnalyser、BrowserUse、LangChain 和 ClaudeCode 等 runner,并支持将步骤组合成管线。它既可作为安装到 Python 项目中的库使用,也提供 ace、kayba 和 ace-mcp 命令;Kayba 则是该引擎背后的托管服务。
使用 ACELiteLLM 时,应用通过 .ask() 发起模型调用,再用 .learn_from_feedback() 将纠正信息交给 ACE;ACE 从反馈中提取策略并更新 Skillbook,后续 .ask() 会获得这些策略。对于已有日志,可调用 agent.learn_from_traces(your_existing_traces),由 TraceAnalyser 类路径从预录制轨迹中提炼策略。完整学习流程可由 AgentStep、EvaluateStep、ReflectStep、UpdateStep 和 DeduplicateStep 组成,或用 learning_tail() 组合标准尾部步骤。Reflector 接收环境产生的 trace,Recursive Reflector 在沙箱中执行 Python 分析;SkillManager 随后新增、改写或删除 Skillbook 策略。CLI 可用 ace setup 配置模型和密钥、ace models 查询带价格信息的模型、ace validate 测试连接,并可通过 kayba 上传轨迹、获取洞见和管理 prompts。
- Python 应用开发者在问答或工具调用智能体收到人工纠正后,希望把纠正沉淀为后续请求可用的策略。
- 已有智能体运行日志的团队,希望不重跑任务,而是用 learn_from_traces() 从历史轨迹中提取可复用经验。
- 使用 browser-use 执行浏览器自动化的开发者,希望在重复运行中让自动化流程随策略积累而改进。
- 已经使用 LangChain chain 或 agent 的团队,需要以 LangChain runner 为现有工作流增加学习环节。
- 使用 Claude Code CLI 执行代码任务的工程团队,希望通过 ClaudeCode runner 对任务执行引入学习循环。
这个 Agent 有哪些优点和局限?
- 以持久化 Skillbook 保存策略,并用 Agent、Reflector、SkillManager 明确分工,而不是仅在单次对话内总结。
- Recursive Reflector 会在沙箱中编写和执行 Python 来分析轨迹,适合需要从复杂执行记录定位模式与错误的场景。
- 既支持轻量级 ACELiteLLM,也支持批量 epoch 的 ACE、历史轨迹学习、browser-use、LangChain 与 Claude Code runner。
- 管线以 requires/provides 契约、不可变上下文和错误隔离组织,且可通过 learning_tail() 或自定义步骤组合。
- 运行前必须配置模型提供商凭证并验证连接,实际运行依赖网络和外部 LLM 提供商。
- 学习环节会执行 Recursive Reflector 生成的 Python 代码,即使在沙箱内,采用方仍需评估这类执行模式是否符合自身运行治理要求。
- 提供的基准结果具有明确模型、任务和学习条件;资料没有证明这些提升会在所有智能体、模型或业务任务中复现。
- 所给材料未说明受支持的 Python 版本、Skillbook 的存储实现或完整的自托管部署运维要求。
如何安装或部署这个 Agent?
需要 Python、uv,以及一个受支持模型提供商的 API 密钥。安装:
uv add ace-framework
推荐的交互式配置:
ace setup
或手动设置凭证(以下为 OpenAI):
export OPENAI_API_KEY="your-key"
如需特定集成,可安装相应 extra:
uv add 'ace-framework[browser-use]'
uv add 'ace-framework[langchain]'
uv add 'ace-framework[mcp]'
如何使用这个 Agent?
完成 ace setup 或设置 API 密钥后,可用以下最小示例验证学习流程:
from ace import ACELiteLLM
agent = ACELiteLLM(model="gpt-4o-mini")
answer = agent.ask("Is there a seahorse emoji?")
agent.learn_from_feedback("There is no seahorse emoji in Unicode.")
answer = agent.ask("Is there a seahorse emoji?")
print(agent.get_strategies())
也可执行 ace validate <model> 测试指定模型连接,或执行 ace models <query> 搜索可用模型及其价格。