E2B的技术架构与底层原理 E2B的技术架构设计体现了对安全性和隔离性的极致追求,其核心创新在于将轻量级虚拟化技术与开发者友好的API层完美结合。让我们从底层到上层逐层拆解这一架构的奥秘。 E2B技术架构示意图 轻量级虚拟化引擎 E2B的隔离基础建立在经过特殊优化的轻量级虚拟机(MicroVM)技术上,与传统虚拟机相比具有三个关键突破: 1. E2B快速入门指南 安装E2B SDK Python环境安装 对于Python开发者,E2B提供了完整的SDK支持。 安装过程仅需一条命令: pip install e2b 安装完成后,建议通过以下命令验证安装是否成功: import e2b print(e2b. E2B的高级功能与技巧 动态安装包管理:灵活构建沙箱环境 E2B最强大的特性之一是支持运行时动态安装依赖包。
上一篇我简要介绍了 E2B 的一些背景及其作用,本文重点来拆解 E2B 中的一些概念和流程;笔者最近在实现 E2B 的 JAVA SDK ,会将学习过程及开发过程中的一些问题记录在本系列。 E2B 核心概念 官方文档对 E2B 的描述是:它提供隔离沙箱,让 Agent 可以安全执行代码、处理数据和运行工具,并通过 SDK 管理这些环境;下面先通过一张图来看下 E2B SandBox 的相关核心概念 : Sandbox Sandbox 是 E2B 的运行时实例。 E2B 架构分层 从系统实现角度看,E2B 可以按五层理解。 接入层包括 Python SDK、TypeScript SDK、REST API 和 CLI。 8、参考资料 E2B 官方文档 E2B API Reference:Sandboxes
「E2B(Environment to Build)」 是目前业界最成熟的基于 Firecracker microVM 的 AI 代码执行沙箱平台,被 Perplexity、Manus 等知名 AI 产品采用 本文将深入剖析 E2B 的 Firecracker 实现架构,并提供完整的业务使用示例。 一、什么是 Firecracker? 平台概述 2.1 什么是 E2B? CLI 构建模板:e2b template build 生成 rootfs 快照并上传到 E2B 云 启动沙箱时加载预构建的快照(实现快速启动) 七、与其他方案的技术对比 维度 E2B (Firecracker print(execution.logs.stdout) # 输出: Hello from E2B!
一、E2B 为什么会出现 E2B 出现的直接原因,是 AI Agent 的能力边界发生了变化 。传统 AI 应用更像一个增强型信息接口,模型根据输入生成结果,业务系统把结果展示出来。 二、E2B 解决了什么问题 E2B 的核心目标,是把模型生成的动作放入一个可编程、可隔离、可恢复的云端沙箱中执行。它解决的是围绕 Agent 执行过程的一组工程问题: • 第一个问题是执行位置。 六、E2B 与底层沙箱技术的关系 理解 E2B 时,需要区分两层问题:底层如何隔离,以及上层如何使用隔离环境。 E2B 的工程价值在于把这些底层能力向上封装。 E2B 正是这一执行层的典型实现。
E2B 很容易被一句话讲成“给 AI Agent 一个安全沙箱,让它可以跑代码”。 本文基于 Doramagic 的 E2B 独立项目说明书整理,不代表 E2B 官方立场。 说明书入口:https://doramagic.ai/en/projects/e2b/manual/Doramagic 项目页:https://doramagic.ai/en/projects/e2b/ E2B 适合解决什么问题E2B 的核心场景是:让 AI agent 或应用在隔离的云端 sandbox 里执行代码、运行命令、处理数据和管理文件。这类能力对 agent 很有吸引力。 第一次试用只做一次可丢弃任务E2B 的官方安装入口在 pack 里记录为:npm i e2b但第一次接入 agent 时,我不建议把真实任务、真实密钥和主力目录直接交给它。
e2b-local 是一个跑在本机的 E2B 兼容网关。 它更像是把 E2B 控制面接到本地 runtime 的一层适配器。 但真正看一遍 E2B 的调用链,会发现这里面其实有两条很不一样的路径。 E2B API 里真正稳定的是 volume ID。 除此之外,SDK 仍然按 E2B 的方式创建 sandbox、执行命令、读写文件和销毁环境。
端侧优化:Gemma 3n 模型提供两种基于有效参数的大小:E2B 和 E4B。 在训练 40亿有效参数 (E4B) 模型的过程中,其内部的 20亿有效参数 (E2B) 子模型也会被同时优化。 这为开发者提供了两种强大的能力:预提取模型:可以直接下载并使用功能最强大的主 E4B 模型,或已提取出的独立 E2B 子模型,后者可提供高达2倍的推理速度。 混合匹配定制尺寸:为了针对特定硬件约束进行更精细的控制,可以使用一种称为“混合匹配”的方法,创建介于 E2B 和 E4B 之间的一系列定制尺寸模型。 这意味着只有核心的变换器权重(E2B 约20亿,E4B 约40亿)需要放置在通常更受限的加速器内存中。
E2B on AWS方案E2B on AWS 是一个企业级的AI智能体沙盒解决方案,它将开源E2B的沙盒技术部署在企业自有的AWS账户中。 E2B数据中心支持所有AWS区域(2) E2B on AWS基础设施架构E2B on AWS采用分布式微服务架构,集群示意图如下:图4 – E2B on AWS微服务架构Server Cluster(服务集群 API Cluster(API集群):接收来自E2B CLI、E2B SDK等客户端的请求,并将请求转发给E2B的其他组件。 (3) E2B on AWS部署架构为了简化E2B官方的复杂部署流程,我们将E2B on AWS的部署重构为下述3大核心部分:图5 – E2B on AWS部署架构E2B Landingzone(基础设施层 E2B Infra(组件部署层):通过自动化Bash脚本实现E2B各个组件的编译、打包和部署。包括API服务、构建服务、监控组件等的容器化部署,支持滚动更新和版本回滚。
为此,trpc-agent-go在codeexecutor/e2b包中实现了与协议兼容的CodeExecutor,支持把Agent生成的代码直接送入沙箱执行,并把stdout/stderr、富媒体结果( 海外SaaS依赖:直接接入E2B公有云会带来跨境网络、合规、计费等问题;自建一套兼容方案的成本不低。 ◆基于CubeSandbox的方案◆CubeSandbox兼容E2B沙箱协议,因此trpc-agent-go的e2b.CodeExecutor可以零代码改动接入自建的CubeSandbox集群,仅通过Option 切换后端:import("context""time""trpc.group/trpc-go/trpc-agent-go/codeexecutor/e2b")ce,err:=e2b.New(//把E2B 零侵入的私有化能力:得益于E2B协议兼容,trpc-agent-go上层业务代码无需改动,只需切换WithAPIURL/WithTemplate即可在公有云E2B与私有化CubeSandbox之间自由切换
为推进ICH E2B(R3)指导原则在我国的转化实施工作,指导发送方按照《个例安全性报告E2B(R3)区域实施指南》要求递交药品个例安全性报告,现根据我单位工作安排,计划上线E2B(R3)电子传输系统。 E2B(R3)电子传输系统(以下简称“系统”)于2020年1月1日上线试运行。 为明确发送方递交个例安全性报告的有关要求,现已制定《E2B(R3)电子传输系统递交个例安全性报告工作程序》(具体内容详见附件),请相关发送方遵照执行。 引用来源该标准要求申请人通过Gateway to Gateway(网关对网关)方式,向国家药品审评机构提交符合ICH E2B(R3)规范的药物临床试验期间个例安全性报告,并对其进行分析评估,必要时按相关标准提出修改试验方案 注:发送方在确定选择通过 E2B(R3)电子传输系统递交上市后报告后,国家中心将不再支持发送方以在线递交的方式通过药品上市许可持有人药品不良反应直接报告系统(以下简称“直报系统”)进行报告(含境外报告)
E2B 的架构 E2B[5] 在 Firecracker 之上构建了完整的 AI 沙箱云服务,被 Manus[6]、Perplexity[7] 等用于生产环境: mermaid 启动速度的关键在于预热快照 Manus 的架构中,每个 Agent 任务拥有一个完整的 E2B sandbox 虚拟机,内含 Chromium 浏览器、终端、文件系统等 27 种工具——一个 sandbox 就是一台完整的虚拟电脑 每个 Firecracker VM 需要独立的内核镜像和内存空间(E2B 默认分配 1GB RAM/sandbox),在高并发下是一笔不小的成本。这也是 ZeroBoot 试图解决的问题。 性能数据 指标 ZeroBoot E2B Daytona Spawn p50 0.79ms ~150ms ~27ms Spawn p99 1.74ms ~300ms ~90ms 内存/sandbox ~ Firecracker/E2B + 预热池 高威胁 + 极高并发 Firecracker/E2B ZeroBoot(前沿,未 production-ready) 一个实用的判断标准 问自己一个问题:
无论是 Manus、OpenAI Agents SDK,还是 Perplexity、Hugging Face 等产品,底层都依赖类似的“虚拟电脑”来承载代码执行与工具调用——并逐渐收敛到统一的接口标准 E2B 它原生兼容 E2B 接口标准,开发者无需改动业务代码,只需更改一个环境变量,就可以将现有 Agent 应用从海外闭源方案平滑迁移到 Cube Sandbox。 //兼容:无缝接入现有 Agent 体系 Cube Sandbox 对 E2B 接口的兼容是 Drop-in 级别的——无论基于 Manus 技术栈、OpenAI Agents SDK,还是其他 E2B
其中最引人关注的是: Gemma 4 E2B 模型内存占用已经降低到 1GB 以下。 这意味着未来手机、轻薄本、嵌入式设备运行高质量AI模型将变得更加现实。 E2B模型内存占用降至1GB以内 此次最受关注的数据: Gemma 4 E2B Google表示: 去除 Per-Layer Embeddings 后,纯文本版本内存需求已经低于 1GB。 过去常见情况: 模型 内存需求 7B FP16 14GB+ 7B Q4 4GB左右 3B Q4 2GB左右 Gemma 4 E2B QAT <1GB 简单理解: 手机 平板 轻薄笔记本 单板计算机 官方内存优化对比 原图如下: 从图中可以看到: E2B模型显著下降 E4B模型进一步优化 多种部署模式均得到改善 这也是QAT训练价值最直接的体现。 支持哪些部署方式? 版本主要带来了以下升级: 特性 优势 QAT量化感知训练 减少量化精度损失 静态激活 降低移动端计算开销 通道量化 提升推理效率 2-bit针对性压缩 进一步降低模型体积 KV Cache优化 减少运行内存 E2B
值得关注的理由 零基础设施沙箱是独特定位:不需要 Docker/VM/云服务,13MB WASM 二进制直接进程内隔离,冷启动 <10ms(预编译后 ~0.5ms),在 E2B/Modal/Daytona 现有沙箱方案(E2B/Modal)需要云服务或 Docker,增加延迟和基础设施成本。Souvik 从 OS 安全工程的角度看到:WASM 可以在进程内提供接近零开销的隔离,不需要任何外部基础设施。 Simon Willison 指出这阻碍开源工具链集成) 仅 2 个运行时依赖:wasmtime + cryptography,极致轻量 竞品格局与定位 竞品对比矩阵 维度 amla-sandbox E2B 即用 Capability-based security:比容器级隔离更精细的权限控制 OS 内核工程背景:创始人的系统安全深度(CVE 发现 + daxfs 分布式文件系统)是技术信任基础 竞争风险 E2B 如果需要完整 Linux 环境/原生模块/GPU 选 E2B 或 Modal。
它是 E2B 公司开源的,像是一个让 AI 运行代码的沙箱环境。总之,这是一个可以在本地托管和使用的开源 Artifacts 替代品。 让我告诉你如何在本地设置它: Get Started Prerequisites • git • Recent version of Node.js and npm package manager • E2B Set the Environment Variables 安装完成后,然后输入你可以从 E2B 免费获取的 API 密钥: https://e2b.dev/dashboard 创建一个 .env.local npm run build E2B的简介&特色 E2B可以给你的ai应用程序集成代码解释器 还有许多其他功能 总的来说,代码生成这一块我更喜欢Claude3.5,o1与它的表现相近,但是要付出更多的时间和成本
60毫秒:预置资源池+快照克隆技术,比常规VM快50倍 单实例5MB内存开销:Copy-on-Write内存复用+极致裁剪的运行时 真内核隔离:每个沙箱独享Guest OS内核,杜绝容器逃逸 100% E2B 对开发者最友好的是完全兼容E2B接口——这意味着现有AI智能体项目只需修改API端点就能获得免费且更快的替代方案。 安装过程需要KVM环境,Windows用户可通过WSL2体验。 有开发者测试后表示:"完全兼容E2B的设计让迁移零成本,但5MB的内存占用才是大规模部署的关键"。该项目已在腾讯云内部承载百亿级调用,下一步计划开源事件级快照回滚功能。
四款模型分别是:E2B(2.3B有效参数)、E4B(4.5B有效参数)、31B(密集模型)、26B A4B(MoE架构,4B激活参数)。 视觉和音频是标配,E2B和E4B甚至支持本地音频处理。这对于需要在设备端做OCR、图表理解或者语音交互的场景很实用。 Native Tool Use。支持函数调用、结构化JSON输出和原生系统指令。 小模型(E2B、E4B)甚至支持音频。 模型参数量看起来不大,但实际跑分相当离谱——31B版本在Arena排行榜上已经摸到全球第三开源模型的位置,26B MoE排第六。 E2B和E4B专门优化过,Google说已经能在Pixel手机和Jetson上离线运行,延迟基本无感。端侧应用有了更好的选择。 生态支持来得很快。
相比v0.2.0,这一版核心做了几个方面的更新:把E2B兼容性从SDK层延伸到了端口协议层;闭合了v0.1.x以来用户反馈过的几个高频稳定性问题;处理了0.2系列首批CVE。 一、兼容性做到协议层,离E2B"零改造迁移"又近一步v0.2.0时,Cube的E2B兼容只覆盖到SDK层——你可以一行代码不改,就把客户端从E2B切到Cube,但反向代理、防火墙规则、客户端等写死的端口
端侧优化设计:Gemma 3n 着眼于运行效率,提供两种基于“有效参数”的尺寸:E2B 和 E4B。 开发者可根据应用场景自由选择完整的 E4B 主模型获得更强性能,也可以直接使用已经预提取好的 E2B 子模型。 在保证准确率的前提下,E2B 实现了高达 2 倍的推理速度,尤其适合边缘设备或算力受限场景。 Mix-n-Match 定制模型。 针对不同硬件资源的限制,开发者可以通过 Mix-n-Match 方法,在 E2B 与 E4B 之间自由定制模型大小。 这意味着只有核心 Transformer 权重(E2B 约为 2B,E4B 约为 4B)需要存储在通常较为受限的加速器内存 (VRAM) 中。
:"http://IP_address:11434", "apiKey":"ollama-local", "api":"ollama", "models":[ { "id":"gemma4:e2b ", "name":"gemma4:e2b", "reasoning":false, "input":["text"], "cost":{ input:0, output:0, cacheRead maxTokens":1000 } ] } } } Agent模型配置: "agents":{ "defaults":{ "model":{ "primary":"ollama/gemma4:e2b " }, "models":{ "ollama/gemma4:e2b":{} } } } 两个关键点,容易翻车的地方 contextWindow 和 maxTokens:一开始可以设小一点,比如上面给的