E2B 中文教程:在隔离沙箱里运行 AI Agent 代码
E2B 给 AI Agent 提供临时的云端运行环境。Agent 可以在 sandbox 中安装依赖、读写工作目录、运行代码和返回输出,主应用只接收结果。官方开源组织列出 Firecracker runtime、控制面、VM 内 agent、SDK 和 dashboard 等组件。
1. 先确定边界
把 API key 放在服务端环境变量,不放进提示词或浏览器。给 sandbox 明确超时、CPU/内存、网络、文件和 secrets 权限;测试时使用无敏感数据的代码和样本。
2. SDK 快速路径
服务端创建 Sandbox → run code → 读取 stdout/stderr → 保存最小结果 → kill/destroy
Python、JavaScript/TypeScript SDK 的具体导入和版本以官方文档为准。第一次只运行打印版本和简单算术,确认启动、超时、异常和销毁都能被记录。
3. 给 Agent 的工具接口
不要直接给模型一个“执行任意 shell”的按钮。把工具拆成创建沙箱、上传输入、执行受限命令、读取输出和销毁;对路径、命令、网络和输出大小做校验。需要浏览器或真实工具时,也要单独授权。
4. 隔离不是全部安全
沙箱降低代码污染主机的风险,但不自动解决恶意依赖、外传数据、提示词注入和 API 密钥泄露。生产系统要加审计、网络白名单、超时、并发上限和人工审批。
同类对比
相比 Docker,E2B 面向 Agent 提供云端、可回收的 Firecracker sandbox;相比本地进程,它隔离更强但多了网络、费用和数据传输边界。
这里仅补原教程没有展开的事实和边界。安装命令与操作步骤仍以前文为准。
先判断这个项目是否适合你
适合谁用
适合 AI 生成代码运行、数据分析、测试和短时工具执行;对低延迟本机脚本或不需要隔离的任务,直接本地进程更简单。
采用建议
适合 AI 生成代码运行、数据分析、测试和短时工具执行;对低延迟本机脚本或不需要隔离的任务,直接本地进程更简单。采用前需要核对:云端执行有费用和网络延迟。
原教程未展开的系统信息
核心功能
临时 sandbox
Agent 可以创建环境、运行代码、读写工作目录并返回结果。
多语言和生态接入
官方组织列出 SDK 以及 Vercel AI SDK、LangChain、Google ADK、n8n 等接入。
架构与数据流
主应用通过 SDK 请求云端 sandbox,sandbox 在隔离 VM 中执行代码和工具,结果回传主应用;超时、网络、文件和 secrets 边界由应用层显式设置。
常见问题
E2B 等于 Docker 吗?
不等同。官方开源栈围绕 Firecracker 云端环境和 Agent SDK,使用方式与本机 Docker 不同。
能运行任意代码吗?
技术上可以提交代码,但生产应用仍要限制命令、网络、文件和 secrets,并处理超时和资源耗尽。
怎么控制费用?
设置 sandbox 超时和并发上限,执行完及时销毁,记录每次运行时间和资源。
什么任务最适合先试?
无敏感数据的数据分析、测试运行和短时依赖安装是较容易复核的起点。