来自:
推荐一个程序员编程资料站:
http://cxyroad.com
副业赚钱专栏:https://xbt100.top
2024年IDEA最新激活方法
后台回复:激活码
CSDN免登录复制代码插件下载:
CSDN复制插件
以下是正文。
最近 AI 编程特别火,Claude Code、Codex、OpenHands 这些 Agent 工具,一个比一个能干。很多人第一次体验的时候都会有种错觉:AI 已经能像真正程序员一样自动干活了。
但当你真开始把复杂任务交给 AI 时,很快就会碰到一个非常现实的问题:
AI 写出来的代码,到底该在哪里执行?
你让 Claude Code 帮你写个爬虫、处理 CSV、跑自动化测试,代码是有了,可如果直接在本地执行,一旦脚本写炸了,轻则删文件、污染环境,重则网络权限乱飞、系统配置被改。
尤其现在 Agent 都在往全自动方向发展,风险会越来越大。
过去这块其实没什么特别成熟的开源方案。
很多团队只能自己拼 Docker、写调度器、做沙箱隔离;再不然就是直接裸跑,赌 AI 不会搞事情。
直到最近,我看到一个项目:Daytona 官方网站
这项目有点意思。
截至 2026 年 5 月,GitHub 已经接近 7.2 万 Star,每天在 SaaS 平台上处理超过 200 万个 Sandbox。今年年初还拿了 2400 万美元 A 轮融资。
今天这篇文章,我就带大家拆一下 Daytona。
它到底解决什么问题、内部怎么设计、为什么现在很多 AI Agent 开始拿它当执行层。
01 | AI Agent 最大的问题,其实不是写代码
很多人以为 AI 编程最大的挑战,是模型能力不够。
实际上,现在的大模型写 CRUD、写脚本、改 Bug,已经很能打了。
真正麻烦的,是执行。
因为 AI 写完代码后,你总得让它运行。
而一旦运行,就会涉及:
文件系统权限
网络访问
环境隔离
资源控制
生命周期管理
安全问题
传统方案当然是 Docker。
但 Docker 是给开发者设计的,不是给 AI Agent 设计的。
这里有几个非常明显的问题。
第一,启动慢。
一个容器冷启动两三秒很正常。
对人来说没什么,但对 Agent 来说非常致命。
因为 Agent 的工作流本质上是高频、小任务、多轮执行。
你想象一下:
AI 每改一次代码,就得重新拉一个容器。
整个链路会非常卡。
第二,管理复杂。
容器生命周期、资源限制、网络隔离、镜像缓存,全得自己维护。
你真正做过之后会发现:
AI Agent 业务没写多少,结果先做了一套容器平台。
第三,对 Agent 不友好。
Agent 需要频繁:
操作文件
执行命令
获取日志
读取输出
修改代码
Docker API 并不是围绕这些场景设计的。
于是 Daytona 出现了。
它的定位非常明确:
专门给 AI Agent 提供代码执行基础设施。
官方有一句话我觉得总结得很准:
Secure and Elastic Infrastructure for Running AI-Generated Code
翻译过来就是:
专门给 AI 生成代码准备的安全执行环境。
02 | Daytona 最核心的能力:Sandbox
Daytona 里最重要的概念,叫 Sandbox。
你可以把它理解成:
一个极轻量、可瞬时启动的小型隔离环境。
每个 Sandbox 都拥有:
独立文件系统
独立网络栈
独立进程空间
独立资源限制
本质上已经接近一台微型虚拟机。
但它最大的离谱之处在于:
启动速度。
官方给的数据是:
90ms 内启动完成。
注意,不是秒。
是毫秒。
这意味着什么?
意味着 AI Agent 可以像调用函数一样,动态创建执行环境。
而不是像传统容器平台那样,需要等待几秒钟。
默认配置:
1 vCPU
1GB 内存
3GB 磁盘
最高可以扩展到:
4 vCPU
8GB 内存
10GB 磁盘
绝大部分 AI 工作流已经完全够用了。
更关键的是:
它兼容 OCI/Docker 镜像。
也就是说,你原来的 Dockerfile 基本不用改。
迁移成本非常低。
03 | 创建一个 Sandbox,到底有多简单
Daytona 的 SDK 做得非常轻。
Python 版本创建 Sandbox,大概就是三步。
先初始化客户端:
fromdaytonaimportDaytona, DaytonaConfig config=DaytonaConfig(api_key="YOUR_API_KEY") daytona=Daytona(config)
然后直接创建:
sandbox=daytona.create()
接着执行代码:
response=sandbox.process.code_run('print("Hello World!")') print(response.result)
结束了。
没了。
整个过程甚至比很多 Docker SDK 还简单。
而且对于 Agent 来说,这种接口天然非常舒服。
因为它不是容器思维。
而是:
创建执行环境 → 跑任务 → 返回结果
非常符合 AI 工作流。
04 | Daytona 为什么比 Docker 更适合 Agent
很多人第一次看 Daytona,会觉得:
这不就是换皮 Docker 吗?
实际上差别挺大。
Docker 的核心思维是:
部署应用。
而 Daytona 的核心思维是:
执行 AI 生成代码。
这两个方向完全不同。
Daytona 在底层专门针对 Agent 做了很多优化。
比如生命周期管理。
它有完整状态机:
Creating
Started
Paused
Stopped
Archived
Deleted
其中几个状态特别实用。
Pause:
暂停后会保留内存状态。
适合长上下文任务。
Stop:
关闭运行态,但保留磁盘数据。
类似关机。
Archive:
把整个环境归档到对象存储。
大幅降低成本。
还有自动生命周期管理。
默认 15 分钟无操作自动停止。
这个功能特别适合 Agent。
因为 AI 经常会忘记清理资源。
如果没有自动回收机制,成本会一路爆炸。
05 | Daytona 的三层架构,其实很聪明
如果你是后端开发,应该会对 Daytona 的架构比较感兴趣。
它整个系统拆成了三层。
Interface Plane 接口层
这一层负责和用户交互。
包括:
Python SDK
TypeScript SDK
Go SDK
Java SDK
CLI
Dashboard
MCP Server
不管你从哪里进来,最终都会进入控制层。
Control Plane 控制层
这一层是整个系统的大脑。
主要负责:
Sandbox 生命周期
调度
认证
快照管理
资源分配
技术栈也很典型:
NestJS
PostgreSQL
Redis
Auth0
Compute Plane 计算层
真正运行 Sandbox 的地方。
这里才是真正执行代码的节点。
Sandbox 内部还有一个 Daemon 代理。
外部通过 Toolbox API:
执行命令
操作文件
获取日志
拉取结果
整个设计有个很大的优点:
三层彻底解耦。
企业完全可以:
控制层用 Daytona
计算层用自己机器
灵活性非常高。
06 | Snapshot 才是 Agent 工程化的关键
我个人觉得 Daytona 里最好用的功能,其实不是 Sandbox。
而是 Snapshot。
简单理解:
你可以把一个已经配置好的环境,直接保存成模板。
以后所有 Sandbox,都从这个模板启动。
比如:
Python 已经装好
Node 环境已经配置
依赖包已经缓存
CUDA 已经准备好
这样 Agent 每次执行任务,都能拿到一个完全一致的环境。
这件事特别重要。
因为 AI 最怕环境漂移。
很多 Agent 失败,不是代码问题。
而是:
某个包版本变了
某个环境变量没了
某个依赖没安装
Snapshot 本质上是在解决:
环境确定性问题。
07 | MCP 集成,是 Daytona 最关键的一步
这一块非常值得聊。
因为它决定了 Daytona 为什么会突然爆发。
现在 Anthropic 推出了 MCP 协议。
全称是:
Model Context Protocol。
它本质上是在做:
AI 世界里的 USB 接口。
让模型可以统一调用外部工具。
Daytona 做的事情,就是:
把 Sandbox 封装成 MCP 工具。
于是支持 MCP 的客户端:
Claude Desktop
Cursor
Windsurf
OpenCode
都能直接连接 Daytona。
整个流程会变成:
Claude → MCP → Daytona → Sandbox → 返回结果
模型不需要碰你本地环境。
安全隔离天然完成。
这其实是 AI Agent 基础设施里非常关键的一环。
08 | Daytona 真正适合哪些场景
目前 Daytona 最适合四类场景。
AI 编程 Agent
比如:
OpenHands
SWE-agent
Claude Code 工作流
Agent 写完代码后:
自动启动 Sandbox → 执行测试 → 返回结果 → 继续迭代
整个链路完全闭环。
数据分析平台
用户上传 CSV。
AI 自动:
写 Python
跑分析
出图表
返回结果
所有任务都在隔离环境运行。
不会污染主系统。
在线代码执行平台
比如:
教育平台
在线 IDE
数据科学 SaaS
这类业务最大的难点一直是:
安全执行用户代码。
Daytona 相当于把这部分基础设施直接封装好了。
大规模 AI 评估
例如:
批量跑 LLM Benchmark
强化学习环境
自动化测试
Sandbox 天然支持水平扩展。
很适合高并发任务。
09 | Daytona 有哪些容易踩坑的地方
当然,它也不是完全没坑。
有几个细节一定要注意。
第一个是自动停止机制。
默认 15 分钟无活动会自动 Stop。
但这里有个坑:
后台任务不算活动。
也就是说:
你如果跑一个长时间推理任务。
哪怕任务还在执行。
只要没有外部请求,Sandbox 也可能被自动停掉。
解决办法:
把 auto_stop_interval 设成 0。
或者主动发送心跳。
第二个是网络权限。
默认情况下 Sandbox 可以访问外网。
但 Daytona 支持:
出站白名单
禁止出站
网络隔离
生产环境建议一定要限制。
尤其是运行 AI 生成代码时。
第三个是 Sandbox Fork。
这是实验功能。
可以直接复制运行态 Sandbox。
包括内存状态。
这个能力很强,但目前还偏实验性质。
10 | AI Agent 的下一层基础设施,可能已经开始成型了
过去大家做 AI Agent,重点都在模型。
现在越来越多人发现:
真正难的,是执行层。
因为 AI 不只是聊天。
它开始真正操作系统、执行代码、调用工具。
而 Daytona 这种项目,本质上是在补 AI Agent 的基础设施空缺。
它不是单纯容器平台。
也不是普通沙箱。
而是一套:
专门给 AI 自动执行代码设计的运行时系统。
90ms 启动、隔离环境、Snapshot、MCP、多语言 SDK,这些东西单独看都不算新。
但组合在一起之后,就很有意思了。
尤其现在很多人开始用 Claude Code 做:
自动修 Bug
自动跑测试
自动提交 PR
自动分析数据
这时候你会发现:
底层如果没有一个真正安全的执行环境,整个系统其实是很危险的。
而 Daytona,刚好补上了这一块。
项目地址:
Daytona GitHub
<END>
推荐阅读:
副业赚钱推荐:让你的时间开始变现!
免费体验AI图片生成,就在 Image Generator Hub!
程序员在线工具站:cxytools.com 推荐一个自己写的工具站:https://cxytools.com,专为程序员设计,包括时间日期、 JSON处理、SQL格式化、随机字符串生成、UUID生成、文本Hash...等功能,提升开发效 率。 ⬇戳阅读原文直达! 朕已阅