Agent 执行失败,然后呢?大多数框架选择重试,直到放弃——没有记录,没有分析,更没有改进。anyrun 给出的答案不是“更聪明”的 Agent,而是“会成长”的 Agent。
一个尴尬的现状
你的 Agent 调用了一个工具,失败了。
然后呢?重试,再重试,直到放弃。
没有记录,没有分析,更谈不上改进。
下次遇到同样的问题,你的 Agent 还是会用同样的错误姿势再摔一次。这不是 Agent 的错,是执行层的锅。
什么是 anyrun?
anyrun是一个为 AI Agent 设计的 Docker 沙箱执行引擎。但它不止是一个沙箱。
python
from anyrun import Sandbox with Sandbox() as s: result = s.run("print(1 + 1)") print(result.data) # "2\n"一行代码,安全执行。但这只是开始。
anyrun 的独特之处,在于它自带一条完整的数据闭环:
text
Agent 执行代码 ↓ Docker 沙箱(安全隔离) ↓ 自动采集全量执行轨迹(SQLite + JSON) ↓ 模式发现(错误聚类 / 成功路径 / 异常检测) ↓ 经验提取(LLM 从模式中提炼 SKILL.md) ↓ 自进化(beta → prod → decayed → retired + 自动修复)
写一次代码,Agent 自动记住怎么用。犯一次错,全系统引以为戒。
它解决了什么真实问题?
🧩 问题 1:Agent 工具调用的「黑箱」
你的 Agent 在沙箱里做了什么?成功了吗?花了多久?谁在什么时候调用了什么?
anyrun 的TraceStore自动记录每一次执行的完整信息:
代码、stdout、stderr、错误类型、耗时、session ID。
全部结构化存储(SQLite + JSON),可通过 CLI 随时查询:
bash
anyrun traces stats
text
Total traces: 104 Successful: 74 (71.2%) Failed: 30 Avg duration: 518.8ms Top errors: ZeroDivisionError: 7x ValueError: 3x
🔁 问题 2:Agent 永远在重复犯同样的错误
同一个ZeroDivisionError出现了 7 次?
anyrun 的PatternAnalyzer会自动发现这个错误聚类——不需要 LLM,纯统计 + 规则,零成本。
然后呢?经验提取器把模式喂给 LLM,自动生成SKILL.md:
markdown
# python-zero-division-guard ## 触发条件 当需要执行除法运算,除数可能为零时。 ## 步骤 1. 检查除数是否为零 2. 使用 try/except 包裹 3. 提供 fallback 值或抛出明确异常
从乱码数据,到可复用的工程知识。Agent 自己学会了。
⏳ 问题 3:技能会退化
环境变了、API 升级了、依赖过期了——你精心打磨的技能慢慢失效。
anyrun 的生命周期引擎会自动追踪每个技能的状态:
beta:新技能,连续成功 20 次 → 升级为 prod
prod:正式服役,最近 10 次成功率低于 80% → 退化为 decayed
decayed:尝试自动修复(最多 3 次);30 天未恢复 → 退役
retired:归档,不再使用
bash
anyrun evolution stats
text
beta: 1 prod: 0 decayed: 0 retired: 0
这就是自进化。你的 Agent 不用你手动维护知识库。
技术架构(三句话讲清)
Docker 沙箱— 每个
Sandbox.run()在独立容器中执行,session 级隔离,用完即焚。支持文件持久化和多会话。全量观测— 每次执行自动采集轨迹,写入本地 SQLite 索引 + JSON 原始数据。
~/.anyrun/traces/下可随时回溯。三层智能— 模式发现(统计层)→ 经验提取(LLM 层)→ 自进化(生命周期层)。每层可独立使用,也可打通形成闭环。
谁应该关注 anyrun?
正在构建 AI Agent 产品的团队:需要一个开箱即用的工具执行沙箱,不是玩具,是生产级。
专注于 Agent 自我改进的研究者:anyrun 提供了完整的 trace + pattern + evolution 基础设施,你只需要关注你的 LLM 策略。
Hermes Agent 用户:anyrun 内置 MCP Server,可直接在 Hermes / Claude Desktop 中挂载为工具,获得 Docker 沙箱能力。
yaml
mcp_servers: anyrun: command: "python3" args: ["-m", "anyrun.mcp_server"]
快速上手
bash
pip install anyrun-agent docker pull python:3.12-slim
写 Agent 工具:
python
from anyrun import Sandbox with Sandbox() as sandbox: result = sandbox.run("print('Hello, anyrun!')")看看效果:
bash
anyrun traces stats anyrun patterns analyze anyrun patterns ls
当前状态 & 未来路线
Phase 1–3 全部完成。Phase 4——集体学习网络(跨 Agent 知识共享)——已在路上。
Phase 1:Docker 沙箱 + 轨迹 + 模式 + MCP + CLI
Phase 2:经验提取(模式 → LLM → SKILL.md)
Phase 3:自进化闭环(升级/退化/修复)
Phase 4:集体学习网络(coming soon)
一句话总结
anyrun 不只是让 Agent 安全地执行代码——它让 Agent 从每一次执行中学习,知识自动沉淀,技能自我进化。
不是更聪明的 Agent,是会成长的 Agent。
🔗GitHub: github.com/appcom2016/anyrun
📦安装:pip install anyrun-agent
📄License: MIT