本集简介
双语字幕
仅展示文本字幕,不包含中文音频;想边听边看,请使用 Bayt 播客 App。
AI生活的世界完全是数字化的,而现实世界是另一回事。
The world that the AI lives in is all digital, and there's the actual world.
这两者不一定是一样的。
And those things are not necessarily the same.
我们刚开始用AI写代码的时候,它只是自动补全。
When we started doing AI for coding, it was autocomplete.
当时没人真正知道,用AI到底能构建多复杂的软件。
Nobody really knew to what extent you can actually build complex software using AI.
后来它基本上超出了我们的预期,因为我们能够在系统中模拟越来越多的复杂性。
And then it basically broke through the expectations because we were able to model more and more complexity in the systems.
我只是不确定,运维是否也受到同样的限制。
I just don't know if operations is constrained in the same way.
要构建一个理解所有运维的系统,学习数据到底从哪里来呢?
Where is even the data to learn how to build a system that understands all of the operations?
我的假设是,我们拥有所有的数据。
My assumption is that we have all the data.
我觉得问题可能在于复杂性,以及你能把那些你描述的操作性的事情转化到什么程度,让AI能够理解?
The question I think is maybe about complexity, and to what extent can you take the things that you've described that are operational-
……并把它们转化成AI能够推理的东西?
... and convert them into something that an AI can reason about?
长期以来,运行分布式集群的一个不为人知的秘密就是靠人来管理。
The dirty secret for the longest time of running a distributed cluster was just human beings managing it.
你觉得我们现在能用AI来运行这些服务吗?
Do you think we're at a spot where you could use AI to run one of these services?
我觉得已经有足够的能力去……
I think that there's enough to be able to-
AI现在能写出大量生产代码,但写软件和运行软件是两个完全不同的问题。
AI can now write remarkable amounts of production code, but writing software and running it are two very different problems.
在本期节目中,a16z普通合伙人Martin Casado与Grepr CEO Jad Naous坐下来聊聊,Jad是一位系统工程师,Martin在斯坦福时第一次认识他,他们探讨当AI从编码进入运维领域会发生什么。
In this episode, a16z general partner Martin Casado sits down with Grepr CEO Jad Naous, a systems engineer Martin first met when they were both at Stanford, to ask what happens as AI moves from coding into operations.
Jad解释了如今他的10人团队如何使用编码代理,为什么他认为最优秀的工程师从AI中获得了更大的杠杆作用,以及曾经需要数月的工作现在如何能在几天内完成。
Jad explains how his 10-person team uses coding agents today, why he thinks the strongest engineers are getting even more leverage from AI, and how work that once took months can now take days.
但更难的问题是代码上线之后会发生什么。
But the harder question is what happens after that code ships.
生产系统会面临不可预测的负载、故障,以及海量的可能状态。
Production systems face unpredictable workloads, failures, and an enormous number of possible states.
马丁和贾德在讨论,AI能否通过检测变化、形成假设、运行实验来学会排查这些系统的问题,还是说在现实世界中运维本质上比生成代码更难。
Martin and Jad debate whether AI can learn to troubleshoot those systems by detecting what changed, forming hypotheses, and running experiments, or whether operating in the real world is fundamentally harder than generating code.
而这引出了对话背后更大的问题:当答案并不存在于AI训练所接触的世界中时,AI能走多远?
And that leads to the bigger question behind the conversation: how far can AI go when the answer isn't already contained in the world it was trained on?
贾德,感谢你来参加我们的播客。
Jad, thanks for joining me on the podcast.
可能有些听众还不认识贾德,他是Grepr的CEO,而且我们俩在研究生时是同一个课题组的。
For those of you who don't know, Jad is the CEO of Grepr, but also we went to grad school in the same group.
我第一次见到你的时候,我们组里来了个新生。
And when I first met you, we had a new student.
我走进办公室,看到一顶摩托车头盔和一包万宝路。
I walked into the office, and there was a motorcycle helmet and a pack of Marlboros.
我当时就想,这家伙肯定酷得不行。
I'm like, "This guy must be unbelievably cool."
所以我的问题是,你的酷劲儿都去哪儿了?
So my question is, what happened to all your coolness?
第一个问题。
Question number one.
也许为了让大家有个背景,简单介绍一下你的经历吧。
Maybe just for context, maybe give a quick overview of your background.
给听众们说一下,Jad是我认识的最懂系统的人之一。
So just for those that are listening, Jad is one of the best systems thinkers I know.
我很喜欢和他聊天。
I love talking to him.
我们打算从系统的角度深入探讨一下工程,以及AI对我们的影响,尤其是在运维方面。
We're going to go kind of do a deep dive of engineering from a systems perspective and how AI is impacting us, especially when it comes to things like operations.
不过为了有个基础,先聊聊你的背景吧?
But just to ground it, maybe a bit about your background?
当然可以。
Sure.
所以你见到我的时候,正好是我最酷的时候。
So you met me at one of the peaks in my coolness.
对,你当时确实挺酷的。
Yeah, you were pretty cool.
骑摩托车,抽万宝路。
Motorcycle and Marlboro cigarettes.
我记得我当时心想:“哇,香烟现在还能合法吗?”
I remember thinking, I'm like, "Wow, are cigarettes even legal?"
因为那反差太大了。
Because it was so discordant.
我记得有一天尼克在盖茨楼外面看到我抽烟,他看着我的表情就像……
I remember Nick seeing me one day smoking outside of Gates and looking at me and going like...
尼克·麦基翁是我们的导师。
Nick McKeown is our advisor.
对,盖茨楼就是那栋楼。
Gates was the building, yeah.
其实,我最喜欢的一件事,你还记得巴拉吉·普拉巴卡尔教授吗?
Actually, one of my favorite thing, do you remember Balaji Prabhakar, the professor?
当然记得。
Of course.
我最喜欢他的一点就是他抽烟。
My favorite thing about him was that he smoked.
他好像是唯一一个抽烟的教授。
He was like the only professor.
我就觉得这太棒了。
I just thought it was great.
说清楚啊,我现在已经不抽烟了。
Just to be clear, I don't smoke anymore.
好的,没问题。
Yeah, all right.
不,现在太老了,中年了,不适合那样了。
No. Too old, too middle-aged for that now.
但走着瞧吧。
But let's see.
所以我是和你一起去斯坦福的。
So I went to Stanford with you.
你一直是我仰望的那个人。
You were always the guy I had to look up to.
是的。
Yes.
然后你就会想:"嘿,这就是我长大后想成为的人。"
And you're like, "Hey, this is the guy I want to be when I grow up."
因为我比你早四年入学,所以——
Because I started four years before you did, so-
……
...
我比你早。
I was ahead of you.
所以你比我早四年。
And so you were four years ahead of me.
你比我早毕业不少。
You graduated a while ahead of me.
你去了,创办了Nicira。
You went and started Nicira.
我留下来,继续研究OpenFlow,还从安全角度帮了不少硬件方面的忙。
I stayed and stuck around, worked more on OpenFlow, helped build a bunch of stuff on the hardware side from a security perspective, actually.
我在那儿做过的最有意思的项目之一,就是做了第一套大家考虑用的SHA-3实现,我用硬件做的,用来展示它们能不能用,这也是我论文里的一个项目。
One of the most fun projects that I worked on there was I built the first set of SHA-3 implementations that people were considering using, and I built them in hardware to kind of show whether they work or not and whatever for one of my projects for my thesis.
那挺有意思的。
That was fun.
后来过了一段时间,我发现自己其实不喜欢网络,因为那不过就是把数据从一个地方搬到另一个地方。
And then I decided after a while that I actually don't like networking because it's just about moving bits from one place and putting them in another place.
这能有多难?
How hard can that be?
我觉得这个问题,你要么从哲学上认同它很深,要么就不认同。
I think with that one, you have to either be philosophically aligned that it's deep or not.
大多数人觉得它不深。
Most people assume it's not.
我觉得它非常深。
I think it's very deep.
它确实有点意思,但对我来说,归根结底,它不——
There's something interesting about it, but ultimately to me, that's like, it's not-
对,它对你没什么吸引力。
Yeah, it doesn't do it for you.
然后我去了麻省理工学院做博士后,跟着Nikolai Zeldovich,他也是个非常深奥、非常聪明的人。
And then I actually went and did a postdoc at MIT with Nikolai Zeldovich, who's also amazingly deep and super smart.
是的,他非常出色。
Yeah, he's phenomenal.
那时候我做了些应用安全方面的工作,基于我和Ramesh Chandra一起做的研究创办了一家公司,他当时是博士生,但最终这项技术太超前了。
I did some application security work at the time, started a company based off some of the research I had worked on with Ramesh Chandra over there, who was a PhD student at the time, and ultimately the technology was too early.
所以我们做的是,其实很多工作都是Ramesh的功劳,他的博士论文是关于,如果你被攻击了,被利用了,你能不能通过回滚整个应用相关的状态来恢复,然后在打补丁的版本上重新运行,从而消除漏洞?
So what we did was, well, ultimately a lot of the work was actually really Ramesh's, and his PhD was on, well, hey, if you get attacked and you get exploited, can you recover from that by rolling it back the state of the whole world that's related to that application, and then roll it over on top of a patched version of the application to remove the exploit?
然后我们开始在实际环境中尝试,我们觉得,这听起来真的很难。
And so we started doing that in the real world, and we were like, "That sounds really hard."
这其实和我们正在讨论的话题有点相关。
It's actually kind of relevant to what we're talking about.
对于运行中的系统,你能多大程度上界定其状态,我认为这非常难,但是——
To what extent can you actually bound the state for operational systems, which I would argue is very hard, but-
我们差点就成功了。
We almost got it working.
差点。
Almost.
我觉得对于所有长尾学科来说,这就是为什么聪明人会投身于fly track的原因。
I feel like for all long tail disciplines, this is why people get into fly track for smart people.
就像你看到了一点进展,但你在逼近极限。
It's like you see a bit of progress, but you're asymptoting.
不过话说回来,我跑题了。
But anyways, I digress.
对。
Yes.
我们继续吧。
Let's keep going.
然后我加入了AppDynamics。
So then I joined AppDynamics.
我在那里待了大约三年半。
I was there for about three and a half years.
他们从大约200人发展到2000人,被思科收购了。
They went from about 200 people to 2,000 people, got acquired by Cisco.
我当了一天的思科员工。
I was a Cisco employee for one day.
然后你就说:"Jad!"
And then you're like, "Jad!"
我知道,我记得。
I know, I remember.
"你愿意跟我一起工作吗?"
"Will you come work with me?"
"跟我一起做风投吧。"
"Come do this VC thing with me."
我当时就想:"这什么鬼..."
I'm like, "What the f..."
风投是什么?
What is VC?
我是个架构师。
I'm an architect.
我做的是工程相关的工作。
I do engineering stuff.
他说:“太好了。”
He's like, "Great."
“你知道得越少越好。”
"The less you know, the better."
你当时就是这么说的。
Literally what you said.
确实是这样。
It's true.
然后我第一天来这儿的时候,你说:“慢一点。”
And then the first day I started here, you said, "Slow down."
不,其实从运营岗位转到风投的人,确实需要重新调整思维方式。
No, it's actually people that move from actually an operating role to VC, it requires a lot of reworking the brain.
对,就像从博士转到运营一样,顺便说一下。
Yeah, just like going from a PhD to operating, by the way.
你得把脑子里的那些习惯给改掉。
You have to undo the brain damage.
这是我的亲身经历。
This is my experience.
这就是现实世界的样子。
This is what real world is like.
我知道。
I know.
然后我在这里待了几年,和你一起做了很多工作。
And then I stayed here for a couple of years, did a bunch of work with you.
那段时间真的很开心。
It was a really fun time.
和很多优秀的人一起工作,比如詹妮弗、马克和本。
Worked with a lot of great people like Jennifer, Mark, and Ben.
萨蒂什。
Satish.
萨蒂什。
Satish.
我快走的时候,马特才来,差不多是在那段时间。
Matt was here almost towards the end when I was leaving.
然后我加入了Apply,担任首席产品官,帮他们组建工程产品团队,把工程团队从大约15人扩展到90多人,涵盖产品工程、信息安全还有设计。
And then joined Apply as their chief product officer, helped them build their engineering product teams, scaled from about engineering like 15 people to over 90 across product engineering, InfoSec, and design.
大概三年后,我负责的每个板块都有了负责人,我整天就是开会协调,觉得没意思,想去做点别的。
And after about three years, I had a head for each one of these pieces that I owned, and I was sitting around just coordinating and doing meetings all day and wanted to go do something else.
所以我就离开了,然后开始跟很多工程负责人聊他们遇到的问题和想做的事情。
So left and then started talking to a lot of engineering leaders about the problems that they're facing and what they're trying to do.
那时候是23年,每个人都在说:“嘿,我们想削减开支。”
Everybody at the time, this was in '23, everybody was saying, "Hey, we're trying to reduce spend."
我就问他们:“你们把钱花在哪儿了?”
And I asked them, "What are you spending money on?"
大家首先说的是基础设施,然后是监控。
Everybody would say, first was infrastructure, and then observability.
于是我开始研究这个问题,想弄明白为什么大家觉得成本太高。
And so I started looking at that problem, trying to understand why do people think it's too expensive?
结果发现有几个原因。
Turns out there's a few things.
首先,大家在可观测性上的花费,大约是基础设施投入的5%到20%,但说到底,他们真正想买的是可靠性。
First, people were spending somewhere between 5% and 20% of what they spend on infrastructure, on observability, but ultimately, what they were really trying to spend it on was reliability.
他们想买的是可靠性,而且——
They wanted to buy reliability and-
你指的是支出的可预测性吗?
Of spend, like predictability of spend?
是他们基础设施和应用系统的可靠性。
Reliability of their infrastructure and applications.
明白了。
I see.
所以——
And so-
他们把钱投在可观测性上,其实是把它当作可靠性的替代品。而且很长一段时间里,你花的钱越多,获得的可靠性就越高。
... they were putting money into observability as a proxy for reliability, and for the longest time, the more money you spend, the more reliability you got out.
但随着架构的变化,变成了更小、更垂直整合的微服务,每一层收集的数据量都扩大了。
But as architectures changed and turned into microservices that are much smaller, that are much more vertically integrated, the volume of data that's being collected at every layer expanded.
可观测性的市场渗透更深了,你收集的数据量和可观测性的成本实际上开始比你输出的功能单位增长得更快。
There was much deeper market penetration for observability, and the volume of data that you're collecting and the cost of observability was actually starting to grow faster than the units of function that you're outputting.
而且,每多花一美元在可观测性上,可靠性的边际增长率,或者说边际增加,正在趋于平缓。
And the marginal rate of, or the marginal increase in reliability for every additional dollar you were spending on observability was just flattening out.
所以这就是为什么人们觉得它贵。
And so that's why people thought it was expensive.
但人们仍然愿意为可靠性支付5%到20%的费用。
But people were still willing to pay 5% to 20% on reliability.
所以问题是,我们能不能真正解决这个问题,恢复那种可靠性的增长,那种边际增长——
And so the question was, can we actually solve that problem and bring back that increase in reliability, that marginal increase in reliability-
不一定非得在可观测性上花更多钱,而是通过其他方式。
... not necessarily by spending more money on observability, but some other way.
所以当时的想法是,好的,太好了。
And so the thinking was, okay, great.
如果我们能弄清楚什么是信号,什么是噪音,我们能不能真正把你收集的可观测性数据——这些数据现在大部分都是废话,主要是保险——在上游做信息提取,做任何需要在上游做的事情,最终大幅降低下游的可观测性成本。
If we can figure out what is the signal, what is the noise, can we actually turn the observability data that you're collecting, that's mostly fluff and mostly insurance at this point, and do that extraction of information upstream, do whatever you need upstream, and be able to ultimately massively reduce the cost of observability downstream.
如果你能在上游实时提取信号,那么你一方面可以降低成本,另一方面可以把它输入其他系统,用于后续的可靠性运营。
And if you can extract that signal in real-time upstream, then you can, one, reduce the cost, but two, you can now feed it into other systems and use it for driving reliability operations afterwards.
当时在远处,有一样东西叫AI,开始进入视野。
And in the distance at the time, there was something that was called AI coming into the picture.
我们觉得,那太好了。
And we're like, well, great.
如果我们身处数据流中,并且正在提取信号,那么我们就处于一个战略位置,可以把这些信号喂给未来出现的任何东西,因为那是必要的。
If we are in the data stream and we're extracting the signal, then we are in a strategic position to feed that to whatever is going to come in the future, because that's going to be necessary.
所以这就是我们构建的东西,Grepr帮助公司。
And so that's what we built, and so Grepr helps companies.
我们一开始帮助他们大幅减少遥测数据的支出,所以你只要把我们放进数据流,即插即用,让数据通过,就能降低90%的成本。
We started with helping them reduce their spend on telemetry massively, and so you put us in the data stream, plug and play, pass the data through, reduce your cost by 90%.
现在我们正在构建第二层,把这些信号输入AI层,AI现在正在排查问题,找出哪里出错了,并修复它们。
And now we're building out that second layer where we're feeding those signals into the AI layer that's now going and troubleshooting and figuring out when things are going wrong and fixing them.
我很想听听你的经历,以及AI如何改变开发工作,这个问题很多人被问到,很多人也回答过,但我觉得你就是那种工程师中的工程师。
I'd love to just talk through your experience and how AI is changing dev generally, which is like a lot of people get asked this question, a lot of people answer, but I just feel like you're like the engineer's engineer.
你做过架构师,管过产品,也带过工程团队。
You've been an architect, you've run product, you've run engineering teams.
对了,你们公司现在有多大?
Actually, how big is your company now?
有多少人?
How many people?
我们十个人。
We're 10.
所以是……
So it's-
还很小。
Still pretty small
……而且你得……
... and you've got to...
你们团队人不多,但效率挺高,开发了不少软件。
You're building a lot of software with a relatively efficient team.
所以,能不能简单说说,像你这样有架构经验的高级工程师,你觉得大家实际能获得哪些提升?
So maybe just a high-level sketch on, if you're a senior engineer like you that has architectural experience, what sort of gains do you think people are seeing?
聊聊你是怎么用AI的,实际看到了哪些效果,技术栈是什么,工作流程是怎样的,你是怎么考虑的。
Maybe talk through how you use AI, what gains you're actually seeing, what is the stack, what is your process, how you think about it.
那我先讲讲我们团队管理方面的一些历史情况吧。
So maybe I can give you a historical view of what's been happening-
……就是关于带团队这些事。
... in terms of running a team and so on.
我们刚开始用AI的时候,其实还停留在自动补全的阶段。
And so when we first started AI, we're still kind of auto-completing.
我记得那时候我们用Copilot和IntelliJ,看到它自动补全了测试代码,我们特别惊讶,说:“天哪,看,它自动补全了这些测试。”
I remember at the time, we were using Copilot and IntelliJ, and we're like, "Oh my God, look, it auto-completed these tests."
但我们又说:“对,不过它也就是自动补全而已。”
And we're like, "Yeah, but it's just auto-complete."
而且很快,事情就开始发生变化了。
And very rapidly, things started evolving.
我注意到的是,真正优秀的工程师能够把AI融入他们的工作流程,让AI反过来教他们。
And what I've noticed is that really good engineers are able to somehow put it into their workflows in a way where the AI starts training them.
哦,有意思。
Oh, interesting.
比如怎么跟它对话——
In terms of how to talk to it-
——怎么从它那里得到最好的结果。
... how to get the best out of it.
我还注意到——
And what I've noticed-
顺便问一下,你觉得这跟具体模型有关吗?
By the way, as an aside, do you think that's model specific?
你是学会了怎么用AI这个整体,还是只是对某个模型特别熟练?
Do you learn how to use AI writ large, or do you get efficient at a given model?
我觉得不同的模型确实有一些细微差别。
I think there's some nuances that different models bring.
我看了你的推文,你肯定已经……
I'm sure looking at your tweets, you've...
是有差别,但确实有一种和AI协作的方式,而且我觉得也有一种和不同工具协作的方式。
There's nuances, but there is a way to work with AI and like- I think that there's also a way to work with different harnesses.
比如我们试过用OpenCode,或者不同的工具,或者用Codex和Claude Code对比。
And I think we tried, for example, using open code or different harnesses or using Codex versus Claude Code.
不同的工具管理上下文、思考问题的方式都不一样,还有什么时候启动合适的子代理,以及……
Different ones have different ways of managing context or thinking through problems, or when to spin up the right sub-agents and-
……该告诉它什么,那些提示词。
... what to tell it, the kind of prompts.
比如用Claude Code的时候,我发现如果不告诉它“别启动20个fable代理去做基础研究”,它就会真的启动20个fable代理去做研究,把你的token全烧光。
Like for example, with Claude Code, I find that if I don't tell it, "Don't spin up 20 fable agents to do basic research," it'll go and spin up 20 fable agents to do research and burn all your tokens.
所以,很多东西你都得慢慢了解工具和模型,以及它们怎么互相配合,然后怎么和外界互动。
And so, a lot of these things, you start learning about the harness and the models and how they interact with each other, and then how they can interact with the rest of the world.
不过我说远了。
But I digress.
在我看来,我开始注意到的是,有些人适应得快,学得快,能这么干,而另一些人就没那么适应。
In my mind, this is what I started noticing, is that some people were adapting and learning and doing it that way, and others weren't as adaptive.
然后随着我们团队招的人越来越多,普通工程师和优秀工程师之间的差距就放大了十倍。
And then as we started hiring more people into the team, that disparity between okay engineers and really good engineers just multiplied 10X.
而且——
And-
你能预判谁会表现好吗?
Could you predict who would be good?
是不是好工程师变得更好,差工程师没进步?
Was it like good engineers got better and bad engineers didn't?
还是说——
Or was it-
对。
Yes
……
...
确实是这样。
it really okay.
对。
Yes.
所以如果你是个好工程师,你只会变得更好。
So if you're a good engineer, you're just a better good engineer.
并不是说有些差工程师突然就变成了好工程师。
It's not like there's some bad engineers that all of a sudden became good engineers.
不是。
No.
好的。
Okay.
不是。最终你还是要真正理解整个架构,因为你的大脑能处理的复杂度越高,你就能把任务拆解得越细,然后分配下去。
No. It always ends up being like you have to really understand, ultimately, the setup because the more complexity that your brain can handle, the more you can break down the tasks and assign them.
我觉得这其实可能是个非主流观点。
I think this might actually be non-consensus opinion.
我确实偶尔听到过这种说法,但就是认为优秀工程师要强得多,而那些差距并没有缩小。
I do hear it sometimes, but the idea that the better engineers are much better and those aren't less.
你发现这几乎普遍成立吗?
And you've found this to be pretty universally true?
你看,我的团队还很小。
Look, my team is still small.
我们还没有在100个人身上验证过。
We haven't done it across 100 people.
根据我的经验,就我们所做的事情而言,确实如此,因为我们构建的是分布式系统和分布式算法——
In my experience, for the things that we do, that is the case because we build distributed systems and distributed algorithms-
……而你的大脑必须处理这种复杂性,因为AI做不到。
... and your brain has to handle the complexity because AI doesn't do it.
所以对于我们要解决的问题,没有任何模型能真正像我们那样思考。
And so for the problems that we solve, none of the models can actually think through the things that we do.
有很多,比如我们有一个查询翻译层。
There's a lot of, for example, we have a query translation layer.
我们刚才在讨论查询优化。
We were just talking about query optimization.
所以你必须真正理解查询的语义,以及如何理解查询的语义,然后向模型解释,再让模型去构建翻译层,比如说。
And so you have to really understand the semantics of the query and how to get to the semantics of the query and then explain it to the model, and then have the model go and build the translation layer, let's say.
所以对于正在收听的可能对计算机科学不太深入的听众来说,你说的语义是什么意思?
So for the people that are listening that may not be so deep in computer science, what do you mean by semantics?
语义其实就是事物的含义。
So semantics are really the meanings of things.
“狗”这个词的语义就是那种动物——
The semantic of the word "dog" is the animal-
——那种真正四条腿走路、会叫的动物。
... that actually walks on four legs and barks.
而语法则是它只是一个三个字母的词,而且有三个不同的字母。
And the syntax is the fact that it's just a three-letter word, and it has three different letters.
单词的形状不同,而且不同单词的形状也可能不一样。
The shape of the word is different, and that shape can be different between different words.
但不同的单词实际上也可能表达相同的意思。
But different words can actually also mean the same thing.
所以它们的语义可能相同,但句法形式可能不同。
And so they might have the same semantics, but they might have a different syntax.
所以——
So-
比如“狗”和“小狗”的语义可能略有不同。
... a dog and a puppy might be slightly different semantics.
它们指的是同一个——
They refer to the same-
但还是足够接近的。
But they're still close enough.
对于计算机科学来说,我简单描述一下,句法就是——
And just for computer science, the way that I describe it very simply is syntax.
语法就是你输入的字符,而语义是机器实际执行的操作,对吧?
It's the characters you type, and semantics is what the machine actually does, right?
所以它实际上是系统的运行时属性。
And so it's the actual runtime properties of the system.
所以你学的是计算机科学。
So you did computer science.
我学的是电子工程。
I did electrical engineering.
你成了计算机科学家,而我成了风险投资人,就这样。
You became a computer scientist, and I became a VC, so there we go.
这就是问题所在。
That's the problem.
我明白了。
I see.
总之,对于正在收听的朋友们,我只是想了解一下。
Anyways, for people that are listening, I just want to understand.
语法就是写代码本身。
There's the actual syntax, which is writing the code.
说到语法,其实就是指代码本身。
And then when you're talking about syntax, you're just talking about the code itself.
而说到语义,就是有一台机器来解释这些代码,不管它有没有被编译,这台机器会做一些事情,而语义就是机器实际做的事情。
And then when you talk about semantics, you're literally talking about you have a machine that interprets that code, whether it's compiled or not, and that machine does something, and semantics is what the machine actually does.
这两者显然是很不一样的,对吧?
And these things are clearly very different, right?
比如,有些语义你光看语法是看不出来的,对吧?
So for example, some semantics you can't even derive by looking at the syntax, right?
你根本不知道机器会做什么,因为各种原因。
You don't know what the machine is going to do because whatever.
你基本上得去测试它。
You kind of have to test it.
你得测试它。
You have to test it.
而且测试的时候,结果可能五花八门。
And it can go all sorts of different ways when you test it.
这方面一个很经典的例子就是SQL。
And a very classic version of this is SQL, for example.
你可以写一个SQL查询,但它的实际执行效果和耗时完全取决于数据库的表结构、数据情况等等。
You can write some SQL query, but how it actually performs and how long it performs depends entirely on, let's say, what the schema looks like or what the data looks like in the database, et cetera.
不过我不会把这称为语义。
But I would not call that semantics, though.
我会把这称为性能特征。
I would call that performance characteristics.
哦,那当然。
Oh, sure.
我觉得那应该算……
I think that would be-
我觉得语义这部分应该是,根据数据的形状或配置的不同,你可能会得到不同的语义,因为就像你说的,你可能希望把null当作false来处理。
I would say the semantics part of that would be depending on what the shape of data is or what the configuration, you might end up with different semantics because like you said, you want null to be treated as false.
而且除非你也知道系统的配置,否则你不会知道这一点。
And you won't know that unless you also know the configuration of the system, and so on.
好的。
Okay.
所以为了我们这次对话的方便,我觉得我们不如就说,一方面是你实际写的代码,另一方面是系统的实际行为。
So for the purpose of this conversation, I think we should just say that there's the actual code you write, and there's how the system behaves.
我们就管后者叫语义,这样我们才能聊下去。
And we'll call the second one semantics, just so we can have a conversation.
哦。
Oh.
那你想怎么叫它呢?
Well, what do you want to call it?
我们需要深入探讨一下这里的语义,确保它们清晰明确。
We need to dive into the semantics of this and make sure they're clear.
没错。
That's right.
因为有很多-
Because there's a lot of-
我知道。
I know.
好的。
Okay.
我知道。
I know.
我开玩笑的。
I'm just kidding.
我们就保持在高层次上。
We'll keep it at a high level.
好的,抱歉。
Okay, sorry.
那我们回到正题。
So let's go back.
其实,在我们开始播客之前,我们俩就在闲聊,你提到现在你能在一周内完成的项目,以前可能需要一个团队花几个月才能做完。
So, actually, before we started the podcast, you and I were just shooting the shit, and you were talking about how you can do projects now that take a week, where in the past would take a team and months.
你能稍微讲讲你自己是怎么做到的吗?
Can you maybe walk this through a little bit about how you personally-
我参与了一些。
Kind of involved in that
我们会做项目,然后你看到的一些收益。
We'll do projects and then kind of the gains that you see.
所以——
So-
比如你的技术栈和流程。
Like a little bit about your stack and your process
……
...
我用的是 Cloud Code。
So I use Cloud Code.
我要说一件挺好笑的事,其实我用的是Windows。
I'm going to say something that's actually pretty funny, but I use Windows.
什么?
What?
那是微软这家公司做的吗?
Was that created by this company, Microsoft?
而且我用的是WSL。
And I use WSL.
所以开发什么的,我全都在Linux上做。
So I use Linux for everything, like development and so on.
它没有图形界面。
There's no X or UI for it.
我就直接用——
I just use the-
明白了。
I see
……命令提示符。
... command prompt.
但是——
But-
你为什么用Windows?
Why do you use Windows?
因为我就是一直没真正想学Mac上的键盘快捷键。
Because I just never really wanted to learn the keyboard shortcuts on Macs.
你打游戏吗?
Are you a gamer?
就像你切到《反恐精英》或者什么的。
It's like you tab over to Counter-Strike or whatever.
不然还能为什么?
Like, why else?
我不是在贬低Windows。
I'm not hating on Windows.
我在九十年代用过。
I used it in the '90s.
其实,唯一的原因就是我一直不想学那些快捷键。
Really, the only reason is I never wanted to learn the shortcuts.
我讨厌那个单键鼠标。
I hate the one-button mouse.
我讨厌那种单键的设计。
I hate the one-button stuff.
我讨厌要按那么多组合键才能用快捷键,还有那些乱七八糟的……
I hate the number of modifiers you have to type for shortcuts and stuff like...
我就是一直没……
I just never...
我就想,"何必浪费时间呢?"
I'm like, "Why waste time?"
好吧。
Okay.
所以我就想,算了,直接装Linux吧。
So I'm like, yeah, I'll just install Linux.
你用的是Windows,对吧。
You use Windows, yeah.
然后WSL,我用的是Cloud Code。
And so WSL, I use Cloud Code.
WSL是什么?
What is WSL?
就是Windows的Linux子系统。
That's Windows subsystem for Linux.
不错。
Great.
他们实际上是在Windows里通过虚拟机运行Linux内核,然后让你能访问它。
So they actually run the Linux kernel within Windows in a hypervisor and provide you access to it.
好的。
Okay.
这很棒。
It's great.
他们做得非常好。
They've done a great job.
太好了。
Great.
Windows 的 WSL。
Windows WSL.
还有 Cloud Code。
And Cloud Code.
还有 Cloud Code。
And Cloud Code.
我最近在用的是 Opus 5.5。
And the latest thing that I do is I use Opus 5.5.
我跟它说——
I tell it-
这确实是个很好的模型。
Which is a really good model
……
...
这个模型太棒了。
It's an amazing model.
确实很好,是的。
Really good, yeah.
过去两周我提交了大概20个大的PR,直接扔给团队去审查,他们看到都喊‘哎哟’。
And I've shipped in the last two weeks these massive 20 PR things that I just dump on my team to go and review, and they're like, "Ugh."
我就说:别担心。
I'm like: Don't worry about it.
听起来挺可怕的。
Sounds horrible.
这就像新的汇报结构,下面的人来审查——
It's like the new reporting structure, like the people below review-
那是——
That's-
……给CEO的PR。
... the PRs for the CEO.
我们怎么变成这样了?
Is that where we've become?
不,每个人都在写同样的——
No, everybody's writing the same-
哦,每个人都参与评审。
Oh, everybody reviews.
每个人都在写——
Everybody's writing-
哦,所以你也评审别人的PR。
Oh, so you review other people's PRs, too.
是的,我评审我的——
Yeah, I review my-
展开剩余字幕(还有 480 条)
好的
Okay
……别人的PR,然后大家就像PR满天飞一样。
... people's PRs, and everybody's like just PRs flying around.
被PR淹没了。
Drowning in PRs.
对。
Yes.
但审查流程中变化很大的一个点是,我们开始更加关注测试——
But the thing that has changed a lot in the review cycle is that we started to focus much more on the tests-
当然
Sure
……比如做黄金预期,以及它们是否以不同方式变化等等。
... and doing things like golden expectations, and are they shifting in different ways and so on.
但Opus 5,以及我最近学到的一个技巧是,不用子代理,而是让Claude启动命令行子代理,因为它们能保持持久的会话状态。
But Opus 5, and the trick that I've recently learned about is that instead of using sub-agents, you basically tell Claude to spin up command line sub-agents because those maintain their persistent session over time.
所以你可以让它分别启动这些代理。
And so you can have it spin up these agents separately.
你还可以从其他会话中运行它们,等等。
You can actually run them from other sessions and so on.
这样从上下文的角度来看,效率会高很多。
And that allows you to be much more efficient from a context perspective.
你运行多少个代理?
How many agents do you run?
多少个?
How many?
多少个?
How many?
多少个什么?
How many what?
代理。
Agents.
智能体?
Agents?
通常,我会同时开三到四个会话窗口,因为我发现如果超过这个数量,我就会开始丢失上下文……
Typically, I work on three or four session windows at the same time because I found that more than that, I just start losing context-
……在不同的任务之间,因为它们完成得更快,然后就会等待。
... between the different things because they start finishing faster, and then they wait.
那它们是通过PR来交互的吗?
And do they interact via the PR?
是这样运作的吗?
Is that how it works?
子智能体……
The sub-agents-
……是一起协作的吗?
... like together?
不,它们直接通过命令行交互。
No, they interact directly through the command line.
哦,哇,好的。
Oh, wow, okay.
所以我让主要负责实现的那个主代理找一个技术负责人来审查,他们基本上就是向它提问。
So I asked the main thing that does the implementation to have a tech lead reviewer, and they basically ask it questions.
“这样合理吗?
"Does this make sense?
这样不合理吗?
Does this not make sense?
帮我审查一下我的PR,”等等,然后他们就在这些PR上一起反复修改。
Review my PR," et cetera, and so they iterate on these PRs together.
然后他们有一个PR文档,基本上就是他们一起做的,里面包含设计文档和所有内容。
And then they have a PR doc that basically they work on with a design doc and everything in it.
我做的第一件事就是让那个代理去做,让技术负责人审查PR文档。
The first thing that I do is I ask that agent to do it, ask the tech leads to review the PR doc.
我会过一遍PRD。
I go through the PRD.
我会仔细看设计文档,确保它合理,逐项详细检查,确保所有算法和各个部分都能正常工作,分工合理,PR之间的划分和关系也没问题,然后我就告诉它直接开始做。
I go through the design doc, make sure it makes sense, go through each piece in detail, make sure that all the algorithms work and all the pieces work, the division of labor works, the division between PRs and their relationships work, and then I tell it to just go start doing it.
看看能不能并行处理,然后启动其他代理去实际执行。
Figure out if there's parallelization that you can do, and then spin up other agents to actually go do them.
但最终,你还是得把所有东西整合到一个堆栈里,作为人类逐个过一遍,否则就会变得混乱、分支太多,根本没法处理。
But ultimately, you have to kind of put it all back in one stack and be able to go through it as a human one by one, because otherwise, it just gets messy and bushy, and you can't really tackle it.
那你现在做的项目和六年前相比,时间上有什么差别吗?
So can you give a sense of a project you do now versus, I don't know, six years ago, like time differences?
我最近交付的项目大概是——
So the latest project that I shipped was something like-
顺便说一下,要明确的是,这是生产代码。
And by the way, to be clear, this is production code.
这不是——
This isn't-
这是生产代码。
This is production code
……演示或者原型之类的。
... demo or mock-ups, whatever.
所以你要说的重点就是,把生产环境代码上线后能带来哪些收益。
So the statement you're about to make is the gains that you get for shipping production.
那我拿最近参与的一个PR,或者说最近一组PR来举例吧,我们管它叫数据湖里的自动升级。
So I'll give you the example of the last PR that I worked on, or the last set of PRs, was what we call auto promotion in a data lake.
在数据湖里,我们会存储所有数据,通常这些数据是按列存储的,比如Parquet文件和Iceberg格式等等。
So in a data lake, you store all the data, and typically, the data is column-oriented, Parquet files and Iceberg and so on.
当你从日志里获取数据时,这些数据通常是半结构化的,列也是任意的等等。
And when you get data from logs, they're semi-structured, they're arbitrary columns, and so on.
为了能让数据布局最优化,并且能够高效、快速地查询,理想的情况是日志事件里的每个字段都变成一列,这样你就可以单独对它们进行过滤——
In order to have the best layout of the data and to be able to query it efficiently and fast, the ideal situation is that every field in the log event becomes a column that you can filter on-
好的
Sure
……而且这些列可以独立于其他行进行操作。
... independently of the rest of the rows.
所以我们称之为自动提升或数据拆分。
And so we call that auto promotion or shredding.
明白。
Sure.
做这种事情非常复杂,对吧?
And doing something like that is incredibly complicated, right?
你得去搞清楚元数据系统是怎么运作的,元数据系统的提交是怎么工作的,怎么协调不同的写入者,等等。
You have to go and figure out how does the metadata system work, how do the commits of the metadata system work, how do you coordinate across different writers, and so on.
这大概花了十天时间。
And that took maybe about 10 days.
以前的话,这可能需要大约六个月——
In previous days, that would have taken maybe about six months-
哇。
Wow
——而且是一个人来做。
... for a single person.
哇。
Wow.
这是你一个人做的吗?
And was this just you?
对,就我一个人。
That was just me.
简直不可思议。
It is insane.
差不多是十倍、二十倍的提升。
Sort of factor of 10, factor of 20 improvement.
而且是用于新产品的生产代码。
For production code for new products.
是的。
Yes.
我一直有个疑问,我明白这些模型是在所有代码上训练的,可以说是所有写过的代码,对吧?
One question I always have is, I can very much understand these models are trained on all the code ever written, let's call it, right?
所以我理解它们为什么能生成代码,这部分是语法层面的。
So I can understand why they're able to generate code, which is the syntax piece.
但你现在做的是核心基础设施。
But then, you're doing core infrastructure.
比如说你在写分布式算法。
Let's say you're doing distributed algorithms.
它的运行特性和自我管理方式,跟普通代码差别非常大。
The properties, how it handles itself when it's running is very, very different.
很多时候你光看语法根本猜不到会发生什么。
Often you just can't even look at the syntax to know what's going to happen.
比如你在写一个分布式系统,它的性能、可用性,甚至正确性,都取决于工作负载是什么样的。
Let's say you're writing some distributed system, and then the way that it will perform, the availability, the correctness even, is going to be dependent on what the workload looks like.
访问模式是什么?
What are the access patterns?
流量是什么样的?
What is the traffic?
你说的是它的性能方面吗?
Are you talking about the performance aspects of it, though?
还是说语义方面——
Or are you talking about the semantic-
嗯,我说的是可用性。
Well, I'm talking availability.
你可能需要加锁,这样在一段时间内它不可用。
You may have to lock things so that it's not available for a period of time.
对。
Sure.
我说的是正确性。
I'm talking about correctness.
也许你决定采用最终一致性,所以如果你读数据,它不会是一致的,因为没有锁。
Maybe you've decided to do eventual consistency, and so if you do a read, it's not going to be consistent because there isn't a lock.
然后是性能,也许你缓存,也许不缓存。
And then performance, maybe you cache, maybe you don't cache.
所以这些都是设计空间里的权衡,对吧?
So these are all kind of trade-offs in the design space, right?
而且除非你知道访问模式,否则你不会知道它在这些方面会表现如何。
And unless you know the access patterns, you won't know how it's going to perform in these things.
所以我就在想,好吧,我有一个AI。
And so I just think to myself, okay, I've got an AI.
我能理解它如何为一个通用的分布式数据存储写代码,比如说。
I can understand how it will write code for a generic distributed data store, for example.
我不明白的是,它怎么知道需要做哪些权衡,因为它甚至不知道访问模式是什么。
What I don't understand is how it will know to make the trade-offs needed because it doesn't even know what the access patterns are.
而且这些东西也不是说能……
And it's not like these things can...
连学习如何构建一个理解所有操作的系统所需的数据都不知道在哪里,对吧?
Where is even the data to learn how to build a system that understands all of the operations, right?
今天,我们依赖人类来管理集群和优化数据库等等。
Today, we rely on human beings to manage clusters and to optimize databases, et cetera.
那你能不能谈谈你是怎么想的?我明白写代码这部分,但你们还有这些深层的运维系统。
And so can you maybe talk about how you think of, I get the writing the code, but you have these deep operational systems.
你怎么把AI应用到那个问题上?
How do you apply AI to that problem?
而且,第一,我们有没有取得任何进展,还是这仍然是个未解决的问题?
And A, have we made any progress at all, or is this still an outstanding problem?
我觉得这个问题可能关乎复杂性,以及你能在多大程度上把你描述的那些运维方面的事情——
The question, I think, is maybe about complexity, and to what extent can you take the things that you've described that are operational-
——那些在生产环境中发生的事情——
... and that happen in production-
——转化成AI能够推理的东西?
... and convert them into something that an AI can reason about?
而且——
And-
对。
Exactly.
AI怎么能理解这个系统呢?
How can an AI reason about the system?
首先,你觉得它在写代码的时候,能多大程度预测接下来会发生什么?
Well, A, first off, to what extent do you see that it writing the code that it can actually predict what's going to happen?
它在这方面做得怎么样?
How good of a job does it do at that?
第二个问题是,我们怎么让它去理解这个系统?
And the second one is, okay, now how do we make it reason about this?
那我们先来问第一个问题。
So let's ask the first one.
如果我用你的方法,就是Jad那种写代码的方式,去搭建一个大型分布式系统,
If I use your method, the Jad method of writing code, and I build some big distributed system-
从性能和正确性的角度来看,它实际做对的频率有多高?
How often does it actually get it from a performance correctness standpoint?
它在实际操作中,合理的频率又有多高?
How often is it actually operationally pretty sensible?
顺便说一下,我在做这个分布式高斯溅射运行器,我觉得它做得挺烂的。
And by the way, I work on this distributed Gaussian splat runner, and I would say it's shit.
简直糟透了。
It's horrible.
因为你有几百万个高斯溅射需要分页进出和流式传输,这完全取决于运行系统。
Because you've got millions of Gaussian splats that you've got to page in and out and stream, and it just totally depends on the running system.
所以,没有一个模型能做好这件事。
And so, none of the models do a good job.
所以在我们这个领域,我发现我们基本上把性能基准定义得很清楚,
So in our world, what I've found is that we've defined basically really well what performance benchmarks look like-
以及系统应该如何运行,还有在我们的流处理器中构建时面临的约束,才能达到
... and how the system should run, and what the constraints of actually building within our stream processor look like to get-
正确的性能。
... the right performance.
明白了。
I see.
但偶尔它也会……
But every once in a while, it'll do...
我最近的项目主要是关于查询优化和查询性能的。
My latest project has been all about query optimization and query performance.
然后我就想,嘿——
And so I was like, hey-
这就像那种典型的难题。
It's like the classic example of something that's hard
我就想,我们基本上是在生成对应SQL的代码,然后想在管道里运行它。
I was like, we are basically generating code that corresponds to SQL, and we want to run it in a pipeline.
然后我们就说,好吧,你生成的代码很烂。
And we're like, okay, well, you're generating shit code.
修好它。
Fix it.
然后它就开始运行了,但它没意识到的是,它一开始其实并没有对代码做任何优化。
And it started basically going through, and what it didn't realize was that it wasn't actually doing initially any optimization on the code.
就像,哦,看,那没问题。
It's like, oh, look, that's fine.
有什么问题?
What's the problem?
然后我说,"你看,这里有这些连接词。"
And I said, "Well, look, there's these conjuncts over here.
你在做 AND 操作,这个特定的项重复了,应该被去掉。"
You're doing and, and this particular term is repeated, and it should've been taken away."
然后它就说,"啊,好的,让我想想办法," 之类的。
And then it's like, "Ah, okay, let me figure this out," and so on.
然后它基本上就沿着一条思路去尝试找出所有——它建立了一堆假设,关于所有它可以去优化以改善情况的地方。
And then it basically went on a thread to try to figure out what are all-- It built a bunch of hypotheses around what are all the things that it can go and optimize to make this better.
但最终,因为它能够基于性能基准来验证,我就说,"你看,这里有一组查询数据和用户提问等。"
But ultimately, because it was able to ground that in performance benchmarks, and I was like, "Look, here's a dataset of the queries and what the users are asking and so on."
"去处理吧。"
"Go work on it."
明白了。
I see.
所以它基本上能做得不错。
And so it can basically do a relatively good job that way.
但要是问它该给这个系统分配多少内存——
But when it comes to saying something around how much memory should I give this system-
……
...
它就完全没概念了。
it has no idea.
这必须得靠实际生产环境中的实验来得出。
And that has to come from actual experiments that run in production.
所以我觉得,这些系统在运维方面目前做得好的地方在于,它知道,嘿,这个问题我可能答不上来。
And so what I think, actually, these systems seem to be doing well at this point in terms of operational stuff is that it knows that, hey, I probably won't be able to answer this question.
让我想办法做个实验——
Let me run an experiment somehow-
……然后得出那个信息。
... and come up with that information.
但当然,在运维方面,生产系统的表现往往出乎你的意料。
But of course, when it comes to operations, production systems don't behave the way that you expect.
而最终,这就是事故发生的根本原因。
And ultimately, that's why incidents happen.
那你有没有发现,或者你自己有没有在做一些AI SRE相关的事情,就是有一个正在运行的系统,有日志,然后你把日志喂给AI,让它帮你调整系统?
So have you found, or are you doing any of the AI SRE stuff where you actually have a running system that has logs and you feed it to an AI and that kind of helps you tweak it?
有的。
Yes.
那效果怎么样?
And how well does that work?
因为从我的经验来看,其他人做这个的效果并不太好。
Because anecdotally, my experience with other people doing this has not been that great.
我听到的反馈都不太乐观。
The reports I've been getting anecdotally have not been great.
所以有几件事要说。
So a couple of things.
第一,我们既在做运维方面,也在做安全方面。
The first one is we're doing that for both operational pieces and for security.
但我们处理的方式和别人从AI SRE角度做的很不一样。
But the way that we're tackling it is not the way that other people are doing it from an AI SRE perspective.
很多这类系统基本上都是从滞后指标开始的,比如“嘿,这个指标飙升了”或者“这个警报触发了”。
A lot of those systems basically start from a lagging indicator, like, "Hey, this metric spiked," or, "This alert happened."
然后回溯一个非常复杂的系统,试图找出为什么会发生这种情况。
Go back through a very complex system and try to determine why that happened.
对,确实。
Yeah, sure.
这就是为什么那些方法不管用,因为回溯到根本原因其实非常困难。
That's why those don't work, because backtracking into a root cause is actually very problematic.
所以我们反其道而行之,先看看你的环境里有没有什么变化,有什么不同的地方。
And so instead, what we're doing is doing it the other way around, which is, can we actually start by figuring out if there's something different in your environment that has changed?
我们能不能做大规模聚类,大规模地找出大海捞针,找出那个不同的东西?
Can we do a large-scale clustering, a large scale, kind of figure out a needle in a haystack, something that is different?
然后——
And then-
哦,所以你假设之前一切正常,现在不正常了,所以肯定发生了什么变化?
Oh, so you're assuming that it was working fine before and now it's not, so something happened?
但这也可能只是正常流量模式的变化,对吧?
But it could be just a change in normal traffic patterns, right?
那也没关系。
That's fine, too.
我们关注的是,当事情出错时,系统通常会以某种方式告诉你出了问题。
And so the thing that we're looking at is when things go wrong, usually the system will tell you something went wrong somehow.
如果一切正常,扩展也正常,那就不会有什么动静。
If it's working fine and scaling as normal, nothing will happen.
但有时候你会看到一条消息,写着“错误,连接用完了”。
But sometimes you'll see some message which says, "Error, connections ran out."
或者“内存超限”,或者“资源缓冲区已清空”,或者——
Or, "Memory exceeded," or, "Resource buffer is emptied," or-
……某种迹象,某种非常早期的预警,说明出事了。
... some kind of indication, some kind of really early warning, something happened.
而我们要捕捉的就是那条消息,然后从那里入手,看看这是否是一个真正需要调查和处理的问题。
And that's the one message that we want to capture and then go from there and see, is that an actual problem that we need to investigate and deal with?
那它表现怎么样?
So how does it do?
到目前为止,表现相当不错。
So far, it's doing pretty well.
我们已经在自己的系统里运行它了。
We are running it internally in our systems.
我们也在几个客户的环境里跑过。
We ran it in a couple of our customers' environments.
而且有几次我们忽略了它——
And there was a couple of cases where we ignored it-
结果那些变成了生产事故。
... and those turned into production incidents.
真的吗?
Really?
哦,哇。
Oh, wow.
从直觉上讲,我能理解这些模型怎么理解语法,因为就像我说的,它们是在所有代码上训练的,结果就是覆盖了很多有用的场景。
Just from an intuitive perspective, I can understand how these models understand syntax because, again, like I said, they're trained on all of the code ever written, and it just turns out that covers a lot of useful cases.
我甚至很难想象软件操作的实际边界,对吧?
It's hard for me to actually even think of a bound on the actual operations of software, right?
这话听起来有点夸张,但其实有点道理:每次给程序加一位,它的操作状态空间就翻倍。
This is a ridiculous statement, but it's actually kind of true, is every time you add a bit to a program, the state space of what it can do operationally increases by a factor of two.
所以很快就能达到比宇宙中原子还多的状态。
So you very quickly get to- ... more states than atoms in the universe.
可以说,这就是为什么产品化的运维方法一直不太管用的原因,对吧?
And arguably, this is why product approaches to operations have never really worked, right?
混沌工程那套其实一直没真正奏效,我们长期以来都是靠人肉来管理分布式集群的,这其实是个公开的秘密。
The chaos engineering stuff never really worked, and we've always kind of relied... Actually, the dirty secret for the longest time of running a distributed cluster was just human beings managing it.
所以我在想,要训练AI来做这件事,你得有足够的数据和配置才行。
And so I'm just wondering, and then in order to even train an AI to do it, you have to have enough data and enough configuration.
所以我挺好奇的,你觉得我们现在能用AI来运行分布式集群或者管理这些服务吗,还是说这还得再等等?
So I'm just kind of curious, do you think we're at a spot where you could use AI to run a distributed cluster or run one of these services, or do you think that's still on the come?
我觉得已经有足够的数据和配置来启动这个循环了。
I think that there's enough to be able to have it start that loop.
最终,我同意你的看法。
Ultimately, I think that I agree with you.
这里面的空间是无限的。
There's infinite space.
有很多不同的东西。
There's a lot of different things.
但说到底,人类也是按照操作手册来运行的。
But ultimately, humans also operate on runbooks.
当然,生产环境里有很多事情最终还是需要人来处理,比如,“嘿,这太复杂了。”
And sure, there's a lot of things that happen in production that you ultimately need some human to go and like, "Hey, this is too complex.
有些隐藏的状态我知道,是因为前几天我在饮水机旁跟另一个同事聊过。”
There's some state that's hidden that I know of because I talked to this other guy at the water fountain the other day."
“他告诉我他部署的那个东西。”
"And he told me about this thing he deployed."
系统状态里可能有很多东西是看不到的。
There's a lot of stuff that potentially isn't visible in the state of the system.
但我要说的是,我们的目标应该是获取足够的遥测数据和理解,让一切变得透明,比如,“嘿,这就是系统的样子。”
But I'll argue that the goal of what we need to be able to do is to get to have enough telemetry and enough understanding to make everything really visible from a, "Hey, here's what the system looks like.
这是它如何运作的。
Here's how it's working.
这就是各种情况。”
Here's whatever."
然后我觉得,如果系统之前运行正常,那么运营中真正出现的大多数问题,通常都是因为某种变更引起的。
And then I think ultimately, most of the issues that end up really showing up in operations, assuming you have the system previously running okay, is due to some kind of change.
如果你能专注于弄清楚变化是什么,然后去排查——
And if you're able to just focus on the goal of figuring out what the change was and kind of going through-
抱歉,我能问个傻问题吗?我从来不觉得这些生成模型擅长预测东西。
Sorry, can I just ask a stupid question on this, which is, I never think of these generative models as good at predicting stuff.
听起来你讲了很多预测建模,比如预测变化,或者建立基线然后检测异常。
And it sounds like you're talking a lot about predictive modeling, like you predict a change, or you baseline and you detect an anomaly.
我是不是理解错了?
Am I thinking about this wrong?
不,你没有。
No, you're not.
好的。
Okay.
因为目标不是让代理去预测,而是让它得到一个信号,知道某些东西确定性地发生了变化。
Because the goal is not actually having the agent try to predict, but have it get a signal that something changed deterministically.
哦,是发生了什么事。
Oh, that something happened.
明白了。
I see.
等等,等等。
Wait, wait.
抱歉。
Sorry.
所以是有一个单独的模型来做预测,然后它会提醒AI?
So there is a separate model that does the predictive stuff, and then that will alert the AI?
是的。
Yes.
好的。
Okay.
对。
Yes.
有道理。
That makes sense.
所以我们做的事情基本上就是,你每天给我们一PB的日志,
So what we do is basically, you give us your petabyte of logs per day-
然后我们扫描所有这些日志,每次发现新的模式出现,也就是以前没见过的新东西,我们就会把它提出来交给AI,然后说,
... and we scan all of them, and every time we see a new kind of pattern emerge in your logs, a new thing that we haven't seen before, we lift it up to the AI and say-
明白了。
I see.
所以那是一个预测模型,它做的就是预测模型擅长的事情,也就是找出异常情况之类的。
So that's a predictive model that actually does what predictive models are good at, which is determining out-of-norm things or whatever, whatever.
没错。
Exactly.
然后这些信息会传给AI,AI就利用这些信息来决定该怎么做。
And then that goes to the AI, and the AI kind of uses that to figure out what to do.
对。
Exactly.
这样AI基本上就能进行推理并驱动后续操作了。
So the AI basically can then reason and drive that
明白了。
I see
……处理下去。
... that down.
所以它可以这样说:‘哦,这条消息,让我看看代码,找出它来自哪里,理解代码在做什么。’
So it can say, "Oh, this message, let me actually look at the code and figure out where it comes from and understand what the code does.
让我看看这种情况以前是否发生过。
Let me see if it's actually happened before.
让我看看。’
Let me see."
所以它基本上会运行各种假设和启发式方法,试图理解:这合理吗?
So it basically runs all these hypotheses and heuristics to try to understand, does it make sense?
它在某种程度上是否有意义?
Is it meaningful in some kind of way?
然后它就能决定该怎么处理。
And then it can determine what to do with it.
那你觉得我们离……咱们先回到查询优化,不说日志那些,还有多远?
So how far away do you think we are for... Let's just go back to query optimization, not logs or something.
那你觉得,在查询优化方面,AI基本上能替代人类做那些工作,还有多远?
So how far away do you think we are from having an AI basically do the job that a human used to do when it comes to query optimization?
我觉得非常近了。
I think very close.
真的吗?
Really?
是的。
Yes.
哇。
Wow.
我觉得——
I think-
比如运行一个分布式集群。
Like running a distributed cluster.
我就想,比如你有个MIT博士学位的James Cowling,他负责管理分布式集群,如果集群挂了,公司就没法运转,如果集群正常,那就一直跑着。
I just think of like, okay, you've got James Cowling, PhD from MIT, who runs a distributed cluster, and if the cluster's down, the company doesn't work, and then if it's up, it's running.
我也不太清楚。
I don't know.
你觉得现在到了可以说AI能胜任这个工作的地步了吗?
Are we at the point where you would say that an AI can do that?
不,还没有。
No, not yet.
哦,这样啊。
Oh, okay.
我觉得,很简单,当我们刚开始用AI做编程的时候,它只是自动补全。
I think, very simply, when we started doing AI for coding, it was auto-complete.
而且当时没人真正知道用AI到底能构建多复杂的软件。
And nobody really knew to what extent you can actually build complex software using AI.
我们当时看的时候,就觉得,"哎呀,AI永远不可能构建出——
And when we were looking at it, we were like, "Ah, AI is never going to be able to build-
……X或Y或Z之类的。
... X or Y or Z or whatever."
然后它基本上突破了预期,因为我们能够在系统中建模越来越多的复杂性。
And then it basically broke through the expectations because we were able to model more and more complexity in the systems.
我觉得自己在这方面的想法很简单,对我来说,这些模型就是输入分布,输出分布。
I just feel like I'm a very simple thinker on this stuff, and to me, these models are distribution in, distribution out.
事实证明,你确实可以在所有已有的代码上进行训练,而且那个流形其实挺容易处理的。
And it turns out you can actually train on all the code ever created, and it's actually like that manifold is pretty manageable.
我只是不确定运维是否也受到同样的限制。
And I just don't know if operations is constrained in the same way.
对我来说,运维更像是宇宙,重尾分布、基于异常、幂律分布,这些都是这些模型难以学习的东西。
That feels to me more like the universe, heavy-tailed and exception-based and power laws and all the tough stuff for these models to learn.
但我不确定。
But I don't know.
你是这个领域的专家,所以也许情况并非如此。
You're the one that's in the field, and so maybe that's not the case.
也许它们是可以管理的,但是——
Maybe they're manageable, but-
所以——
So-
但我要告诉你,系统的历史,你也知道,就是总想构建一个聪明的算法来做高效的事情。
But I will tell you, the history of systems, as you know, is you always want to build a smart algorithm that does the efficient thing.
是的
Yes
聪明的虚拟内存管理、聪明的拥塞控制、聪明的路由。
The smart virtual memory management, the smart congestion control, the smart routing.
但我们每次实际做的是什么呢?
And what do we do instead every single time?
我们构建一个更复杂的东西?
We build a more complex thing?
不,我们每次都过度配置。
No, we over-provision every time.
不,真的,每次都是这样。
No, literally, every single time.
还记得交换内存吗?就是交换到磁盘上的那个。
Remember swap memory, where you swap to disk?
兄弟,你要是那么干,那就完蛋了。
Dude, if you did that, you were fucked.
就是这样。
That's it.
你的电脑就废了。
Your computer was dead.
所以我们干脆就多配点内存。
So we literally over-provision RAM.
还有路由,你知道有多少自适应路由算法吗?
And routing, you know how many adaptive routing algorithms there are?
我们会根据流量来应对。
We will respond to traffic.
但是会有振荡,我们就说,'算了,我们过度配置。'
But you have oscillations, we're like, "Fuck it, we over-provision.
我们就用ECMP。
We just use ECMP."
所以我感觉系统的历史就是,你不去预测,而是过度配置,因为你预测不了。
So I just feel like the history of systems is that you don't predict stuff, you over-provision because you can't.
所以我觉得在运维方面,要么我们提前构建过度配置的系统,这样你就不需要做复杂的运维工作,要么也许AI能像人一样做,但我觉得这和代码很不一样,因为你处理的是异常情况。
So I feel like in the operations side, so either we'll build the systems up front that are over-provisioned, so you don't have to do complex operational stuff, or maybe AI can do it the way that a human being, but I think it's very different than code because you're dealing with exceptions.
数据也不多,等等。
There's not a lot of data, et cetera.
我觉得这完全是另一个领域。
I just feel like a different domain.
但我不确定。
But I don't know.
我是做风投的。
I'm a VC.
我就觉得……
I'm just like...
我之所以更乐观,是因为我所在的领域,我们处理的就是可观测的世界。
The reason that I'm more optimistic here is because I live in the world where what we do is actually deal with the observable world.
我正想说,你才是这方面的专家,我问你这些问题真是有点傻。
I was going to say, you're the literal expert on this, so it's silly for me to even ask you these questions.
不,完全不会。
No, not at all.
因为我在乎的只是——
Because all I care about is very-
因为在我的领域里,我的假设是我们拥有所有数据,我们确切知道什么时候有新情况发生、什么时候出现异常、工作负载何时变化等等。
Because in my world, my assumption is that we have all the data, is that we know exactly when a new thing happens or an exception emerges or a workload changes or whatever.
在我的领域里,所有这些数据都已经收集并流式传输过来了,我们可以——
In my world, all of that has already been collected and streamed through, and we can-
对,但是那个模型并没有基于这些数据的真实来源进行训练。
Yeah, but the model that is not trained on a grounded source for that stuff.
不是。
No.
那确实很难。
That would be really hard.
但这里的情况不是像,“嘿,克劳德先生,这里有一堆日志。”
But the story here isn't like, "Hey, Mr. Claude, here's a bunch of logs.
“是不是有什么问题?”
Is something going on?"
它必须更能运行实验,深入探究,看看可能存在的不同因果链形态——
And it has to be much more able to run experiments and dive in and see what are the different shapes of possible causal-
明白了。
I see
——这些因果链要真正符合现有的环境。
... chains that actually fit in the environment that exists.
明白了。
I see.
对,这就是你之前说的。
So yeah, this is what you said before.
现在我明白你的意思了。
Now, I see what you're saying.
你是说,宇宙是重尾分布的,可能发生的坏事数量是异常庞大的,但用来排查问题的步骤却是可控的。
You're saying that the universe is heavy-tailed, the number of bad things that can happen is probably an exception thing, but the set of steps used to debug it is a manageable thing.
没错。
Exactly.
而这正是你可以教给这些模型的东西,也是可能发生的事情。
And that's what you can teach one of these models, and that's what can happen.
没错。
Exactly.
因此,如果你给它正确的信号,它就能通过一系列步骤来真正限制这个问题。
Therefore, if you give it the right signals, it can go through a number of steps to actually constrain this problem.
没错。
Exactly.
有意思。
Interesting.
没错。
Exactly.
而且它还能——
And it can-
所以它确实是在扮演人类的角色,因为记得——
So it really is taking the role of the human because remember-
没错。
Exactly
……整个混沌工程浪潮,就像……
... the whole chaos engineering wave where like-
对。
Yes
……而它没能取得进展的原因在于,你试图极其迅速地缩小一个由宇宙原子构成的状态空间,并真正使其变得可控。
... and the reason it didn't go anywhere is you're very quickly trying to reduce a state space that was atoms in the universe, super quickly, and actually make that manageable.
而且之前是人工一步步去调试,现在你说的是让AI来做这件事。
And it was the human being that would go through steps that would do that on the actual debugging, and this is what you're saying the AI would do.
对。
Yes.
所以目标不是让模型只是说“这就是发生的情况”。
So the goal isn't to have the model just be like, "This is what happened."
明白了。
I see.
而是说“嘿,按照这个流程去排查,看看发生了什么”。
It's, "Hey, run through this workflow to determine what happened."
我们在安全领域也在尝试这个,比如在安全方面,你的统计数据里有些东西变了,实体存在的情况、各种数量关系上有些行为差异——
And we're trying that also on the security side, for example, where, hey, in security, you have something different changed in your statistics, some behavioral difference in terms of what entities exist, the cardinalities of various things-
——就是那些存在的实体。
... that exist.
所以这就变成了系统中的一个扰动——
And so that becomes a perturbation in the-
……随便什么,整个宇宙。
... whatever, the universe.
所以我们拿到那个信号,然后把它喂给AI,然后我们说:“嘿,AI,想出一堆可能的因果链,然后去验证一下,看哪些符合我们实际看到的数据模式。”
And so we take that signal, and then we feed it into an AI, and we're like, "Hey, AI, come up with a bunch of possible causal chains that exist, and then go through and verify if any of those fit the pattern of the data that we actually see."
所以这就更像是在说:“嘿,把这个方块塞进那个孔里,或者找到适合这个方块的孔。”
And so that becomes a much more like, "Hey, here's fit this square into find the peg or find the hole that fits this peg."
我觉得这对我来说更难,因为操作方面的问题是,系统可能会进入非常罕见的故障状态,而且这种罕见状态有很多。
That seems even harder to me because the operations one, the argument is The system can get into broken states that are very rare, and there's a lot of those rare states.
所以这根本没法训练模型,因为它可能进入的坏状态太多了。
And so it's just not something that you could train a model on, just because there's so many rare states it can get into that are bad.
也许你可以通过一步步操作来减少这种情况。
And so maybe you can reduce that by doing the steps.
安全方面的问题看起来更难,因为这不仅仅是罕见状态的自然顺序。
The security one seems even harder because this isn't just the natural order of rare states.
实际上有一个对手在试图——
You actually have an adversary that is trying to-
对
Yes
……故意去找那些罕见的状态——
... intentionally find rare states-
对
Yes
……而且故意去找那些——
... and intentionally find stuff-
对
Yes
……你做不到的东西。
... that you can't do.
所以有可能代码问题会被解决。
And so it may be the case that code becomes solved.
操作方面需要更长时间,而安全方面则需要更久——
It takes a little while longer to do operations, and it takes a lot longer to-
对,但你也想想,我也不知道。
Yeah, but also think about, I don't know.
对我来说,整个世界在某种程度上都是量子化的。
To me, the whole world is sort of quantized to a certain extent.
到普朗克长度。
To Planck length.
物理学家是这么说的吗?
Is that what the physicists say?
我不知道。
I don't know.
我又不是物理学家。
I'm not a physicist.
普朗克常数。
The Planck constant.
不,我觉得有像……其实,我现在完全不知道自己在说什么,但我真的觉得时空是离散的,分成普朗克长度。
No, I think there's like a... Actually, I literally don't know what I'm talking about right now, but I literally actually think that space-time is discretized into a Planck length.
不过话说回来。
But anyway.
对,我同意。
But yes, I agree.
某种程度上,你说得对,但就一般的操作和系统而言——
To a certain extent, what you just said, but for operations and systems in general-
……
...
可能的状态以及它们之间的可行路径是离散的。
there is a discretization of the possible states and the paths through them that are possible.
我只是觉得,当你处理——
I just think when you're dealing with-
可能有很多。
There might be a ton of them.
可能有很多。
There might be a ton of them.
我跟你说。
I'm going to tell you.
你还记得咱们研究生小组里的桑达尔吗?
So remember Sundar, who was in our grad school group?
艾尔?
Eyre?
桑达尔·艾尔?
Sundar Eyre?
对,艾尔。
Eyre, yeah.
是的。
Yes.
我记得他有一次来找我,看起来特别难过。
So I remember he came to me once, and he was looking very sad.
他说,‘马丁,我刚有一个特别难过的发现,就是如果你拿任何一首MP3……’你还记得MP3吗,就是那些音乐文件?
He's like, "Martin, I just had this really sad realization that if you take any MP3..." Remember MP3s, the music files?
是的。
Yes.
他说MP3的时长是有限的,比如说四分钟。
He said MP3s have a finite, let's say, four minutes.
大概就是四兆字节。
It's like four megabytes.
那就意味着宇宙中歌曲的数量是有限的。
And that means there's a finite number of songs in the universe.
那可以——
That can-
不,因为音乐都是由比特组成的,对吧?
No, because it's all made of bits, right?
而且就是四兆字节,那就意味着你可以把每一个这样的组合都列出来。
And it's four megabytes, and that means you could just enumerate every one of those constants.
我对音乐有限性这个概念感到非常难过,对吧?
I'm so sad in this notion of the finiteness of music, right?
说实话,我们当时正走在那个碟形天线上,他就在那儿说这个,我心里想:“我去,哥们儿,你知道你这么快就把宇宙里的原子都算完了吗?”
Literally, we were walking on the dish when he had this conversation, and I'm like, "Motherfucker, dude you know how quickly you've overcome the atoms in the universe?
你连K都还没到呢,对吧?”
You haven't even gotten to a K, right?"
这就像2的2次方的2次方的2次方。
It's like two to the two to the two to the two.
我说:“哥们儿,你到底在说啥呢?”
Like, "What are you talking about here, man?
开心点吧。”
Be happy."
2的2次方的2次方。
Two to the two to the two.
四兆字节。
Four megabytes.
四兆字节。
Four megabytes.
你在说什么呢……
What are you talking...
状态太多了。
There's so much state.
开心点吧。
Be happy.
这几乎是无限的,对吧?
That's effectively infinite, right?
就像,我们到底在讨论什么呢?
It's like, what are we talking about here?
所以我确实觉得,在某种程度上,我们低估了系统可能进入的状态数量。
So I do think at some level, we do underestimate the number of states that systems can get into.
而且我作为风投,看过这些公司,那些试图解决运营问题的公司,日子都不太好过。
And I will tell you from the perspective of a VC that looks at these companies, the ones that are trying to tackle operations are having a tough go at it.
这看起来比那些解决代码问题的公司要难得多,因为我觉得这个问题本身就更难。
It seems much, much tougher than those that are tackling the code, because I think it's a much tougher problem.
完全同意,我也是这么想的。
100%, I agree.
这确实是个更难的问题。
It is a much tougher problem.
而且不只是因为系统本身的问题,还有外部负载是随机的,可能突然发生,或者有人刚发布了一个新东西,直接部署到生产环境,也没告诉任何人,或者当这个发生和那个发生时,就会出现某种状态,最后导致死锁。
And it's not just because the systems themselves are, there's external loads that are random that kind of happen to you or that somebody just shipped a new thing and rolled it out into production, didn't tell anybody, or there's some state that actually happens when this thing happens and this thing happens, and then you end up in a deadlock.
还因为这个问题涉及更多人的参与。
It's also because it involves humans a lot more.
而且不只是写代码的那个人,实际上还涉及——
And not just one human who's the coder, it actually also involves-
哦,对。
Oh, right.
知识也是分散在不同人手里的。
The pools of knowledge are distributed too.
没错。
Exactly.
还有连接各个部分并把它们组合起来所需要的那些交互。
And the interactions between what it takes to connect the pieces and put them together.
但归根结底,我在想AI现在处于什么位置,未来有哪些可能性,以及所有这些事情的深度和前瞻性。
But ultimately, I think about where AI is and what are the possible futures and the depth and the forward-looking capacity of all the things.
我觉得代码对我来说,它就是一个缩影,也许我只是太宿命论了。
I think code is just, to me, it's a microcosm of, maybe I'm just too fatalistic.
也许我对世界运作的方式太悲观了,我觉得所有事情都遵循某种概率路径。
Maybe I'm just too pessimistic about how the world works, and I think of everything as following some kind of probabilistic path.
所以对我来说,如果我们能让代码运转起来,我们就能一点一点地扩展那种复杂度,一层一层地叠加,直到我们能处理那些运营上的问题。
And so to me, if we can make it work in code, we can continue expanding that level of complexity bit by bit and kind of adding layers and layers and layers until we can handle those problems of operations.
很多人说这不是宿命论,恰恰相反。
A lot of people say it's not fatalistic, it's the opposite.
人们会说这是非常乐观的。
It's very optimistic is what people would say.
对我来说,我不认为宇宙会轻易交出它的秘密,但走着瞧吧。
For me, I don't think the universe gives up its secrets that easily, but we'll see.
这是个关键问题,我得说,目前还没有答案。
This is kind of the big question, and I would say, as yet, it's not an answered question.
对。
No.
对,但我也不确定。
No. But I don't know.
很多我们人类觉得随机的事情,其实是没法解决的。
A lot of things that, as humans, we think of as being random are impossible to tackle.
这会影响架构。
It impacts the architecture.
是的。
Yes.
这就是我们在编程中看到的。
And that's what we saw with coding.
一开始,人们觉得能用代码实现的东西是有限的,你没法让一个系统真正理解人脑所需的全部复杂性。
Initially, people thought the possible world of all these things that you can implement in code are kind of limited, and you can't really get a system to potentially understand the full complexity of a human brain that's required.
我觉得随着时间的推移,一切都会……
I think over time, it'll all...
真有意思,我居然在跟你说这个,而你是个看未来的VC,你会说——
It's so funny that I'm actually telling you this, and you're the VC who's looking into the future and being like-
不,好吧,我来告诉你我的看法。
No, well, I'll tell you my view.
我的看法是,研究这些模型,你是在数据上训练,要么就是……
My view is the study of these models are you train on data and either that...
我在想怎么措辞。
I'm trying to phrase it.
所以你在数据上训练,这代表了一个分布。
So you train on data, and that represents a distribution.
这个分布有用或者没用。
That distribution is useful or not.
当然。
Sure.
所以当你用语言训练模型时,它之所以有用,在我看来,这说明人类非常了不起,因为他们观察了宇宙这个高维系统,并将其简化成了一个对模型真正有用的流形,对吧?
And so when you train on language, the fact that it's useful, that to me says that humans are so remarkable because they've looked at the universe, which is this very high-dimensional system, and they've reduced it to a manifold that's actually useful for a model, right?
是的。
Yes.
但这和宇宙本身是不同的。
But that's different than the universe.
当然。
Sure.
从高维到语言,这是一个降维的过程,语言的维度要低得多。
There's a reduction from this high dimensionality to the language, which is much less dimensional.
而且我认为,代码是机器所有运行状态的一种简化,它把机器运行所需的结构提炼了出来。
And I think that code is a reduction of all the operational states of a machine into the structures that make it run.
所以在我看来,指令或描述与实际宇宙的运行、实际系统的运行之间,仍然存在脱节。
And so to me, there's still a disconnect between the instructions or the description and the actual running of the universe and the actual running the system.
我觉得我们可以在这方面取得进展,但我要说的是——你有点在向模拟的方向靠拢了。
I think we can make gains toward it, but what I will say is- You're kind of converging on simulation.
有些事情在计算上是不可简化的。
There are things that are computationally irreducible.
你得实际运行它才能得到答案。
You kind of have to run it to get the answer.
对。
Yes.
你不能只是——
You can't just-
……预测它。
... predict it.
所以也许我们正处在一个事件视界上,模型能解决任何你不需要实际模拟就能得到答案的问题。
And so maybe we just are at an event horizon where models will solve anything that you don't have to actually simulate to get the answer from.
但为什么?
But why?
为什么你非得从它必须现在回答问题这个角度来想,而不是能够模拟然后——抱歉。
Why do you have to just think about it in terms of, hey, it'll have to answer the question now as opposed to being able to simulate and-- Sorry.
能够规划自己的执行步骤,去获取它需要的信息,以便能够——
Being able to plan its own execution to gain the information that it needs in order to be able to-
也许这就是我们前进的方向,是的。
Maybe that's where we're going, yeah.
这正是我——
That's kind of what I'm-
有道理。
Fair enough.
而且我认为存在一个低维空间,也就是你将要采取的步骤,我们可以用AI大幅减少这些步骤,然后对于它无法完成的步骤,它可以编写代码来完成,或者通过模拟来完成。
And I think there's a lower dimensional space which is the step that you would take that we can reduce a whole bunch with AI, and then whatever steps that you need that that can't do, it can create the code to do or it can simulate and do it.
但你要说的重点是——
And the point that you're making, though-
对
Fair
……就是,你看,模型实际上无法去探索我们需要发现的世界额外维度,以便将宇宙建模到它的世界模型中。
... is that, hey, look, the model can't actually go and figure out the additional dimensions of the world that we need to go and find to model the universe into its world.
这很可能是真的。
That's probably true.
但它真的能模拟一个科学家,达到那个程度吗?
But can it actually simulate a scientist sufficiently to be able to get to that point?
也许吧。
Maybe.
也许吧。
Maybe.
好。
Cool.
我能问你一个问题吗?
Can I ask you a question?
你觉得风投工作中有多少是AI可以主导的?
How much of the VC work do you think is something that an AI can drive?
我对风投的理解是,它非常依赖人际关系。
So my model for VC is it's very relationship driven.
所以我就是相信市场其实挺有效的。
So I just have a belief that markets are actually pretty efficient.
所以关键不是去找别人都没发现的公司。
And so it's not about finding the company that nobody else finds.
我觉得大家都能找到好公司。
I think people all find the right company.
我觉得市场是有效的。
I think they're efficient.
然后我对VC的看法是,科技是积极的,我对所有科技都挺乐观的,我也不担心市场规模。
And then I also have the model of VC that tech is positive and I'm kind of optimistic about all tech, and I don't worry about TAM.
所以我觉得关键就是能不能接触到这些机会。
And so I think the key is access.
就像融资,靠的是人脉,是能不能拿下项目,还有拿下之后能不能帮上忙。
It's like raising money, it's access, it's ability to win deals, and it's ability to add value after that happens.
而很多这些事,初创公司自己根本做不来,比如招大牌高管或者在这方面帮忙。
And a lot of that is stuff that startups just can't naturally do, like recruit big execs or help with that.
所以我觉得做风投这件事,你得是个真正的人才能干。
And so the way that I think about venture, you kind of have to be a human being to do.
因为那才是真正的活儿。
Because that's the actual job.
所以在这方面,我觉得AI永远做不到——就算你给AI一个模拟宇宙,让它去搞什么奖励机制、建立信任关系,那也行。
So for that, I don't think an AI can ever- If you gave an AI a simulated universe where it could, whatever, reward hack, building trust relationships, fine.
但我觉得那也得——不过话说回来,我确实见过AI做的分析,跟任何人比都不差,甚至更好——
But I think that that would have to be- That said, I will say, I have seen analysis done by AI that are as good or better than any-
比我合作过的任何天才都强。
... genius I've ever worked with.
所以在分析这块,它们很厉害。
So for the analysis piece, they're great.
但我觉得这更多说明的是风投的分析能力不行,而不是模型有多强大。
But I think this is more of an indictment on VC's ability to analyze than it is how powerful the models are.
我就是觉得那全是花架子,都是扯淡。
I just think it's all a kabuki show and bullshit.
我觉得真正好的风投会认为,科技是净正面的。
I just think the right VCs are like, tech is net positive.
科技总能创造价值。
Tech ways always add value.
找到最好的公司,然后投资它。
Let's find the best company and invest in it.
市场是非常非常高效的。
The markets are very, very efficient.
所以我觉得这个问题的答案几乎有点像是钻牛角尖。
And so I just feel like the answer to this question is almost kind of a technicality.
我的答案几乎就是钻牛角尖。
My answer's almost a technicality.
所以有件事,我来这里,其实想问你一个真实的——
So one of the things, I came here, I wanted to ask you this real-
——这个问题,就是我们开始具体聊运营的时候。
... this question, which is, we started talking specifically about ops.
但对我来说,AI写代码的世界,就像是一个抽象的模拟世界,它存在于其中。
But to me, there's this world of AI writing code, which is kind of like this abstract simulation world that it lives in.
然后还有现实世界的其他部分。
And then there's the rest of the world.
对,没错。
Yeah, exactly.
而且——
And-
整个讨论就是这个。
The entire discussion is this.
AI所在的世界,全是数字化的,不管是什么,训练数据、分布内的世界,然后还有现实世界。
There's the world that the AI lives in, which is all digital and whatever it is, the training data, the in-distribution world, then there's the actual world.
这两者不一定是一样的。
And those things are not necessarily the same.
很多时候它们并不一样。
They're quite often not.
所以问题是,你需要训练AI到什么程度,它才能在一个世界里生存?
And so the question is, to what extent do you need to train an AI to be able to survive in a world?
还有它真正需要的是什么——我不想回答那个问题,你需要训练什么?
And what are the things that it actually-- I don't want to answer that question, what do you need to train?
但我对开放空间很好奇。
But I'm curious about the open spaces.
我们之前聊了一点运营方面的事。
So we talked a little bit about operations.
你说:"哦,我不知道这能不能解决。"
You said, "Oh, I don't know if it's going to be solved or not."
我就说:"对,马丁,这肯定能解决。"
I'm like, "Yeah, Martin, it's going to be solved."
在我看来,还有很多其他事情。
And in my mind, there's so many other things.
比如,自动驾驶汽车。
For example, self-driving cars.
关于 Bayt 播客
Bayt 提供中文+原文双语音频和字幕,帮助你打破语言障碍,轻松听懂全球优质播客。