当前位置: 首页 > news >正文

沙箱有哪些、谁开发的、如何让 Agent 在沙箱中运行,以及配置参数详解

一、LangChain Deep Agents 支持的主要沙箱 & 开发者

沙箱名称开发者 / 公司简介隔离技术主要特点
LangSmith SandboxLangChain(官方)第一方托管沙箱,无需第三方账号官方管理与 LangSmith 深度集成、支持快照、Auth Proxy、Service URL
E2BE2B(捷克创始人 Vasek Mlejnsky & Tomas Valenta,2023 年成立)目前最流行的 AI Agent 沙箱之一Firecracker microVM启动极快(~150ms)、开源、高安全隔离、Fortune 100 广泛使用
DaytonaDaytona(克罗地亚,Ivan Burazin 等,2023 年成立,后转向 Agent 基础设施)可编程、可组合的计算环境容器 / Kata / gVisor 等冷启动极快(~90ms)、支持 GPU、持久化、开源友好
ModalModal Labs无服务器 AI 计算平台,沙箱是其能力之一gVisor原生 GPU 支持强、适合机器学习工作负载
RunloopRunloop AI(旧金山,约 2024–2025 年)专为 AI Coding Agent 设计的 DevboxmicroVM + 容器企业级、快照/蓝图、高性能
Vercel SandboxVercelVercel 平台原生沙箱Firecracker microVM与 Vercel 生态深度集成、按活跃 CPU 计费
AgentCoreAWS(Bedrock AgentCore Code Interpreter)AWS 官方代码解释器沙箱AWS 基础设施适合已在 AWS 生态的用户

此外还可通过自定义方式接入其他提供商(如 NVIDIA OpenShell 等)。


二、让 Agent 在沙箱中运行的具体方式(两种模式)

LangChain 推荐的是Sandbox as Tool模式(Agent 跑在你这边,沙箱只负责执行):

1. Python 代码方式(最常用)

以几个主流提供商为例:

LangSmith(官方推荐入门)

fromdeepagentsimportcreate_deep_agentfromdeepagents.backendsimportLangSmithSandboxfromlangsmith.sandboximportSandboxClientfromlangchain_anthropicimportChatAnthropic client=SandboxClient()ls_sandbox=client.create_sandbox()# 可加 name、idle_ttl_seconds 等参数backend=LangSmithSandbox(sandbox=ls_sandbox)agent=create_deep_agent(model=ChatAnthropic(model="claude-sonnet-4-6"),system_prompt="You are a Python coding assistant with sandbox access.",backend=backend,# 关键:把沙箱后端传进去)try:result=agent.invoke({"messages":[{"role":"user","content":"写一个小包并跑 pytest"}]})finally:client.delete_sandbox(ls_sandbox.name)# 务必清理

E2B

frome2bimportSandboxfromlangchain_e2bimportE2BSandbox e2b_sandbox=Sandbox.create()backend=E2BSandbox(sandbox=e2b_sandbox)agent=create_deep_agent(...,backend=backend)# 用完后e2b_sandbox.kill()

Daytona

fromdaytonaimportDaytonafromlangchain_daytonaimportDaytonaSandbox sandbox=Daytona().create()backend=DaytonaSandbox(sandbox=sandbox)agent=create_deep_agent(...,backend=backend)# 用完后sandbox.stop()

Modal / Runloop / Vercel写法类似,只是创建沙箱的 SDK 不同。

2. Deep Agents Code CLI 方式(命令行快速启动)
# 安装对应依赖后dcode--sandboxlangsmith dcode--sandboxe2b dcode--sandboxdaytona dcode--sandboxmodal dcode--sandboxrunloop dcode--sandboxvercel# 常用附加参数dcode--sandboxdaytona --sandbox-setup ./setup.sh# 创建后先跑初始化脚本dcode--sandboxrunloop --sandbox-id dbx_abc123# 复用已有沙箱dcode--sandboxlangsmith --sandbox-snapshot-name my-snap# 使用/创建快照

三、配置参数有哪些、怎么配置、字段含义

配置分两层:

A. 创建沙箱时的参数(各提供商略有差异)

LangSmith 常见参数

  • name:沙箱名称(方便后续查找/复用)
  • idle_ttl_seconds:空闲多少秒后自动清理(强烈建议设置)
  • ttl_seconds:总生命周期
  • template_name/snapshot_id:从模板或快照启动
  • vcpus/mem_bytes/fs_capacity_bytes:CPU、内存、磁盘配额
  • env_vars:注入环境变量(不建议放敏感密钥

Daytona 常见参数

  • language"python"/"typescript"/"javascript"
  • timeout:命令默认超时(秒)
  • target:区域(us/eu
  • image:自定义 Docker 镜像
  • snapshot:从快照创建
  • resources{cpu, memory, disk}(需配合 image)
  • autoStopInterval:空闲自动停止分钟数(0 = 永不自动停)
  • envVarsinitialFileslabels

Modal 常见参数

  • app/appName
  • image/imageName
  • cpumemory(MiB)
  • gpu
  • timeout/idleTimeoutMs
  • blockNetwork:是否阻断网络(安全相关)
  • envsecretsvolumes

E2B

  • 主要通过Sandbox.create()的 template、timeout、metadata 等
  • 支持自定义环境变量、文件预置
B. Deep Agents / CLI 层面的配置

CLI Flags

参数含义
--sandbox TYPE指定提供商(langsmith / e2b / daytona 等)
--sandbox-id ID复用已有沙箱(跳过创建和清理)
--sandbox-setup PATH创建后执行的初始化脚本路径
--sandbox-snapshot-name NAME使用或创建快照

配置文件方式~/.deepagents/config.toml

[sandboxes] default = "daytona" [sandboxes.providers.myprovider] class_path = "mypackage.provider:MyProvider" working_dir = "/workspace" supports_sandbox_id = true supports_snapshot_name = false [sandboxes.providers.myprovider.params] region = "us-east-1" # 其他传给 get_or_create 的参数
C. 作用域配置(Lifecycle)
  • Thread-scoped(默认):每个对话线程独立沙箱
  • Assistant-scoped:同一 Assistant 的所有线程共享一个沙箱(状态会累积,需注意清理)

四、关键安全提醒(配置时务必注意)

  1. 永远不要把真实 API Key、数据库密码等密钥直接注入沙箱(环境变量、文件、secrets 都不安全)。
  2. 优先使用「宿主机侧工具 + 网络代理注入凭证」的方式。
  3. 能关网络就关(blockNetwork等参数)。
  4. 用完一定要delete/kill/stop/terminate,并设置合理的 TTL。
  5. 对 Agent 的工具调用开启 Human-in-the-loop 审批更安全。
http://www.jsqmd.com/news/1384255/

相关文章:

  • 苏锡常切削液厂家怎么选?避开这三个误区才能找到靠谱供应商 - 甄选测评官
  • 深入解析Apollo Cyber RT架构:从数据驱动到实时调度
  • 结构化推理检索:RAG落地中超越向量库依赖的精准查询方案
  • 林木匠整家定制专业不专业 - 工业品网
  • 大模型推理引擎实战选型:vLLM、SGLang、TensorRT-LLM与llama.cpp深度对比
  • M3U8流媒体下载器:多线程并发下载与合并技术详解
  • AI如何修改英文简历-中译英+动词强化+海外ATS优化3步搞定
  • MATLAB bode函数详解:从频率响应分析到控制系统稳定性评估
  • 大学生体测管理系统的设计与实现--------SpringBoot + Vue.js + MySQL:从体测数据录入到成绩反馈与运动推荐的完整闭环
  • 微信公众号开发全流程指南与避坑实践
  • SaaS 从 0 到 1 研发管理实战:需求池、甘特排期、缺陷分类与工时沉淀四件套
  • 3分钟掌握Windows右键菜单终极管理方案:ContextMenuManager完全指南 [特殊字符]
  • 毕业证翻译是什么?学历翻译和普通翻译有区别吗?干货解析! - 实用干货补给站
  • 界面控件DevExpress Blazor v26.1新版亮点 - 智能粘贴 数据透视表
  • 深入解析OpenSpeedy:基于Windows Hook技术的游戏变速实践指南
  • Windows下Typora+PicGo搭建GitHub图床全攻略
  • 数学建模竞赛解题框架:从数据处理到模型构建的完整实践指南
  • RimSort模组管理器终极指南:3步告别《边缘世界》模组冲突的简单方法
  • EventHouse:构建实时数据管道,驱动AI Agent智能决策
  • 汉中市奔驰专修技术!汉中锦泰奔驰宝马专修,专业靠谱服务好,专攻空气悬挂疑难杂症。 - 专业优选推荐榜
  • 耀红火全光谱护眼台灯 儿童学生读写专用 - 资讯综合
  • 2026年,CAV智能家居将带来怎样的生活新体验?快来一探究竟! - 甄选测评官
  • Python爬虫实战:从零构建图片批量下载工具
  • 大模型生成控制:Temperature与Top K参数原理与LangChain实战调优
  • Python while循环嵌套:从基础语法到实战应用与避坑指南
  • MySQL数据库基础(一)库操作|表操作|数据类型|表约束详解
  • 苏锡常切削液厂家怎么选:从需求到验证的完整判断方法 - 甄选测评官
  • 2026年杭州管道漏水检测商家优选|探维管道科技(本地直营) - 全域品牌推荐
  • 一条高质量编程 Prompt,应该包含什么?
  • 5种模式+智能动态:TranslucentTB让你的Windows任务栏焕然一新