Speaker 100:00 - 00:18
We are a part of this like super cycle right now and the super cycle does not last forever. And so if you're gonna pause by the super cycle, you are speeding market. Like that is what you're doing. I would ask Claude, can you go fetch the data from our bank? And then it was like, oh yeah, just log in and give me access. Speaker 100:00 - 00:18
我们现在正处在某种 super cycle(超级周期)的一部分,而 super cycle 不会永远持续下去。所以如果你是被这个 super cycle 推着走而暂停思考,本质上你就是在追逐市场。这就是你在做的事。我会去问 Claude,你能从我们的银行把数据取过来吗?然后它就像是,哦可以啊,你登录一下并给我访问权限。
Speaker 100:18 - 00:36
I'm like, log in and give me a no. I will not give you access. Right away fundamentally for me that was like broke the entire thesis of it. So you give it its own machine. When I think about agents, I think of them as digital knowledge workers And to do anything as a knowledge worker, you do need a computer. Speaker 100:18 - 00:36
我当时的反应是:登录然后把权限给你?不,我不会给你访问权限。对我来说,这立刻就在根本上打破了整个论点。所以你要给它一台属于它自己的机器。当我想到 agent(智能体)时,我会把它们看作 digital knowledge workers(数字知识工作者);而作为知识工作者,要做任何事情,你确实都需要一台电脑。
Speaker 100:36 - 00:40
My argument is that every agent will need at least one sandbox, sometimes more. Speaker 100:36 - 00:40
我的观点是,每个 agent 都至少需要一个 sandbox(沙箱),有时候还需要更多。
Speaker 200:40 - 01:11
Claire Matturk. Welcome to the MAD podcast. My guest today is Ivan Borozin, CEO of Daytona, one of the most talked about startups in agent infrastructure. If you've been hearing the word sandbox in every AI agent conversation and quietly wondering what it actually means and why it suddenly matters, this episode is for you. We go from first principles, why does an agent need a computer at all, all the way to the deep technical end, why Daytona had to throw out Kubernetes and write their own scheduler, and why a global CPU shortage might be coming faster than people think. Speaker 200:40 - 01:11
Claire Matturk,欢迎来到 MAD podcast。今天我的嘉宾是 Ivan Borozin,Daytona 的 CEO,也是 agent infrastructure(智能体基础设施)领域讨论度最高的 startup(初创公司)之一。如果你最近在每一次 AI agent 对话里都听到 sandbox 这个词,同时又在暗自纳闷它到底是什么意思、为什么突然变得这么重要,那么这一期就是为你准备的。我们会从第一性原理讲起:为什么一个 agent 归根结底需要一台电脑?也会一路深入到技术深水区:为什么 Daytona 必须放弃 Kubernetes,自己重写调度器,以及为什么全球 CPU 短缺可能会比很多人想象得更快到来。
Speaker 201:11 - 01:34
Ivan also unpacked the full agent stack as he sees it, models, sandboxes, tools, MCP, memory, orchestration, and where each piece is heading. Along the way, Ivan shares some really interesting lessons on go to market and distribution for technical founders that he has learned through sixteen years building developer tool startups. Please enjoy this conversation with Ivan from Daytona. Hey Ivan, welcome. Speaker 201:11 - 01:34
Ivan 还拆解了在他看来完整的 agent stack(智能体技术栈):models(模型)、sandboxes、tools(工具)、MCP、memory(记忆)、orchestration(编排),以及这些部分各自将走向何方。在这个过程中,Ivan 也分享了不少很有意思的 go-to-market(市场进入)和 distribution(分发)经验——这些都是他在 16 年打造 developer tool(开发者工具)startup 的过程中学到的。请欣赏这场与 Daytona 的 Ivan 的对话。嘿,Ivan,欢迎你来。
Speaker 101:34 - 01:35
Great to be here. Speaker 101:34 - 01:35
很高兴来到这里。
Speaker 201:35 - 01:44
So you have said that every agent needs its own computer. What's the simplest way of explaining that idea? Speaker 201:35 - 01:44
你曾说过,每个 agent 都需要属于它自己的电脑。解释这个想法,最简单的方式是什么?
Speaker 101:44 - 02:13
Well, I think about agents, I think of them as digital knowledge workers and to do anything as a knowledge worker you do need a computer or I should say anything sophisticated. So you and I can be on a conversation and we can get something done, but we usually need some sort of tools in our world is usually a computer to get higher productivity, and to be able to do things and so I think of that in the same lens. For me agents are literally just digital knowledge workers. Speaker 101:44 - 02:13
嗯,当我想到 agent 时,我会把它们看作 digital knowledge workers,而作为知识工作者,要做任何事情——或者我应该说,要做任何复杂一点的事情——你都需要一台电脑。比如你和我可以通过一场对话完成一些事,但通常我们还是需要某种工具;在我们的世界里,这通常就是电脑,它能带来更高的生产力,也让我们能够真正把事情做成。所以我也是用同样的视角来看这件事。对我来说,agents 本质上就只是 digital knowledge workers。
Speaker 202:13 - 02:20
Great. And so it's on a computer that's the whole concept of Sandbox. As an introduction to this whole conversation, what is a Sandbox? Speaker 202:13 - 02:20
很好。所以是在一台电脑上运行,而这整个概念就是 Sandbox。作为这场对话的开场,什么是 Sandbox?
Speaker 102:20 - 02:49
Absolutely. So Sandbox is although the term Sandbox first comes from isolation. So making sure that there's a secure place for in this case an agent to run and do things but on the other side it is essentially a computer it's a full on computer that an agent has the ability to install tools, access the web, run scripts, run code, whatever it needs to get its job done. So the shortest answer is a sandbox is essentially we call them composable computers for AI agents. Speaker 102:20 - 02:49
当然。Sandbox 这个词最初其实来自“隔离”这个概念。也就是要确保有一个安全的地方,让这里说的 agent 能在里面运行、执行各种操作;但从另一面看,它本质上又是一台电脑,是一台完整的电脑,agent 可以在上面安装工具、访问 web、运行脚本、运行代码,总之做任何完成任务所需的事。所以最简短的回答是:sandbox 本质上就是我们所说的,面向 AI agents 的 composable computers(可组合计算机)。
Speaker 202:49 - 02:59
Yeah. And is in some ways like this whole OpenClaw and Mac mini like a good analogy for what a sandbox is like the Mac mini sort of being the sandbox? Speaker 202:49 - 02:59
对。所以从某种意义上说,整个 OpenClaw 和 Mac mini 的例子,是否可以作为一个很好的类比,来说明 sandbox 是什么样子——也就是把 Mac mini 看作 sandbox?
Speaker 102:59 - 03:12
Exactly. So I think the Openclaw Mac mini thing helped a lot of people understand what we actually do. It's like, oh, I get it now. I get it. Right? Speaker 102:59 - 03:12
没错。所以我认为 OpenClaw Mac mini 这件事,确实帮助很多人理解了我们到底在做什么。就像是,“哦,现在我懂了。我懂了。”对吧?
Speaker 103:12 - 03:17
So it needs a computer. In this case, was a Mac Mini to be able to do different things. So yes, that helped a lot with awareness for sure. Speaker 103:12 - 03:17
所以它需要一台电脑。这里那个例子里,是一台 Mac Mini,来执行各种不同的事情。所以没错,这对提升认知度的帮助确实很大。
Speaker 203:17 - 03:35
Yeah. Because, again, to unpack it like the, OpenCLaw as as a as a framework and system to help an agent do all sorts of things on your computer. Basically, you wanna be able to kill it if it goes rogue, therefore, you can unplug the Mac mini, the way you could sort of kill a sandbox. Is that is that Speaker 203:17 - 03:35
对。因为再展开讲一下,OpenClaw 作为一个 framework(框架)和 system(系统),是帮助 agent 在你的电脑上做各种事情的。基本上,如果它失控了,你会希望自己能够“杀掉”它;因此你可以直接拔掉 Mac mini,就像你也可以某种程度上终止一个 sandbox 一样。这个理解是不是——
Speaker 103:35 - 04:14
Kind of. So there's a there's a couple of things that I personally thought about. And so my OpenClaw runs on a not a physical Mac mini essentially, but a sandbox, virtual Mac mini. And the reason why I didn't so the way people usually run these things and Claude code or OpenClaw is usually on their own computer because it helps them you know organize emails, know search whatever documents they have and whatnot. There's a one there's a high security risk there because at one point we were doing our board meeting presentation and I would ask Claude, can you go fetch the data from our bank? Speaker 103:35 - 04:14
算是吧。不过这里面有几件我自己会考虑的事。我的 OpenClaw 跑的其实不是一台实体的 Mac mini,而本质上是一个 sandbox,也就是一台虚拟的 Mac mini。我之所以没有——通常人们运行这类东西,不管是 Claude code 还是 OpenClaw,往往都是直接跑在自己的电脑上,因为这样它就能帮他们整理邮件、搜索他们手头的各种文档之类的。但这里存在一个很高的安全风险,因为有一次我们在做董事会会议演示时,我会问 Claude:“你能去把我们银行里的数据取过来吗?”
Speaker 104:15 - 05:03
And then it was like, yeah, just log in and give me access. I'm like, log in give me a no I will not give you access right and so right away fundamentally for me that was like broke the entire thesis of it. So you give it its own machine. I personally gave it its own like Daytona account to give its own phone number and reason the I have to give its own phone number is because it has to do 2FA to get into the bank like there's no other way except for 2FA with the phone number for this particular bank and so it has to have all these things like a employee, like a digital employee to be able to go and access these things and so the risk now that now that it has its own computer, it has its own account, these accounts have limitations so it can only it can only look at the data for my bank, it can't spend the money for my bank and so except for the credit card that we did give it which has a you know a $100 a day or whatever it may be. Speaker 104:15 - 05:03
然后它就像是在说:“可以,你登录一下并给我访问权限。”我当时就想,登录并给你权限?不,我绝不会给你这个权限。对我来说,这从根本上就直接打破了整个设想。所以你应该给它一台属于它自己的机器。我个人是给了它一个独立的 Daytona account,还给了它一个自己的电话号码;之所以必须给它自己的电话号码,是因为它要通过 2FA(双重身份验证)才能登录银行——对这家银行来说,除了通过电话号码做 2FA 之外,没有别的方式。所以它必须像一名员工一样,具备所有这些东西,像一个 digital employee(数字员工)那样,才能去访问这些资源。这样一来,风险就变成:既然它有了自己的电脑,也有了自己的账户,而这些账户本身又有限制,那么它就只能查看我银行里的数据,不能动用我银行里的钱。唯一的例外是我们确实给了它一张信用卡,不过那张卡有比如每天 100 美元之类的额度限制。
Speaker 105:03 - 05:16
And so the only risk you essentially have at that point if it's in the sandbox is will it take this data and now leak it somewhere? And that's something we can talk about later, but essentially the worst thing can happen is that and to your point, you can kill the whole machine if you need to kill Speaker 105:03 - 05:16
所以到了那个阶段,如果它是在 sandbox 里运行,你真正需要担心的风险基本就只剩下:它会不会把这些数据拿走,然后泄露到别的地方?这个我们之后可以再谈,但本质上最坏会发生的情况也就是这个;而且正如你说的,如果有需要,你可以把整台机器直接干掉。
Speaker 205:16 - 05:25
a machine. And there is a phenomenal concept of stateful versus stateless, can you can you unpack that for us? Speaker 205:16 - 05:25
一台机器。而且这里有一个关于 stateful(有状态)与 stateless(无状态)的现象级概念,你能不能帮我们拆解一下?
Speaker 105:25 - 06:21
So that basically comes when we talk to people about what we are building they're like oh doesn't this sort of exists in any of the hyperscalers right? And so the answer is no and the answer is no is because everything that they were built for which was deploying apps they were stateless like if you have let's let's pick any of your websites or whatever you want web apps you do not want that to change on the fly. If you are the company we'll pick like eBay because they're in this building so they came to mind And so if you're eBay and you're an engineer there you're like oh you have this new you know update a button is here or does this thing you want that state that you don't want that to be changed on the fly, right? The database might change, information might change, we don't want the app to change, right? And so with those things in mind, that is how people had built the hyperscalers like that is the fundamental architecture you came into and built on top of that. Speaker 105:25 - 06:21
所以,基本上当我们和别人聊我们正在构建的东西时,他们会说,哦,这不就是任何 hyperscalers(超大规模云服务商)里本来就有的吗?答案是否定的。之所以是否定,是因为它们原本被构建出来的目标——也就是部署 apps——本质上都是 stateless(无状态)的。比如说,随便拿一个你的网站也好,或者任何 web apps 都行,你并不希望它在运行过程中被动态改变。假设你是一家公司——我们就拿 eBay 来举例,因为他们就在这栋楼里,所以我先想到他们。如果你是 eBay 的一名工程师,你会想,哦,你有一个新的更新,比如一个按钮放到这里,或者这个功能改成那样,你希望这个状态是固定的,你不希望它在运行中被动态改掉,对吧?数据库可能会变,信息可能会变,但我们不希望 app 本身发生变化,对吧?正是基于这些前提,人们才构建了这些 hyperscalers;那就是你进入这个体系时所面对并在其上继续构建的底层架构。
Speaker 106:21 - 06:49
And the simplest analogy I give people is let's say you're building a truck, right? You are a factory for a truck. There's like the weight, the type of the engine, the chassis, all of that is made to very slowly but surely securely transport some sort of goods, right? On the other hand, you can have a sports car which is still, you know, it has four wheels and has an engine whatever, but it's made for different things. It's made to go very fast. Speaker 106:21 - 06:49
我给人们的最简单类比是,假设你在造一辆卡车,对吧?你有一家卡车工厂。它的重量、发动机类型、底盘等等,都是为了缓慢但稳定且安全地运输某种货物而设计的,对吧?另一方面,你也可以有一辆跑车,它当然也有四个轮子,也有发动机之类的,但它是为完全不同的事情而造的。它是为了跑得非常快。
Speaker 106:49 - 07:03
So the way the chassis is built, way the, you know, engine, the weight balances is completely different and so you can do can do a lot of things with both, but they're not fundamentally the same thing. And as a company trying to build out both of those, they're separate platforms completely. Right? Speaker 106:49 - 07:03
所以,底盘的构造方式、发动机的设计方式、重量平衡方式都完全不同。因此,这两者都能做很多事情,但它们在根本上不是同一种东西。而对于一家想同时构建这两类产品的公司来说,它们会是完全分开的平台。对吧?
Speaker 207:03 - 07:12
Mhmm. So sandboxes are fundamentally new primitive. Is that is that correct? Is it is it like a history of sandbox? Did sandbox exist before? Speaker 207:03 - 07:12
明白。所以 sandbox(沙箱)本质上是一种新的 primitive(基础原语),这样说对吗?还是说 sandbox 其实有一段历史?sandbox 以前就存在吗?
Speaker 107:12 - 08:11
So I I would argue I would say that the the person that could have nudged, although he said he did and someone else did, but there was a company called CodeSandbox way back in the day when we used to compete with our company CodeAnywhere which also was in the the realm of like replete it's all these cloud based IDs and so they called it CodeSandbox because I believe it sounded cute it's like a box where your code for ID lived and they were actually one of the firsts. So the team there that actually used micro VMs did snapshotting, forking, all these things that we do use today. And so that is sort of, and this is maybe a decade ago, but the utilization or the usage from or the value that it was giving human developers was not there. There's this whole article about like the end of local hosts and people have been talking about this for I've been talking about this for twenty years. And basically developers would say like, you'll take my local hosts like out of my cold dead body. Speaker 107:12 - 08:11
所以我会主张这么说:有一个人本来可能算是推动了这件事的人,虽然他说是他做的,但也有人说是别人做的。总之,很早以前有一家叫 CodeSandbox 的公司,那时候我们还在和我们自己的公司 CodeAnywhere 竞争;它们都属于某种类似 replete 这个领域的东西——也就是这些基于云的 ID。之所以叫 CodeSandbox,我觉得大概是因为这个名字听起来挺可爱,就像一个装代码的盒子,你的 ID 就住在里面。而他们其实算是最早的一批。那个团队当时就已经在用 micro VMs(微型虚拟机),做 snapshotting(快照)、forking(分叉)以及我们今天仍然在使用的这些事情。所以这大概就是它的来源之一,虽然那可能已经是十年前的事了,但当时这种用法,或者说它能给人类开发者带来的价值,还没有真正显现出来。还有一整篇文章在谈所谓 local hosts(本地主机)的终结,而人们已经讨论这件事很多年了——我自己都谈了二十年。基本上,开发者会说,你想拿走我的 local hosts,那得从我冰冷的尸体上跨过去。
Speaker 108:11 - 08:25
But now that agents are here, local hosts no longer actually one, you don't want that for a number of reasons. And so we're finally getting to that. So that technology and that thesis around sandboxes originally now seems to be coming to fruition. And Speaker 108:11 - 08:25
但现在 agents(智能体)已经出现了,local hosts 实际上已经不再是——首先,出于很多原因,你并不想要那种东西。所以我们终于走到这一步了。于是,最初围绕 sandboxes 的那套技术和 thesis(论点)现在看起来终于开始开花结果了。而且
Speaker 208:25 - 08:29
the big acceleration around sandboxes is agents, right? Speaker 208:25 - 08:29
围绕 sandboxes 的最大加速器,其实就是 agents(智能体),对吧?
Speaker 108:29 - 08:40
The thing. Absolutely. When we think about agents, so one, if you even if you do run an agent on your computer, like you wanna do that, up to you. Go ahead and do that. There's a bunch of problems. Speaker 108:29 - 08:40
没错,就是这个问题。说到 agent(智能体),首先,如果你真的想在自己的电脑上运行一个 agent,当然可以,随你。尽管去做。但这里会有一堆问题。
Speaker 108:40 - 08:46
One is, let's hear on your laptop. There's this whole thing on Twitter now where people are holding their laptops open. Yeah. The people are Speaker 108:40 - 08:46
其中一个是,比如说在你的 laptop 上。现在 Twitter 上有这么个现象,大家都把自己的 laptop 一直开着。对。人们就是——
Speaker 208:46 - 08:48
What what is that? Yeah. Yeah. I saw you tweet the Speaker 208:46 - 08:48
那、那是什么?对,对。我看到你发推说那个了——
Speaker 108:49 - 08:57
Oh, that's because I always hold my laptop open. That's just like my vibe without that. But I've been doing that for a long time. But people do that because they want clot or open clot to finish. Yeah. Speaker 108:49 - 08:57
哦,那是因为我一直都把我的 laptop 开着。这就是我的一种风格,跟那个没关系。不过我这么做已经很久了。但有些人这么做,是因为他们想让 clot 或者 open clot 跑完。对。
Speaker 108:57 - 08:58
Cause if you close it, it's Speaker 108:57 - 08:58
因为如果你把它合上,它就——
Speaker 208:58 - 08:58
Yeah. Speaker 108:58 - 09:08
Yeah. You You terminate. Yeah. It's or pause or stop or whatever. So like the the problem is like the continued the ability to work nonstop is not there as long as your laptop. Speaker 108:58 - 09:08
对,你就把它 terminate(终止)了。对。要么就是 pause(暂停)或者 stop(停止)之类的。所以问题在于,只要你的 laptop 还是这种状态,它就不具备持续、不间断工作的能力。
Speaker 109:08 - 09:21
So that's one thing. The other thing is you can't do concurrency. So you can do multiple to the amount of compute that you have in your laptop, which will be quite limited. And so you might want to spin up 10 or 20 or 50 or a 100 or a 100,000 whatever that number might be. And so that's very hard. Speaker 109:08 - 09:21
这是一方面。另一方面是你没法做 concurrency(并发)。你最多只能做到你的 laptop 所拥有的那点 compute(算力)范围内的多任务,而这通常会相当有限。所以你可能会想一次性拉起 10 个、20 个、50 个、100 个,甚至 100,000 个,不管那个数字是多少。而这就非常困难。
Speaker 109:21 - 09:45
So ideally, you actually really want to remove it somewhere remotely. So you can start on your laptop, you continue on your phone, it's the same computer and same agent that is doing their thing, right? And so that is a takeoff of we have now decided that it's absolutely okay that it's no longer on our local host but again it is still a local host to that agent so it's still a computer to that agent what a laptop is to us. Speaker 109:21 - 09:45
所以理想情况下,你其实真的会想把它放到某个远程的地方去运行。这样你可以在 laptop 上开始,在 phone 上继续,而且做事的还是同一台 computer、同一个 agent,对吧?所以这其实体现的是一种观念转变:我们现在已经认定,它不再运行在我们的 local host 上也完全没问题;但反过来说,对那个 agent 而言,那依然是它的 local host,所以对它来说,那仍然是一台 computer,就像 laptop 对我们一样。
Speaker 209:45 - 09:50
Do all agents need a sandbox or is that a specific category? Speaker 209:45 - 09:50
所有 agent 都需要一个 sandbox 吗,还是说那只是某一类特定 agent 才需要的东西?
Speaker 109:50 - 10:18
My argument is that every agent will need at least one sandbox sometimes more and we can get to that. Again there are places where you don't need and I analogize agents with humans for the most part and again we can have we can do productive work without computers. And so there is, and that was the original sort of like chat bot where basically you would just talk to an agent and it would inference. So it just think and give you value. So I don't know, a lot of people use it for like emotional support or whatever. Speaker 109:50 - 10:18
我的观点是,每个 agent 至少都会在某些时候需要一个 sandbox,有时甚至不止一个,我们可以展开讲。当然,也有一些场景并不需要。我大体上会把 agent 类比为人类:同样地,我们不借助电脑也能完成一些有成效的工作。所以确实存在这样一种情况——这有点像最早那类 chatbot,基本上你只是和一个 agent 对话,它进行 inference(推理),也就是它单纯思考,然后给你提供价值。所以我不知道,很多人会把它用于情感支持之类的用途。
Speaker 110:19 - 10:42
The most part, doesn't need a computer. It has enough data from you going back and forth and then it can sort of understand and give you feedback, but that's a smaller subset. If we think of where all productivity gains are among the biggest verticals, healthcare, financial services, whatever, most of that is done via a computer and so if you want agents to do all these things then agents will need these computers to do. Speaker 110:19 - 10:42
在大多数这类情况下,其实不需要电脑。它通过和你来回交流已经积累了足够多的数据,于是就能在某种程度上理解你并给出反馈,但这只是较小的一部分。如果我们去看生产力提升主要发生在哪些最大的 verticals(垂直领域)里,比如 healthcare、financial services 之类,其中大多数工作都是通过电脑完成的。所以,如果你希望 agent 去做所有这些事情,那么 agent 就需要这些电脑来执行。
Speaker 210:43 - 10:50
So if you do, tool calls, coding, like any of those actions then you need a sandbox if you just chat. Speaker 210:43 - 10:50
所以,如果你要进行 tool calls(工具调用)、coding,或者任何这类操作,那你就需要一个 sandbox;如果你只是聊天的话——
Speaker 110:50 - 12:26
You probably don't need it yeah so like even if you have a chat that we can get the deal but if you chat and it has to search the web it still has to open a browser or it has to use something like you know parallel or exa or whatever to get to that that would be a tool call So it depends on the use case but the thing that's quite interesting about the world that we live in is one, let's take a step back, one I firmly believe that in due time all the tools will be headless. Now we'll be inside of a sandbox or outside that's another thing, all of them will be, and that's the most efficient way for an agent to work, but most of knowledge work is still locked into legacy apps inside of Windows for the vast majority like the absolute vast majority. So if you want an agent today to do a job end to end you literally have to give it a computer. And so an example of this is again the board report which is like oh can you pull out this report and for our bank has an API and it can pull it out but it only has spend on the API it doesn't have, incoming revenue on the API it's just not exposed or through the MCP tool actually it's not exposed and I'm like then the agent was like oh I can't get to it I'm like dude log in download it okay I'll go to it and then you can see it opens up a browser it goes down or whatever same thing with I don't know with any other data source that we have if it can pull it from the headless it'll do a headless if it cannot then it sort of logs in and do that and so if we want to give them power today and get value we have to enable them to have these tools. Speaker 110:50 - 12:26
那大概率就不需要,对。所以比如即便是聊天,我们也许能把事情谈成;但如果你在聊天,而它需要搜索网页,那它仍然得打开一个 browser,或者它必须使用像 parallel 或 exa 之类的东西去获取那些内容——那依然属于一次 tool call。所以这取决于具体 use case。不过,我们所处的这个世界里有一件很有意思的事。先退一步说,第一,我坚信随着时间推移,所有工具最终都会变成 headless(无头)的。它们会在 sandbox 里面还是外面,那是另一回事;但它们都会变成那样,而且对 agent 来说,那是最高效的工作方式。可是绝大多数知识工作,仍然被锁在 Windows 里的 legacy apps(遗留应用)中,范围之广是压倒性的,真的是绝大多数。所以,如果你今天想让一个 agent 端到端地完成一项工作,你实际上就必须给它一台电脑。举个例子,还是那个董事会报告:比如“你能把这个报告拉出来吗?”我们的银行有一个 API,可以把它拉出来,但 API 里只有 spend(支出)数据,没有 incoming revenue(收入)数据,它就是没有暴露出来;或者通过 MCP tool,其实也没有暴露出来。然后 agent 就会说:“哦,我拿不到。”我就说,兄弟,登录进去把它下载下来就行。然后它就去做了,你能看到它打开 browser,往下点之类的。不管怎么说,我们的其他任何数据源也一样:如果它能通过 headless 方式拉取,它就会走 headless;如果不能,它就会登录进去那样操作。所以,如果我们今天想赋予它们能力并获得价值,我们就必须让它们能使用这些工具。
Speaker 212:26 - 12:45
You had a great tweet the other day where you were talking about, like, the actual use cases that you see as a provider of sandbox of agents. Do you want to go through this? You had a CodeCommon execution, computer use, browser use and RL environment infra. Do you want to unpack that? Speaker 212:26 - 12:45
你前几天发过一条很棒的 tweet,里面谈到了作为 agent sandbox 提供方,你实际看到的那些 use cases。你愿意讲讲这个吗?你当时提到了 CodeCommon execution、computer use、browser use,还有 RL environment infra。你想展开说说吗?
Speaker 112:45 - 13:07
Sure. We basically I've made it I think I've structured it better since that tweet, which is right now we have two major use cases or two types of customers consuming Daytona in different use cases. And one is on the researcher side. So it'll be, you know, RL, Evalis benchmarks. And the other will be on what we call background agents or long running agents. Speaker 112:45 - 13:07
当然。基本上,我觉得自从那条 tweet 之后,我已经把它梳理得更清楚了。现在我们有两大类 use cases,或者说两类客户,他们会在不同的 use cases 中使用 Daytona。一类是研究者这一侧,也就是 RL、evals、benchmarks 这些。另一类则是我们所谓的 background agents,或者 long running agents。
Speaker 113:07 - 14:01
And so when you think of background agents or long running agents, the most popular, those are where a human is the end consumer. The human talks to a, let's call it app layer service that has an agent in that and then the agent will call in the sandbox. So things will be, you know, think of like Harvey or Perplexity or whatever as or lovable as these types of background long running agents. And so they can both be, sort of headless, so code and command execution and or computer browser use. So depending on what they need to do and the same thing is on the researcher side whereas like RL and eval's and whatnot you can do RL and eval's for you know coding and for that it's basically just headless like commands and command execution in there or you can actually teach it to do things in the real world and then it does have to fire up a you know windows or mac a linux sort of desktop or a browser to go through the thing. Speaker 113:07 - 14:01
所以,当你去理解 background agents 或 long running agents 时,最常见的那类,是以人类作为最终消费者的场景。人会和一个——我们姑且称之为 app layer service(应用层服务)——进行交互,而那个服务里面有一个 agent,然后这个 agent 会去调用 sandbox。所以,像 Harvey 或 Perplexity 之类的,或者 lovable 这一类,都可以看作这种后台型、长时运行型 agent。它们既可以是某种意义上的 headless,也就是 code 和 command execution;也可以是 computer / browser use。这取决于它们需要完成什么。同样的情况也适用于研究者那一侧:像 RL、evals 之类,你可以把 RL 和 evals 用在 coding 上,而那基本就是纯 headless——里面就是 commands 和 command execution;或者你也可以训练它去做现实世界里的事情,那它就确实需要启动一个 Windows、mac 或 Linux 这类 desktop,或者一个 browser,来把整个流程走完。
Speaker 114:01 - 14:10
Coding command execution and browser computer use are like two ways an agent can work and then it's to basically the consumption of the sandboxes to do those two different things are different. Speaker 114:01 - 14:10
编码命令执行和在浏览器里使用 computer,本质上像是 agent 的两种工作方式;而要做这两种不同的事,对 sandbox 的消耗方式也不一样。
Speaker 214:10 - 14:36
So that's a great, sort of sandbox one on one introduction to the concept. Help us understand, where sandboxes fit in the overall picture of this emerging agent stack that I think everybody's trying to figure out at the same time. So there's different components, there's a file system, there's orchestration, there's like what are the different pieces? I try to Speaker 214:10 - 14:36
所以,这算是一个很好的、某种意义上的 sandbox 入门介绍,帮助我们理解 sandbox 在这个新兴 agent stack 整体图景里处在什么位置——我觉得现在大家都在同时摸索这件事。所以这里面有不同的组件,有 file system,有 orchestration(编排),还有别的部分——这些不同的拼图到底是什么?我会试着
Speaker 114:36 - 15:17
think about everything to me it's actually quite interesting where and we'll get this a bit later as well it's like a lot of this all exists in real life today and so people are like overthinking this. I'm not saying that there's not going to be new products and solutions and technology to solve it, but it's like it's not a new fundamental way of work. And so when you think about the agent stack itself, it's like okay, you first have the models and the models are essentially the brain that is what it is, of equivalent to what a human's brain is sort of. So you tell it something, it replies and understands and whatnot. And then under that it's like, what are the tools it can do to get things done? Speaker 114:36 - 15:17
去理解这一切。对我来说,其实很有意思的一点是——这个我们后面也会再谈——很多东西今天在现实里本来就已经存在了,所以人们有点把这件事想得太复杂了。我不是说不会出现新的产品、方案和技术去解决它,但这并不是一种全新的、从根本上不同的工作方式。所以当你去看 agent stack 本身时,会觉得:好,首先你有 models,而 models 本质上就是大脑,差不多相当于人的大脑。你告诉它一件事,它会回应、理解,等等。然后在这之下,就是:它能用哪些 tools 来把事情做成?
Speaker 115:17 - 15:29
Right. And so that can be anything from like any of the MCP or tool calls can do. It could be the sandbox, the computer, like whatever we as humans, we also have a bunch of tools that we use. Everything from a hammer to a computer and everything around that. Right? Speaker 115:17 - 15:29
对。所以这可以是任何东西,比如任何 MCP 或 tool calls 能做的事。它也可以是 sandbox、computer,或者别的什么;就像我们人类也有一整套会使用的工具,从锤子到电脑,以及围绕这些的一切。对吧?
Speaker 115:29 - 15:46
So all of those things exist as well. Then there is memory that exists. Can an agent remember these things similarly like do you remember these things that are there? People that talk about orchestration of agents, it is like management. You manage people, I manage people. Speaker 115:29 - 15:46
所有这些也都存在。然后还有 memory(记忆)。一个 agent 能不能记住这些事情,就像你会不会记住这些已有的信息?至于那些谈 agent orchestration(agent 编排)的人,这其实就像管理。你管理人,我也管理人。
Speaker 115:46 - 16:20
Managing agents is similar, is not dissimilar to managing humans. Now what tools will you use to manage them? Will you manage them in the same way just send a Slack message and or you do linear or whatever it is? We will see or it's gonna be a net new app, we'll figure that out but it is of that and of course it's like observability can you see what your teammate or colleague has done and verify that that job is good right and so that's sort of how I think about that on a very sort of higher level. And then you can break down to different types of solutions people are creating for this. Speaker 115:46 - 16:20
管理 agents 和管理 humans 是类似的,并没有本质区别。现在的问题只是:你会用什么工具来管理它们?你会用同样的方式去管理吗,比如发一条 Slack 消息,或者用 linear,或者别的什么?这个我们还得再看,也许会出现一个全新的 app,我们之后会弄清楚;但大体上就是这么回事。当然还有 observability(可观测性)——你能不能看到你的 teammate 或 colleague 做了什么,并验证那项工作是否做得好,对吧?所以这是我在一个比较高层次上对这件事的理解。然后,你还可以继续拆分,去看人们正在为此构建的不同类型的解决方案。
Speaker 216:20 - 16:22
Yeah. Let's do some of that. Speaker 216:20 - 16:22
对,我们就展开讲讲这些吧。
Speaker 116:22 - 16:50
The things that I think about like, there's also like things that are more solved and less solved where like the models, I'm not saying they're solid, they won't continue to progress. There might be different versions of models, but like it's very clear that there is some sort of brain that is there and we have the leaders in the frontiers and we have people trying to do different things and that is all said and done. The tooling, I don't know if I would spend too much time. We that's all we're talking about now, which is like the sandbox, the computer, the MCP tools. There's like a bunch of them that are being there. Speaker 116:22 - 16:50
我在想的一些事情是,这里面也有一些问题是相对更已解决的,另一些则没那么解决。比如 models,我不是说它们已经完全稳固了、不会继续进步;未来可能还会有不同版本的 models。但很明显,那里确实有某种“大脑”存在,我们也已经有处在前沿的领导者,也有人在尝试做不同的事情,这部分大体上已经是既成事实了。至于 tooling,我不知道我会不会花太多时间,因为我们现在其实一直在谈的就是这些——sandbox、computer、MCP tools——这类东西已经有很多了。
Speaker 116:50 - 17:23
The thing that's not solved very well is one, so there's memory itself. And so memory itself, like how do you do this right now? The best solution is just dumping things into MD files and then sort of having access to that and then compressing that and how you're gonna get that. We talked about this the other day, which was the book of Why We Sleep, right? And in that book of Why We Sleep it's basically a lot of how you do data retention and things like that and that's sort of what we're trying to solve for agents themselves into that segment. Speaker 116:50 - 17:23
目前还没有很好解决的一件事,首先就是 memory(记忆)本身。也就是说,怎么把这件事做好?现在最好的方案基本上就是把内容都丢进 MD 文件里,然后某种程度上让系统能访问这些内容,再对它们做压缩,以及思考要如何取回这些内容。我们前几天聊过这件事,就是那本 Why We Sleep,对吧?而在 Why We Sleep 这本书里,实际上有很多内容都和你如何做 data retention(数据保留)之类的事情有关,而这某种程度上正是我们想在 agent(智能体)这一层去解决的问题。
Speaker 117:24 - 17:59
And so memories there the thing that is actually quite interesting for me is actually the learning of the model. One thing that I didn't understand internalize is that models actually don't learn right now. So you use a model and if you solve memory it has memory of things so it has context of these things and so it can oh here's the context and so it can have a better answer because it has the context but it doesn't actually learn on the job that hit is done yesterday. Right? And so who is solving or how do we solve that? Speaker 117:24 - 17:59
所以,说到 memory,在我看来真正相当有意思的其实是 model(模型)的 learning(学习)能力。有一点我之前没有真正理解并内化,就是 models 其实现在并不会学习。你使用一个 model,如果你把 memory 问题解决了,它就会记住一些事情,因此它拥有这些事情的 context(上下文),于是它可以说“哦,这是相关 context”,然后因为有这些 context,它就能给出更好的答案;但它实际上并不会在工作过程中真正学会昨天做过的那件事。对吧?所以,到底是谁在解决这个问题,或者我们该怎么解决它呢?
Speaker 117:59 - 18:46
Does that one, does that require something like, you know, constant RL learning post training for this? Or is there something fundamentally that we change in the model so the models can do that? I don't know, but it's definitely something that will that's hindering progression today and it's not absolutely clear how we get to that point because it is sort of weird to work with someone that actually doesn't get smarter, right? Like you get a new model but like it's like oh it's like a new and you want to come set up but like you do something five times and it can mess up it literally screws up the sixth time like right so like every single time really and so you can try to prompt it better you can have more context so it doesn't do it but doesn't actually learn I think that is something that's going to be quite interesting to see sort of how that that sort of progresses. Speaker 117:59 - 18:46
这是否需要某种持续性的 RL(强化学习)式 post-training(后训练)来实现?还是说,我们需要从根本上改变 model,让 models 能做到这一点?我不知道,但这绝对是今天阻碍进展的一个问题,而且我们并不完全清楚该怎么走到那一步,因为和一个实际上不会变得更聪明的对象一起工作,感觉是有点奇怪的,对吧?比如你拿到一个新 model,会觉得“哦,这是个新的”,然后你想把它配置起来;可你让它做同一件事五次,它第六次还是可能搞砸,真的就是第六次也会出错,对吧?所以实际上几乎每一次都是这样。你当然可以尝试把 prompt(提示词)写得更好,也可以给它更多 context,让它别犯错,但它并不会真正学习。我觉得这会是一个非常值得观察的话题,看它之后到底会如何发展。
Speaker 218:46 - 19:06
Yep. And from your vantage point, memory is one of those markdown files or like a combination of those versus a database? Seems like markdown files are incredibly elegant and simple but somehow feel less robust than what a database would offer. Speaker 218:46 - 19:06
对。从你的视角来看,memory 是那种 markdown 文件之一,还是说更像是这些文件的某种组合,而不是 database(数据库)?感觉 markdown 文件极其优雅也极其简单,但不知怎么又让人觉得,它没有 database 所能提供的那种稳健性。
Speaker 119:06 - 19:37
I mean not from a personal but I might change this for a personal perspective I also would tend to agree with you that like markdown seems quite trivial for the for the problem that's there and the compression and and how you get to all these things inside of that. So the thing that we try to do as a company providing infrastructure for these things is to make sure that we can expose the ability for the agent to access these things in a very simple way and add to them, but solving it itself is outside of our let's call it, mandate. Speaker 119:06 - 19:37
我的意思是,不一定从个人角度讲——不过如果从个人角度说,我可能也会改口——但我也倾向于同意你的看法:对于眼前这个问题来说,markdown 看起来确实有点过于简单了,尤其是再考虑到 compression(压缩),以及你如何从里面取到所有这些内容。所以,作为一家为这类事情提供 infrastructure(基础设施)的公司,我们努力去做的是:确保我们能够以一种非常简单的方式,把 agent 访问这些内容并向其中添加内容的能力暴露出来;但至于这个问题本身如何被彻底解决,那不属于我们的——姑且这么说——mandate(职责范围)。
Speaker 219:37 - 20:01
And in this whole, kind of agent harness, I guess, so what what everything that you described kind of falls under the current, concept of of of harness. Where do sandboxes fit long term? Do do you think a lot of this gets eventually built into the sandbox, or does the sandbox remain the the the execution layer for it all? Speaker 219:37 - 20:01
那么在整个 agent harness 这种体系里——我想可以这么说——你刚才描述的那些内容,基本都属于当前 harness 这个概念的范畴。从长期来看,sandboxes(沙箱)会处在什么位置?你觉得这里面很多能力最终都会被构建进 sandbox 里吗,还是说 sandbox 仍然只是整个系统的 execution layer(执行层)?
Speaker 120:01 - 20:19
Two two things. So if you look, there's, like, the sandbox itself. And again, restating, I'm saying it so many times in in this conversation, but if we take like an average worker in Goldman, for example, right? You have the you have the worker, the person, which let's call it the model in this sense. You have the computer, which it logs in into. Speaker 120:01 - 20:19
有两点。所以如果你去看,会有像 sandbox 本身这样的部分。再说一遍,我在这次对话里已经重复很多次了,但如果我们拿 Goldman 里一个普通员工来举例,对吧?你有这个 worker,也就是这个人,在这个语境下我们把它称作 model。你还有他登录进去使用的那台 computer(电脑)。
Speaker 120:20 - 20:42
And the harness is a set of the way it shapes that model that it can and cannot do things interacting so it's almost like hands sort of to speak of that a bit deeper. But basically, the Sandbox does support it. And so if you think of a computer, again, I'll pick on I'll pick on gold Goldman, for example. I've never worked at Goldman, but it's my just assumption. I worked at a bigger company. Speaker 120:20 - 20:42
而 harness 则是一整套塑造这个 model 如何与外界交互、哪些事情能做哪些事情不能做的方式,所以某种意义上,它有点像是“手”,如果要更深入地打这个比方的话。但本质上,Sandbox 的确是在支撑这一切。所以如果你把它想成一台 computer,我还是继续拿 Goldman 来举例吧。虽然我从没在 Goldman 工作过,但这只是我的一种推测。我在一家更大的公司工作过。
Speaker 120:42 - 21:35
So my assumption is that when you log into that computer, there's so much software in that computer that logs what you do, restricts what you do, make sure that you don't leak data and do these things. Again, no prior knowledge of Goldman, just assumptions on these things. And so those are the types of things that we as a sandbox provider will most certainly incorporate into that. But that harness still has its function in that which it guides the model like oh I now know how to interact with this machine, oh I know how to do a tool called, oh I know how to this is how I work with memory, is how I change with a model and so there's a there is value in that and so we don't take on the harness. That is something we pretty sure that we never do, but there's things that we do in the sandbox that does help or support that entire system. Speaker 120:42 - 21:35
所以我的假设是,当你登录那台电脑时,那台电脑里会有很多软件来记录你的操作、限制你的操作、确保你不会泄露数据,并处理这类事情。再次说明,我对 Goldman 没有事先了解,这只是基于这类情况的推测。所以,这些正是我们作为 sandbox(沙箱)提供方几乎肯定会纳入其中的内容。但那个 harness 仍然有它自己的作用,也就是它会引导 model(模型),比如“哦,我现在知道该如何与这台机器交互了”“哦,我知道如何调用某个 tool(工具)了”“哦,我知道如何使用 memory(记忆)了,也知道如何与模型配合工作了”,所以这里面是有价值的。因此我们不会去接管 harness。这基本上是我们很确定永远不会做的事,但我们在 sandbox 里做的一些事情,确实会帮助或支撑整个系统。
Speaker 221:35 - 21:53
Great. We talked about models. Where do the model providers like the big, AI frontier labs, fit in this overall picture OpenAI recently had an agent's SDK announcement, what is that? Speaker 221:35 - 21:53
很好。我们聊过模型了。那么像那些大型 AI frontier labs(前沿实验室)这样的 model provider(模型提供方),在这个整体图景里处于什么位置?OpenAI 最近发布了一个 agent SDK(agent 软件开发工具包)的公告,那是什么?
Speaker 121:53 - 22:08
Yeah, so I mean they have a big push into this space where like Claude code and their agent SDK has been and so it's a focus for them to essentially catch up on that segment of the market there. There's two Speaker 121:53 - 22:08
对,我的意思是,他们正在大力推进这个领域,像 Claude code 和他们的 agent SDK 一直都是其中的一部分,所以这对他们来说,本质上是要追赶那个市场细分领域。这其中有两类——
Speaker 222:08 - 22:15
things right there's OpenAI, Agent SDK and then Cloud managed agents. They're different, Speaker 222:08 - 22:15
东西,对吧:有 OpenAI Agent SDK,也有 Cloud managed agents,它们是不一样的,
Speaker 122:15 - 22:15
yeah they're Speaker 122:15 - 22:15
对,它们——
Speaker 222:15 - 22:17
different. Unpack that for us. Speaker 222:15 - 22:17
不一样。给我们展开讲讲。
Speaker 122:17 - 22:58
The Anthropic managed agents, it is a managed service where you essentially have the model, the harness and the sandbox all wrapped into one basically. And so you have that all managed for you as a service that entire stack. So that is there. Whereas if you just have an agent SDK, can use that and run that into any sandbox provider or your own or any machine that you want to run it and it can connect to depending on the licensing or whatever it be, you might connect it to that model provider that gave you that harness or you might be able to interchange, those things. So basically the one is just the harness, the other is the model of the harness and the sandbox altogether. Speaker 122:17 - 22:58
Anthropic managed agents 是一种 managed service(托管服务),本质上就是把 model、harness 和 sandbox 全都打包成一个整体。也就是说,整套 stack(技术栈)都会作为服务由对方替你管理。这是一种情况。而如果你只有一个 agent SDK,你就可以使用它,并把它运行在任何 sandbox provider 的环境里、你自己的环境里,或者任何你想运行它的机器上,它也可以连接到相应系统;具体取决于许可或其他条件,你可能会把它连接到提供该 harness 的 model provider,也可能可以在这些东西之间进行替换。所以基本上,一种只是 harness,另一种则是把 model、harness 和 sandbox 全部包含在一起。
Speaker 222:58 - 23:08
Okay. And, I believe Daytona was a partner to OpenAI for Agents SDK, right? Like one of the sandbox providers. Exactly. That's part of that original framework. Speaker 222:58 - 23:08
好的。而且,我记得 Daytona 是 OpenAI 的 Agents SDK 的合作伙伴之一,对吧?比如说,作为 sandbox provider 之一。没错。这是那个最初 framework(框架)的一部分。
Speaker 223:08 - 23:27
Yeah. Okay. That's the sort of like overall, landscape, around the agent stack. We're going to go much deeper into sandboxes and how that works from a technical standpoint in a minute. But as a quick detour, let's talk about your story and Detona's story. Speaker 223:08 - 23:27
对。好。这算是围绕 agent stack 的整体图景。我们马上会从技术角度更深入地讲 sandboxes 以及它是如何工作的。但先稍微岔开一下,聊聊你的经历和 Daytona 的故事。
Speaker 223:27 - 23:36
So you're this is not your first venture. Talk about the the the prior thing that you did. You alluded to some of it like that was a little a little bit like replete. Speaker 223:27 - 23:36
所以这不是你第一次创业。讲讲你之前做的那个项目吧。你刚才也提到了一些,那个项目有点有点像 Replit。
Speaker 123:36 - 24:22
Yeah. So we started the Cloud IDE space basically in 2009 both me and co founder and so in 2009 for those of you that were around there was like no Docker, no Kubernetes, no Versus Code and so we had to build the entire stack which was something that we learned how to do and was something that we applied today. So like it was actually very very very early. I say that we started it because the company that started before us was Heroku which became Heroku and killed the ID which we probably should have done sooner, as well so but we were the only one that sort of like started and finished, finished in that sense. Later on you had other ones like CodeSandbox, like Replit and like others that had joined and, StackBlitz which is now Bolt and whatnot. Speaker 123:36 - 24:22
对。我们基本上是在 2009 年进入 Cloud IDE 这个领域的,我和联合创始人都是如此。对经历过那个年代的人来说,2009 年几乎没有 Docker,没有 Kubernetes,也没有 VS Code,所以我们不得不把整套 stack 全部自己搭出来。这是我们后来学会去做的事情,也是我们今天仍然在应用的能力。所以我们其实是非常非常非常早期的。我说是我们开启了这个领域,是因为在我们之前启动的那家公司是 Heroku,后来变成了 Heroku,并且干掉了 ID,这件事其实我们可能也应该更早做。所以从某种意义上说,我们是唯一一个把这件事做起来并且做完整的。再往后,像 CodeSandbox、Replit,还有其他一些后来加入的产品,以及 StackBlitz,也就是现在的 Bolt,等等。
Speaker 124:22 - 25:01
And so Replit also now changed and Bolt into their other directions and Replit is doing really well. We decided to go in a completely different direction when we decided to do that next company. So, we had learned a lot of things on how to build this entire stack, but when we decided to kick off Daytona v one, is different than it is today, we decided not to go app player but just be infrastructure. Probably like on the teachings of Heroku, which definitely went in into that direction it's like oh we learned how to do all these things on the orchestration level underneath that seems to be very very valuable so let's push on that and so that is how we kick that off. Speaker 124:22 - 25:01
后来 Replit 也变了,Bolt 也转向了它们各自的其他方向,而 Replit 现在做得非常好。我们在决定做下一家公司时,选择了一个完全不同的方向。我们已经学到了很多关于如何构建整套 stack 的经验,但当我们启动 Daytona v1——它和今天的形态不一样——时,我们决定不去做 app layer,而是只做基础设施。这大概也是受了 Heroku 的启发,因为 Heroku 的确是往那个方向走的:我们已经学会了底层 orchestration 层面的这些能力,那看起来非常非常有价值,所以我们就沿着这个方向推进,这也就是我们最初启动它的方式。
Speaker 225:01 - 25:12
You tweeted, my first startup taught me exactly what not to do at Daytona and talk about like selling to developers, no on prem solution, like talk about some Speaker 225:01 - 25:12
你发过一条推文,说“我的第一家创业公司教会了我,在 Daytona 里哪些事情绝对不要做”,比如向开发者销售、不做 on prem 方案之类的,展开讲讲这些——
Speaker 125:12 - 25:33
of We the learned a lot of things. We one thing we learned is timing. I never understood like timing of the market. Like you have to pick it's very hard to time the market, but you know if you're in the right time, like fairly soon. Ideally you want to be just before the time but that's like very very hard you definitely don't want to be completely wrong we were like two decades wrong or decade and a half so definitely wrong on that one. Speaker 125:12 - 25:33
我们确实学到了很多东西。其中一个是 timing。我以前从来没有真正理解过市场 timing。要选对时机非常难,但如果你处在正确的时间点上,你会很快知道。理想情况下,你会希望自己比那个时点稍微早一点,但那非常非常难。不过你肯定不希望完全错位。我们当时大概错了二十年,或者说十五年,所以在这点上显然是错得很离谱。
Speaker 125:34 - 26:36
The other thing is like I did not know the difference between a user and a customer and so selling to Daytona now is a PLG Motion 100%. The CodeAnywhere product was also a PLG Motion but the CodeAnywhere product had no enterprise use case value it was all single developer value and single developers do not want to pay for these things whereas a product like what we are it is a PLG Motion it gives value to a single developer but a single developer probably working inside of a company and so they will pay with their company's card which is very very very different but you don't know when you start out. So, those are definitely things that we understood when we're creating this company and the difference we didn't get into detail but the difference between Daytona V1 which was managing it was an infrastructure product for human engineers in very large enterprises. It was an enterprise play. Whereas Daytona v two, the sandbox is a we can call it a neo cloud, like it's a new cloud. Speaker 125:34 - 26:36
另一件事是,我当时并不知道 user 和 customer 的区别。所以现在 Daytona 的销售模式 100% 是 PLG motion。CodeAnywhere 这个产品当时也是 PLG motion,但 CodeAnywhere 没有企业 use case 价值,它提供的全是单个开发者层面的价值,而单个开发者并不愿意为这类东西付费。相比之下,我们现在这个产品虽然也是 PLG motion,它也能给单个开发者带来价值,但这个单个开发者很可能是在一家公司内部工作,所以他们会用公司的卡来付费,这就非常非常非常不一样了。不过创业一开始的时候,你并不会知道这些。所以这些绝对是我们在创建这家公司时真正理解到的事情。还有一个差异,虽然我们没展开细说,就是 Daytona V1 是一个管理型的基础设施产品,面向超大型企业里的人类工程师,是一种 enterprise play;而 Daytona v2,也就是 sandbox,则可以说是一种 neo cloud,一种新的云。
Speaker 126:37 - 26:59
Although neo clouds are usually for GPU clouds. We did understand that there was an enterprise play to be there. So everything that we had learned of like on prem, multi cloud, different ways of, managing observability, audit logs, all these things that you need for enterprises. We had already either baked in or understood that that would be needed. So we prepared the product for that originally. Speaker 126:37 - 26:59
虽然 neo cloud 通常是用来指 GPU cloud 的,但我们确实理解到这里面存在企业级机会。所以像 on prem、multi cloud、不同的 observability 管理方式、audit logs,以及所有这些企业所需要的能力,我们要么已经预先内建进去了,要么至少已经明白这些能力将来一定会需要。因此我们从一开始就是按照这个方向来准备产品的。
Speaker 226:59 - 27:25
Great. You're also pretty amazing at just distribution in general and building a brand and developers, which is fascinating, right, because that's one of the typical issues with very technical ventures. The people tend to be excellent and deeply thoughtful about product and technology, then distribution comes as an afterthoughts. How did you become good at it and what are some lessons you can share for technical builders? Speaker 226:59 - 27:25
很好。而且你在 distribution(分发、渠道拓展)以及打造品牌、吸引 developers(开发者)这方面也非常厉害,这很有意思,对吧?因为这正是很多高度技术型创业项目的典型问题之一。团队成员往往在产品和技术上非常出色、思考也很深入,但 distribution 往往成了事后才考虑的事。你是怎么变得擅长这件事的?对于技术出身的创业者,你能分享哪些经验?
Speaker 127:25 - 27:57
I mean it's all about like I'm probably sucked at all that like terrible terrible like I was the word so let's take there's so many ways to say how we did. So one thing is I think I very well understand humans at scale like my like what the market wants and or needs and or feels. And so when you do that, it's like, I I did not know that inherently, but you sort of start learning that you understand humans. I it's very hard for, single humans not so much, but more, like, larger masses. Aggregate humans. Speaker 127:25 - 27:57
我的意思是,这一切其实都和……我大概一开始在这些方面都很烂,非常非常烂,我都不知道该怎么形容。我们可以从很多角度来讲我们是怎么做到的。其中一点是,我觉得我非常理解大规模的人群,也就是市场想要什么、需要什么、会有什么感受。做到这一点之后,就像是——我一开始并不是天生就懂这个,但你会慢慢学会自己其实在理解 humans(人)这件事上越来越有感觉。对单个个体其实还好,真正更难的是更大规模的人群,也就是聚合起来的人群。
Speaker 127:57 - 28:08
Yeah. Aggregate humans much better. So that's one thing. But the other thing is I was like super shy, geeky, whatever as as a child. And the the stage fright, terrible. Speaker 127:57 - 28:08
对,aggregate humans(聚合人群)这方面我理解得要好得多。这是一点。另一点是,我小时候特别害羞,很 geeky(极客),之类的。而且我非常怯场,严重得不行。
Speaker 128:08 - 28:45
Terrible. Like pitching my first startup, like, would be so nervous. Like I'd be had to like talk on stage five minutes before stage I'd go to the restroom like 10 times like just like other pressure of these things and the thing that happened quasi randomly is with our first venture CodeAnywhere we did pitch around all these like conferences around the world and whatnot and it was such an interesting thing that I decided in like with one of the founders of one of these conferences at the after party quite you know intoxicated probably. He's like oh do you want to do one in Croatia where I was living at the time And he I'm like, fuck. Yeah. Speaker 128:08 - 28:45
真的很严重。比如我第一次为自己的 startup(创业项目)做路演时,会紧张得要命。上台前五分钟,我可能要跑十次洗手间,就是那种被这些事情压得喘不过气的感觉。后来有件几乎算是偶然发生的事:我们第一个项目 CodeAnywhere 去参加了世界各地很多 conference(大会)之类的活动做 pitch(路演),这件事很有意思。后来有一次在 after party(会后派对)上,我和其中一个 conference 的创始人聊了起来,当时大概都有点喝多了。他说,哦,你想不想在 Croatia 办一个?我那时正住在那里。我当时就说,fuck,当然要。
Speaker 128:45 - 28:58
Let's go do this. And so I go do set this up, this conference. It's in Croatia. 02/1950 people come, which was really big for us at the time. And I had hired an emcee that had bailed last minute and so there's no emcee. Speaker 128:45 - 28:58
那就干吧。于是我就去把这个 conference 搭起来了,地点在 Croatia。有 950 个人来了,这在当时对我们来说已经是非常大的规模了。而我原本请的一位 emcee(主持人)在最后一刻放了鸽子,所以现场没有主持人。
Speaker 128:58 - 28:59
I have stage fright. Speaker 128:58 - 28:59
而我又有 stage fright(怯场)。
Speaker 228:59 - 29:00
You're right. I mean, I Speaker 228:59 - 29:00
你说得对。我的意思是,我
Speaker 129:00 - 29:28
have to go. And so you I was literally the emcee for two days in a row and you broke straight. It's like you break it. It's like you just have to have to do it. So what I'm trying to say this is very different than the go to market but it builds on it's like okay now that I no longer have this stage fright you start teaching, start understanding what interactions excite people, less excite people, to bring people and whatnot and it's also a problem because when we said we're into a conference, didn't understand what a conference was. Speaker 129:00 - 29:28
只能硬着头皮上了。于是我真的就连续两天当了 emcee,你就这么直接把这件事撞开了。就像是,你只能去做,必须去做。我想说的是,这件事和 go-to-market(市场进入)本身其实不完全一样,但它又是有承接关系的:当我不再有这种 stage fright 之后,你就会开始教学,开始理解什么样的互动会让人兴奋,什么样的不会,什么东西能把人吸引过来,诸如此类。不过这也带来一个问题,因为当时我们说要办一个 conference,其实我们自己都不真正明白 conference 是什么。
Speaker 129:28 - 29:41
And so it's like, how do you break down what is a conference? Okay, a conference is it's entertainment first and foremost. And so you have, you know, the show, the show are the speakers, how do you get the speakers? Then you have the this for the speakers you have to sell the audience. Who is the audience? Speaker 129:28 - 29:41
所以问题就像是:你要怎么拆解“conference(大会)”到底是什么?好,conference 首先归根结底是一种娱乐形式。于是你会有“show(演出/呈现)”,而这个 show 就是 speakers(演讲者)。那你怎么请到 speakers?然后,为了让 speakers 愿意来,你还得把 audience(观众/参会者)卖给他们。那 audience 是谁?
Speaker 129:41 - 29:49
Who is coming there? How do you get them there? What then someone has to pay for everything. The audience does pay for tickets, but the vast majority is under sponsorships. And then how do you sell that to sponsors? Speaker 129:41 - 29:49
谁会来?你怎么把他们带来?接着,总得有人为这一切买单。audience 的确会买 tickets(门票),但绝大多数收入其实来自 sponsorships(赞助)。那你又要怎么把这件事卖给 sponsors(赞助商)?
Speaker 129:49 - 30:29
And so you break that those things down and then you start understanding incentives of all these different parties and you started putting that together. And so our go to market motion when we and we did conferences for a decade more or less. So you sort of like you have iteration cycles of a year then we started doing two a year, we started doing three a year and then every conference got better because the iteration cycle was much faster to get the feedback loop was much faster. And then when we decided to do like Daytona and our whole go to market strategy was originally around in real life events. And so we did dinners, meetups, drinkups, hackathons, but all of them were simpler versions of conferences. Speaker 129:49 - 30:29
所以你会把这些事情拆开来看,然后开始理解所有这些不同参与方的 incentives(激励),再把它们重新拼起来。我们的 go-to-market motion(市场推进方式)就是这样形成的;我们做 conferences(大会)差不多做了十年。所以某种程度上,你的 iteration cycle(迭代周期)是一年一次;后来我们开始一年办两次,再后来一年办三次,然后每一场 conference 都变得更好,因为迭代周期快得多,feedback loop(反馈回路)也快得多。再后来我们决定做 Daytona 的时候,我们整个 go-to-market strategy(市场策略)最初其实都是围绕 in real life events(线下活动)展开的。所以我们做了 dinners、meetups、drinkups、hackathons,但它们本质上都是 conference 的简化版。
Speaker 130:29 - 30:49
And mind you, the conference that we had was like 4,000 people. So it's like, it's a fairly big, it's not a 100,000, but still fairly fairly big. And I remember telling one of my teammates that works on the conference business with me now at Daytona, like, there's no way in hell I'm ever doing a conference, ever not doing it. That's the most stressful job in the world. Never doing it again. Speaker 130:29 - 30:49
你要知道,我们当时办的 conference 规模大概有 4,000 人。所以这算是相当大了,不是 100,000 人那种级别,但依然非常非常大。我记得我曾对一位现在也在 Daytona 和我一起负责 conference 业务的队友说过:我这辈子绝对不可能再办 conference 了,绝对不干了。这是世界上压力最大的工作,再也不做了。
Speaker 130:49 - 31:00
Never. We'll do these little things because it's easy and then people will come up to us, how do guys do these events? How do these meetups? Well, when you understand how to do a big conference, like, what are the interested parties? Then you know how to do it like very small meetup. Speaker 130:49 - 31:00
绝对不做。我们就做这些小活动,因为它们很容易办。然后别人会来问我们,你们是怎么做这些 events(活动)的?怎么做这些 meetups 的?其实,当你理解了怎么做一个大型 conference,理解了其中有哪些 interested parties(利益相关方),那你自然也就知道怎么去做一个很小的 meetup。
Speaker 131:00 - 31:14
It's the same things apply. It's just like quite a lot smaller, a lot easier to do. And we ended up doing a bunch of these. They were all we didn't sell. Obviously, these events do not sell, but sold out in the sense of like there's no more space in the rooms that we're doing. Speaker 131:00 - 31:14
适用的东西都是一样的,只不过规模小得多,也容易做得多。后来我们办了很多这类活动。它们当然不是“卖票卖出去”的那种 sold(售卖),但从 sold out(满员)的意义上说,确实都满了——也就是我们办活动的那些房间里已经没有更多空间了。
Speaker 131:14 - 31:36
We now like attract like partners that, you know, co sponsor these events for us. Just a great motion for us and then at some point my colleague was like we have to do a conference and like no we have to do it and so we ended up doing that in the Chase Center but we ended up doing the Chase Center in San Francisco two months ago I think you were there as well you helped out and the whole Speaker 131:14 - 31:36
现在我们还会吸引一些 partners(合作伙伴)来和我们一起 co-sponsor(联合赞助)这些活动。这对我们来说是非常好的 motion(打法)。然后到了某个时候,我的同事说我们必须办一个 conference,我说不,我们非办不可。于是我们最后真的做了,而且是在 Chase Center 办的——两个月前我们在 San Francisco 的 Chase Center 办了那场,我想你当时也在,你还帮了忙,而整个——
Speaker 231:36 - 31:54
Which was incredible by the way. So when you think about marketing as a, you know, an effort to make a company, I mean, create a brand and make a company look, you know, big and powerful. That was a, you know, a masterclass in how to do that. Speaker 231:36 - 31:54
顺便说一句,那真的非常惊人。所以当你把 marketing(市场营销)看作一种努力——也就是去塑造一个 brand(品牌),让一家公司看起来规模大、实力强——那次活动就是一堂关于如何做到这一点的 masterclass(大师课)。
Speaker 131:54 - 32:19
Thank you. But all of it, of the entire GTM that we have, we have no other things that we do like Twitter as a go to market. We don't have, have zero salespeople and whatnot, but it is definitely so the way I think about this and I stole this from or paraphrasing it from David from Century which is like there's basically three ways that people pick your product and one is awareness. Do they even know you exist? Like if that doesn't happen there's no way they can pick you. Speaker 131:54 - 32:19
谢谢。但我们整个 GTM(go-to-market,市场进入/增长策略)基本上就是这些了;我们没有别的东西,比如把 Twitter 当作 go-to-market 的手段。我们没有销售人员,完全没有这类配置。但确实——我理解这件事的方式,借用了或者说转述了 David from Century 的一个观点:人们选择你产品,基本上有三种原因。第一是 awareness(认知度):他们是否甚至知道你的存在?如果这一步没发生,他们就不可能选择你。
Speaker 132:19 - 32:40
Two is preference which is you know the pricing, the brand, the person, different features whatever like it's preference. And the third thing is like is there a deterministic thing that you offer that no one else has? So the easy example for the third one is like do you have FedRAMP? Right? Do you have that certificate? Speaker 132:19 - 32:40
第二是 preference(偏好),也就是价格、品牌、对接的人、不同功能之类的因素——总之就是偏好。第三点是:你是否提供了某种 deterministic(确定性的)东西,是别人都没有的?第三点最容易理解的例子就是:你有 FedRAMP 吗?对吧?你有那个认证吗?
Speaker 132:40 - 33:24
If you have like I can only the customer can only use you and no one else but the two above are quite interesting which is like how to make sure that everyone knows who you are and then you work on the preference and so for me the all I don't it's not all I think about a large part of I think about is if all things were equal so if our product is equal to everyone else's product what is the differentiator to that? And so like one can more people know about you than others? Like is the branding there? Is the experience there? Experience is a nuance which piece some people don't think about, some people do think about, but it's like, you prefer the feel of this product versus that product? Speaker 132:40 - 33:24
如果有的话,客户就只能用你,不能用别人。但上面那两个因素其实很有意思:一是怎么确保所有人都知道你是谁,二是再去经营 preference(偏好)。所以对我来说——也不能说这是我思考的全部,但至少是很大一部分——我会想,如果其他条件都相同,也就是如果我们的产品和别人的产品一样,那么真正的 differentiator(差异化因素)是什么?比如,会不会有更多人知道你而不是别人?你的 branding(品牌塑造)在不在?你的 experience(体验)在不在?体验是个比较微妙的点,有些人不会想到,有些人会想到;但它其实就是:你会不会更喜欢这个产品带给你的感觉,而不是另一个产品?
Speaker 133:24 - 33:47
And these are all things that have nothing to do with the actual technical capabilities of the product. And so my co founder Vedran, our CTO, like his job is mostly to make sure the product is better than anything else in the market. And my mandate is to make sure that even if his, if our product is equal, that we can supersede that. And so that's how I think about the go to market in general. Speaker 133:24 - 33:47
而这些东西,全都和产品实际的技术能力没有直接关系。所以我的联合创始人 Vedran,也是我们的 CTO,他的职责主要是确保产品比市场上任何其他产品都更好。我的使命则是确保:即便我们的产品只是和别人一样,我们依然能胜出。所以这就是我总体上理解 go-to-market 的方式。
Speaker 233:48 - 33:52
Do you think of customer support and customer service as Speaker 233:48 - 33:52
你会把 customer support(客户支持)和 customer service(客户服务)也看作……
Speaker 133:52 - 34:12
All of that. It's all go to market. All that is go to market. And we've seen this, we've chatted about this where we've been getting users and customers just because we are so good at that and so all of it is an experience. So if you think of any experience as a human you go to like store, restaurant, whatever it is the entire experience. Speaker 133:52 - 34:12
这些全都算。全都是 go-to-market。那些全部都属于 go-to-market。我们已经看到这一点了,我们之前也聊过:我们能获得用户和客户,单纯就是因为我们在这方面做得特别好,所以这一切本质上都是一种 experience(体验)。如果你把任何人类日常中的体验来类比,比如去商店、去餐厅,不管是什么,重要的是整个完整的体验。
Speaker 134:12 - 34:48
It is from your the way what is a brand, it's the perception of that brand itself is just the perception and the perception is like if you go into whatever store pick your brand you want, the smell, the music, the people, the smile that whatever you get all that together is the perception of that brand. And so if you think of that through the lens of a product which might sound counterintuitive, I don't know or non obvious to people Like, I think about that altogether. Let's say we were selling sneakers. Right? Like, we don't sell sneakers, but the the this sneaker, which we won't man, won't say other brands, but Speaker 134:12 - 34:48
它体现在你的——brand(品牌)是什么?品牌其实就是人们对这个品牌的 perception(感知/认知),而 perception 就是:如果你走进任意一家店,选一个你喜欢的品牌,那里的气味、音乐、店员、微笑,以及你获得的其他一切,这些合在一起,就是你对那个品牌的感知。所以如果你用这个视角去看一个产品——这对一些人来说可能听上去有点反直觉,或者说不那么显而易见——我是把这些全部放在一起思考的。比如说,假设我们卖的是 sneakers。对吧?当然我们其实不卖 sneakers,但是这双 sneaker——我们就不点其他品牌的名字了,不过——
Speaker 234:48 - 34:51
If you do, you can yeah. You can always pivot to GPU. Yeah. Speaker 234:48 - 34:51
如果你真这么做,也可以啊。你随时都可以转去做 GPU。对。
Speaker 134:52 - 35:34
Exactly. Like if you go to the store here in New York it's like a beautiful store the people are very nice every everything's aesthetically pleasing and you just like enjoy that entire experience and it's a good sneaker right and so you have to have that all together and so that's how I think about this as well which is you know you have to have a good product you have to all these things but all these other things have to collide with that. Now the risk is and we've seen this with a bunch of startups like there's no sustenance so the product is not good and you have everything else and that is sort of that's when you get into trouble. But if the product is good or at least as good if it's better it's amazing and you have all these things for me my belief is that is that is a key driver to continue growth. Speaker 134:52 - 35:34
没错。比如你去 New York 这里的商店,会觉得那是一家很漂亮的店,店员很好,所有东西在审美上都很舒服,你会享受整个体验,而且鞋本身也是一双好 sneaker(运动鞋),对吧。所以这些东西必须同时具备。我也是这么看这件事的:你得有一个好产品,你得有所有这些要素,但其他这些东西也必须和产品汇合到一起。风险在于——我们已经在很多 startup(初创公司)身上看到过——它没有持续性,也就是产品并不好,但你把其他一切都配齐了,这时候你就会陷入麻烦。但如果产品是好的,或者至少一样好;如果它更好,那就很惊人了;再加上你还有所有这些东西。对我来说,我的判断是,这就是推动持续增长的一个关键驱动因素。
Speaker 235:34 - 35:43
Great. You mentioned Twitter and X, a minute ago. To which extent is that part of the whole, the whole split? Speaker 235:34 - 35:43
很好。你刚才提到了 Twitter 和 X。它在整体局面里、在这种分化中,究竟占多大程度的作用?
Speaker 135:43 - 35:56
It's hard to measure. Yep. Like, I've worked in bigger companies and if someone if I was working for my former company, they're like, how do we measure that? I have no idea that we can measure that. But what I can say is that I was never active on Twitter. Speaker 135:43 - 35:56
这很难衡量。对。比如,我以前在更大的公司工作过,如果当时我在之前那家公司,有人会问,那我们怎么衡量这个?我完全不知道我们能怎么衡量它。但我能说的是,我以前从来不是一个活跃的 Twitter 用户。
Speaker 135:56 - 36:04
Very, I've had an account since 2009, but never very active until like this holiday season where there was like this semi viral tweet that that went out. Speaker 135:56 - 36:04
也不是说完全没有,我从 2009 年就有账号了,但一直都不算活跃,直到这个 holiday season(假日季)期间,出现了一条有点半 viral(半爆火)的 tweet(推文)传播开来。
Speaker 236:05 - 36:06
What did you say again? Speaker 236:05 - 36:06
你当时到底说了什么来着?
Speaker 136:06 - 36:12
I just the the tweet was if you're taking a break these holidays, you're in GMI. You're not gonna make it. Speaker 136:06 - 36:12
我那条 tweet 是:如果你这个假期在休息,那你就是 GMI(gonna make it,能成)。你不会成功的。
Speaker 236:12 - 36:12
Yeah. Speaker 136:12 - 36:24
Which I honestly believed. Yeah. Like the tweet was basically, wasn't even thinking about there's like a typo in the tweet. Like it's not, people are you're rage baiting. It's like, no, I was, my thought is we are, we are a part of this like super cycle right now. Speaker 136:12 - 36:24
而且说实话,我当时真是这么相信的。对。那条 tweet 基本上是,我甚至都没多想,里面还有个 typo(拼写错误)。不是说,别人觉得你是在 rage baiting(故意发言引战博关注)。其实不是,我当时的想法是,我们现在正处在这个 super cycle(超级周期)的一部分之中。
Speaker 136:24 - 37:32
And the super cycle does not last forever. And so if you're gonna pause by the super cycle you are feeding market like that is what you're doing right? And also it's like it's very much towards you know founders and executives and tech leaders it's less about the individual person that you know that can't have an impact on all. In that like people have to take their breaks and so people took that in all different ways or like two boob, two boats like you should die or a capitalist or whatever all these things. And the reason why it became so popular like it was kind of popular which was some person said dude you never I've never heard of you or whatever and then I said basically that's why I have to keep working and that was perfect and now again not I was like instant reply on that and so basically not talk too much about that is that from then I had noticed that people even if they like your tweets or don't or are completely opposed or not has no bearing on I should say it has that positive bearing on their thoughts of your company. Speaker 136:24 - 37:32
而 super cycle 并不会永远持续下去。所以如果你在 super cycle 期间暂停下来,你其实就是在给市场让路——你做的就是这个,对吧?而且这话其实更多是说给 founders(创始人)、executives(高管)和 tech leaders(科技领域领导者)听的,不太是在说那种无论如何也很难产生什么影响的普通个人。因为在那种情况下,人们当然也需要休息,所以大家会用各种不同方式去理解那条话,比如说“你有病吧”、 “你去死吧”、 “资本家”之类,各种说法都有。它后来之所以变得那么火,是因为一开始它只是有点热度,后来有个人说,哥们,我以前根本没听说过你,之类的话;然后我基本上回了一句,这就是为什么我得继续工作。那一下就非常到位。而且再说一次,我当时几乎是秒回。总之,不展开讲太多,从那之后我注意到,人们不管是喜欢你的 tweets,还是不喜欢,或者是完全反对你还是不反对,这些都不会决定——我应该说,这些对他们如何看待你的公司,反而会产生一种正向影响。
Speaker 137:33 - 38:01
So we have found that people that even are completely opposed to the posts end up being customers assuming that they need the product line, not everyone is there. So it was quite interesting to me that, oh, just because someone doesn't agree does not mean that they won't like that because it's all generally awareness. And so that has been something that I've spent a bunch of time trying to catch up to you on, on the Tweeterverse. Speaker 137:33 - 38:01
所以我们发现,即使有人完全反对这些帖子,如果他们确实需要这条 product line,他们最后也还是会成为客户,当然不是每个人都会这样。所以这对我来说挺有意思:哦,仅仅因为某人不同意,并不意味着他们就不会喜欢这个东西,因为整体上这都是在提升 awareness(认知)。所以这也是我花了很多时间试着在 Tweeterverse 上向你追赶、学习的一点。
Speaker 238:01 - 38:20
No, that's a super interesting right for any, AI builder or AI founder. So the PLG motion ultimately to like to create inbound is a combination of all the things. So we talk about conferences and meetups. Twitter is important. Is there anything else that people should know? Speaker 238:01 - 38:20
对,那个观点对任何 AI builder 或 AI founder 来说都非常有意思。所以,PLG motion 最终要创造 inbound,本质上是把所有这些东西结合起来。所以我们会谈 conference 和 meetup,Twitter 也很重要。还有别的事情是大家应该知道的吗?
Speaker 238:20 - 38:24
Talk about customer service. You mentioned no salespeople as of now. Speaker 238:20 - 38:24
说说 customer service 吧。你提到目前还没有 salespeople。
Speaker 138:24 - 38:31
We have no salespeople. Yeah. So I think like the, how do you experience the product? Right. So like once you've seen the product, how do you experience the product? Speaker 138:24 - 38:31
我们没有 salespeople,对。所以我觉得,关键在于,你是如何体验这个产品的,对吧?也就是说,当你看到这个产品之后,你会如何去体验这个产品?
Speaker 138:31 - 38:42
Like your door to your product, like the website, the login, the whatever. We can fix a lot of these things to be very clear. I'm not saying we're the best of these, but there's that. And then what are the feature sets are in there? Can I get things easily? Speaker 138:31 - 38:42
比如你进入产品的入口,像 website、login,或者其他任何东西。这里面很多东西我们都可以优化,让它们变得非常清晰。我不是说我们在这些方面做得最好,但这是其中一部分。然后还有里面有哪些 feature set?我能不能很容易拿到我需要的东西?
Speaker 138:42 - 38:56
Our SDKs are really, really, really good. Like people really like, like the ergonomics of them. So it's like really good. That part is great. And then the thing that, and this is even public on Twitter, all our case studies that we've done and we outsource the case studies to third parties. Speaker 138:42 - 38:56
我们的 SDKs 真的、真的、真的非常好。大家真的很喜欢它们的 ergonomics(易用性/人机工学体验)。所以这一部分做得非常好。然后还有一点,而且这在 Twitter 上甚至也是公开的,就是我们做过的所有 case studies,而且这些 case studies 我们都是外包给第三方来做的。
Speaker 138:56 - 39:54
So we're not part of this is that we reply very, very fast. And so this is a very public thing and it's something just core to who I am and how I learned to work because one of the, let's call it first real jobs I had was a system admin. So my job was like to fix the printer and computer and whatever. And so one thing that I learned and I tried to talk to my entire team is like, one thing you have to do is like, one is the first response very fast, just the first response very fast like people are then calm, they know they have transferred their problem to someone else and someone has acknowledged that and so when they do that they feel rested right and then you just have to promise that you will solve or get back to them at X amount of time whatever that is and they were calm till that moment and the thing that you have to do is one either solve the problem until the given time or call them message them whatever and track them before that time and state a new time. Speaker 138:56 - 39:54
所以我们不参与其中的一点是:我们的回复速度非常、非常快。这是一件非常公开的事,也是我这个人以及我学会工作的方式里一个非常核心的部分,因为我第一批可以算“真正工作”的职位之一,是 system admin。所以我的工作就是修打印机、修电脑之类的各种问题。我学到的一件事,也是我一直试着跟整个团队讲的一件事,就是:你必须做到的一点是,第一响应要非常快,先把第一响应做得非常快——这样人们就会冷静下来,因为他们知道自己已经把问题转交给别人了,而且有人确认收到了这个问题。这样一来,他们就会放松下来,对吧。然后你只需要承诺,你会在 X 时间内解决,或者在那个时间点之前给他们回复,不管那个时间是多少,他们在那之前都会保持平静。而你必须做到的是:要么在约定时间前解决问题,要么就在那个时间之前给他们打电话、发消息之类,提前跟进,并给出一个新的时间。
Speaker 139:54 - 40:33
That is the solution to support. That is it. There's nothing more than that. There's obviously there's like key things if you're actually down and don't work and the person can't work that's a completely different thing but every other non critical problem and you have the most happy customers in the world because they don't have to think about their problem anymore. You think about their problem and so you can like keep that on until you get it done but the key part is if I said that something's going to be fixed or deployed or done or whatever in two days, a day and a half later if it's not gonna be in two days a day and half later I said, hey this is going to be delayed two more days and they're fine. Speaker 139:54 - 40:33
这就是 support 的解决方案。就是这样,没有更多了。显然,如果系统真的挂了、不能工作了,用户也完全没法工作,那就是完全不同的情况。但除此之外,其他所有非关键问题,只要这样做,你就会拥有世界上最满意的客户,因为他们不再需要自己去想着那个问题了。你来替他们想着这个问题,所以你可以一直盯着它直到把它解决。但关键部分是:如果我说某个东西会在两天内修好、部署好或者完成,那么如果到了一天半的时候我发现它不可能在两天内完成,那我就在一天半的时候告诉他们:“嘿,这件事还要再延迟两天。” 而他们是可以接受的。
Speaker 140:33 - 40:51
You thought about it before they thought about it and it's not magical. It's not, I mean it's a magical experience but it's not very, it's not a complex thing but I found that people don't understand that intuitively and so that is what I learned back in the day and that is what we do in the company today and that's why we are we have very very happy users and customers. Speaker 140:33 - 40:51
你在他们想到这件事之前就已经想到了,而且这并不神奇。它不是,我是说这是一种很神奇的体验,但它本身并不是一件非常复杂的事,只是我发现人们并不能凭直觉理解这一点。所以这就是我当年学到的东西,也是我们今天在公司里所做的事,这也是为什么我们拥有非常非常满意的 users 和 customers。
Speaker 240:51 - 41:04
Okay. Fascinating. Now let's switch back to the the more technical, stuff. So we talked about the concept of sandboxes. Just walk us through what a sandbox is technically. Speaker 240:51 - 41:04
好的,很有意思。现在我们切回到更技术性的内容。我们刚才谈到了 sandbox 的概念。你给我们具体讲讲,从技术上说 sandbox 到底是什么。
Speaker 141:05 - 41:24
Yeah, there's a lot of things. There's a lot of things there. We can talk about the way I think about sandbox is the ergonomics of consumption of compute. And so because there's a lot of different layers on that. I obviously put it into three different layers which is the infrastructure, the primitive and the tooling. Speaker 141:05 - 41:24
对,这里面有很多东西,确实有很多层面。我们可以先说说我怎么看 sandbox:我认为它本质上是对 compute(算力)消费体验的人体工学,也就是使用上的顺手程度。因为这里面其实分很多层。我通常把它分成三层:infrastructure、primitive 和 tooling。
Speaker 141:25 - 41:54
Those three things together and what I mean by infrastructure is like it does it spin up very very fast can you spin so like we spin up in sixty milliseconds can you spin up a lot of them at once so the rate of creating them and so we can spin up 50,000 in seventy seconds, so a little less than a minute and a half And then once they're up, how many can you keep running? Like we can have, we have customers that have billions a day. So those are like the infrastructure parts that are non trivial. Speaker 141:25 - 41:54
这三样东西要放在一起看。我说的 infrastructure,指的是比如它能不能非常非常快地 spin up(启动);你能不能一次性启动很多个;也就是创建它们的速率。比如我们可以在 60 毫秒内启动一个,也可以在 70 秒内启动 50,000 个,也就是不到一分半。然后它们启动起来之后,你又能持续运行多少个?比如我们有些客户一天会跑数十亿个。所以这些都属于 infrastructure 层面,而这些并不是简单的小问题。
Speaker 241:54 - 41:59
Why does it matter, how quickly can you initialize a new sandbox and how many it's gonna run? Speaker 241:54 - 41:59
为什么这件事重要?为什么你初始化一个新的 sandbox 有多快、以及它总共能运行多少个,会这么关键?
Speaker 141:59 - 42:10
Again, depends on the user and the use case. So if you're like a long running background agent, again, everyone prefers it to be fast. Like no one wants to wait. Like you don't want to wait for a reply. Like everyone wants to be fast to be very clear. Speaker 141:59 - 42:10
这还是取决于 user 和 use case。如果你说的是一个长时间运行的后台 agent,那当然,所有人都更希望它快。没人想等。你不想等一个回复。说得很明确一点,所有人都希望系统越快越好。
Speaker 142:10 - 42:38
So the faster the better, but generally there's an actual reason why you want it very, very, very fast. And that is especially if you so for, I was gonna say if for a background agent, a background agent might work for like ten minutes or an hour or whatever. So the incremental millisecond might not matter, but I still believe that from a user perspective, even a second of waiting is kind of uncomfortable. You don't want that. And so it's 60 or 90, maybe less so, but there you want that one, two seconds for sure under that. Speaker 142:10 - 42:38
所以当然是越快越好,但通常你之所以希望它非常非常非常快,是有实际原因的。比如我刚才本来想说,对于一个后台 agent 来说,它可能会运行十分钟、一个小时,或者别的时长,所以多出来那几毫秒也许未必重要。但我仍然认为,从 user 的角度看,哪怕等一秒都会让人有点不舒服。你不会想要那种体验。所以如果是 60 毫秒或 90 毫秒,可能差别没那么明显,但无论如何,你肯定希望等待时间控制在一两秒之内,最好低于这个范围。
Speaker 142:39 - 43:36
But the interesting the more interesting part where that is really really important is for the researchers where when you're doing reinforcement learning, you basically have allotment of GPUs and you want the GPU is more expensive than the CPU. So the vast majority of sandbox are CPU boxes to be clear. So they're the computers that we all work on. There might be a graphics card in there but basically it's the compute, the RAM, the CPU and the hard disk that's in there and they are cheaper or less expensive and easier to get at least for now, we'll see for how long they last than GPUs. Which means you want your GPUs always to be at maximum utilization and the CPUs can then idle if need to be idle but you want them you don't want the GPUs to idle and so what that means is you want to make sure that the CPU machines, the sandboxes spin up so fast because you don't spin them in our training run, don't see them all up, see them on like depending on how many you have it's like a thousand at once they do the task and do the next one, the next one, the next one. Speaker 142:39 - 43:36
不过,更有意思、也更重要的是另一种场景:researchers 在做 reinforcement learning 的时候。那时你基本上会分配到一批 GPUs,而 GPU 比 CPU 更贵。先说明一下,绝大多数 sandbox 实际上都是 CPU 机器。所以它们就是我们平时工作的那种电脑。里面可能会有 graphics card,但本质上就是 compute、RAM、CPU 和 hard disk 这些东西。至少就目前来看,它们比 GPUs 更便宜,也更容易获得——当然这种情况还能持续多久,我们之后再看。也就是说,你会希望自己的 GPUs 始终保持最大利用率。CPU 那边如果需要 idle,可以 idle;但你不希望 GPUs idle。所以这意味着你必须确保这些 CPU 机器,也就是 sandboxes,能够非常快地 spin up,因为在训练过程中你不是一开始就把它们全都启动好、然后一直放在那里;你会按需启动,比如一次启动一千个左右,它们做完一个任务,再做下一个、下一个、再下一个。
Speaker 143:36 - 44:21
And so between turning off and on the CPUs you want that time to be as short as it can so that the GPU utilization does not go down right and so that's why that's very very very important and obviously the number that you have concurrent so it depends on so on the background agents let's say just for the sake of people know lovable so the amount of users that they have is astonishing. And so each user for every task and they can have multiple tasks, multiple agents, they need a sandbox. And so imagine, I don't know their user number in the millions, whatever. So you have to have millions of sandboxes up and running. On the RL side, you can have people, smaller labs that will have concurrent 5,000 or 10,000, but we have a request today for 5,000,000 concurrent looks. Speaker 143:36 - 44:21
所以,在关闭和重新开启 CPUs 之间,你希望这段时间越短越好,这样 GPU utilization(GPU 利用率)就不会下降,对吧。所以这就是为什么它非常非常非常重要。显然,你能支持的 concurrent(并发)数量也很关键,这取决于具体场景。比如说 background agents(后台 agent),为了方便大家理解,我们就拿 lovable 来举例:他们的用户数量是惊人的。所以每个用户的每一个任务,而且他们还可能有多个任务、多个 agents,都需要一个 sandbox(沙箱)。所以你想象一下,我不知道他们的用户数是不是有几百万,随便说个量级。那你就必须让数百万个 sandboxes 处于启动运行状态。在 RL 这一侧,可能一些规模较小的实验室只会有 5,000 或 10,000 的并发,但我们今天收到过一个需求,是要 5,000,000 的 concurrent。
Speaker 144:21 - 45:15
So 5,000,000 at one point in time. Right. So being able to handle those types of things is part of that infrastructure segment. The other two are the primitive and the tooling and so the primitive is essentially let's call it the computer itself the isolation, the VM, the container, the micro VM, the isolate, the whatever we can get into details what those are but there's different shapes of them and also what feature set do these things have right and so for the most part a VM that you would find in you know AWS or whatnot is usually much slower to start much harder to get those spikes but also when you get a certain size they're usually that size forever and forever. And then we just give one one example, whereas in Daytona, you can define a size, the CPU, the RAM, the disk, and then while it's running, you can resize that. Speaker 144:21 - 45:15
也就是某一个时刻要有 5,000,000 的并发,对吧。所以,能够处理这类需求,就是那个 infrastructure(基础设施)层的一部分。另外两个部分是 primitive(基础构件)和 tooling(工具链)。primitive 本质上可以理解为“这台计算机本身”——也就是 isolation(隔离)、VM、container、micro VM、isolate,等等。我们可以展开讲它们各自是什么,总之它们有不同的形态;同时,这些东西各自具备什么 feature set(功能集)也很重要。大多数情况下,你在 AWS 之类平台上看到的 VM,通常启动更慢,更难应对那种流量尖峰;而且一旦到了某个规格,往往就会一直固定在那个规格上。举一个例子,在 Daytona 里,你可以定义一个实例的 size,包括 CPU、RAM、disk,然后在它运行过程中,你还可以动态调整这些配置。
Speaker 145:15 - 46:08
So if an agent gets to, you know, use the entire memory or a 100% CPU, the sandbox would or VM would die in our case we can expand that and there's other things it's not for us it's not just a Linux CPU box it could be a Windows, a Mac, an Android, it can be you know they can have a GPU in there it cannot have a GPU depending on what you need and so that's the primitive and the last thing is the tooling. The tooling is either there to support the agent to be better at job or to be guardrails on the agent to stop it from doing dumb stuff basically. So you can think of it we have a bunch of tools, so headless, you know, terminal and file operations and other things that enable it to use less tokens, get the job done faster, but also guardrails like secrets manager and a firewall and all these other things. And so the combination of those three, the infrastructure, primitive, and tooling essentially creates what we call a sandbox. Speaker 145:15 - 46:08
所以如果一个 agent 把整个内存都用满了,或者 CPU 跑到 100%,一般的 sandbox 或 VM 可能就会直接挂掉;而在我们的场景里,我们可以把它扩容。还有一点,对我们来说,它不只是一个 Linux CPU box(Linux CPU 机器),也可以是 Windows、Mac、Android;它可以带 GPU,也可以不带 GPU,取决于你的需求。这就是 primitive。最后一部分是 tooling。tooling 要么是为了支持 agent 把工作做得更好,要么是作为 agent 的 guardrails(护栏/约束),防止它去做蠢事。你可以这样理解:我们有一整套工具,比如 headless(无头)能力、terminal(终端)、file operations(文件操作)以及其他能力,它们可以让 agent 用更少的 tokens(token)、更快完成任务;同时也有像 secrets manager(密钥管理器)、firewall(防火墙)之类的 guardrails。于是,这三者——infrastructure、primitive 和 tooling——组合在一起,就构成了我们所说的 sandbox。
Speaker 246:09 - 46:16
What's ultimately what's the difference between a sandbox or a container, VM, micro VM? Speaker 246:09 - 46:16
归根结底,sandbox 和 container、VM、micro VM 之间到底有什么区别?
Speaker 146:16 - 46:26
All the things, all the joy. So all most sandbox providers are Firecracker VM micro VMs. Most. Speaker 146:16 - 46:26
这些东西全都有关,乐趣也全在这里。所以,大多数 sandbox provider(沙箱提供商)使用的都是 Firecracker VM,也就是 micro VM。大多数都是。
Speaker 246:26 - 46:28
Let me remind people what firecracker is. Speaker 246:26 - 46:28
我先帮大家回忆一下 firecracker 是什么。
Speaker 146:28 - 46:43
Firecracker it's an isolation purpose. So it is essentially a type of VM, a virtual machine that's very stripped down. It was made by the, AWS team. It's used inside of Lambda. And so the idea which are like functions. Speaker 146:28 - 46:43
Firecracker 是一种以 isolation(隔离)为目的的东西。所以它本质上是一种 VM,也就是一种被大幅精简过的 virtual machine(虚拟机)。它是由 AWS 团队做出来的,Lambda 内部就在用它。所以它的思路——Lambda 本质上就是 functions(函数)那一类东西。
Speaker 146:43 - 47:09
And so the idea was to have something very very fast that can spin up and stateless. That that was the entire time. And they were very very ephemeral. And so they were used for, you know, when your website has a large, if it's Black Friday, a bunch of people hitting your website, you can spin up a lot of these very, very fast, like handle the load and enable all these humans to look at the website and buy whatever they were buying. Right. Speaker 146:43 - 47:09
所以它的思路就是做一个非常非常快、能够迅速 spin up(拉起/启动)并且 stateless(无状态)的东西,这一直都是它的核心目标。而且它们非常非常 ephemeral(短生命周期/临时)。所以它们被用在这样的场景里:比如你的网站流量突然很大,如果碰上 Black Friday,有一大堆人同时访问你的网站,你就可以非常非常快地启动很多这样的实例来承接负载,让所有这些用户都能浏览网站并购买他们想买的东西,对吧。
Speaker 147:09 - 47:26
And so that technology is there and it's a very stripped down version of a full on VM. So it has less features there, but the things that it does, it does very, very, very, very well. So you can spin them up fast. It does that because it can sort of lazy load things into memory. You can do point in time snapshots. Speaker 147:09 - 47:26
所以,这项技术是存在的,而且它是完整 VM(虚拟机)的一个高度精简版本。它的功能更少,但它能做的那些事情,做得非常、非常、非常、非常好。所以你可以很快把它启动起来。它之所以能做到这一点,是因为它可以某种程度上把内容按需懒加载(lazy load)到内存里。你还可以做时间点快照(point-in-time snapshots)。
Speaker 147:26 - 47:37
You can do all these nice things. The things that I can't do is it can't run a let's call it sandbox now. It can't run a sandbox with a GPU. It just doesn't work. So you can't have a firecracker. Speaker 147:26 - 47:37
你还能做所有这些很不错的事情。但我做不到的是,它没法运行——我们现在姑且把它叫作 sandbox(沙箱)——它没法运行带 GPU 的 sandbox,根本行不通。所以你不能用 firecracker 来做这件事。
Speaker 147:37 - 47:59
So if you want a GPU, you have to do something which is a cloud hypervisor or a QEMU, spelled q e m u, which are two different types. QEMU is almost a full VM. So it has all these different things in inside of there. So you can't do that. But let's, for example, if you need to run, we were solving this for one customer earlier today is they need a machine that also has an Android device inside of it. Speaker 147:37 - 47:59
所以,如果你想要 GPU,就必须用 cloud hypervisor 或者 QEMU(拼写是 q e m u),它们是两种不同的类型。QEMU 几乎就是一个完整 VM,所以它内部带有各种不同的东西。因此那种方式做不了。不过举个例子,如果你需要运行——我们今天早些时候就在给一个客户解决这个问题——他们需要一台机器,而且这台机器里面还得有一个 Android device。
Speaker 147:59 - 48:10
And so the only way we could solve that was inside one of these key moose. Like it can't work in a firecracker, can't work in a container, can't work in anything else. And so there's different types of there. These are like the micro VMs of the world. There's also containers. Speaker 147:59 - 48:10
所以,我们唯一能解决这个问题的办法,就是放在这类 QEMU 里面。它不能在 firecracker 里工作,不能在 container(容器)里工作,也不能在别的任何东西里工作。所以这里面其实有不同的类型。这些可以算是这个世界里的 micro VM(微型虚拟机)。另外也还有 containers。
Speaker 148:10 - 48:33
And so container, most people know Docker, which is there. Daytona originally started running Docker containers. We do have them. The problem with Docker is that they're much less secure than a VM. The thing that we do in Daytona is we harden that with SysBox, which is VM like isolation that wraps around that. Speaker 148:10 - 48:33
说到 container,大多数人都知道 Docker。Daytona 最初就是运行 Docker containers 起步的,我们现在也还有。Docker 的问题在于,它们的安全性比 VM 低得多。我们在 Daytona 里做的事情,是用 SysBox 来把它加固;SysBox 会在外层包上一层类似 VM 的隔离(isolation)。
Speaker 148:34 - 48:47
It's really good for handling density of these machines. It's very fast. It allows us to run Docker and Docker. There's a bunch of features that are very that it's very, very good for. And so there's differences there. Speaker 148:34 - 48:47
它特别适合处理这类机器的高密度部署,速度也非常快。它还能让我们运行 Docker in Docker。它在很多特性上都非常、非常强。所以这里面确实存在差异。
Speaker 148:47 - 49:32
There's also like isolates, which we've talked out or like other app containers, which is abstractions of these containers just you running a single app. And so these different things all exist in the world and they can all be theoretically sandboxes with these other two things that are there. And our original idea is to get back to the original conversation. Most sandbox providers started as firecrackers, but as we start seeing that agents have different needs and different use cases, they are going to need all these different shapes consumed through one interface. So we at Daytona now support containers and all the micro VMs depending on your use case. Speaker 148:47 - 49:32
另外还有像 isolates 这样的东西,我们也讨论过;或者说其他 app containers,它们其实是这些 containers 的一种抽象,本质上就是只运行单个 app。世界上存在这些不同的东西,而且理论上,它们结合另外那两类东西,都可以成为 sandbox。回到我们最初的话题,大多数 sandbox provider 一开始都是从 firecrackers 起步的,但随着我们开始看到 agents(智能体)有不同的需求和不同的 use case,它们将会需要通过一个接口来消费所有这些不同形态的能力。所以现在 Daytona 会根据你的 use case,同时支持 containers 和各种 micro VMs。
Speaker 149:32 - 49:58
The user doesn't know it's the same ergonomics like oh I need windows and I'll spin up this one I need a Linux I'll spin up that one and so we will continue to add these things inside of the same infrastructure. Sometimes it'll be slightly faster or slower but the concurrency will be there. All the tooling will be there and so everything that you would come to know and like about a Daytona will be there but it'll be different sizes and speeds and configurations depending on your use case. Speaker 149:32 - 49:58
用户并不会感知到底是哪一种,使用体验(ergonomics)是一样的:哦,我需要 Windows,那我就启动这个;我需要 Linux,那我就启动那个。所以我们会继续把这些东西加到同一套基础设施里。有时候它会稍微快一点或慢一点,但并发能力(concurrency)会在,所有工具链(tooling)也都会在。所以,你所熟悉并喜欢的 Daytona 的一切都会保留,只是会根据你的 use case,提供不同的尺寸、速度和配置。
Speaker 249:58 - 50:02
Why are snapshots and forks important? Speaker 249:58 - 50:02
为什么 snapshots(快照)和 forks(分叉)很重要?
Speaker 150:02 - 50:26
There's a lot of reasons. Let's get into the the commercial one which is probably the the one that people most think about which is pausing a sandbox. So if you are an app player company and you have 10,000,000 users and your 10,000,000 users spin up, let's just say 10,000,000 sandboxes just to make the math easier. These things cost, right? Because they're running, they're using CPU, RAM, and hard disk the entire time. Speaker 150:02 - 50:26
原因有很多。我们先说商业层面的那个原因,这可能也是大多数人最先想到的:暂停一个 sandbox(沙箱)。比如说,如果你是一家 app player 公司,你有 10,000,000 个用户,而这 10,000,000 个用户各自启动了——为了方便计算,我们就假设是——10,000,000 个 sandboxes。这些东西是有成本的,对吧?因为它们在运行期间会一直占用 CPU、RAM 和硬盘。
Speaker 150:26 - 50:44
The most expensive thing is the CPU second, the RAM discs almost free. It's very inexpensive. And the user sends the agent to do something. The agent does something and now it's waiting for a reply. It could be waiting for the human or it could be waiting from a service depending on what it's trying to do. Speaker 150:26 - 50:44
其中最贵的是 CPU 秒,RAM 和磁盘几乎是免费的,非常便宜。用户让 agent(智能体)去做一件事,agent 做完之后,现在它在等待回复。它可能是在等人类回复,也可能是在等某个服务回复,这取决于它要完成什么任务。
Speaker 150:45 - 51:40
You ideally don't want that sandbox to run idle because you are now pay regardless if you're a customer or Daytona are running your own, but like there is a cost to running these things. And so what you want to do is pause that and wait for a reply either from a service or for a human and then resume and the feeling and experience is that it never turned off so you feel like it never turned off but it actually did turn off and so that one is from a compute management perspective if not from a cost perspective is probably the first reason. The second thing is you can enable your agent to take multiple paths so your agent can say, at this point in time I'll take a snapshot and then I will either continue and be able to roll back to this point like a point in time or at this point in time I will replicate the sandbox and have two sandboxes and I can try two at the same time obviously it can be more but right but those are the reasons why you would have that there. Speaker 150:45 - 51:40
理想情况下,你不希望那个 sandbox 空转运行,因为无论你是客户,还是 Daytona 自己在运行这些东西,运行它们本身就是有成本的。所以你想做的是把它暂停下来,等待来自某个服务或某个人类的回复,然后再恢复运行。而用户感受到的体验会像是它从来没有关闭过——你会觉得它一直都开着,但实际上它确实关闭过。所以这是第一个原因:从计算资源管理的角度来看——即使不单从成本角度看——这大概也是首要原因。第二点是,你可以让 agent 走多条路径。也就是说,agent 可以说:在这个时间点我先做一个 snapshot,然后我可以继续往前,同时还能在之后回滚到这个时间点,就像一个时间点状态;或者在这个时间点我复制这个 sandbox,变成两个 sandboxes,于是我可以同时尝试两条路径——当然也可以不止两条——但这些就是你会需要这个能力的原因。
Speaker 251:40 - 51:51
You mentioned, performance and speed. And in connection with that, you said that you had to rebuild your own scheduler. Yep. So what is it first of all, what does the scheduler do? And then how did you Speaker 251:40 - 51:51
你提到了 performance(性能)和 speed(速度)。联系到这一点,你说你们不得不重建自己的 scheduler(调度器)。对。所以首先,scheduler 是做什么的?然后你们是怎么
Speaker 151:51 - 52:26
go about it? Every cloud that exists today, Neo Cloud, hyperscaler, whatever, they are all built on servers, right? Like metal machines and like historically way back in the day, actually stack these data certs, data centers, me and my co founder a long, long time ago, but they're all just like servers like CPU, RAM, disk, they're computers basically. And on top of these computers, there is a software stack that everyone has built for their own reasons. So AWS has their software stack, Cloudflare has theirs which is very different, everyone has their own on top of that. Speaker 151:51 - 52:26
做这件事的?今天所有存在的云——Neo Cloud、hyperscaler(超大规模云厂商)之类——本质上都是构建在服务器之上的,对吧?就是裸金属机器(metal machines)。而且从很久很久以前开始,历史上人们确实就是把这些数据中心一层层搭起来的——我和我的联合创始人很久以前也做过这种事——但归根结底,它们都只是服务器:CPU、RAM、磁盘,本质上就是计算机。而在这些计算机之上,每家公司都会因为自己的原因构建一套软件栈。所以 AWS 有自己的软件栈,Cloudflare 也有他们的,而且非常不一样,基本上每家都在上面做了自己的一套。
Speaker 152:26 - 53:31
And so basically what you're trying to do when you think of these machines, these servers, basically what we do is we cut them up into small little machines and then give you that sandbox and so you have these small on these big servers you have these small little machines that can run for a minute, a second, three hours, whatever and you don't have to worry about this and so basically the scheduler or the orchestrator is the one that that basically says, oh after you send me a request I send you to this server and turn on that sandbox or little computer there and then I turn it off or I kill it or I snapshot it or it's the management of all these things there And most of our other companies in the space basically have off the shelf schedulers. So it could be like Kubernetes or Nomad or what whatever. And when we decided to build Daytona sandbox product, we inadvertently with very naivete we're like, oh, this stuff doesn't work. Because we had worked with all, we had built our own then we have used Kubernetes with like we've seen all these different things and we knew what was good and what's bad or what was use case or not. Speaker 152:26 - 53:31
所以基本上,当你从这些机器、这些服务器的角度来思考时,我们做的事情其实就是把它们切分成很多很小的机器,然后把其中一个 sandbox 交给你。也就是说,在这些大型服务器之上,有很多小机器,它们可以运行一分钟、一秒钟、三小时,随便多久,而你不需要操心这些。于是 scheduler 或者 orchestrator(编排器)本质上就是那个在管理这一切的东西:你向我发来一个请求后,它会说,哦,我把你发到这台服务器上,并在那边启动那个 sandbox 或小电脑;然后我再把它关掉,或者杀掉,或者做 snapshot——总之,它负责管理所有这些东西。我们这个领域里的大多数其他公司,基本上都在用现成的 off-the-shelf scheduler(现成调度器),比如 Kubernetes 或 Nomad 之类的。后来我们决定做 Daytona sandbox 产品时,我们在某种无意间、也带着一点天真地发现:哦,这些东西不行。因为我们以前都打过交道——我们自己造过,也用过 Kubernetes——我们见过各种不同的方案,所以我们知道哪些好,哪些不好,哪些适用于某些 use case(使用场景),哪些不适用。
Speaker 153:31 - 53:54
None of these were made for these like super fast, stay full, long running machines. And so we're like, we have to do this again. We have to build it again because the way we thought about it, which was not known at the time is because at the time sandboxes were very ephemeral similar to a Lambda function. And we're like, no, why would your sandbox be ephemeral by default? Like your laptop, you don't want it to die. Speaker 153:31 - 53:54
这些东西没有一个是为这种“超快、stateful(有状态)、长时间运行”的机器而设计的。所以我们就想,我们得再做一次,我们得重新造一遍。因为我们当时的思路——在那个时候这还不是一种已知的共识——是:当时大家认为 sandboxes 都应该是非常 ephemeral(短暂易失)的,类似 Lambda function。但我们觉得,不对,为什么你的 sandbox 默认就应该是 ephemeral 的?就像你的 laptop 一样,你并不希望它动不动就死掉。
Speaker 153:54 - 54:54
Like you want it to work until it's done and it has to be very fast. It has all these things. And so my co founder mostly built this sort of initial version of our scheduler and that scheduler of ours is the basis of everything that we do and it gives us a lot of things like outside of just like the performance it also enables us to do things like have four different isolation products like we are the only company right now that you as a user don't know but like we have depending on your use case we will spin up any one of these firecracker, cloud, hypervisor, whatever to get the job done. So whatever is needed we'll get there. The other thing the benefit is we built this we have colocation providers so we have like bare metal machines so you can think of us as our own cloud but we're more and more akin to now like the neo clouds like the base 10s and like the fireworks because for us and we've got to this question yesterday because we have a large request of number of CPUs is like we can't get enough and so how do we solve that problem? Speaker 153:54 - 54:54
你会希望它在任务完成之前一直正常工作,而且必须非常快。它需要具备所有这些特性。所以我们联合创始人主要构建了我们 scheduler(调度器)的初始版本,而这个 scheduler 是我们所做一切的基础。它带给我们的不只是性能上的优势,还让我们能够提供四种不同的 isolation(隔离)产品。比如说,目前我们是唯一一家——作为用户你可能并不知道——会根据你的 use case(使用场景)启动 firecracker、cloud、hypervisor 等不同环境来完成任务的公司。所以无论需要什么,我们都能实现。另一个好处是,这套东西是我们自己搭出来的。我们有 colocation providers,也就是说我们有 bare metal machines(裸金属机器),所以你可以把我们看作是我们自己的 cloud(云)。但现在我们也越来越像 neo clouds,比如 Base10 和 Fireworks。因为对我们来说——我们昨天还被问到这个问题——当 CPU 数量需求很大时,我们会遇到一个问题:我们拿不到足够的 CPU,那该怎么解决?
Speaker 154:54 - 55:24
Well we've already solved it where our scheduler can be attached to any CPU machine, any server that we think is good enough and it becomes part of our cloud essentially. And so why I say Base10 and Fireworks is that both of them run on more than a dozen compute providers depending on what you're going call them and so we can do something similar because we've created this in such a fashion. That has given us, I believe that's given us sort of, an advantage there. Speaker 154:54 - 55:24
其实我们已经解决了。我们的 scheduler 可以挂接到任何 CPU 机器、任何我们认为足够好的 server(服务器)上,它本质上就会成为我们 cloud 的一部分。所以我提到 Base10 和 Fireworks,是因为它们两家都会运行在十多个 compute providers(算力提供商)上——不管你打算怎么称呼这些提供商——而我们也能做类似的事情,因为我们一开始就是按这种方式构建的。我认为,这给了我们某种优势。
Speaker 255:24 - 55:37
And is there a fundamental technical difference between ephemeral and long running so if you have a an agent that runs for twenty four hours, how does that translate in terms of sandbox requirements? Speaker 255:24 - 55:37
那么,ephemeral(短生命周期)和 long running(长时间运行)之间是否存在根本性的技术差异?如果你有一个运行二十四小时的 agent,它在 sandbox(沙箱)需求上具体意味着什么?
Speaker 155:38 - 56:10
The reason most sandbox environments do not run forever or even is because it's a technical problem. If you think about servers underneath, these servers also have to be managed, right, and maintained. And so if your sandbox can run forever, that means that you can never reset, you can never reboot the underlying server. You can't update it, you can't patch it, you can't do all these things without turning off all the sandboxes. And so the way you solve that, the easiest way to solve that is having sandboxes that have a termination time. Speaker 155:38 - 56:10
大多数 sandbox 环境之所以不会永久运行,甚至做不到长时间运行,原因在于这是一个技术问题。你如果看看底层的 server,这些 server 也需要被管理和维护,对吧?所以如果你的 sandbox 可以永远运行,那就意味着你永远不能重置、永远不能重启底层 server。你没法更新它,没法打补丁,也没法做这些事情,除非把所有 sandbox 都关掉。所以解决这个问题最简单的方法,就是让 sandbox 有一个终止时间。
Speaker 156:10 - 56:27
It's like, they will only last an hour, twenty four. It doesn't matter, pick your time. And then if you decide that you have to do something with the underlying machine, just flag that machine as non schedulable. And so at some point in time, there's nothing else on that machine. You can do what you can fix it. Speaker 156:10 - 56:27
比如说,它们只持续一小时,或者二十四小时。其实无所谓,你自己定一个时间就行。这样如果你决定要对底层机器做点什么,只需要把那台机器标记为 non schedulable(不可调度)。那过一段时间之后,这台机器上就不会再有别的东西了。你就可以处理它、修复它。
Speaker 156:27 - 56:39
You can like reboot it. You can do whatever you want. Easy peasy done. Right? And so, because historically most of the workloads were ephemeral you didn't have to try to solve that problem because you didn't care. Speaker 156:27 - 56:39
你可以重启它。你想做什么都可以。很轻松就搞定了,对吧?所以,历史上因为大多数 workload(工作负载)都是 ephemeral 的,你根本不需要去解决这个问题,因为你并不在意。
Speaker 156:39 - 57:04
Like most workloads like a Lambda function usually runs what five minutes, seven minutes, whatever it's not a problem. Right? You never had that restraint or constraint. Now that you do to have something that can run forever, you have to be able to live migrate the sandboxes itself between the machines so that you can reboot and manage these machines. And I understand that most people it's interesting, even technical consumers are like, oh all compute is elastic. Speaker 156:39 - 57:04
比如大多数 workload,像一个 Lambda function,通常运行多久?五分钟、七分钟之类的,根本不是问题,对吧?你以前从来没有这种限制或约束。现在如果你真的需要让某个东西永远运行下去,那你就必须能够在机器之间对 sandbox 本身进行 live migrate(在线迁移),这样你才能重启并管理这些机器。我觉得很有意思的是,大多数人——甚至一些技术型用户——都会觉得,哦,所有 compute(算力)都是 elastic(弹性的)。
Speaker 157:04 - 57:50
Well, yes, your consumption of it from us or from AWS is elastic but someone actually has to like screw together a server, turn it on, boot it, make sure it works right and have enough of that there. So that is the difference from our perspective and why most start off ephemeral is just it's an easier way to do it. We believe and we've seen this I think 2.5% of our revenue now comes from or 2.5% of our sandboxes run longer than twenty four hours, but it's a large percentage like 20 ish percent of revenue. So like it's not an insignificant part to be there just because it can run for a much, much, much longer time. On the user perspective, just to finish on that, sometimes users actually want it to be ephemeral. Speaker 157:04 - 57:50
嗯,没错,你从我们这里或者从 AWS 使用它时,你感受到的是 elastic 的;但实际上,总得有人真的把 server 一台台装起来、开机、启动、确认它运行正常,并且确保现场有足够多这样的机器。从我们的视角看,这就是差别所在,也就是为什么大多数产品一开始都做成 ephemeral:因为那样更容易。我们相信,而且我们也看到了这一点——我想现在大约 2.5% 的 revenue(营收)来自于,或者说 2.5% 的 sandbox 运行时间超过二十四小时;但它贡献的 revenue 占比却很大,大概有 20% 左右。所以这绝不是一个可以忽略的部分,仅仅因为它可以运行非常、非常、非常长的时间。再从用户视角补充一句,有时候用户其实就是希望它是 ephemeral 的。
Speaker 157:50 - 58:10
One is they don't want any data retention. So they want it to run and die. Like whatever was run inside of that, they got the data they wanted and they want that data dead dead and so they flag it with us as ephemeral which means that we won't force it to die but when they kill it it's no longer in it goes into ether it does not exist anymore. Speaker 157:50 - 58:10
其中一个原因是,他们不想保留任何数据。所以他们希望它运行完就消亡。也就是说,在里面运行过的任何东西,他们拿到自己想要的数据后,就希望那些数据被彻底删除,所以他们会把它标记为 ephemeral(临时的)。这意味着我们不会强制把它销毁,但一旦他们主动终止,它就不再存在了,会进入 ether(虚空),也就是彻底消失。
Speaker 258:10 - 58:25
Listening to this whole technical deep dive part of the conversation, the the thought crosses my mind that a lot of people seem to think that they can create their own sandbox, and it is not that hard. But, again, listening to all of this, I'm like, good luck. Speaker 258:10 - 58:25
听完整段关于技术细节的深度讨论,我脑子里冒出的想法是:很多人似乎觉得他们可以自己做一个 sandbox(沙箱),而且这并没有那么难。但是,再听完这些内容之后,我的反应是:祝你好运。
Speaker 158:26 - 58:48
So that we've seen this multiple times and I'm sure you've seen this across other companies as well where, you know, everyone's like, oh, I can spin up a firecracker on a machine. Yes, you can spin up one, but spin up a million is a problem. Adding all these features is a problem. Having throughputs, different use cases, they're all different problems. And what we already see is like companies that were like, oh, we're do ourselves come back three months later, six months later, eight months later. Speaker 158:26 - 58:48
这种情况我们已经见过很多次了,我相信你们在别的公司里也见过:大家都会说,哦,我可以在一台机器上启动一个 firecracker。是的,你可以启动一个,但启动一百万个就是另一个问题了。给它加上所有这些功能是个问题。要支撑 throughput(吞吐量)、不同 use case(使用场景),这些全都是不同的问题。而我们现在已经看到,有些公司一开始说,哦,我们要自己做,结果三个月后、六个月后、八个月后又回来了。
Speaker 158:48 - 59:19
It's like, oh, actually, actually now we can't do X and Y. And so there's a bunch of things on technical side, which we can like address. And I think we could finish with that is that the thing that Daytona does is we if you think of most set most sandboxes, this is a performance thing. Most sandbox and most VMs actually, they use the CPU RAM from the server and then they use the hard disk from a network drive. You do that for a bunch of reasons. Speaker 158:48 - 59:19
他们会说,哦,实际上,实际上现在我们做不了 X 和 Y 了。所以在技术层面上有一大堆事情,是我们可以去解决的。我觉得最后可以用这一点收尾:Daytona 所做的事情是——如果你去想大多数 sandbox,其实这是一个性能问题。大多数 sandbox,实际上也包括大多数 VM(虚拟机),它们会使用服务器的 CPU 和 RAM,然后使用来自 network drive(网络驱动器)的 hard disk(硬盘)。你这么做有很多原因。
Speaker 159:19 - 59:38
Your life is so much easier if you manage that. Why is it easier? Well, it's easier because if a server dies then all the data is on a shared drive and I can reboot that server really fast without maybe even the user noticing and there's no data loss. Maybe something in the memory, but nothing there is lost. So it's very, easy to manage. Speaker 159:19 - 59:38
如果你这么管理,很多事情都会轻松得多。为什么更容易?因为如果一台服务器挂了,所有数据都还在 shared drive(共享驱动器)上,我就可以非常快地把那台服务器重启起来,甚至用户可能都不会注意到,而且不会有数据丢失。也许 memory(内存)里的某些东西会没掉,但除此之外不会丢什么。所以它非常容易管理。
Speaker 1 | 59:39 - 1:00:15 Whereas what we do is we actually use the CPU, RAM, and hard disk of the machine. What which means we have so much more overhead of if that machine dies, how can we reboot it back? Like, you have to do backups in the in that users don't see. You have to do all these things that happen there. But what that means is that the the IOPS, the speed which with which you can, move data to the hard disk in which the CPU and RAM interacts with from a network drive just to give people like numbers is in the hundreds of thousands.
Speaker 1 | 59:39 - 1:00:15 但我们做的其实是直接使用那台机器本身的 CPU、RAM 和 hard disk。这就意味着,一旦那台机器挂掉,我们在恢复它这件事上的额外负担会大很多。比如,你得做那些用户看不到的 backup(备份);你还得处理所有在那里发生的这些事情。但这带来的结果是,IOPS,以及你把数据写入 hard disk 的速度,还有 CPU 和 RAM 与之交互的速度——如果是 network drive,为了给大家一个大概的数字——是在几十万这个量级。
Speaker 1 | 1:00:16 - 1:00:59 If it's a local drive it's in the tens of millions so just like it doesn't matter if you know what the numbers are it's just like extraordinarily large right it's very very different and so you have use cases that no one really cares about that speed which is fine. We have new customers that have a use case they're like it has to be that fast right and so when you get to the point it's like oh I can use this but wait now I need this performance oh no I can't do that right and so to the complexity of sandboxes if when people are starting out their use cases are like oh I just need to run code, you can run that on anything it's very easy to do except scale and then when you get to scale and then you need performance because now oh agents can do a lot of things then it starts like breaking that sort And of
Speaker 1 | 1:00:16 - 1:00:59 如果是 local drive(本地驱动器),那就是几千万这个量级。所以,其实你知不知道这些数字本身并不重要,关键是差距大得惊人,对吧,真的非常非常不同。于是就会有一些 use case,根本没人关心这个速度,那也没问题。我们也有一些新客户,他们的 use case 会明确要求:它必须这么快,对吧。所以当你走到那个阶段,你会觉得,哦,我本来可以用这个,但等等,现在我需要这种性能了,哦不,那我就做不到了。也就是说,sandbox 的复杂性在于:当人们刚开始时,他们的 use case 往往只是“哦,我只是需要运行代码”,那这个你用什么都能跑,很容易做到,除了 scale(扩展规模)之外;可一旦到了 scale,然后你又需要 performance(性能),因为现在 agent(智能体)能做很多事情,这整套东西就开始崩了,还有
Speaker 2 | 1:01:00 - 1:01:00 security.
Speaker 2 | 1:01:00 - 1:01:00 security(安全性)。
Speaker 1 | 1:01:00 - 1:01:02 Yeah. And so because we didn't even touch the security part, but
对。因为我们甚至还没碰到 security(安全)那部分,不过——
Speaker 2 | 1:01:03 - 1:01:20 Great. Zooming out as we close this conversation, you mentioned something that that caught my attention. So we have been in a very well documented GPU shortage, but it seems that we might be heading towards the CPU shortage. Yeah
很好。在我们结束这段对话、把视角拉高一点来看时,你提到了一件让我很在意的事。我们一直处在一个有充分记录的 GPU 短缺期里,但看起来我们可能正在走向 CPU 短缺。对。
Speaker 1 | 1:01:21 - 1:02:34 it might be happening so one of your former guests and was at our conference Dylan Patel like semi analysis they wrote the report and I believe it's somewhere like October we have no more CPUs and people hadn't thought about it like it's all GPUs all GPU intensive than memory but basically now now that agents need all these computers like it is very much needed. Now that RL is the way that we've gotten most of the progress in models over the last eighteen, twenty months, you need all the CPU machines to do this. Now that the GPUs are more powerful they can do in parallel more of these CPUs, CPU boxes and then you see this there was a tweet that I put a while back and is that you should definitely invest not financial advice you should invest in Intel and look at their stock price right and so like there's definitely need for that and it's something that people didn't understand or intuitively that you would need there. So it's something that we think about quite a bit is like can we alluding to also how our product is created? How do we make sure that we can match the demand of customers for the CPU that they have?
这事可能真的在发生。你之前的一位嘉宾、也来过我们 conference(大会)的 Dylan Patel,来自 SemiAnalysis,他们写过一份 report(报告),我记得大概是在十月,标题差不多是“we have no more CPUs”。当时大家还没意识到这点,大家想的都是 GPU、全是 GPU 密集型(GPU intensive)和 memory(内存)的问题。但现在,随着 agents(智能体)需要所有这些计算机资源,CPU 变得非常必要。现在 RL(强化学习)已经成了过去十八到二十个月里我们在 model(模型)进展上取得大部分突破的方法,你就需要大量 CPU machine(CPU 机器)来做这些事。现在 GPU 更强了,它们可以并行地驱动更多这样的 CPU boxes(CPU 机箱/节点)。然后你会看到,我前阵子发过一条 tweet(推文),大意是你应该去投资 Intel——当然这不是 financial advice(投资建议)——然后看看他们的 stock price(股价)。所以这方面显然是有需求的,而这也是人们之前没有理解、或者直觉上没有意识到会需要的东西。我们其实经常在想这件事,这也有点呼应了我们的产品是怎么构建出来的:我们怎么确保自己能够匹配客户对 CPU 的需求?
Speaker 1 | 1:02:34 - 1:02:46 Because I don't know it goes to the extreme to where GPUs are because that is very, very, very extreme But it is quite highly high probability that there will be shortages of CPUs going forward.
因为我不知道它会不会严重到 GPU 那种极端程度,毕竟 GPU 的情况是非常、非常、非常极端的。但相当大概率的是,接下来 CPU 会出现短缺。
Speaker 2 | 1:02:46 - 1:03:00 How do you think all this agent stack evolves? Does it feel like we have all the core pieces together or do you think like in two years the overall architecture may look very different?
你觉得整个 agent stack(智能体技术栈)会怎么演化?你觉得我们现在是不是已经把所有核心模块都凑齐了,还是说再过两年,整体架构可能会看起来很不一样?
Speaker 1 | 1:03:00 - 1:03:22 So we talked about the stack there and things that have to be done. Identity part does need to be solved again It's basically solved, not solved. So there's a lot of things to do there. I'm actually also wary, wary. I think about people think that the models that we have, the technology of the models that we have is the end state.
所以我们刚才谈到了这个 stack(技术栈)以及必须完成的那些事情。Identity(身份)这一部分确实还需要解决——或者说,某种程度上算是解决了,但又没有真正解决。所以这里还有很多事情要做。另外我其实也很警惕,真的很警惕一点:很多人会觉得,我们现在拥有的 models(模型)以及这些模型技术,就是最终形态。
Speaker 1 | 1:03:23 - 1:04:01 And I really really don't think that is true. Like I think and that would probably be the most surprising thing is like we have a new type of model that is just better or different than what we have now that either one needs less compute or doesn't use GPUs or doesn't like I don't know whether there's things that we've seen where you know we're seeing things with wetware where people can have like fake human brains and it learns how to play doom. You have the, what was it? The fly brain that was replicated inside of a computer that then works like a fly. Like, can you replicate a human brain?
而我真的、真的不认为这是真的。比如我觉得——而且这可能会是最让人惊讶的一点——我们也许会出现一种新的 model(模型)类型,它只是比现在更好,或者至少和现在很不一样:它可能需要更少的 compute(算力),或者根本不使用 GPU,或者不——我也不知道。我们已经看到了一些东西,比如 wetware(湿件/生物计算)方向上,人们可以做出类似假的人类大脑,然后它学会怎么玩 Doom。还有那个,是什么来着?果蝇的大脑被复制到 computer(计算机)里,然后它就像一只果蝇那样工作。那你能不能复制一个人脑呢?
Speaker 1 | 1:04:01 - 1:04:24 And I say this not to replicate myself, but can you make a generic human brain? And then it's like an, it's an AI that is essentially equal to a human in AI. And so what does that mean for like all technology? Mean, I'm saying I'm now saying extremities for people not get me wrong. Don't think that happens tomorrow or like that I'm completely crazy but like I don't think that this is the end all of the state.
我这么说不是想复制我自己,而是说,你能不能造出一个通用的人类大脑?然后它就成了某种 AI,本质上在 AI 层面和人类等价。那这对所有 technology(技术)意味着什么?我的意思是,我现在说的是一些比较极端的设想,大家别误会。别以为这事明天就会发生,或者觉得我彻底疯了。但我确实不认为,我们现在这个状态就是最终答案。
Speaker 1 | 1:04:24 - 1:04:47 The question is, does that happen sooner or later? Do we keep our transformers that the vast majority of intelligence going forward? And if it if it is then it continues probably going directionally where it does but is there something that happens that changes that fundamentally something that I think about because then all our bets yours and ours are very very different right?
问题在于,这件事会更早发生还是更晚发生?未来绝大多数 intelligence(智能)是否会继续由我们的 transformer(Transformer 模型)来承载?如果是这样,那它大概率会继续沿着当前这个方向发展;但会不会发生某种事情,从根本上改变这一点?这是我一直在思考的问题,因为如果那样的话,我们所有的押注——你们的和我们的——都会变得非常非常不同,对吧?
Speaker 2 | 1:04:47 - 1:04:52 Okay well Ivan that was fabulous thank you so much for spending time with us today.
好的,Ivan,这段交流太精彩了,非常感谢你今天抽时间和我们聊。
Speaker 1 | 1:04:52 - 1:04:54 Thank you for having me, we're great.
谢谢邀请我,我们很棒。
Speaker 2 | 1:04:55 - 1:05:15 Hi it's Matt Turk again thanks for listening to this episode of the MAD podcast. If you enjoyed you enjoyed consider subscribing if you haven't already or leaving a positive review or comment on whichever platform you're watching this or listening to this episode from. This really helps us build a podcast and get great guests. Thanks and see you at the next episode!
大家好,我是 Matt Turk,再次感谢你收听这一期 MAD podcast。如果你喜欢这期内容,而你还没有订阅的话,可以考虑订阅;或者在你观看或收听这一期节目的平台上留下一个积极的评分或评论。这对我们建设这个 podcast、邀请到优秀嘉宾非常有帮助。谢谢,我们下一期见!