Mislav Ivanda:先选执行边界,再选智能体框架

原标题Mislav Ivanda: Choose an execution boundary before an agent framework

Daytona 工程师比较了运行智能体生成代码时的本机审批、嵌入式运行时和沙箱机器。

MIMislav Ivanda讲者 · Daytona
频道
AI Engineer
发布
2026年11月9日
视频
15:35
阅读
4 分钟
幻灯片
2
原文
英语
在 YouTube 打开
往下滚动阅读时,视频会缩到右下角继续播放。字幕跟随阅读语言。
阅读语言共 2 种语言可读
由 AI 从英语原文翻译。打开“对照原文”可以逐段核对。
摘要

30 秒看懂

Mislav Ivanda 在将 Daytona 接入相互竞争的智能体框架时发现了共同模式:创建沙箱、执行任务、删除沙箱。他认为,更难的架构决策不是选择哪种框架,而是让生成的代码和工具调用在哪里执行。他比较了命令审批、嵌入式运行时和独立沙箱机器,并强调应在原型成为生产基础设施之前设计好执行边界。

  1. 1竞争框架共享沙箱生命周期尽管集成 API 不同,Ivanda 看到的操作都是创建、执行和删除。
  2. 2获批的解释器仍可能拥有广泛能力批准 Python 命令本身不会限制其网络或文件系统访问。
  3. 3工具调用可能穿过嵌入式运行时边界即使生成的代码受到隔离,数据库或邮件工具仍可能凭自身权限在别处执行。
  4. 4沙箱机器提供更强的分离Ivanda 推荐独立执行环境;实际保护效果取决于配置和访问授权。
  5. 5事后修改执行边界会改变系统架构原本依赖不受限本机访问的工具,在原型进入生产后可能难以迁入沙箱。

要点建议

  1. 不同智能体框架接入沙箱时,常常采用创建、执行、删除的共同生命周期。
  2. 允许使用通用解释器,可能授予远超命令名称表面含义的能力。
  3. 嵌入式运行时可以隔离生成的代码,但工具调用仍可能在边界之外执行。
  4. 独立沙箱需要谨慎配置网络、凭据和工具权限,才能提供有意义的隔离。
  5. 执行边界决定系统架构,日后通常比模型或框架更难更换。
全文

按章节阅读整理后的全文

只看原始文稿
01

不同框架中的共同模式

Ivanda 讲述将 Daytona 集成到不同智能体框架的经历。沙箱 API 虽然不同,生命周期却有重复出现的操作。

Mislav Ivanda 介绍自己将 Daytona 沙箱接入智能体框架、编程代理运行环境和开发者工具的工作。尽管这些框架差异很大,他仍发现了反复出现的共同模式。

他展示一段代码,请观众猜测所属框架。他说,多个答案都说得通,因为沙箱相关的实现非常相似:有的框架使用工具,有的使用插件,还有的使用客户端类。

不同的集成方式,相同的生命周期
幻灯片 1 / 2不同的集成方式,相同的生命周期例子展示不同框架如何创建沙箱、执行代码并删除沙箱。

在这些不同接口之下,反复出现的是相同操作:创建沙箱、在其中运行代码或任务,然后删除沙箱。Ivanda 认为这很值得注意,因为竞争框架在许多其他基本问题上意见不一。

他比较了将智能体描述为图、扮演不同角色的智能体集合、模型循环或完整产品的框架。它们使用的语言不同,对开发者明确指定工作流还是由智能体自行决定步骤的看法也不同。

02

生成代码的三种运行位置

他比较本机命令审批、嵌入式运行时和独立沙箱机器,重点讨论权限与工具调用如何跨越边界。

Ivanda 认为,有用的智能体工作流最终往往需要执行代码或访问 shell。接下来的架构问题是这些代码在哪里运行,以及它们拥有哪些能力。

第一种方法是在本机运行,配合命令白名单、审批提示和拦截钩子。这些检查可以约束交互,但批准通用解释器后,运行的代码仍可能访问文件、建立网络连接或执行其他代码。

他说,指定模型应该使用哪个命令,与控制进程实际上能做什么,是两回事。如果进程拥有广泛的主机权限,遭入侵的执行步骤就可能利用这些权限。

第二种方法是在 V8 或 QuickJS 等嵌入式运行时中执行生成的代码。这样可以对运行时内的代码提供一定的文件系统和网络隔离。

Ivanda 提醒,隔离生成的代码,不等于自动隔离它调用的每个工具。邮件或数据库工具可能在运行时外凭自己的权限执行,因此有害操作仍可能通过暴露的工具跨越边界。

他推荐使用通过 API 管理的独立沙箱计算机或虚拟机。执行环境可以创建、使用和销毁,而不必有意共享应用主机的全部资源。

Ivanda 认为这有助于限制遭入侵的执行步骤,避免整个应用直接暴露。实际保护效果仍取决于沙箱配置、网络访问、凭据以及所连接工具的能力。

03

框架与沙箱用法如何演进

Ivanda 举例说明框架向隔离执行发展的趋势,并介绍完整智能体和并行工作负载如何使用沙箱。

他举出 CrewAI、AG2 和 OpenAI Agents SDK 等框架改变代码执行支持的例子。他的重点是,隔离正从可选附加功能变成核心执行选择。

Ivanda 描述沙箱使用方式的演变:早期智能体通常为单次任务创建短期环境,完成后删除;能力更强的智能体则可以在隔离环境中运行更完整的工作流。

同时运行大量环境还可以支持强化学习、微调、基准测试和并行子智能体。这些工作负载都依赖大规模提供隔离执行环境的能力。

04

先选择难以更改的边界

他认为模型、提示词和一些功能可以替换,而把执行移出主机可能需要更深层的架构改动。

这段经历让他重新思考“应该选择哪个智能体框架”这个常见问题。他认为,开发者常比较的许多因素之后都能改变,而执行边界通常更根本。

他说,同一种语言编写的框架可以通过重构迁移,模型和提示词也可以在调优和回归测试后更换。缺失的功能有时也能自行实现或通过外部工具补足。

Ivanda 特别指出,持久执行更难在短时间内重新实现,因为它影响系统架构。他认为评测、追踪和记忆集成则是团队常常可以另行添加的例子。

沙箱服务商也可能共享创建、运行、删除的基本接口,但具体能力和性能各有差异。他将其与更难改变的选择作比较:在本机执行,还是使用外部环境。

可替换的选择与执行承诺
幻灯片 2 / 2可替换的选择与执行承诺幻灯片将模型和框架与较难改变的执行边界进行比较。

本机优先的原型可能让工具依赖主机文件系统和应用进程。如果这些假设延续到生产环境,迁移到独立执行边界就可能需要修改整个系统。

Ivanda 最后给出核心建议:先选择执行边界,再选择框架。框架体现可以改变的设计偏好;执行边界则会成为嵌入系统架构的长期承诺。

同频道的其他文章

7 张幻灯片19:41EN → 简体中文
AI Engineer· 2026年11月9日高可靠自动化的第一步:把难处理的案例分流出去Matthew Jewkes · Standard CyberneticsMatthew Jewkes 介绍如何在生物医药文档索引流程中区分关键错误、模糊判断和异常情况。智能体工程Workflow automation评估+1
7 张幻灯片22:01EN → 简体中文
AI Engineer· 2026年11月9日Zach Lloyd:让软件工厂可以衡量和修改Zach Lloyd · WarpWarp CEO 建议记录智能体运行、评估失败原因,并用真实任务测试工作流的改动。软件工厂编程智能体评估+2
12 张幻灯片27:35EN → 简体中文
AI Engineer· 2026年11月9日Uber 为加快 AI 时代的代码合并,放弃主干始终通过测试Preetam Dwivedi, Manjari Akella · Uber合并队列放宽部分冲突限制,合并后再验证组合状态,并保留已验证的可用版本。开发流程与测试编程智能体基础设施与部署+2
3 张幻灯片15:25EN → 简体中文
AI Engineer· 2026年11月9日Hassan 与 Omar El Mghari:AI 财务预测为何会“结果对了,理由错了”Hassan El Mghari, Omar El Mghari · Together AI一个 Costco 会员费模型通过了基础检查,结果也接近实际数据,但审计发现了相互抵消的错误假设。金融 AI评估智能体工程
3 张幻灯片14:38EN → 简体中文
AI Engineer· 2026年11月9日Jemima Abu:从一开始就给编程代理无障碍规则Jemima Abu · CAIS一位产品工程师介绍如何利用语义化 HTML、可复用组件和明确的代理技能,帮助团队构建更易用的界面。编程智能体产品与体验Agent skills
4 张幻灯片21:12EN → 简体中文
AI Engineer· 2026年11月9日Tom Moor:给编程代理补上代码看不到的产品背景Tom Moor · LinearLinear 的工作流将客户请求、历史决策、审查记录和人工反馈贯穿于接收、实现与审查。编程智能体产品与体验智能体工程