你实际上是如何使用像E2B或Daytona这样的代理沙箱的?试图弄清楚我是否需要它

Reddit r/AI_Agents 新闻

摘要

一位开发者讨论了使用像E2B和Daytona这样的代理沙箱来运行代码执行时的权衡取舍,向社区询问关于生命周期、状态持久化、网络隔离以及托管式与自托管式解决方案的问题。

我一直在反复思考沙箱这个问题,不确定自己是不是想太多了。理论上看,这种设置是合理的。如果代理要编写并运行代码,你显然不希望它在宿主机上做这些事情。E2B、Daytona 以及自建的 Firecracker/gVisor 路线基本都解决同样的问题:给代理一个可丢弃的盒子,让它随便折腾。让我纠结的是实际的使用模式。有几点我一直拿不定主意: - 生命周期。你是为每个任务创建一个全新的沙箱然后销毁,还是维持一个预热池?冷启动延迟和运行间状态泄漏之间的取舍才是真正的纠结点。 - 状态。你持久化了多少内容?有些工作流需要代理一次性安装依赖并重复使用,另一些则每次都要完全干净。 - 文件系统+网络。你实际上把限制做到多严格?完全网络隔离听起来不错,直到代理需要 `pip install` 某个东西时才发现问题。 - 托管式 vs. 自托管式。E2B 和 Daytona 上手很愉快,但我对于把代码执行交给别人的基础设施还是会有点紧张。 那么,对于那些实际运行代理并使其真正执行代码的人:你们在用啥?是有意选择还是偶然碰到的?相比自己直接跑在容器里,什么因素让这些方案真正值得一试?我真的很想知道大家是觉得这些工具不可或缺,还是说对于大多数情况用普通的 Docker 就能解决问题了。
查看原文

相似文章

在沙盒中部署智能体 vs 解耦

Reddit r/AI_Agents

本文比较了在云环境中部署 AI 智能体的两种模式:直接在沙盒中部署与解耦组件。文章解释了沙盒方法因云故障而存在的局限性,并重点介绍了 Anthropic 的 Claude Managed Agent 作为解决方案,该方案将会话存储、智能体运行时和沙盒解耦,以提高弹性。