E2B 沙箱运行 AI 生成代码
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/run-untrusted-ai-generated-code-inside-secure-e2b-sandboxes,以便在安全的 E2B 沙箱中执行不受信任的 AI 生成代码。
技能介绍
要解决的问题
Agent 生成代码之后,总得真正跑起来才能验证。但把这些代码直接丢到宿主机上执行,等于把文件系统、网络和环境变量的控制权拱手让给一段你并不完全信任的输出。一次 rm -rf、一个误配置的依赖安装、一段死循环,都可能毁掉开发环境甚至波及生产系统。
更现实的问题在于状态污染:AI 生成的代码经常要在环境里留下痕迹——装了一半的包、临时文件、改过的配置。下一次运行要么继承脏状态,要么需要手动清理,Agent 的工作流因此变得不可重复。
技能如何工作
这个技能的核心思路是把「执行」和「宿主机」彻底解耦:
- 一次性沙箱:通过 E2B 在云端创建隔离的临时环境,Agent 在其中执行生成的代码,任务结束即整体销毁,不残留任何状态。
- 依赖自由安装:沙箱内可按需安装
pip、npm包,无需担心污染全局环境,也不会有版本冲突。 - 输出回收:代码产生的文件、日志、运行结果可以统一收集,再由 Agent 读取分析,形成完整的「生成 → 执行 → 观察 → 迭代」闭环。
- 可控生命周期:沙箱的创建、命令下发、文件上传下载、终止销毁都通过 E2B 提供的 SDK 以编程方式驱动,Agent 可以把它当作工具链的一环来编排。
关键步骤大致是:Agent 需要运行代码时,先申请一个 E2B 沙箱实例,将代码与依赖描述注入其中,在沙箱内完成安装和执行,把需要的产物或输出拉回来,最后主动销毁沙箱。整个过程不触碰本地环境。
适用边界与注意点
- 需要有效的 E2B 账户和 API key,沙箱按云端资源计费,高频执行场景要留意用量。
- 运行依赖 E2B 服务可用,属于在线方案,离线或强数据主权要求的部署环境不适用。
e2b-code-interpreter包是可选组件,主要用于交互式代码执行场景,并非所有用法都必需。- 沙箱隔离的是环境与状态,不等于安全边界万能;对高风险代码仍应限制网络出口和资源配额。
- 该技能是对 E2B 上游能力的封装,具体行为以 E2B 官方文档 为准。
使用场景
- Agent 在生成 Python 脚本后需要立即运行验证,但不想污染本地 Python 环境和全局包。
- 需要让 Agent 批量执行 AI 生成的代码片段,并把每个脚本的输出和产物回收到工作流中。
- 代码执行过程中要安装 `pip` 或 `npm` 依赖,宿主机没有对应运行时,也不能容忍版本冲突。
- 运行来源不明的模型输出代码,需要隔离文件系统和网络,防止误删文件或死循环拖垮主机。
适合人员
- 构建 AI Agent 工作流的后端工程师,需要在执行模型生成代码时保证宿主机安全。
- 开发代码解释器或代码生成类产品的工程师,需要按需创建干净的隔离执行环境。
- 维护自动化测试管线的开发者,需要重复运行生成的测试脚本而不残留上一轮的状态。
- 集成大模型到内部工具链的技术团队,需要在不开放本地权限的前提下验证模型输出代码。