惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Google DeepMind News
Google DeepMind News
The GitHub Blog
The GitHub Blog
Engineering at Meta
Engineering at Meta
N
Netflix TechBlog - Medium
Y
Y Combinator Blog
aimingoo的专栏
aimingoo的专栏
A
About on SuperTechFans
V2EX - 技术
V2EX - 技术
Webroot Blog
Webroot Blog
Google Online Security Blog
Google Online Security Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
AI
AI
N
News and Events Feed by Topic
S
Secure Thoughts
www.infosecurity-magazine.com
www.infosecurity-magazine.com
The Cloudflare Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
T
Tailwind CSS Blog
Vercel News
Vercel News
V
Vulnerabilities – Threatpost
Spread Privacy
Spread Privacy
Know Your Adversary
Know Your Adversary
人人都是产品经理
人人都是产品经理
I
Intezer
Schneier on Security
Schneier on Security
Martin Fowler
Martin Fowler
J
Java Code Geeks
K
Kaspersky official blog
H
Heimdal Security Blog
O
OpenAI News
I
InfoQ
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
云风的 BLOG
云风的 BLOG
Hacker News - Newest:
Hacker News - Newest: "LLM"
Blog — PlanetScale
Blog — PlanetScale
S
Schneier on Security
S
Security @ Cisco Blogs
Security Latest
Security Latest
PCI Perspectives
PCI Perspectives
H
Hacker News: Front Page
C
CERT Recently Published Vulnerability Notes
博客园_首页
The Last Watchdog
The Last Watchdog
罗磊的独立博客
L
LINUX DO - 热门话题
U
Unit 42
月光博客
月光博客
Security Archives - TechRepublic
Security Archives - TechRepublic
Scott Helme
Scott Helme

博客园 - stardsd

AI for AI:Recursive Self Improvement(RSI) DRAM(High Bandwidth Memory)与HBM(Dynamic Random Access Memory) Browserbase:AI Agent 的“云浏览器” Composio:AI Agent 的工具连接层 E2B介绍与示例 人工智能前沿研究报告 智能体攻防 计算语言学(computational linguistics) 状态空间模型(State Space Model, SSM) 神经符号集成(Neuro-Symbolic Integration) 动态计算分配(Dynamic Compute Allocation)技术:MoD 从LLM到SLM:小型语言模型 Claud Code 源码设计哲学总结 Claud Code源代码主提示词(prompts)中文版 REPL的实现以及Agent的REPL-Plan模式 LLM 大语言模型研究进展与趋势报告 DeepSeek DualPath 论文解读 Test Time Scaling (TTS) Web 4.0:Agentic Web CL-bench:上下文学习的评测 梅宏院士:符号主义与连接主义的结合应该成为下一代AI的发展方向 训推误差(training-inference mismatch)与重要性采样(Importance Sampling,IS) 如何设计GRPO系算法的reasoning reward + pair采样策略 GRPO(Group Relative Policy Optimization) 算法的演进脉络以及DAPO、VAPO、SRPO、GFPO的区别与联系 VLM评估体系指标对比:CIDEr vs CLIPScore vs GPT-based Eval CIDEr公式:多模态评价指标 TDM(Tree-based Deep Model,树模型) VLM的视觉词汇表扩充(Vary:扩展大型视觉语言模型的视觉词汇量) CLIP视觉词汇表与Q-Former Agent Skill 解析 斯科特·佩奇(Scott E. Page)多样性预测定理(Diversity Prediction Theorem) AI合成数据、模型坍缩与数据焦虑问题:合成数据的扩展定律(Scaling Law)
Daytona——为Agent提供可长期存在、可持续开发、可恢复状态的 Workspace
stardsd · 2026-07-03 · via 博客园 - stardsd

很多人在第一次接触 Daytona 时都会有一个疑问:

Daytona 不就是 Docker + VS Code Remote 吗?为什么 AI Agent 还需要它?

实际上,Daytona 的定位不是容器,而是 Development Environment(开发环境)管理平台。如果说 E2B 提供的是一次性的代码执行沙箱,那么 Daytona 提供的是可长期存在、可持续开发、可恢复状态的 Workspace(工作空间)

下面我结合几个真实的 AI Agent 场景来说明。


一个真实案例:AI Coding Agent 修复 GitHub Bug

假设我们要开发一个类似 OpenAI Codex、Cursor Agent、Devin 的 AI 编程 Agent。

用户说:

帮我修复 GitHub 上的 Issue #123,并提交 PR。

整个 Agent 的执行流程如下:

                用户
                  │
                  ▼
          AI Coding Agent
                  │
          读取 GitHub Issue
                  │
                  ▼
          创建 Daytona Workspace
                  │
                  ▼
          Clone GitHub Repository
                  │
                  ▼
           安装项目依赖
                  │
                  ▼
             运行 pytest
                  │
                  ▼
            LLM 修改代码
                  │
                  ▼
            再次运行 pytest
                  │
                  ▼
          所有测试通过
                  │
                  ▼
          Git Commit + Push + PR

这里最关键的一步就是:

创建 Daytona Workspace。


第一步:创建 Workspace

假设 Agent 收到一个新的任务。

Agent 不会直接:

git clone repo

而是先创建:

Workspace:

bug-fix-issue-123

例如(伪代码):

workspace = daytona.create(
    name="issue-123",
    image="python:3.12"
)

Daytona 会创建:

Workspace
│
├── Ubuntu
├── Python 3.12
├── Git
├── pip
├── Node.js
└── VS Code Server

可以理解成:

给 Agent 分配了一台全新的开发电脑。


第二步:Clone GitHub

Agent:

进入 Workspace:

git clone https://github.com/company/project.git

注意:

这里:

Git Repository:

属于:

Workspace。

不是:

你的服务器。


第三步:安装依赖

Agent:

发现:

项目:

需要:

requirements.txt

于是:

pip install -r requirements.txt

安装:

所有依赖。

之后:

Workspace:

变成:

Workspace

├── Git Repo

├── Python

├── pandas

├── numpy

├── pytest

└── venv

这些:

都会保留下来。


第四步:运行测试

Agent:

执行:

pytest

结果:

23 passed

2 failed

LLM:

读取:

失败信息。

开始:

修改代码。


第五步:修改代码

例如:

LLM:

生成:

def add(a, b):
    return a + b

Agent:

直接:

修改:

Workspace:

里的:

源代码。

不是:

重新生成:

整个项目。


第六步:再次测试

继续:

pytest

结果:

25 passed

0 failed

成功。


第七步:提交 Git

Agent:

继续:

git commit

git push

然后:

创建:

PR。

整个过程中:

Workspace:

一直存在。


为什么不用 E2B?

很多人都会问:

不是有 E2B 吗?

最大的区别就在于:

生命周期(Lifecycle)

E2B:

适合:

运行一次 Python

↓

结束

↓

删除

例如:

数据分析。

画图。

OCR。

PDF。


Daytona:

适合:

开发

↓

修改

↓

测试

↓

继续开发

↓

保存状态

↓

第二天继续

例如:

软件开发。


一个更真实的例子

假设:

一个 Bug。

需要:

三天。

第一天:

Agent:

已经:

Clone Repo

↓

安装依赖

↓

跑测试

↓

修改一半

第二天:

Agent:

继续。

如果:

E2B。

昨天:

Sandbox:

已经:

删了。

全部:

重新开始。

但是:

Daytona:

Workspace:

一直存在。

今天:

继续:

Workspace

↓

Git

↓

继续开发

像:

程序员:

昨天:

关电脑。

今天:

继续。


AI 产品经理 Agent

再来看一个办公场景。

用户:

帮我分析这个项目,并生成 API 文档。

Agent:

创建:

Workspace:

project-doc

然后:

Clone Repo

↓

Python

↓

读取代码

↓

生成 UML

↓

生成 Markdown

↓

保存文档

第二天:

用户:

再补充数据库设计。

Agent:

继续:

昨天:

Workspace。

所有:

文件:

都在。


Daytona 为什么叫 Workspace?

因为:

它不是:

一次:

执行。

而是:

持续:

开发。

例如:

Workspace:

workspace-001

├── project
├── README.md
├── docs
├── src
├── .venv
├── node_modules
└── git

就像:

你的:

Mac。

或者:

VS Code。


Daytona 与 Docker 的关系

很多人:

第一次:

都会说:

这不就是 Docker?

其实:

底层:

可能:

使用:

Docker。

但是:

Daytona:

提供:

更高层:

能力。

例如:

Docker:

docker run

之后:

很多:

事情:

自己:

做。

例如:

  • Git
  • SSH
  • VS Code
  • 生命周期
  • Workspace

而:

Daytona:

全部:

封装。


Daytona 与 Browserbase

Browserbase:

负责:

浏览器。

例如:

Chrome

↓

网页

↓

点击

Daytona:

负责:

开发环境。

例如:

Git

Python

VS Code

Node

Shell

Daytona 与 Composio

Composio:

负责:

工具。

例如:

GitHub API

Slack

Notion

Daytona:

负责:

开发。

例如:

Clone Repo

↓

修改代码

↓

运行测试

例如:

用户:

修 GitHub Bug。

流程:

GitHub
   ▲
Composio
   │
Agent
   │
Daytona Workspace
   │
Git
pytest
Python

Daytona 与 E2B

这是最容易混淆的一组。

假设:

用户:

帮我画一个销售图。

Agent:

Python

↓

E2B

↓

PNG

↓

结束

E2B:

一分钟。

结束。


另一种:

用户:

帮我开发一个 Flask 网站。

Agent:

Clone

↓

开发

↓

Debug

↓

运行

↓

修改

↓

Git

↓

继续开发

这就是:

Daytona。


一个企业级案例:开发 AI Agent 项目

假设你正在负责一个核电施工方案生成与审核大模型项目。

团队每天都在开发新的 Agent 能力,例如:

  • 文档解析
  • RAG 检索
  • 施工规范审核
  • 前端展示

如果每位开发者、每个 Agent 都手动配置 Python、Java、Node.js、数据库环境,成本会非常高。

这时可以用 Daytona 为每个任务创建独立 Workspace:

Workspace:doc-parser
├── Python 3.12
├── OCR 环境
├── python-docx
└── 测试数据

Workspace:rag-engine
├── Milvus Client
├── Embedding Model
└── 检索脚本

Workspace:frontend
├── Node.js
├── React
└── Vite

当 Agent 接到"修复文档解析 Bug"的任务时,只需要进入 doc-parser Workspace,就能立即开始工作;当接到"优化 RAG 检索"任务时,则进入 rag-engine Workspace。不同任务之间互不影响,环境也无需重复搭建。


总结:一句话理解 Daytona

很多人会把 E2B、Daytona、Browserbase 混在一起,其实它们分别对应三种完全不同的运行环境:

平台 类比 生命周期 最适合的任务
E2B 一次性实验室 分钟级 执行 Python、数据分析、文件处理
Browserbase 云浏览器 会话级 登录网站、网页自动化、下载上传
Daytona 云开发电脑 天/周级 AI Coding、调试、持续开发、项目维护

因此,Daytona 的核心价值不是"执行代码",而是"维护一个长期存在、可恢复、可持续迭代的开发环境"。

对于现代 AI Coding Agent(如 Codex、Cursor Agent、Devin 等)来说,它就像给每个 Agent 分配了一台专属的开发电脑:Agent 可以在里面克隆代码、安装依赖、修改文件、运行测试、保留开发状态,并在下一次任务中继续使用,而不必每次都从零开始。