Latent Space: The AI Engineer Podcast - MCP一周年——与David Soria Parra及来自OpenAI、Goose、Linux基金会的AAIF领导者们 封面

MCP一周年——与David Soria Parra及来自OpenAI、Goose、Linux基金会的AAIF领导者们

One Year of MCP — with David Soria Parra and AAIF leads from OpenAI, Goose, Linux Foundation

本集简介

一年前,Anthropic 推出了模型上下文协议(MCP)——一种连接 AI 应用与其所需数据和工具的简单开放标准。如今,MCP 已从一项仅限本地的实验,发展为代理系统的事实标准,被 OpenAI、微软、谷歌、Block 以及数百家大规模构建内部代理的企业所采用。现在,MCP 将加入新成立的代理 AI 基金会(AAIF),该基金会隶属于 Linux 基金会,与 Block 的 Goose 编码代理一同成为创始成员,涵盖 AI 和云基础设施领域最知名的企业。 我们与 David Soria Parra(MCP 负责人,Anthropic)、Nick Cooper(OpenAI)、Brad Howes(Block / Goose)和 Jim Zemlin(Linux 基金会首席执行官)进行了深入对话,回顾了 MCP 过去一年的历程——从感恩节的黑客松、首个远程认证规范,到长期任务、MCP 应用和代理间通信的兴起;并揭示了三家竞争性 AI 实验室为何携手将各自的协议和代理捐赠给一个中立基金会的幕后故事;探讨了企业为何比预期更快地部署 MCP 服务器(大部分是隐形、内部、大规模的);解析了设计一个既能支持简单工具调用、又能处理复杂多代理编排的协议需要什么;说明了基金会将如何在“精选有意义项目”与“开放性(避免厂商锁定)”之间取得平衡;并展望了 2025 年愿景:MCP 将成为异步、长期运行代理的通信层——这些代理在你睡觉时工作,自行发现并安装工具,释放 AI 生产力的下一个数量级。 我们讨论: MCP 一年的历程:从本地 stdio 服务器到远程 HTTP 流式传输、OAuth 2.1 认证(及企业学到的经验)、长期任务和 MCP 应用(用于更丰富 UI 的 iframe) 为何 MCP 在企业内部迅速普及:隐形的内部服务器将代理连接至 Slack、Linear、专有数据和高合规性工作流(金融、医疗) 认证机制的演进:分离资源服务器与身份提供商、动态客户端注册,为何三月规范尚未满足企业需求(六月版本如何解决) Anthropic 如何内部使用 MCP:内部网关、用于 Slack 摘要和员工调查的自定义服务器,以及 MCP 如何源于“如何让开发工具扩展速度超越公司增长”? 任务:长期异步代理操作的新基础原语——为何工具不够用,任务如何支持深度研究与代理间交接,为何选择将任务设计为“容器”(而非仅异步工具) MCP 应用:为何使用 iframe,如何处理样式与品牌,座位选择与购物 UI 作为杀手级用例,以及与 OpenAI 合作建立通用标准 注册表问题:官方注册表 vs. 精选子注册表(Smithery、GitHub)、信任层级、模型驱动发现,为何 MCP 需要“代理的 npm”(但需包含签名与 HIPAA/金融合规) AAIF 的创立故事:Anthropic、OpenAI 和 Block 如何走到一起(剧透:他们并不知道彼此都在与 Linux 基金会接洽),为何中立性至关重要,以及 Jim Zemlin 在 22 年职业生涯中从未见过如此多的首日关注 — David Soria Parra(Anthropic / MCP) MCP:https://modelcontextprotocol.io https://uk.linkedin.com/in/david-soria-parra-4a78b3a https://x.com/dsp_ Nick Cooper(OpenAI) X:https://x.com/nicoaicopr Brad Howes(Block / Goose) Goose:https://github.com/block/goose Jim Zemlin(Linux 基金会) LinkedIn:https://www.linkedin.com/in/zemlin/ 代理 AI 基金会 https://agenticai.foundation 章节 00:00:00 引言:MCP 的第一年与基金会发布 00:01:17 MCP 的历程:从发布到行业标准 00:02:06 协议演进:远程服务器与认证 00:08:52 企业认证与金融服务 00:11:42 传输层挑战:HTTP 流式传输与可扩展性 00:15:37 标准开发:与科技巨头的合作 00:34:27 长期任务:异步代理的未来 00:30:41 发现与注册表:构建 MCP 生态系统 00:30:54 MCP 应用与 UI:超越文本界面 00:26:55 内部采用:Anthropic 如何使用 MCP 00:23:15 技能 vs MCP:互补而非竞争 00:36:16 社区活动与企业经验 01:03:31 基金会成立:为何此时、为何联合 01:07:38 Linux 基金会合作:结构与治理 01:11:13 Goose 作为参考实现 01:17:28 原则胜于路线图:可组合性与质量 01:21:02 基金会价值主张:为何贡献 01:27:49 实际投入:活动、工具与社区 01:34:58 展望未来:异步代理与真实影响

双语字幕

仅展示文本字幕,不包含中文音频;想边听边看,请使用 Bayt 播客 App。

Speaker 0

嘿,大家好。

Hey, everyone.

Speaker 0

欢迎收听《Laid in Space》播客。

Welcome to the Laid in Space podcast.

Speaker 0

我是Kernel Labs的创始人Alessio,今天和Laid in Space的编辑Swiggs一起主持。

This is Alessio, founder of Kernel Labs, and I'm joined by Swiggs, editor of Laid in Space.

Speaker 1

嘿。

Hey.

Speaker 1

我们终于第一次来到演播室了。

And here we are joined, finally, the studio for the first time.

Speaker 1

欢迎回来,David,来自Anthropic/MCP。

Welcome back, David, from Anthropic slash MCP.

Speaker 2

是的。

Yeah.

Speaker 2

嘿。

Hey.

Speaker 2

终于能当面和你聊天了,真好。

Well, nice to finally talk to you in person.

Speaker 2

上次,大概一年前,我们还是通过视频通话,那时候是Huefeng。

Like, last time, like, a year ago, it was over VC, and this is Huefeng.

Speaker 1

我回看了那次对话。

I watched it back.

Speaker 1

其实是八个月前。

Was eight months.

Speaker 1

这八个月真是疯狂,我想我们刚庆祝了MCP一周年。

It's it's been a crazy eight months, and I think we just celebrated, like, the one year anniversary of MCP.

Speaker 1

是的。

Yes.

Speaker 1

我们确实庆祝了。

We did.

Speaker 1

至少是公开宣布的那一天。

At least the public announcement.

Speaker 1

是的

Yeah.

Speaker 1

而且昨晚或者昨天是Agentic AI的额外发布。

And also last night or yesterday was the Agentic AI Additional launch.

Speaker 1

已经发布了。

Which is launched.

Speaker 1

哇。

Wow.

Speaker 0

是的

Yeah.

Speaker 0

那很不错。

That was nice.

Speaker 0

那是个不错的活动。

That's a nice event.

Speaker 0

能参观Anthropic的办公室真好。

It was nice to see the Anthropic office

Speaker 2

是的。

Yeah.

Speaker 0

还没有。

And not been.

Speaker 3

你喜欢吗?

You like it?

Speaker 0

是的。

Yeah.

Speaker 0

它很

It's

Speaker 1

非常好吃。

very Very good food.

Speaker 1

依我用餐标准来看,Anthropic 优于 OpenAI。

I I would say, in terms of my food bench, Anthropic does rank over OpenAI.

Speaker 2

是的。

Yeah.

Speaker 2

所以至少这是我们目前的优势。

So At least that that that's what we have going for us.

Speaker 0

太棒了,老兄。

Awesome, man.

Speaker 0

你能简单介绍一下MTP的现状,以及你如何将其捐赠给基金会吗?之后我们再来回顾一下这个协议过去一年的情况。

Do you wanna give just a quick overview of what's happening with MTP and how you're donating it to the foundation, and then we'll do kinda like a one year recap of the protocol itself.

Speaker 0

然后我们会邀请基金会的其他负责人加入,进行更宏观的讨论。

And then we'll have the rest of the leads from the foundation join us to do more of the high level.

Speaker 2

是的。

Yeah.

Speaker 2

对,嗯。

And the yeah.

Speaker 2

听起来不错。

That sounds good.

Speaker 2

是的。

Yeah.

Speaker 2

我的意思是,我们现在到哪儿了?

I mean, the where where where we at at the moment?

Speaker 2

对吧?

Right?

Speaker 2

我们一年前刚推出它,之后过去这一年出现了惊人的采用率,感觉简直像过了一个世纪。

We have done, like, a year like, a year ago, we launched it, and then we had this, like, crazy adoption over the last year now, which it felt like an eternity, honestly.

Speaker 2

但在这段时间里,我们经历了惊人的增长和采用,最初是在感恩节和圣诞节期间,很多开发者开始构建MCP,随后像Cursor和Versus Code这样的首批大客户也加入了。

But we have this, like, crazy growth and, like, adoption, you know, through initially through, like, Thanksgiving and Christmas, very early with a lot of, like, builders building MCP, and then, you know, you had, like, the first big clients coming in, like, Cursor and Versus Code.

Speaker 2

然后到了四月左右,出现了一个关键转折点,萨姆·阿尔特曼、萨提亚和孙达尔回都在发帖提到MTP,表示微软、谷歌和OpenAI都将采用MTP,这确实是巨大的转折点。

And then, like, you had this, like, inflection point around April with, like, Sam Altman and Satya and Sundar and all posting about, like, MTP and that they're gonna adopt MTP at Microsoft, at Google, at OpenAI, and that was really, like, the big inflection point.

Speaker 2

所以是的。

So Yeah.

Speaker 2

但在这一切过程中,你们也花了大量时间完善协议本身。

But in all of that time, you also had to do a lot of work on the protocol itself.

Speaker 2

对吧?

Right?

Speaker 2

我们最初推出时,基本上只支持本地使用。

We, like, we we moved we launched originally as, like, basically local only.

Speaker 2

我们可以构建本地的MCP服务器用于云桌面。

We could, like, build local MCP servers for cloud desktop.

Speaker 2

但在三月,我们转向了如何实现远程MCP服务器,即连接到远程服务器,并引入了第一版身份验证机制。

But then in March, we moved into how can you do remote MCP servers, so connect really to remote server, and introduced the first iteration of authentication.

Speaker 2

到了六月,我们重新审视并大幅改进了它,使其更适合企业使用,非常幸运的是,在三月到六月期间,我们请到了真正从事OAuth协议工作的行业顶尖专家来帮助我们完善一些关键部分,确保做对了。

And then in June, we revisited that and, like, improved it quite a little bit so that it works better for, you know, for enterprises in particular, and we were very, very lucky that in that time, for March, like June, we were, like, able to, like, have absolute industry leading experts that literally work on OAuth itself to help us with some of the the pieces, right, and how to get it right.

Speaker 2

之后我们还投入了大量精力在安全最佳实践这类工作上。

And then we focused a lot of on, like, security best practices and this type of work.

Speaker 2

现在我觉得我们已经打下了非常坚实的基础,就在今年十一月底,我们刚刚发布了协议的最新迭代,终于实现了下一个重大改进——支持长时间运行的任务,真正实现深度研究类任务,甚至代理之间的通信。

And now we're, like, I feel we have a really solid foundation, and we're doing we just launched, like, in our end of, like, November, then the recent iteration of the protocol, finally, like, the next bigger improvement to the protocol, which is, like, long running tasks to really allow for, like, you know, deep research type of task and, like, you know, maybe even agent to agent communication.

Speaker 2

所以我认为我们现在正踏入一个新阶段,拥有非常坚实的基础。

And so I think we're just stepping into, like, this territory now with, okay, we have really solid foundations.

Speaker 2

我们还希望再增加一个关键的原语。

We have, like, one more big primitive we wanna add.

Speaker 2

我们想再提升一点可扩展性,让系统更顺畅运行,然后就会进入一个相对更稳定的阶段。

We wanna make, like, a little bit more scalability, things work, and then we're, you know, gonna get into a phase where it's probably becomes a bit more stable.

Speaker 2

所以,是的,这一年真是疯狂得不得了,老兄。

And so, yeah, it's been this has been an absolute crazy year, man.

Speaker 0

你提到过代理与代理之间的通信,所以这是个双向协议。

You did say the agent to agent, so there is a a two a protocol.

Speaker 0

我想知道,AgenTik AI 工程基金会或 AgenTik AI 基金会成立时,有没有讨论过把这些其他协议也纳入其中?

I'm curious when the AgenTik AI Engineering Foundation got formed or just AgenTik AI Foundation, was there any discussion about any of these other protocols being a part of it?

Speaker 0

或者,你知道的,肖恩写过一篇叫 YMTP 1 的帖子,对。

Or, you know, Sean wrote a post called YMTP one Yeah.

Speaker 0

已经发布了。

Already.

Speaker 1

我最喜欢的一篇帖子可能是

One So of my favorite posts of the Maybe

Speaker 0

它早就发布了,确实是一篇好文。

it was already It's a good one there.

Speaker 1

是的,而且是在萨姆和其他人之前。

It was and it was before Sam and all the other guys.

Speaker 2

对。

Yeah.

Speaker 2

对。

Yeah.

Speaker 2

你说得对。

You were right.

Speaker 2

所有

All

Speaker 1

我的意思是,我觉得这显然是会发生的。

The one I mean, I I think it was just obvious that it was going to happen.

Speaker 2

对。

Yeah.

Speaker 2

所以,是的。

So Yeah.

Speaker 2

所以我们当然会讨论市场上还有哪些其他有趣的支付协议等等。

So we did we, of course, have conversations around, like, what is else that's in the market, like, the payment protocols that are interesting and so on.

Speaker 2

但当我们想要成立一个基金会时,我们首先想确保两件事。

But when we wanted to to start a foundation, we wanted to make sure first of all, two things.

Speaker 2

我们想从小处着手,确保这个创始团队——对我们Anthropic来说,这是第一次建立开源基金会,所以一切都对我们来说是全新的。

We wanted to start small and make sure that the group that is founding this, like, for for us, it's the first time we at Anthropic have an open source foundation, so this is all new to us.

Speaker 2

所以我们真的想从小开始,边做边学,和OpenAI以及Block一起,以我们觉得对行业最有利的方式来引导这个项目。

So we really wanna start it small and making sure we're learning along the ways and being able to, like like, shepherd this in in the way we feel is best for for the industry together with with OpenAI and Block.

Speaker 2

但第二点是,我们真的希望看到那些已经

But the second part of that is also, like, we really felt like we wanted to see things that have

Speaker 0

很多

a lot

Speaker 2

广泛采用或至少在协议层面成为事实标准的东西。

of adoption or de factor like, at least on the protocol side, like a de factor standard.

Speaker 2

我认为其他任何协议都还没有达到那种程度。

And I don't think any of the other protocols, it feels like they're not just there yet.

Speaker 2

但当然,如果它们达到了那个水平,我们会非常开放,只要它们与基金会内的内容互补即可。

But of course, if they get there, then we're super open, as long as they're complementary to to what's what's in the foundation.

Speaker 2

在应用层面,我们稍微灵活一些,也更开放。

On the application side, we're a little bit more flexible and we're, like, more open.

Speaker 2

但在协议层面,我认为我们真的要确保不会让基金会涵盖五个用于相同通信功能的协议。

But on the protocol side, I think we really wanna make sure that we're not, like, offering, like that the foundation doesn't encompasses, like, five protocols for the same like communication there.

Speaker 2

所以,是的,我们有过讨论,但目前我们只想从小处开始。

And so, yeah, there was discussion, but I think for now we just wanna start it small.

Speaker 1

你现在在基金会中是否承担双重角色,还是更专注于MCP?

Is there a role, like a double hat that you have now with the foundation, or are you more focused on MCP?

Speaker 2

我仍然主要专注于MCP。

I am still mostly focused on MCP.

Speaker 2

这有点像双重角色,我想人们需要理解,基金会部分主要只是一个伞形结构,以确保其下的项目始终保持中立。

It's a bit of a doublehead, so there is this, like I I think people need to understand, like, the foundation part is mostly just an umbrella to make sure the projects under it stay always neutral.

Speaker 2

我认为这是最重要的一点,你必须充分理解,因为其余的部分就只是顺其自然了。

And I think that's really the most important part you wanna get a lot you know, wanna understand because the rest of it is like, okay.

Speaker 2

我们如何使用基金会的预算来举办那些比较枯燥的活动?

How do we use the budget of the foundation for events and things that are, like, quite dry?

Speaker 2

至于与MCP相关的技术部分,实际上保持不变。

And then the technical parts to, like, MCP, they stay actually the same.

Speaker 2

在MCP的治理方式上,没有什么真正改变。

Like, on the on the way we govern MCP, nothing has really changed.

Speaker 2

因此,作为MCP的主要核心维护者,我的职责仍然是推动协议向前发展。

And so that's really still my job as the lead core maintainer of, like, shepherding the process that is shepherding the the protocol forward.

Speaker 2

除此之外,我现在又多了一个双重角色,那就是成为基金会的技术指导委员会成员,负责确定我们希望纳入基金会的项目。

And then beyond that, now the additional double role is, like, I'm also gonna be on the technical steering committee of the foundation, which will, like, make sure to, like, figure out what are the projects we wanna have in the foundation.

Speaker 2

所以,如果有人带着项目来找我们,那些已有项目的人会一起决定:这是否是我们想要的?

So if someone comes with a project to us, the people that have projects in it will decide, is this something we would want?

Speaker 2

这是否是一个维护良好、广泛采用且不会消失的项目?

Is this something that we feel is, like, well maintained, has a lot of adoption, is not gonna go away?

Speaker 2

我们希望确保基金会拥有真正有趣且重要的项目,而不是沦为一个垃圾堆——有些基金会最终可能就变成了这样。

We wanna make sure the foundation is have, like, super interesting and important projects and not like a dumping ground, like, have, you know, some foundations might have ended up with.

Speaker 1

确实如此。

That's true.

Speaker 1

我们稍后会和其他人见面,但也许我们现在先回到MCP开发的话题上。

So we're gonna meet some of the others later, but maybe we'll just focus back on the sort of MCP development.

Speaker 1

你已经讲了很多了。

You've covered a lot.

Speaker 1

已经发布了四个版本规范。

There's been four spec releases.

Speaker 1

这很多了。

That's a lot.

Speaker 1

是的。

Yeah.

Speaker 1

所以有些人可能错过了其中一些版本,我的意思是。

So people may have missed some of them, is what I'm saying.

Speaker 1

对吧?

Right?

Speaker 1

我觉得特别有意思的是,你们一直持续关注并开发一些非常重要的部分。

Like, and I think it's really interesting how you we've continued to work on, like, really important parts.

Speaker 1

我总是觉得,要在一个重大成功之后推出续作非常困难,是的。

Like, I I always think, like, it's very hard to follow-up a major success with a sequel Yeah.

Speaker 1

因为续作通常很难重现那种效果,是的。

Because the sequel usually, like, is it's hard to repeat Yeah.

Speaker 1

那种影响力。

That impact.

Speaker 1

但我认为,每一次你们都成功地聚焦在了重要的事情上。

But I think, like, every single time you've actually managed to, like, focus on something important.

Speaker 1

是的。

Yeah.

Speaker 1

所以也许我们可以聊聊,我想我们可以从3月1日的HTTP流式传输开始,这个功能不错,还有那个非官方规范。

So maybe we can cover I I guess, maybe we'll start with the the March '1, which is HTTP streaming, which is good, and the off spec.

Speaker 1

对吧?

Right?

Speaker 1

是的。

Yeah.

Speaker 1

还有其他你想强调的吗?我不知道,但我们还是先让大家了解这些内容。

Any other I don't know if you wanna highlight any any others, but we'll just catch people up on that stuff.

Speaker 2

是的。

Yeah.

Speaker 2

所以那个真的非常重要。

So that that was I think that was really a that was such an important one.

Speaker 2

比如,它确实是

Like It was

Speaker 1

最受期待的第一项功能。

the number one requested thing.

Speaker 2

是的。

Yeah.

Speaker 2

它真正开启了远程操作的可能性,其实我们早在去年11月和12月就知道,下一件大事将是:如何实现远程操作?

It was like it really opened up this, like, remote thing, and we were we already knew actually in December and November that the next big thing will be, like, how can you do this over the over remote?

Speaker 2

身份验证非常重要。

And authentication is quite important.

Speaker 2

我认为人们在谈到MCP时很少注意到的一点是,MCP在每一层都非常严格。

One of the things I think people very rarely notice when it comes to MCP, MCP is very very prescriptive in, like, each layer.

Speaker 2

比如,其他协议就不是这样的。

Like, other protocols are not like that, for example.

Speaker 2

比如,你想做身份验证吗?

Like, we like, you wanna do authentication?

Speaker 2

如果客户端和服务器彼此不认识,你就必须使用OAuth。

If the client and the server don't know each other, you need to do OAuth.

Speaker 2

对吧?

Right?

Speaker 2

所以我们很早就希望用一种统一的方式来处理这件事。

And so we were very early, we wanted to have, like, one way to do something.

Speaker 2

因此我们专注于思考:这到底意味着什么?

And so we really focused on, like, what does this mean?

Speaker 2

那我们怎么把它实现呢?

Like, how do we get it over?

Speaker 2

我们如何构建一个具备这些流式特性的协议?

How do we build a protocol that has has this, like, these streaming properties that we require?

Speaker 2

那我们如何在早期就完成身份验证?

And then how do we do authentication very early?

Speaker 2

在第一版中,我觉得我们在身份验证上做得还行,但有些地方搞错了,而大多数问题,老实说,只是因为我对企业的了解不够。

Authentication, in the first iteration, I think we did an okay job, but we got some aspects wrong, and most of them, honestly, were just me not understanding enterprises well enough.

Speaker 2

但另一方面,我觉得MCP最大的优势,也是我唯一感到自豪的一点,就是建立了一个能够聚在一起帮我解决问题的社区。

But then again, I think the the strengths that we have with MCP, and I think the the one thing, if anything, I'm proud of is, like, building a community of people that can come together and help me figure shit out.

Speaker 2

因为你知道,我有自己擅长的一套经验,但企业级身份验证,结果并不是我的强项。

Because, you know, I have my set of experiences of like what I'm good at, and enterprise authentication, it turns out, is not one of them.

Speaker 2

对吧?

Right?

Speaker 2

但那些人在这方面显然更在行。

But they're way better suited people for that.

Speaker 2

所以那是在三月之后,我们开始意识到……

And so that's when we like, after that March

Speaker 1

我看到你发了那个帖子,但没深入看细节。

I saw I saw you post that, but I didn't really dig into the details.

Speaker 1

是像Diplo的SAML那种认证问题吗?

Was it like the the Diplo SAML type type of authentication issue?

Speaker 2

我们主要的问题出在OAuth上,它包含两个组件。

The main issue we did is in in OAuth, there are two components.

Speaker 2

一个是颁发令牌的认证服务器,另一个是接收令牌并返回资源的资源服务器。

There is an there's the authentication server who gives you the token, and then there's the resource server who takes the token and gives you the resource in return.

Speaker 2

在我们认证规范的第一版中,我们将这两个组件合并到了MCP服务器里,这在实际使用中是不可行的。

And in the first iteration of our authentication spec, we combine them together into the MCP server, which if you were building Unusable.

Speaker 2

是的。

Yeah.

Speaker 2

如果你是初创公司,自己搭建一个MCP服务器作为公共服务,那它还是有点用的。

It's kinda usable if you build like an MCP server, like, as like a like a public server for as a, you know, you're a startup, you're building a server for yourself.

Speaker 2

你想将这个与你已有的账户绑定。

You wanna bind this to the accounts you already have.

Speaker 2

这完全是可以使用的。

That is completely usable.

Speaker 2

在企业环境中,实际情况是你通过某个中央实体进行身份验证,比如你有一个身份提供商(IDP),然后你去使用Okta。

The reality in enterprises is you don't authentic you authenticate with some central entity, like, you know, you know, you have some ID identity provider or an IDP, and you go Go Okta.

Speaker 2

而且你也是。

And also you.

Speaker 2

是的。

Yeah.

Speaker 2

对大多数人来说,他们甚至察觉不到这件事正在发生。

For most people, they what they don't even notice that it's happening.

Speaker 2

他们只知道,早上起来,我要用Google登录,然后就能访问我所有的办公内容。

All they know is like, oh, in the morning, I'm gonna go log in with Google for and they can access to all my work stuff.

Speaker 2

对吧?

Right?

Speaker 2

但那实际上就是身份提供商。

But that's effectively the IDP.

Speaker 2

对吧?

Right?

Speaker 2

如果你把这些功能合并到同一个服务器上,你就再也无法这样做了。

And if you combine these into the same server, you just can't do this anymore.

Speaker 2

所以我们需要做的就是,好吧。

And so all we needed to do is, like, okay.

Speaker 2

我们是一个资源服务器。

We are a resource server.

Speaker 2

MCP服务器是一个资源服务器。

The MCP server is a resource server.

Speaker 2

你怎么从认证服务器获取令牌?

How you get the token from the authentication server?

Speaker 2

我们对如何操作有自己的看法,但它们是分开的。

We have opinions on how you should do it, but it's kinda separated.

Speaker 2

这就是六月版本规范中发生的情况,我们将这些内容分离出来,逐一解决了动态客户端注册以及其他属于三月规范一部分的问题。

And that's what happened then in the June spec where we separated this out and worked through all of these like, okay, you know, how do you do dynamic client registration and other aspects, which also were part of the March spec.

Speaker 2

我们可以谈谈这个。

We can talk about that.

Speaker 2

这完全是另一个故事了,因为我们实际上在用MCP推动OAuth能力的边界,我们在MCP上尝试了一些非常独特的东西。

That's that's a whole other story of, like, we were actually pushing the boundaries of what OAuth can do with with MCP, because we're trying something very unique with MCP.

Speaker 2

但没错,三月版本的主要部分就是那个认证规范,先有了第一版,然后在六月进行了修正。

But, yeah, that was that was the big part in in March, which we're like and that was that authentication spec to first iteration, then fixing it in June.

Speaker 0

是的。

Yeah.

Speaker 0

代理代表我进行身份验证的现状如何?

What's the state of agents authenticating on my behalf?

Speaker 0

即使在今天,使用OAuth时,我仍然需要登录Linear之类的系统。

Because even today with the OAuth, I still have to, you know, log in to Linear and whatnot.

Speaker 2

是的。

Yeah.

Speaker 2

OAuth 本身在很大程度上是一个以人类为中心的协议。

OAuth itself is, for the most part, a very human centric protocol.

Speaker 2

它只是告诉你如何在没有令牌的情况下获取一个令牌。

It's just it just tells you how you obtain a token if you don't have a token.

Speaker 2

一旦你有了令牌,实际上就无所谓了。

Once you have a token, actually, it doesn't matter.

Speaker 2

你只需要把它放在承载令牌里即可。

You just put it into the bearer token.

Speaker 2

因此,我们对代理与代理之间的认证,或代表代理的认证形式并没有很明确的规定。

And so we we are not very prescriptive of what, like, agent to agent authentication would look like or on behalf of agents.

Speaker 2

这些是我们正在研究的想法,我还没有所有具体的细节,但我们在这一点上不像对 OAuth 那样有严格规定;不过技术上,当你拥有一个可能绑定到工作负载身份之类的令牌时,你仍然可以将其传递给 MCP 服务器。

They are ideas that we are looking into, and I don't have all the specifics, but we are not prescriptive in the same way we are prescriptive as with OAuth, but you can technically it's a moment here you have a token that might be, like, bound to, like, a workload identity or something like that, then you just can pass that still to the MCP server.

Speaker 2

我们只是目前还没有告诉你如何获取它,因此我们并不做具体规定。

We're just not telling you how to obtain it just yet, and so we're not prescriptive.

Speaker 2

因此,人们确实会这样做,尤其是在企业内部、拥有相对封闭生态系统的情况下。

And so people do this, and they can do it when particularly when they're within, like, an enterprise and have a somewhat closed ecosystem.

Speaker 2

但如果客户端和服务器彼此不认识,我们目前还没有一个好的解决方案。

But if the client and the server don't know each other, we just don't have a good solution for now.

Speaker 0

是的。

Yep.

Speaker 0

然后,关于远程方面,你从本地服务器如SSC,转向了Streamable HTTP。

And then, yeah, on the remote thing, you went from local servers like SSC and then Streamable HTTP.

Speaker 0

那里有什么经验教训想分享吗?

Any learnings you wanna call out there?

Speaker 0

有没有什么遗憾或给别人的建议?

Any, yeah, regrets or learnings for others?

Speaker 2

归根结底,是传输问题。

In the end, transport.

Speaker 2

从过去几年一开始,关于传输的讨论就从未停止过。

The one discussion has never stopped from the very beginning of the last years about transport.

Speaker 2

我们真的刚刚在谷歌办公室花了两天时间,与来自谷歌、微软、AWS以及各大OpenAI团队的多位资深工程师进行了交流。

And we literally just spent the last two days at the Google offices with a bunch of, like, senior engineers from Google, Microsoft, AWS, and throughout Big OpenAI.

Speaker 2

我们到底需要做些什么,才能真正让这个方案变得稳固?

Just like, what do we need to do here to really really make this solid?

Speaker 2

当我们研究MARG时,我们希望构建一种传输机制,能够保留很多标准IO的特性,因为我至今仍坚信,MCP也应该支持智能体,而智能体本质上是带有状态的,客户端和服务器之间需要某种形式的长期通信。

When we looked into MARG, we wanted to get a transport going that basically retains a lot of the properties we have from Standard IO because you really and I still believe this until today that the that MCP should also enable agents, and agents are inherently somewhat stateful, and there's some form of, like, long term communication going between, like, the client and the server.

Speaker 2

所以我们一直在寻找这样的解决方案。

And so we always looked for something like that.

Speaker 2

我们也知道,我们曾考虑过其他替代方案,比如使用WebSocket会怎样?

We also knew that we looked into alternatives, okay, what happens if we do WebSockets, for example?

Speaker 2

我们发现,在实现真正的双向流时,存在很多问题。

And we have found a lot of issues with doing a proper bidirectional stream.

Speaker 2

于是我们思考:在最简单的使用场景——比如用户只想提供一个工具——和需要升级为完整双向流以支持复杂智能体之间,如何找到一个合适的中间点?

And we were like, okay, what is the right middle ground between having something that can be used in the simplest form that people do, like, where they just wanna provide a tool, but then is able to be upgraded to, like, a full bidirectional stream if you need it because you really have, like, complex agents, you know, communicating with each other.

Speaker 2

正是在这种意图下,可流式传输的HTTP应运而生。

That's where a streamable HTTP was born, with that intent.

Speaker 2

我认为,回顾过去,有些地方我们做对了,也有些地方我们做错了。

And I think there's some things that, in retrospect, if we got right, I and and something that we got wrong.

Speaker 2

我们认为做对的一点是,在这方面我们完全依赖标准的HTTP。

Think we got right that we are really leaning just on on standard HTTP in that regard.

Speaker 2

我们做错的是,让客户端可以随意选择是否实现很多功能。

We got wrong that we made a lot of things optional for the clients to do.

Speaker 2

比如,客户端可以连接并打开服务器返回的流,但并不是必须这么做。

Like, you can the client can connect and open this return stream from the server, but it doesn't have to.

Speaker 2

事实上,没有任何客户端会这么做,因为这是可选的。

And the reality is is no client does it because it's optional.

Speaker 2

因此,很多双向通信的功能就消失了。

And so a lot of the bidirectionality goes away.

Speaker 2

所以,像征询和采样这样的功能,服务器根本无法使用,因为客户端没有打开这个流——客户端的实现者会说,是的,这对我来说已经是最低可行的产品需求了。

And so features like elicitations and sampling are just not available to servers because they don't have that stream open because the client the client implementers are like, yeah, that's the minimum viable project from product for me.

Speaker 2

我不必做这个。

I don't have to do it.

Speaker 2

因此,这成了一个问题。

And so that that became an issue.

Speaker 2

所以我认为这里有一些经验教训。

So I think there are lessons there.

Speaker 2

第二个教训是,我们设计的协议,其传输层需要在服务器端保持某种状态。

The second part of the lessons is that the way we designed the protocol, the the transport protocol requires some form of holding state on the server side.

Speaker 2

如果你只有一台服务器,这没问题,但一旦你横向扩展到多个容器或类似架构中,问题就来了:比如,当你发起一次真实调用,然后是请求,再是请求结果时,你可能会命中两台不同的服务器,而你需要让这两台服务器能够协同处理这些结果,实际上你需要某种共享机制,比如 Redis、Memcached 之类的。

And that is fine if you have one server, but the moment you scale this horizontally across multiple pods and a con like in containers or something like that, well, now, if you get, like, true call and then elicitation and then elicitation result, you somehow require to, like you might hit two different servers, and you need to find a way to have these two servers somehow get this result together, and you in effect effectively need some form of shared, like, the Redis, Memcache, whatever you want.

Speaker 2

通常总会冒出某种类似的东西。

Like, some form usually pops up or something like that.

Speaker 2

你希望拥有某种可以共享的状态。

You want to to have, like, a shared state that you can, like, have.

Speaker 2

这还算可以接受。

And that's kinda okay.

Speaker 2

我们曾在 PHP 和 Python 应用中见过这种做法,但在大规模场景下,这并不愉快。

And, like, we have seen this in PHP application and Python application being done, but it it's it's not fun if you do this at scale.

Speaker 2

我们知道,像谷歌、微软这样的公司,正在以极大规模运行 MCP,具体数字我无法透露,但请求量级达到了数百万级别。

And we know from, like, some companies, like the Googles of the world, the Microsoft of the world, they're doing MCP at a scale that I can't tell you the numbers, but it's, like, in the million of requests.

Speaker 2

所以现在这成了一个问题。

And so now it becomes a problem.

Speaker 2

对吧?

Right?

Speaker 2

因此我们现在坐在这里思考:如何设计一个协议的迭代版本,既能为简单的 MTP 服务器提供尽可能简单的方案,又能支持真正双向流式传输的需求,同时还要具备可扩展性。

And so now we're sitting here, okay, how do you build an iteration of the protocol that allows for, basically, these principles of, like, make it as simple as possible for simple MTP servers, but allow this full spectrum of, like, really bidirectional streaming if you need it, but also make it scalable.

Speaker 2

我认为我们确实能找到合适的解决方案,但这确实很复杂。

And I think we're just allowed to find the right solutions, but it's it's just it's complicated.

Speaker 2

是的。

Yeah.

Speaker 2

因为如今的许多技术实际上几乎没有中间选项。

Because a lot of the technology today is is really just there's very little like that.

Speaker 2

人们要么选择简单的方案,比如使用 REST,要么选择完整的双向流式传输,比如使用 WebSocket 或 gRPC 等。

People either do the the simple thing, and then then you do, like, something like REST, or you do, like, a full buydie stream, and then you're just gonna do, like, WebSockets or, like, gRPC and so on.

Speaker 2

而我们需要的是两者兼顾。

And we need kind of both.

Speaker 1

在这种会议上,周围都是令人印象深刻的公司,每个人都很资深,都有自己的意见,那是一种什么感觉?

What's it like to be in that kind of meeting where you have all these impressive companies and everyone is senior and everyone has an opinion?

Speaker 2

非常有趣。

It's much fun.

Speaker 2

我能和行业内一些最优秀的工程师一起工作,这简直不可思议。

I get to work with some of the best engineers in the in the industry, like, it's it's insane.

Speaker 1

好的。

Okay.

Speaker 1

那么,谁来做决定呢?

Well, who decides?

Speaker 1

你知道的。

You know?

Speaker 1

通常来说,通常会有

Usually usually, there's

Speaker 2

我们正在努力达成共识。

We're trying to get to consensus.

Speaker 2

说实话,最终 technically 是我来做决定,但我觉得这更多只是一种形式。

Like, the reality is technically I decide in the end of the day, but I think that's more like a formalism.

Speaker 2

归根结底,我们真正想做的是明确大家一致认同的核心问题是什么。

In the end of the day, what we're trying to do is just to really narrow down of, like, what's the what are the real problems that we all agree on?

Speaker 2

哪些地方我们并不一定达成一致?

What are the things where we nest not necessarily agree on?

Speaker 2

然后在这些界限之内,去构建最佳的解决方案。

And what are the, you know and then within those bounds, like, build the best solution.

Speaker 2

但这需要一段时间。

And it takes a while.

Speaker 2

需要很多次迭代。

It takes a lot of iterations.

Speaker 2

但说实话,这非常有趣,因为你能接触到各家公司的独特问题。

But it is it's so much, honestly, it's so much fun because you get to see these unique problems from from the companies.

Speaker 2

你能从这些问题本身看到各家公司的独特特质。

You you see some of the identity of the companies in the problems themselves.

Speaker 2

对吧?

Right?

Speaker 2

你知道,谷歌面临的问题和微软不一样,很多差异源于它们构建东西的方式,而Anthropic的问题也不同于OpenAI的问题。

Like, you know, Google has a different set of problems like in like in Microsoft, and and a lot of it comes from, like, just the the ways of building things, and then the problem from Anthropic look different from the problem from OpenAI.

Speaker 2

但我最喜欢的是,每个人都是这样:有时候你退后一步,和这些竞争公司坐在一起,却发现你们其实正在共同构建某些东西,我特别喜欢这一点。

But what I love about all of this is that everybody is that, like, sometimes you step back and, like, you sit in a room with all these competitive companies, but you're actually building something together, and I I love that.

Speaker 2

我从事开源已经二十五年了。

I've been in open source for like twenty five years.

Speaker 2

是的。

Yeah.

Speaker 2

我非常喜欢这种东西。

It's very I love this kind of stuff.

Speaker 2

而且当一个标准奏效时,这就是理想状态。

It's very And when a standard works, this is the ideal.

Speaker 2

这些人都非常出色。

And these people are all amazing.

Speaker 2

我从我的同行那里学到了很多。

I just learned from from all my peers so much.

Speaker 2

我很感激能身处这样的环境。

I'm I'm very grateful to be in this situation.

Speaker 1

是的。

Yeah.

Speaker 1

这让我想起了IETF的标准制定流程。

This reminds me of the IETF standards process.

Speaker 1

是的。

Yeah.

Speaker 1

有没有人讨论过,作为一个私人团体,这种方式与传统方式有何不同?

Is there some discussion about how this works as a private group versus something more traditional?

Speaker 2

这是一个有趣的问题。

It's an interesting one.

Speaker 2

它确实看起来有点像IETF。

Like, it does look a little bit like the IETF.

Speaker 2

IETF 稍微有点不同。

The IETF is very is slightly different.

Speaker 2

IETF 就像一个开放论坛,任何人都可以参与。

The IETF is like an open forum where everybody can go.

Speaker 2

结果就是,IETF 非常依赖共识,而且是无意中变得非常缓慢,而不是因为它们有意如此,但这种缓慢在很多方面其实很好。

And the result of that, it's like the ITF is very consensus based, and by accident, not by, like not necessarily because they want to be, but by accident, quite slow in the processes, which is very good in many ways.

Speaker 0

这无法撤销。

It cannot be undone.

Speaker 0

对吧?

Right?

Speaker 1

对。

Right.

Speaker 1

一旦上线,那就真的成了。

Once it's once it's up, it's Yeah.

Speaker 2

是的。

Yeah.

Speaker 2

比如你看一下 OASIS 2.1 规范,它已经做了三四年了,却还没完成。

And it it, like, for example, when you look at, like, the OALS 2.1 spec, it's been in the works for, like, three years or four years, and they're just not done with it.

Speaker 2

对吧?

Right?

Speaker 2

这就是 IETF 标准化所花费的时间长度。

And that's, like, that's the length of which ITF standardization works.

Speaker 2

这些事情可能需要非常非常长的时间。

Like, these things can take a long, long time.

Speaker 2

我认为这对某些领域是好的,但目前在人工智能领域,发展实在太快了。

And I think that's good for certain pieces, but I think in AI at the moment, it's just so fast moving.

Speaker 2

你只能被迫组成一个小团体。

It just you're forced to find a smaller group.

Speaker 2

所以我们把 MCP 当作一个非常传统的开源项目来运作,核心维护团队只有八个人,他们基本决定一切,同时也会吸纳其他人的意见。

And so that's why we run MCP as, like, a really traditional open source project with, like, a core maintainer group of, like, eight people that basically decide everything and then, like, input from everybody else.

Speaker 2

我们会收集反馈,人们可以提出建议,但很多改动其实并不是来自评论者,而是由这个核心团队来决定的。

Like, we get input and people can make suggestions, and we have a lot of the changes don't come from the commentators, but they are the ones that decide it.

Speaker 2

这更像是一个中间地带,既有一定程度的共识基础,又带点独裁色彩,如果你想要快速推进,这种模式其实挺好的,而NCP目前就希望如此。

And that's, like, way more it's like a middle ground of being somewhat consensus based, but also somewhat, like, a bit of a dictatorship, which can be good if you wanna move fast, which NCP wants to do at the moment.

Speaker 0

你们如何平衡模型改进的影响与协议设计之间的关系呢?

How do you balance the influence of, like, the model improvements with how to shape the protocol?

Speaker 0

因为显然,你们有Anthropic和OpenAI这样的公司。

Because obviously, you know, you have Anthropic and OpenAI.

Speaker 0

你们在对这些模型进行后训练,以提升它们的工具调用能力,你们对协议的结构有自己的偏好,但其他人可能根本不知道你们是如何设计的。

You guys are doing post training on these models to make them better tool calling, and you have preferences on the shape of the protocol versus there's people that are not aware of, like, how you're structuring that.

Speaker 0

所以,你们会分享这些内容吗?

So, yeah, do you, like, share some of these?

Speaker 0

协议会不会影响模型的后训练,或者反过来,模型的改进影响协议的设计?

Like, does the protocol influence some of the model post training or, vice versa, maybe?

Speaker 2

我不太完全了解。

I'm not 100% familiar.

Speaker 2

我是做产品的人。

Like, I'm I'm a product person.

Speaker 2

我确实不完全了解我们在研究方面所做的所有事情。

I'm not fully familiar with everything we do on the research side, for sure.

Speaker 2

但它确实影响了后训练,因为我们使用了像MCP Atlas这样的东西,确保在我们的模型卡片中纳入大量现实中的工具,让我们的模型能够与它们协同工作。

But it influences the post training in the sense that we're making use of things like the MCP Atlas, that we are, like, having in our model card of, like, making sure that, like, we're we're taking this large set of tools in the wild and make sure that our models work with that.

Speaker 2

嗯。

Mhmm.

Speaker 2

我认为协议的基本要素实际上很少受到模型改进的影响。

And I think the primitives of the protocol, they're actually very rarely influenced by model improvements.

Speaker 2

我认为我们确实预见到模型在改进方面的指数级发展,并且在一定程度上依赖于可以融入模型训练的机制。

I think there's a sense that that we do anticipate the exponential that the models are on in terms of, like, improvement, and that we're relying to some degree of mechanics that you can put into into the model training.

Speaker 2

我现在说得更具体一点。

I'm I'm gonna get more concrete here.

Speaker 2

比如,人们一直在讨论MCP服务器的上下文构建问题。

So for example, people have had long conversations around context build of MCP servers.

Speaker 2

这是因为MCP打开了大量工具的大门,如果你天真地把所有工具都塞进上下文窗口,就会导致大量冗余。

And that happens because MCP opens up the door to a lot of tools, and if you naively take all the tools and throw them into the context window, you you just get a lot of bloat.

Speaker 2

如果你把所有技能、所有Markdown文件都直接扔进上下文里,情况也是一样的。

It would be just equivalent if you take all the skills, take all the markdown files, and just throw them all into the context.

Speaker 2

你也会遇到大量的冗余。

You would also have a lot of bloat.

Speaker 2

但我们早就知道,而且我认为我们一直都知道,你可以采用一种渐进式发现的方式。

But we already knew, and and I think we always knew that we that you that you can do something like progressive discovery.

Speaker 2

这是一个我普遍认同的原则:给模型一些信息,然后让模型自行决定是否获取更多信息。

And that's like a I have this general principle thing of like, can add give the model some information, let the model then decide to and gain more information.

Speaker 2

对吧?

Right?

Speaker 2

当然,这里就是我们展现出远见的地方,因为我们是大型模型公司。

And, of course, here is where we're like, you know, some of the foresight that we see because we are we are we are the big model companies.

Speaker 2

我们知道,如果我们愿意,完全可以进行这样的训练。

We know that we can train this if we wanted to.

Speaker 2

而训练的作用只是对其进行优化。

And what the training does is just optimizes it.

Speaker 2

模型在原则上已经能够做到这一点。

The model can do it in principle already.

Speaker 2

对吧?

Right?

Speaker 2

任何模型都可以做到这一点。

And you can any model can do it.

Speaker 2

它能够进行任何类型的工具调用。

It does any type of tool calling.

Speaker 2

但如果你对模型进行训练,它就会做得更好。

But if you train the model for it, it's just better at it.

Speaker 2

对吧?

Right?

Speaker 2

因此,这些方面在某种程度上是相辅相成的。

And so these things then go hand in hand in a way.

Speaker 2

但归根结底,渐进式发现这一通用机制,或者说这种 yeah。

But in the end of the day, the the the general general mechanic of progressive discovery or this this yeah.

Speaker 2

渐进式发现本质上是任何能够进行工具调用的模型的固有特性,这样说你能明白吗?

Progressive discovery, that's just inherent to to any type of model that can do any type of tool calling in the end of the day, if that makes sense.

Speaker 0

是的。

Yep.

Speaker 0

对。

Yeah.

Speaker 0

而且我认为那个。

And I think the yeah.

Speaker 0

而这一点的上下文很重要。

And the context for that point is important.

Speaker 0

而且我认为下面涉及的是MCP和代码模式之间的区别。

And I think down there's the MCP versus code mode thing.

Speaker 0

然后就是,如果Anthropic说代码模式,而Anthropic又开发了MCP,那这会不会是最好的方式呢?

And then it's like, well, if Anthropic says code mode and Anthropic made MCP, maybe is that the best way to go

Speaker 1

他们实际上从未称之为代码模式。

never actually called it code mode.

Speaker 1

这是众筹术语。

That's the crowdfare term.

Speaker 2

就是这样。

That's it.

Speaker 2

但,是的。

But but yeah.

Speaker 2

但人们称它为MCP,相当夸张,其他人则称之为代码模式。

But, like, people call it we call it pretty dramatic, MCP, and other call it code mode.

Speaker 2

归根结底,其实就是这样。

In the end of the day, what it boils down to is just like, okay.

Speaker 2

有趣的是,首先,MTP是AI应用与服务器之间的协议。

And here's the interesting part, so first of all, MTP is a is a protocol between the AI application and, like, servers.

Speaker 2

对吧?

Right?

Speaker 2

所以,从技术上讲,模型并不参与MTP。

So the model is actually technically not involved in MTP.

Speaker 2

所以现在你有了一个应用程序,比如说,我有一堆工具。

And so now you have an application, go like, I have a bunch of tools.

Speaker 2

我能用它们做什么?

What can I do with it?

Speaker 2

你可以采取最简单的方式,比如说,我有这些工具。

And you can do the naive thing and go like, okay, I have tools.

Speaker 2

我把它们全部丢进模型的工具里,然后调用它们。

I'll throw them into tools for the model, and I I I call them.

Speaker 2

但你可以用更创造性的方式来做。

But you can be more creative with it.

Speaker 2

你可以想,哦,模型在写代码方面真的很擅长。

You can go and like, okay, models are really good at writing code.

Speaker 2

是的。

Mhmm.

Speaker 2

如果我把这个当作API调用,交给模型,让模型生成代码,会怎么样?

What if I take this and treat it like just like API calls, and you give it to the model, and now the model generates, you know, code.

展开剩余字幕(还有 480 条)
Speaker 2

你实际上所做的,就是这种组合性——模型本来就会通过调用工具A,获取结果,再回到推理过程调用工具B,然后将结果合并为调用C。

And what you're effectively doing is this composability that the the model would have done anyway by, like, call tool a, you know, get the result, go back to inference to call bool b, and then combine it into call three.

Speaker 2

你现在所做的,只是让模型提前优化,把它们变成一系列代码,在沙箱中执行:调用一,把结果传给二,再传给三,得到最终结果,归根结底,你只是做了一次优化。

Now you all you've done is you let the model optimise it in advance and put them into a bunch of code that is just executed in a sandbox and go, like, call one, put it into two, put the results into three, get a result, and all you've done is an optimization at the end of the day.

Speaker 2

但MTP的好处在于,它为你完成了身份验证,提供了适合LLM的工具,并且自动可发现、自文档化。

But the the benefits of MTP of having authentication done for you, having something that is that is suited for the LLM, something that is automatically is discoverable and self documenting.

Speaker 2

这一点并没有消失。

This thing has not gone away.

Speaker 2

这对你来说仍然是MCP。

That's still MCP for you.

Speaker 2

对吧?

Right?

Speaker 2

你只是以不同的频率在使用它。

You're just using it at a different rate.

Speaker 2

所以每当有人跟我说‘但MCPs,为什么它告诉我这个不行’,我就有点困惑,这并不意味着你不能用MCPs。

So I'm always a little bit confused when people go like, but MCPs, why why does it tell me that that that does not that doesn't mean MCPs use it.

Speaker 2

不。

No.

Speaker 2

这仍然只是不同的用法。

It's still it's just a different use.

Speaker 2

对吧?

Right?

Speaker 2

随着我们对这些模型及其周边基础设施的使用越来越熟练,我认为你会看到一些演变。

And I think you will see evolutions as we're getting better of, like, how we use these models and the infrastructure around it gets a bit more mature.

Speaker 2

你突然可以假设,大多数AI应用都会具备某种形式的执行沙箱。

You suddenly can assume that most model, like, AI applications will have some form of, like, sandboxing for execution.

Speaker 2

你可以做更多类似这样有趣的事情。

You can do a lot more fun stuff like that.

Speaker 2

但我认为,连接模型与外部世界的协议的价值并没有因此消失,如果这说得通的话。

But I don't think that the value of, like, an a protocol that connects the model to the outside world is is gone because of it, if that makes sense.

Speaker 2

老实说,我只把它看作一种优化,一种令牌优化。

I see it purely as an optimization, honestly, a token optimization.

Speaker 2

现在是提出技能的好时机吗?

Is this a good time to bring up skills?

Speaker 1

任何时候都是。

It's Always.

Speaker 1

太棒了。

So awesome.

Speaker 1

所以,技能是一个更近期的概念。

So we skills is a more recent concept.

Speaker 1

是的。

Yeah.

Speaker 1

我之所以提到它,是因为在我的脑海中,它与渐进式披露、添加预设代码脚本等紧密关联。

We I only bring it up because it's mentally linked in my mind to progressive disclosure and to adding preset code scripts and and all that.

Speaker 1

技能还可以创建技能,这非常有趣。

Skills can also create Skills, which is very fun.

Speaker 1

是的。

Yeah.

Speaker 1

嗯,我觉得很多人在试图区分MCP和技能。

Well, I think a lot of people are trying to place MCP versus Skills.

Speaker 1

显然,它们并不重叠,但你怎么看?

Obviously, they're not overlapping, but how do you view it?

Speaker 2

是的。

Yeah.

Speaker 2

我同意。

I agree.

Speaker 2

我觉得这才是有趣的部分。

I I think that's the interesting part.

Speaker 2

它们并不重叠。

It's like, they're not overlapping.

Speaker 2

我认为它们解决的是不同的问题。

I think they they solve different things.

Speaker 2

我觉得技能非常棒,而且你知道,它们从一开始就基于渐进式发现的原则来构建。

I think Skills are super great, And, you know, they're I think that the first that really, like they're being built from the principle is progressive discovery.

Speaker 2

但我认为,渐进式发现的机制是适用于你用模型做的任何事情的普遍原理。

But I think the mechanism of progressive discovery, that's just universal to any type of thing you can do with the model.

Speaker 2

而技能的作用是为你提供特定任务集的领域知识,比如作为数据科学家,模型应该如何表现,或者作为会计师,模型又该如何表现,等等。

But what skills do, they, like, they give you the domain knowledge for, like, a specific set of tasks, like, how you are, how you behave, how should the model behave as a data scientist, or how should the model this behave as, I don't an accountant or whatever.

Speaker 2

但MCP让你能够连接起与外部世界交互的实际操作。

But MCP gives you the connectiveness of the actual actions that you can take with the outside world.

Speaker 2

因此,我认为它们在某种程度上是正交的:技能主要提供这种垂直的领域知识,而MCP则提供这种横向的能力——比如,给我那个具体的动作。

And so I think they're somewhat orthogonal in, like, in terms of, like, the skills really gives you this domain knowledge that's, like, kind of vertical, and then, like, MCP gives you this horizontal of, like, okay, you know, give me that one action.

Speaker 2

当然,技能也可以执行操作。

And of course, skills can take actions.

Speaker 2

它们可以执行操作,因为你可以在其中加入代码和脚本。

They can take actions because you can have code and scripts in there.

Speaker 2

这很棒,但它有两个我認為人們忽略了的有趣方面。

And that's great, but it has two interesting aspects that I think people got.

Speaker 2

第一个是,你需要一个执行环境。

The first one is you need an execution environment.

Speaker 2

所以你需要一种方式

So you need to you need to Use a way

Speaker 1

来访问你的机器。

to access your machine.

Speaker 2

是的。

Yeah.

Speaker 2

对。

Yes.

Speaker 2

如果你运行本地的云代码之类的东西,那这就完全没问题了,我们可以谈谈像命令行工具这样的东西。

And that that's that's perfectly fine for, you know, if you like run a local, like, you know, cloud code or something, then we can talk about like CLIs, for example.

Speaker 2

在那些拥有执行环境的场景中,这些方法非常合理,而且效果很好。

In those scenarios where you have, like, an execution environment, these things make a lot of sense and and and then it's great.

Speaker 2

或者如果你有远程执行环境,那也非常好用。

Or if you have a remote execution environment, then it make a lot of sense.

Speaker 2

但你仍然无法获得这方面的身份验证。

But you still don't get authentication in that regard.

Speaker 2

所以我认为NCP带来的正是身份验证这一部分。

And so what I think NCP brings is the authentication piece.

Speaker 2

它解决了你不必让外部人员,比如你有一个Linear MCP服务器时,他们可以改进服务器的问题。

It brings the piece that you don't have to that this like, an external, like, person, like, for example, if you have, like, a linear MCP server, they can improve the server.

Speaker 2

你在自己的技能中不需要处理这些。

You don't have to deal with that in your skill.

Speaker 2

对吧?

Right?

Speaker 2

它并不是固定在某个地方的。

It's not fixed in space.

Speaker 2

第三点是,你并不一定需要执行环境,因为执行环境实际上位于服务器的其他地方。

And then the third part is that you don't necessarily need execution environment because the execution environment is effectively somewhere else on the server.

Speaker 2

所以,如果你构建了一个网页应用或移动应用,这些功能在某些方面会表现得更好。

And so if you build a web application or a, like, like, a a mobile application, you these things come you know, work better in in some of these regards.

Speaker 2

因此,我认为在很大程度上它们是正交的,我也见过一些非常酷的部署案例,人们使用技能来探索不同的功能,比如会计、工程师、数据科学家,然后通过MCP服务器将这些技能连接到公司内部的实际数据源。

So I think they are orthogonal in that regard for the most part, and they are and I've seen some quite cool deployments where people use skills to explore of, like, different functions, different, like, you know, the accountant, the engineer, the the data scientist, and then use MCP server to connect these skills to the actual, like, data sources within the company.

Speaker 2

我认为这是一个非常有趣的模型,这也是我思考这个问题时最接近的方式。

And I think that's actually a really fun model, and I think that's the closest how I think about this.

Speaker 1

对。

Yeah.

Speaker 1

所以MCP是连接层,我想这是你选择的词。

So MCP is the connectivity layer, I think is the word that you choose.

Speaker 2

通信层。

The communication layer.

Speaker 2

通信层。

Communication layer.

Speaker 2

是的。

Yeah.

Speaker 1

对。

Yeah.

Speaker 1

那么从架构上讲,我想知道是每个技能内部都有MCP客户端,还是有一个可以发现技能的共享客户端?

So is is it architecturally, I'm I'm wondering if it's like the MCP's client inside of each skill, or is there a shared client that can discover skills?

Speaker 1

我们将其作为共享的。

We do that as shared.

Speaker 1

我们将其作为一个共享的。

We do that as a shared one.

Speaker 2

我认为从技术上讲,你希望有更多的共享组件,因为共享得越多,你能做的事情就越多,比如发现功能。

I think you technically want a bit more shared ones, because you do the more shared you have, the better the more you can do, like, discovery things.

Speaker 2

你可以做这样的事情:比如,我有连接池,我可以自动发现服务,甚至在某个技能中,你只需非常宽松地描述你的需求,我就可以查看我有权访问的注册表,为你找到一个MCP服务器。

You can do things like, okay, I have connection pooling, I have this I can do automatic discovery of things, I can even, like, you know, in a skill you might just very loosely describe what you want, and I can look into the registry that I have access to and get an MCP server for you.

Speaker 2

对吧?

Right?

Speaker 2

当你这样做的时候,这些功能都是可以实现的。

These things can you do can do when you do it.

Speaker 2

但归根结底,两种方式都可行。

But I think both works at the end of the day.

Speaker 2

是的。

Yeah.

Speaker 2

但这些都是值得尝试的事情。

But these this is things to experiment with.

Speaker 1

我想提醒一下可能错过这一点的人。

I do wanna highlight for people who might have missed it.

Speaker 1

你说我们做这个那个的。

You say we do blah blah blah.

Speaker 1

实际上,我认为没人充分理解Anthropic的MCP有多依赖内部使用。

Actually, I think nobody understands enough how much anthropic dog food's MCP.

Speaker 1

是的。

Yeah.

Speaker 1

我是在看了约翰·威尔奇的演讲后才明白的。

And I only understood this when I watched John Welch do his talk

Speaker 2

对。

Yeah.

Speaker 1

在AIE上,他说我们有一个MCP网关,所有东西都通过它。

At AIE, where he was like, yeah, we have MCP gateway, everything goes through this.

Speaker 1

是的。

Yeah.

Speaker 1

而且,你能再多说一点吗?

And like well, can you say more

Speaker 2

关于这个?

about that?

Speaker 2

对。

Yeah.

Speaker 2

我的意思是,你知道,我们两种都用。

Mean, like, you know, we we use both.

Speaker 2

对吧?

Right?

Speaker 2

我们内部用了很多技能。

We use a lot of like, we use a lot of skills internally.

Speaker 2

我们内部用了大量的MCP服务器,因为,你知道,显然,你希望让人们能够轻松地部署MCP。

We use a lot of MCP servers internally because, like, we have you know, obviously, you know, you wanna make it very easy for people to deploy MCP.

Speaker 2

你希望与你的身份提供商等实现某种形式的集成。

You wanna, like, have some form of, like, integration with your IDPs and so on.

Speaker 2

所以我们自己开发了一个网关,你只需要部署你的MCP服务器即可。

So we have a gateway that we have built custom purpose for ourselves, you just gotta, like, deploy your MCP servers.

Speaker 2

这些都是内部应用吗?

It it is all internal apps?

Speaker 2

全是内部的东西。

It's all internal stuff.

Speaker 2

是的。

Yeah.

Speaker 2

对。

Yeah.

Speaker 2

有些是外部的,比如技术上属于外部服务,但因为它们没有提供官方的一体化方案,所以我们自己做了。

Some of them are, like, external things, like like, technically external things, but in the lack of them offering a first party one, we have our own.

Speaker 2

比如我们有一个Slack MCP服务器,我特别喜欢用,它能用Claude帮我总结Slack消息。

Like, we have a Slack MCP server, which I love to use, that have Claude, like, summarize my Slack for me.

Speaker 2

因此,这方面有很多使用场景。

And so there there's quite a lot of usage for that.

Speaker 2

比如,我们甚至有一个MCP服务器,用于每半年做一次调查,了解大家对公司、未来、人工智能、安全等方面的看法。

Like, we we even have, like, an MCP server where, like, we're doing, like, a semi a biannual, survey, for example, around, like, how we how we feel, like, about the company, about the future, about AI, about safety, these type of things.

Speaker 2

我们为这个调查专门设了一个MCP服务器,大家可以根据结果提出问题,这非常有趣。

And we have an MCP server for that, and they can ask clock questions around the results, which is really fun.

Speaker 1

是你们团队在维护吗?

Is it your team maintaining it?

Speaker 2

不是。

No.

Speaker 2

我们维护的是网关,但有趣的是,我们早在开源MCP之前就开始用了,MCP的诞生源于这样一个想法:我所在的公司正在疯狂扩张。

We maintain a gateway, but, like, I think one of the fun part is, like, we started MCP, it was always like, MCP before we even open sourced it, it was born of the idea of, like, I'm in a company that is growing crazy.

Speaker 2

我负责的是开发和开发工具这一块。

I'm in the development side of things, development tooling side of things.

Speaker 2

我的成长速度会比其他部分慢一些。

I will grow slower than the rest.

Speaker 2

我该如何构建一个让他们都能为自己打造的东西?

How can I build something that they can all build for themselves?

Speaker 2

这正是MCP的起源故事。

And that's really the origin story of MCP.

Speaker 2

所以看到一年后,事情真的变成了这样,真的很有趣。

And so it's fun to see a year later, like, that's what's actually going on.

Speaker 2

人们都在为自己构建MCP服务器。

It's like people build MCP servers for themselves.

Speaker 2

我可能连Tropic上90%的MCP服务器都不知道,因为它们可能存在于研究领域,我根本看不到,或者我只是不知道,因为人们都在为自己构建。

I probably don't even know 90% of the MCP servers that are on Tropic, because, you know, they might be in research, and I might not even see them, or I just don't know, because people build for themselves.

Speaker 1

但他们自己托管吗?

But do they do they host it themselves?

Speaker 1

有远程服务吗?

Is there a remote?

Speaker 2

他们实际上有一个命令来启动它,它就会在他们的Kinesis集群中直接启动。

They effectively have a command to launch it, and it just launches in like a like a Kinesis cluster for them.

Speaker 2

所以这算是部分托管的。

So it's like, partially managed.

Speaker 2

是的。

Yeah.

Speaker 1

这对任何大型公司的人都很有参考价值。

That's good info for anyone at a large company to build.

Speaker 1

对。

Yeah.

Speaker 1

有没有平台相关的资料?

Any platform info

Speaker 2

有一些平台可以为你提供这个服务。

There are platforms that offer that to you.

Speaker 2

从安全角度来看,我们希望自己构建这些系统。

For us, from a security perspective, we wanna build these ourselves.

Speaker 2

对。

Yeah.

Speaker 2

但比如,构建 FastMCP 的那个人,Jeremiah,是的。

But, like, they're, like, the person who built FastMCP, Jeremiah, like Yes.

Speaker 2

有一家公司提供 FastMCP Cloud,有点像那样。

A company that offers, like, FastMCP Cloud, which is a little bit like that.

Speaker 2

你只要输入两个命令,就能运行一个 MCP 服务器,它可以通过 HTTP 进行流式通信。

You just, like, two commands, and you have a running instance of an MCP server that does talk stream over HTTP.

Speaker 2

然后很多企业内部会使用 Light LLM 这样的网关,甚至可以直接启动标准 IO 服务器,将其连接到网关,由网关负责所有认证和 MCP 的复杂部分。

And then a lot of internal like, lot of enterprises use things like Light LLM as a gateway, and then they can even do, like, just launch standard IO servers, attach them to the to the gateway, and the gateway does all the authentication, all the hard parts with MCP for them.

Speaker 2

所以实现这种方式有很多途径。

And so there's a lot of ways to do this.

Speaker 2

但如果你真的需要这样的基础设施,那就应该让它变得极其简单。

But if that's good infrastructure you really want to have, it's just, like, make it trivial.

Speaker 2

只需一条命令就能启动一个标准 IO 服务器的 MCP 服务,瞬间就能集成 HTTP 服务器的认证功能,而你作为开发者,只需要完成标准 IO 部分即可。

Make it, like, one command to just launch an MCP server that was a standard IO server, and suddenly, the stream of HTTP server was authentication integrated, and you as a developer only had to do the standard IO part.

Speaker 1

是的。

Yeah.

Speaker 1

我喜欢指出这些内容,因为人们会采纳这些做法并真正应用到他们的公司中。

I love calling that stuff out because people will take that and actually put this into their companies.

Speaker 1

是的。

So Yeah.

Speaker 1

否则,另一种情况就是混乱。

Otherwise, also the alternative is chaos.

Speaker 1

哦,一个小时。

Oh, One hour.

Speaker 1

不。

No.

Speaker 1

你是在重新发明一切。

You're reinventing everything.

Speaker 1

向Jeremiah致敬。

Shout out to Jeremiah.

Speaker 1

我其实确实邀请他来举办一场关于FastMCP的工作坊,是的。

I actually I did invite him to do a workshop on FastMCP Yeah.

Speaker 1

在我纽约的峰会上。

At my New York summit.

Speaker 2

是的。

Yeah.

Speaker 2

他最近发表了一篇非常棒的博客文章,谈到你实际上看到的MCP使用场景,大多发生在公司内部。

He he he recently had a very great blog post about like, a lot of the usage of MCP you're actually seeing is internal in companies.

Speaker 2

而这也是我们目前看到的情况,真的很棒。

And that's actually what we see at the moment too, which is really cool.

Speaker 2

哪些公司?

In what companies?

Speaker 2

公司内部。

Internally in companies.

Speaker 2

在大型企业中,MCP无处不在,而且它的增长速度远超你的想象,因为它主要在公司内部使用,而外界几乎看不到。

In big enterprises, you see MCP everywhere, and it's it's actually way growing way faster than you would think because it's mostly internal to companies and without people seeing it.

Speaker 0

关于Discovery,你推出了一个注册中心。

About Discovery, so you launched a registry.

Speaker 0

是的

Yeah.

Speaker 0

曾经有注册公司。

There were registry companies.

Speaker 0

曾经有网关公司。

There were gateway companies.

Speaker 0

官方注册表现在有其他注册表将自己的MCP接入你的官方注册表。

The official registry now has other registries putting their own MCP, getting in your official registry.

Speaker 2

我们需要更多的注册表,伙计。

We need more registries, man.

Speaker 4

我的意思是,

I mean,

Speaker 2

再加一个就行,兄弟。

just one more, bro.

Speaker 2

再加一个。

One more.

Speaker 0

就只是是的。

Just Yeah.

Speaker 0

什么是那个

What what's the

Speaker 2

一个统治所有的注册中心。

A registry to rule them all.

Speaker 0

从中学到什么了吗?

Any any learning from that?

Speaker 0

比如为一项新技术推出一个注册中心,看看人们是否喜欢,比如史密瑟里就是一个例子。

Like launching a registry for like a new technology and like whether or not, you know, people like, you know, Smithery is one example.

Speaker 0

对吧?

Right?

Speaker 0

如果你去官方注册表,就会看到,哦,这些史密瑟里AI是的。

If you go on the official register, it's like, oh, these Smithery AI Yeah.

Speaker 0

你需要通过它们进行认证的MTP。

MTPs that you need to authenticate through them.

Speaker 0

是的。

Yeah.

Speaker 0

所以这在某种程度上就像一个简单的转发注册表。

So it's kinda like just a pass through registry in a way.

Speaker 0

你认为这会如何发展?

How do you see how does this gonna shake out?

Speaker 2

我认为我们看到了许多不同的注册表涌现,我们确实感到有必要采用类似 NPM 或 PyPI 的方式来处理这个问题,即有一个更中心化的实体,所有人都可以将 MCP 服务器发布到那里,这正是原始注册表的由来。

I think we saw a lot of these, like, different registries come up, and we really felt that there is a need for, basically, like an NPM PyPI kind of approach to this, where, like, there's one more central entity that that that is the where everybody can publish an MCP server to, and that's really where the original registry came from.

Speaker 2

我们非常希望确保至少能推动生态系统形成一个关于这些注册表如何通信的共同标准。

And we really wanted to make sure that at least we're encouraging the ecosystem to have a common standard of what these registries can talk to.

Speaker 2

因为我们希望实现的是这样一个世界:模型能够从注册表中自动选择一个 MCP 服务器,安装它,然后根据你当前的任务直接使用它。

Because what we want to do, we want to live in a world where a model can auto select an MCP server from a registry, install it, and then or the given task that you have at hand, and then you just use it.

Speaker 2

对吧?

Right?

Speaker 2

它应该给人一种神奇的感觉。

It should kind of feel magic.

Speaker 2

但要做到这一点,你需要某种标准化的接口。

But for that, you need, like, some form of standardized interface.

Speaker 2

所以我们打算这么做,这其实是我们早期就开始与GitHub团队合作的转折点,甚至早在四月份就开始了,但后来我被其他事情分散了注意力,比如身份验证和相关工作。

And so we're gonna do and that was really the the inflection point of, like, we started quite early working with the GitHub folks even in April, and then I got distracted with other things, like authentication, and work on that.

Speaker 2

所以我希望看到的,也是我们正在缓慢走向的方向,是一个拥有官方注册中心的世界,每个人都可以把自己的MCP服务器发布到这里,但这就像NPM一样,会面临NPM完全相同的问题。

And so what I wanna see, and I think where we slow slowly, but this is slowly heading, is a world where we have the official registry where everybody can put their MCP server, but this is the equivalent to an NPM, which has the exact same problems of an NPM.

Speaker 2

每个人都可以把它发布上去。

Like, everybody can put it there.

Speaker 2

基本上,你不知道该信任哪些,不该信任哪些。

Basically, you don't know what to trust and what not to trust.

Speaker 2

你会遇到供应链攻击。

You have supply chain attacks.

Speaker 2

这些都是公共注册中心固有的特性。

These are just fundamental properties of public registries.

Speaker 2

我的意思是,这正是我们提出子注册中心概念的原因,未来Smithereys和其他人或许可以在此基础上进行过滤和精选。

I mean, that's why we have this concept of subregistries, which then, like, Smithereys and others hopefully can do, where they can filter and curate on top of it.

Speaker 2

这正是我们想要生活的世界。

And that's the that's really the world we wanna live in.

Speaker 2

我认为我们还没完全达到,但正在慢慢靠近。

I don't think we're quite there yet, but we're slowly getting there.

Speaker 2

是的。

Yeah.

Speaker 2

比如,GitHub 仓库是经过筛选的,或者使用与官方仓库相同的格式。

Like, the GitHub registry is is curated off the or speaks the same format as the as the official registry.

Speaker 2

因此,我们希望的是,作为一家公司,你可以拥有一个内部仓库,它是官方仓库的精选版本,再加上你自己的仓库。

And so what we want is, like, you as an as a company can have an internal registry that is a curated form of the the the official one, plus maybe your own ones.

Speaker 2

我的意思是,这才是你信任的仓库,而且它使用与官方仓库相同的 API。

I mean, that's the one you trust, and it speaks the same API than the official one.

Speaker 2

如果你有 VS Code 或其他任何需要连接仓库的工具,你只需将其连接到你的仓库,就能顺利运行。

And if you have, like, a Versus code or anything else that wants to talk to a registry, you just connect it to yours, and you're you're good to go.

Speaker 2

这正是我们真正想实现的目标。

And that's that's really what we wanna do.

Speaker 0

这很有趣,因为从某种意义上说,NPM 几乎就像一个下载网关。

It's interesting because NPM, in a way, it's almost like a download gateway.

Speaker 0

你知道的。

You know?

Speaker 0

我其实并不经常用 NPM 来发现包。

It's like I'm not really using NPM for discovery that often.

Speaker 0

我不会去 NPM 上搜索包。

I don't go to NPM and search for packages.

Speaker 0

我通常是通过其他方式找到它们的。

It's kinda like I find them in other ways.

Speaker 0

这是 Eden。

This is Eden.

Speaker 0

是的。

Yeah.

Speaker 0

对。

Yeah.

Speaker 0

我很想知道,你是否认为发现机制是注册表的核心功能之一,或者你是否仍然假设会存在其他方式让智能体进行发现?

I'm interested if you see, like, discovery as like a core piece of, like, the registry, or like if you still assume that, like, there's gonna be some other way that the agent discovers.

Speaker 2

我认为在AI模型的世界里,发现确实很重要,但我觉得这和NPM不同,因为我们构建的是以AI优先的东西,可以假设有智能模型知道自己想要什么。

I I do think discovery is important in the in the in the in the model world, but I think that that's where it's different from from NPM because we're building, like, something for AI first, and we can assume there's an intelligent model that knows what it wants.

Speaker 2

我认为这是以前从未存在过的东西。

I think that's something that didn't exist before.

Speaker 2

对吧?

Right?

Speaker 2

嗯。

Mhmm.

Speaker 2

如果你在设计现代包管理系统时以模型为核心,也许你会采用类似的方法:直接说明我想构建什么。

If you maybe, I don't know, if you would build modern package management systems with models at heart, maybe you would do a similar approach of just like, here's what I wanna build.

Speaker 2

然后让它自己去解决。

Just figure out.

Speaker 2

我不关心你能安装哪些包。

I don't care what what packages you can install.

Speaker 2

就这么做。

Just do it.

Speaker 2

对吧?

Right?

Speaker 2

我的意思是,归根结底,这本质上是一回事。

I mean, that's equivalent at the end of the day.

Speaker 2

但再说一次,对于公共注册表,你大概不应该这么做,因为这会向所有人开放,造成混乱。

But again, with the public registry, you should probably not do this because it's a it's dump a dumping run for everybody.

Speaker 2

你应该针对经过筛选的、可信的注册表来操作。

You wanna do it against the as against the curated trusted registry.

Speaker 1

我喜欢你所说的‘模型知道自己想要什么’这个说法。

I like your phrasing that the model knows what it wants.

Speaker 1

是的。

Yeah.

Speaker 1

因为我觉得,很多人有一个梦想,认为智能体可以利用MCP目录来发现新的服务器并自行安装。

Because I think there there's a lot of there's a dream that peep that agents can use the MCP directories to discover new new servers, install it for itself.

Speaker 1

是的。

Yeah.

Speaker 1

如果能实现,这看起来确实非常像AGI。

That that seems like very AGI if it works.

Speaker 1

对。

Yes.

Speaker 1

但它可能行不通。

But it may not work.

Speaker 1

我想知道要实现这一点需要发生什么。

And I wonder what needs to happen in order to do that.

Speaker 2

我认为一方面我们需要一个良好的注册表界面,另一方面,我们需要为此构建并观察它如何运作,以及我们需要什么样的信任级别?

I do think we need, like, a good registry interface on one hand, and then the second part is just like, we need to build for this and see how it works and what does We need, like, trust levels, maybe?

Speaker 2

你肯定需要信任级别。

You will definitely need trust levels.

Speaker 2

你需要信任级别。

You need trust levels.

Speaker 2

你可能需要某种形式的,比如是的。

You might need some form of, like yeah.

Speaker 2

你需要信任级别。

You need trust levels.

Speaker 2

你可能需要某种形式的签名。

You might need some form of signatures.

Speaker 2

例如,我有一个想法,不确定你是否会采用。

For example, like, one of the ideas I'm not sure if you're gonna do it.

Speaker 2

这只是一个随机的想法,但我一直有的一个想法是,你可以附加来自不同模型提供商的签名,他们已经扫描过这个MTP服务器,并表示我们信任它。

It was just a random idea, but one of the ideas I always had is, like, you can attach, like, signatures from, like, different model providers that have scanned this MTP server and say, we trust this.

Speaker 2

这是Anthropic的签名,说明这些工具描述是安全的,这是OpenAI的签名,说明它们得到了我们的信任,然后你可以自行决定。

Here's the signature from Anthropic that these tool descriptions are safe, and here's the, like, the signature from OpenAI that these are trusted by us, and then you can decide.

Speaker 2

哦,哇。

Oh, wow.

Speaker 2

所以我认为这些分布式冷签名让我们形成了一种循环。

So I think these distributed cold signing It made us a kilometre cycle.

Speaker 2

而且这并不仅仅是分布式的。

And it's not just really distributed.

Speaker 2

它在某种程度上是集中的。

It's just, like, central in a way.

Speaker 2

对吧?

Right?

Speaker 2

但我认为这就是你将需要的这类东西。

But I think this is the kind of stuff you will require.

Speaker 2

或者,从最简单的形式来看,你可能首先会看到它在像公司内部这样的场景中,因为它们会使用私有注册表,从而具有固有的信任。

Or but I think in the simplest form, what you can do where you probably see it first is in in scenarios like low like, internally to a company where you have inherent trust because they will use a private registry.

Speaker 2

它们已经在为 NPM 使用私有注册表了。

They're effectively using private registries already for NPM.

Speaker 2

它们也在为 PyPI 使用私有注册表,并且也会为 MCP 服务器这样做。

They're using it for PyPI, and they will also do it for MCP servers.

Speaker 2

在那里,你拥有隐含的信任,然后就可以直接搜索。

In there, you have implicit trust, and then you can just search.

Speaker 2

是的

Yeah.

Speaker 2

对吧?

Right?

Speaker 2

我认为这正是我们想要探索的有趣领域。

And I think that's really the interesting ground where we wanna where we wanna experiment.

Speaker 2

而且我们实际上已经以一种有效的方式建立了内部注册中心,因为当你通过约翰的基础设施启动一个MCP服务器时,它就会被注册。

And that's like, we have our internal registry in an effective way, because when you launch, like, via John's infrastructure, like an MCP server, gets registered.

Speaker 2

对吧?

Right?

Speaker 2

所以我们也需要去探索这一点。

And so we we need to go in and experiment with that too.

Speaker 2

好的。

Okay.

Speaker 1

我其实还想问一下,你最近在伦敦举办了一些活动。

I actually wanted to also ask, you you started running some events over in London.

Speaker 1

是的。

Yeah.

Speaker 1

你举办了代理者黑客松,还提到了你时间线上的开发者峰会。

You had the Agents Hackathon, and you had Dev Summit that you called out on your timeline.

Speaker 1

是的。

Yeah.

Speaker 1

我只是想听听一些你观察到社区逐渐活跃起来时学到的亲身经历。

I just wanted to get anecdotal stories of stuff you learned as you as you saw the community swing to life.

Speaker 2

今年我们举办了两次大型峰会。

So we had two big summits this year.

Speaker 2

我们参加了在旧金山举行的MCP开发者峰会。

We're at the the MCP dev summit in San Francisco.

Speaker 2

伦敦的那次也是。

And the one in London too.

Speaker 2

是的。

Yeah.

Speaker 2

还有伦敦的那场。

And the one in London.

Speaker 2

我认为你学到的有几件事。

And I think what you learn is a few things.

Speaker 2

我认为其中最重要的一点是,这些关于人们在公司内部如何使用它的故事,其他地方很难获取。

I think the the one thing is that you that's very hard to get otherwise is just like these stories around how people use it internally in their companies.

Speaker 2

在那里,你不仅能看到一些挑战,也能看到一些成功案例。

In there, you see some of the struggles, but you see also some of the success stories.

Speaker 2

其中一个特别有趣的地方是,尤其是在伦敦,那里有很多金融行业的人,因为伦敦显然是一个金融中心,整个会议甚至就在金融区举办。

And one of the interesting bits that that well, which I really loved is, like, particularly in London, you had a lot of financial people there because it's, like, clearly a financial hub, it was actually the the whole conference was in the financial district.

Speaker 2

你了解到一些因为法律合同和金融监管而必须遵守的规范。

And learning just like the kind of problems of like things you need to enforce because you have legal contracts, because like financial like regulations.

Speaker 2

这些是我以前不知道的事情,我学到了很多,比如在有这些在普通开发环境中不存在的限制时,像MCP这样的通信机制应该是什么样子?

These were things that were that I did not know before, and I learned a lot about, like, okay, what does, like, a thing like an MCP, like, communication there needs to look like if you have these, like, constraints that in a normal, like, development world doesn't exist?

Speaker 2

我给你举个例子。

Like, I'll give you an example.

Speaker 2

比如,如果你在金融服务行业,对外提供某些数据,这些数据可能来自第三方。

Like, if you are in in financial services and you're exposing some data, that data might be coming from a third party.

Speaker 2

你必须保证注明数据的第三方来源,这是一项法律合同要求。

And you must guarantee that you attribute that third party, and that's a legal contract.

Speaker 2

对吧?

Right?

Speaker 2

当客户向你展示这些数据时,必须明确告诉你这些数据来自某个第三方。

You must like, they if the client displays this data to you, it must tell you this came from this third party.

Speaker 2

对吧?

Right?

Speaker 2

这些约束在普通的模型场景中是根本不存在的。

And these are constraints that just, like, in a normal model world don't really exist.

Speaker 2

对吧?

Right?

Speaker 2

但在金融行业,这些是法律强制要求的。

But, in the financial industry, this is, like, legally enforced.

Speaker 2

所以这些就是你会觉得,好吧,需要注意的事情。

And so these are the things you're like, okay.

Speaker 2

那么,在MCP的世界里,这到底会如何运作呢?

How how will the how will this work in a world where I'm where for MCP?

Speaker 2

因此,我们开始创建这个金融服务入口小组,由彭博社牵头,来弄清楚:如果一个客户端想要与金融服务MCP服务器通信,它必须做哪些事情,以及哪些规则需要遵守。

And so now that's when we, like, started, like, creating this financial services entrance group that Bloomberg is heading up to, like, figure out, like, what are some of the things that you, like, a client must do if it wants to speak to a financial services MCP server, for example, and, you know, what are the things that need to be respected.

Speaker 2

我认为,这些知识只能通过在会议现场与人交流才能真正学到。

And I think that's the kind of things you only learn on the ground in the conferences talking to people.

Speaker 2

对吧?

Right?

Speaker 2

所以我认为,当时确实学到了一些这样的经验。

So I think there was some of these learnings there.

Speaker 2

我还注意到,有这么多人在积极构建,大家的热情和创造力真的让我非常欣赏。

I think the other things that you just see is, like, just how many people are building and just the excitement and, like, the creativity that some people bring to this, like, that I just love.

Speaker 2

对吧?

Right?

Speaker 2

就像我来自一些你意想不到的领域。

Like and and I'm from areas you didn't expect.

Speaker 2

对吧?

Right?

Speaker 2

我喜欢土耳其航空的那些人,他们直接搭建了土耳其航空的MCP服务器。

Like, I love the guys at Turkish Airlines who just built, like, the Turkish Airlines MCP servers.

Speaker 2

你可以用它来搜索航班之类的。

You can search for flights and stuff like that.

Speaker 2

所以这一直很有趣。

So that was always fun.

Speaker 2

我喜欢当人们为MCP生态系统带来一些非常有创意的点子时。

I love when, like, people bring some really creative parts to to the MCP ecosystem.

Speaker 2

我喜欢这个社区聚在一起的时候,因为你总会遇到一些超出你固有圈子的东西,能获得一些新的见解。

So I I love this community when they come together because you're just meeting things that are a little bit outside of your bubble, and I and you just get some input.

Speaker 2

我觉得这里面有很多可以学习的地方。

And I think there's a lot of learning there.

Speaker 2

所以我们还要再重复一次。

And so we're gonna repeat it again.

Speaker 2

我们打算四月,或者三月,或者类似的时间在纽约再办一次。

We're do it in New York in April, I think, or or March or something like that.

Speaker 2

我们将在六个月后再次举办。

And we're gonna do it again six months later.

Speaker 1

我非常喜欢这一点。

And I absolutely love that.

Speaker 1

你有没有发现什么好的采样用例?

Any good sampling use cases that you found?

Speaker 2

没怎么发现。

Not so much.

Speaker 2

好的。

K.

Speaker 1

这总是像那样,你知道的,上次我们聊到这个的时候,是的。

And that that's always the like, you know, last time we talked about this Yeah.

Speaker 2

人们应该更多地使用它。

People should use it more.

Speaker 2

稍微做点采样吧,老兄。

Sampling a little bit, man.

Speaker 2

我觉得从采样中学到的一点是,每个人都想在那些未通过MCP服务器暴露的工具中使用采样功能。

Like, I think one thing I learned from sampling, like, everyone wants to use tools with sampling in tools that are not exposed via the MCP server.

Speaker 2

当你想做某件事时,你希望有一组仅在那次采样调用中使用的全新工具,而我们之前完全无法做到这一点。

Like, when you wanna do something, you wanna have a set of new tools that you only wanna use during that sample call, and we just had no ability to do it.

Speaker 2

而我们在这一轮中修复了这个问题,因此我们希望看到更多一些的采样使用案例。

And then we just fixed this in this iteration, and so we hope to see a little bit more a bit more sampling use cases.

Speaker 2

你偶尔会遇到一个执行此功能的MCP服务器。

You will find every now and then an MCP server that does it.

Speaker 2

但特别是随着MCP服务器从本地化转向远程化,在远程场景下,使用SDK通常对你更有利,因为你拥有完全的控制权。

But particularly as MCP servers have moved away from more local to be more remote, in remote cases, it's probably always better for you to bring an SDK because you have full control.

Speaker 2

你可以部署它。

You can deploy it.

Speaker 2

你可以部署一个API案例,甚至可能向别人收费。

You can deploy an API case and maybe even charge someone.

Speaker 2

在本地情况下,当你要向很多人分发东西,而你并不知道他们配置的是什么模型,或者他们将其接入了什么应用时,这非常有用。

In a local case, where something is really powerful because you're shipping something to a lot of people and you don't know what is their what is the model that they have configured, what is the application they plug it in.

Speaker 2

可能是VS Code,也可能是云桌面。

It might be Versus Code, might be Cloud Desktop.

Speaker 2

对吧?

Right?

Speaker 2

在这些情况下,这种功能很有用。

And in those cases, something is useful.

Speaker 2

但同时,客户端根本不支持它。

But also, like, clients just don't support it.

Speaker 2

所以,这正是我仍然感到遗憾的事情之一。

So something is one of these things I'm like, I'm still sad about it.

Speaker 2

我仍然认为这是一个非常强大的想法。

I still think it's a very powerful idea.

Speaker 2

但你知道,你总得赢一些,也得输一些,你知道的。

But, you know, you gotta you gotta win some, you gotta lose some, you know.

Speaker 1

不。

No.

Speaker 1

不。

No.

Speaker 1

不。

No.

Speaker 1

但你也知道,你正在升级它,而我呢,你知道的,

But you you're also, you know, upgrading it, and I'm, you know,

Speaker 2

我的希望依然在那里。

in My hopes are still up there.

Speaker 2

我只是觉得是这样。

I'm just like Yeah.

Speaker 1

是的。

Yeah.

Speaker 1

真奇怪。

Weird.

Speaker 1

从某些方面来说,当你做对了,这将成为真正的代理间协议。

Like my in in some ways, you know, when you get it right, this will be the real agent to agent protocol.

Speaker 2

是的。

Yes.

Speaker 2

是的。

Yes.

Speaker 2

大多数

Are most of

Speaker 0

你看到的用例仍然是数据消费吗?

the use cases that you see still data consumption?

Speaker 0

这一直是我的MCP主要用例。

That's been my use case for MCP mostly.

Speaker 0

就像说对啊。

It's like Yeah.

Speaker 0

这是上下文共享。

It's context sharing.

Speaker 0

获取数据。

If Getting data.

Speaker 0

MCP采取的最主要操作就是更新线性任务状态。

Well, the the most action MCP takes is, like, update the linear task status.

Speaker 0

你有没有见过非常复杂的MCP操作流程,还是说人们主要用它来

Have you seen very complex, like, MCP taking action workflows, or are still people mostly using it for

Speaker 2

上下文?

context?

Speaker 2

大多数人用它来处理上下文。

Most people use it for context.

Speaker 2

我认为这是绝大多数的使用场景。

I think that's the vast majority of usage.

Speaker 2

名字里就写着‘模型上下文’呢。

It is in the name, model context.

Speaker 2

是的

Yeah.

Speaker 2

Yeah.

Speaker 2

而且OpenAI的尼克·库珀总是告诉我,他说得对,MCP这个名字可能选得不太好,因为它感觉有点局限,我同意这一点。

And and Nick Cooper from from OpenAI always keeps telling me, rightfully so, that the name MCP was probably a little bit poorly chosen because it was like, it feels it restricted a little bit, which I agree with.

Speaker 2

我主要看到的是数据用例。

I I it's mostly data use cases.

Speaker 2

我见过有人用它进行深度研究。

I've seen, like, people doing deep research via it.

Speaker 2

我认为人们通过它来暴露代理,因此它们稍微复杂一些。

I think people expose agents via it, and so they are a little bit more complex.

Speaker 2

但这种情况并不常见。

But it's it's not super common.

Speaker 2

人们喜欢拿它来做实验。

It's what people like to have experiment with it.

Speaker 2

比如,深度研究这类使用场景我觉得很不错。

Like, have like, deep research use case, I think, is a good one.

Speaker 2

这种定制化研究的情况其实并不少见,是的。

That is very, very that is that's not too uncommon where people do, like, custom research Yeah.

Speaker 2

舒适。

Comfort.

Speaker 2

除此之外,是的。

Beyond that yeah.

Speaker 2

而其中大部分确实是数据相关。

And I most of it is really data.

Speaker 2

除了数据和深度研究之外,现在还出现了新的一面,即人们会暴露一些UI组件,比如MCP UI,或者我们将来会称之为MCPI的东西。

Beyond data and deep research aspects now, you have also this new aspect where people expose, like, UI components or MCP UI or what we're gonna call MCPIs in the future.

Speaker 2

我觉得这非常有前景,而且真的非常有趣。

And I think that's super super promising, and I think that's really quite fun.

Speaker 2

现在你经常能在ChatGPT应用和一般的MCP UI中看到这一点。

That's actually you see a lot now with ChatGPT apps, with MCP UI in general, that you see a lot.

Speaker 0

是的。

Yeah.

Speaker 0

你还有上一次的那些任务。

And you have the tasks in the last In last.

Speaker 0

我的意思是,我很好奇,因为如果大多数使用场景都是上下文,然后你再构建任务,那几乎就像人们并没有真正用它来做任务。

Well, I mean, I'm curious because, like, if most use cases are like context and then you build tasks, it's almost like people are not really using it for tasks.

Speaker 0

所以我很好奇,你是怎么设计的,你期望人们怎么使用它?

So I'm curious, like, how you design it, like, you expect people to use.

Speaker 2

我们设计任务是因为有人来找我们,说:好吧。

We design tasks because people come to us and go, like, okay.

Speaker 2

我们真的需要长时间运行的操作,其实就是代理。

We really want long running operation, which is basically agents.

Speaker 2

我们想要一个长时间、深入的研究任务,能持续一个小时。

We want like a long deep deep research task that that finishes in an hour.

Speaker 2

我们想要一些可能一天都完不成的任务。

We want tasks that like might not finish within a day.

Speaker 2

对吧?

Right?

Speaker 2

人们曾用他们的工具笨拙地尝试过这种做法,理论上是可以的,因为工具本质上就是RPC接口,但很快就会变得很别扭,因为模型现在需要理解:‘哦,我得去拉取这个’,这根本就不好玩。

And people have like awkwardly tried to do this with their tools, and you can, because tools are effectively just an RPC interface at the end of the day, but it gets very quickly awkward because now the model needs to understand, oh, I need to pull this, and it it it's just not very fun.

Speaker 2

这根本不是一个第一类原语,你会遇到很多限制。

Like, it's just not a first class primitive, and you run into a lot of limitations.

Speaker 2

但这种需求源于人们希望拥有一个长时间运行的代理,我们从众多领域和试图实现这一点的人那里听到了太多这样的声音,以至于我们真的觉得必须像GitHub上的大公司问题那样,推出类似‘任务’的功能。

But it's it's come from the fact that people want to have a long running agent, and that's, like, something we heard from so many areas and and people trying to do this, that we, like, we really felt we needed to do something like tasks, on GitHub issues from big companies.

Speaker 2

每个人都说:我们需要一个以长时间运行操作为核心的东西。

Everybody was like, we need we need something that long running operations is really top of mind.

Speaker 2

所以我真的认为,现在我们会看到大量这样的应用。

So I really think now we're gonna see a lot of it.

Speaker 2

但现在还太早,无法判断它会发展得多好,因为它刚被引入SNK,还需要集成到客户端中,之后我们才能看到更多应用。

Now but it's it's a little bit early to see how good it's gonna go because it just landed in the SNK, so it needs to land in the clients, and then we're gonna we're gonna see more of it.

Speaker 2

但我肯定认为,你会看到很多基于它的自定义深度研究功能和其他用途。

But I will I definitely I think you will see a lot of the custom deep research parts with it and others.

Speaker 1

是的。

Yeah.

Speaker 1

我对任务非常看好。

I'm very bullish on tasks.

Speaker 1

我觉得把这件事做对非常重要。

Think it was very important to get right.

Speaker 1

基本上,每一种编排或协议都需要有同步版本和异步版本。

Basically, every orchestration or protocol needs has a sync version and an async version.

Speaker 2

是的。

Yeah.

Speaker 2

没错。

Exactly.

Speaker 1

需要有异步版本。

Has an async version.

Speaker 1

在测试的整体设计中,有没有什么你想要特别指出的设计选择?当时有两个方向,而你们选择了其中一个。

Any, like, design choices that you wanna call out that, you know, you there were there were two directions and you picked one in in just the overall design of tests?

Speaker 2

是的。

Yeah.

Speaker 2

在设计过程中,我们进行了大量讨论,比如有些人会问,这仅仅是异步工具吗?

In design, there was a lot of conversations, like, some some were like, okay, is this just asynchronous tools?

Speaker 2

我们需要不同的原语吗?

Do we do a different primitives?

Speaker 2

归根结底,这对我来说很重要。

In the end of the day, it was important for me.

Speaker 2

我的判断标准一直是:如果我想把像云代码或任何其他编码代理暴露为MTP服务器,理论上这个方案必须能工作。

My litmus test for it was always, it needs to be able to, like if I wanna expose something like Cloud Code or like any other, like, like, coding agent as an MTP server, hypothetically, this needs to work.

Speaker 2

而纯粹的异步工具调用根本无法实现这一点。

And a pure asynchronous tool call would just not do this.

Speaker 2

你需要一种能够返回长期中间结果的操作形式。

You want some form of operation that can return, for example, intermediate results in the long term.

Speaker 2

你需要这样一种情况,比如:

You want, like, okay.

Speaker 2

我通过调用这个工具、这个工具、这个工具得到了这个结果。

I got to this result by calling this tool, this tool, this tool.

Speaker 2

我还有另一个输入。

I had this other input.

Speaker 2

我还有另一个工具。

I had this other tool.

Speaker 2

我做了这个。

I did this.

Speaker 2

现在这就是结果。

And now this is the result.

Speaker 2

对吧?

Right?

Speaker 2

这才是真正你需要暴露出来的。

That's really what you wanna expose.

Speaker 2

任务功能还处于早期阶段,目前还做不到这一点,但它的设计方式使其足够通用,能够支持这种功能。

And task is is early, and it doesn't do that just yet, but it's built in a way that it will be generic enough to be able to support this.

Speaker 2

所以这就是主要的限制。

So that was the main constraint.

Speaker 2

另一个限制是确保它不是对现有工具的简单复制,比如你可能会想:‘好吧,我们再做一套工具,只是语义略有不同’,但实际上它的做法是:你可以通过调用一个工具并传入一组元数据字段来创建一个任务,然后系统会自动创建这个任务。

The other constraint was making sure it is it's it's not a copy of tools where you can you can think about, like, okay, we just do tools again, have slightly different semantics, but instead what it's doing is, like, just like, you can create a task by calling a tool with a certain set of, like, metadata fields, and then it automatically creates a task.

Speaker 2

因此,任务本身只是一个容器的概念,可以异步地承载一条消息。

So the task itself is just the concept of, like, a container that can Is a message something asynchronously.

Speaker 2

是的。

Yeah.

Speaker 2

就像你从这里开始异步执行某个操作,直到那里结束,而我们正在做的就是调用一个工具。

Like, just like, you do something asynchronously from starting here into ending here, and the thing we're doing is a tool call.

Speaker 2

这意味着为将来接入其他功能甚至其他任务打开了大门。

Mean, that opens the door to, like, later plug in other things, and maybe even other tasks.

Speaker 1

还有可观测性。

Like observability as well

Speaker 2

对。

Yeah.

Speaker 1

有可能。

Potentially.

Speaker 1

对。

Yeah.

Speaker 1

显然会很重要。

Is obviously gonna be important.

Speaker 2

所以我认为这确实是设计目标,这让它变得稍微更抽象、实现起来也更复杂,但这个问题会被SDK解决,因为SDK会为你处理这些。

So I think that was really the design goal, which makes it a little bit more abstract, a little bit more complicated to implement, but that goes away because the SDKs do it for you.

Speaker 2

SDK,然后在那里,你只需要异步调用这个,对。

The SDK, and then over there, you're just gonna like, async call this Yeah.

Speaker 2

然后你返回一些内容。

And you return something.

Speaker 1

我的意思是,你开始与其他异步方案重叠了,比如JavaScript领域的tRPC,或者Go语言人群使用的Protocol Buffers之类的东西。

I mean, there you start to overlap with other async, like tRPC in in JavaScript land or, you know, whatever Gol Proto Buff stuff that Gol people have.

Speaker 2

对。

Yeah.

Speaker 2

归根结底,就是这样,是的。

In the end of the day, it's like it's Yeah.

Speaker 2

它的设计就像一个经典的RPC。

It's it's designed like a classic RPC.

Speaker 2

操作系统接口。

Operating system interface.

Speaker 2

比如,你创建一个任务,不断轮询直到它完成,然后你可以进行优化,我们将在下一轮实现这个优化——如果我们没来得及做,那就意味着,与其每隔一分钟、一小时或你选择的任何间隔去轮询,服务器可以通过服务调用主动向我们发送事件。

Like, you create a task, you pull it until it's done, and then you can make an optimization, which we're gonna do in the next round, which if we didn't get around, it's like, okay, instead of having to pull every minute or hour or whatever interval you choose, the server can Service call us events.

Speaker 2

像Webhook那样调用你,告诉你:我完成了。

Call call you like like a webhook or something and go like, I'm done.

Speaker 2

对吧?

Right?

Speaker 2

这就是优化,但核心接口始终是客户端可以轮询。

That's the optimization, but the actual core interface is always that the client can pull.

Speaker 2

这实际上也是操作系统所有操作和操作系统本身的工作方式。

And that's actually how, like, operating all system operations and an operating system can work.

Speaker 2

就像是,你不断轮询,检查文件是否已更改,文件是否已更改,但你也可以使用内核层面的现代接口,比如 inotify 或者 U ring 之类的机制,来通知你:‘好了,完成了。’

It's like, you pull, it has the file changed, has the file changed, but you can also use like a modern interface on the kernel, like, inotify or something like that, that tell or or U ring or something like that to tell you, oh, I'm done.

Speaker 2

太好了。

Great.

Speaker 2

是的。

Yeah.

Speaker 2

文件已经更改了。

The file has changed.

Speaker 1

我学到一个技巧:服务器可以保持 HTTP 连接打开,直到任务完成,然后断开连接,这本身就是给回调的一个信号。

There's a trick I I learned where, like, servers can hold the HTTP connection until it's done, and then they terminate, and that's the signal to to the callback.

Speaker 2

对。

Yeah.

Speaker 2

但我们并不一定想这么做,因为这可能需要好几天,我不想帮人扛这种负担。

Which we do not necessarily wanna do because it might take a few days, and I don't wanna help people.

Speaker 1

这非常不负责任,但确实很酷。

It's very irresponsible, but it's cool.

Speaker 2

是的。

Yeah.

Speaker 2

是的。

Yeah.

Speaker 2

是的。

Yeah.

Speaker 2

是的。

Yeah.

Speaker 2

有很多方法。

There are plenty of ways.

Speaker 2

我想我们只是

I think we were just

Speaker 1

老实说,我们会选择Webhook的方式。

gonna go the webhook way, honestly.

Speaker 1

任务非常有趣,我们在开发Devon API、Cognition时基本上得自己发明这套机制,我认为这也是对‘每个人都会需要某种长时间运行操作’这一需求的有趣再创造。

Tasks are really interesting, and we basically have to invent this when we did this at did like the Devon API, Cognition, and I think that's also like an interesting reinvention of of like, well, everyone is going to need some kind of long running operation.

Speaker 1

而且当你调用一个代理时,你也需要这个。

And and this is well, when you're calling an agent, you also need this.

Speaker 2

是的。

Yeah.

Speaker 2

但对我们来说有趣的是,MCP 一直试图做的事情。

But the interesting part for us is think what what MCP is always trying to do.

Speaker 2

MCP 总是试图封装当前人们正在尝试做的事情,而我们不希望规定你一年后应该做什么。

MCP always tries to encapsulate what currently people trying to do, and we not wanna be prescriptive what you're supposed to do in a year from now.

Speaker 2

我们不知道,也无法预测。

We don't know if we don't predict.

Speaker 2

我们做了任务,是因为人们说:我们现在就需要这个。

We we did tasks because people are like, we need this now.

Speaker 2

对吧?

Right?

Speaker 2

我们实际上六个月前就需要这个了。

We needed this basically six months ago.

Speaker 2

我们就说,好吧。

And we're like, okay.

Speaker 2

我想现在是时候做这件事了。

I guess now it's time to do this.

Speaker 2

对吧?

Right?

Speaker 2

我们不是试图预测未来,这就是为什么我们试图让协议保持相对简洁,并认为已经取得了一定程度的成效,尽管其他人可能会觉得协议中的基本元素已经太多了。

Instead of trying to do being predictive of of the future, which is why we're trying to keep the protocol somewhat minimal and have, I think, some degree, achieve this, although other people would think already there's too many primitives in the protocol.

Speaker 1

还有一个小问题,比如说一个超长运行的路径。

One minor thing and so let's say let's say super long running path.

Speaker 1

是的。

Yes.

Speaker 1

会有大量消息来回传递。

Lots of messages go back and forth.

Speaker 1

Anthropic 实际上是上下文压缩方面的先行者,没错。

Anthropic actually was a kind of leader in context compression or Yep.

Speaker 1

在压缩过程中,也许,我们这么叫吧。

In compaction, maybe, let's let's call it.

Speaker 1

我认为其他很多实验室也做同样的事情。

And I think a lot of the other labs also do the same thing.

Speaker 1

有没有办法处理这种情况,还是我们只是无状态地直接截断上下文,这样就可以了?

Is there a way to handle that or do we just statelessly sort of cut context and it's fine?

Speaker 1

你需要完整记录所有发生的事情吗?

Do you need a a full log of everything that happens?

Speaker 2

或者不用。

Or No.

Speaker 2

你只需要问一下对方。

You just ask the fellow.

Speaker 2

是的。

Yeah.

Speaker 2

对吧?

Right?

Speaker 2

不。

No.

Speaker 2

不。

No.

Speaker 2

你不需要。

You don't.

Speaker 2

我的意思是,我认为他们的情况就是这样。

Like, I think we I think they're this is the thing.

Speaker 2

对吧?

Right?

Speaker 2

我们还处于行业的早期阶段。

We're very early in the industry still.

Speaker 2

我们正在学习很多关于模型需要什么的内容。

We're learning a lot about like, what does the model need?

Speaker 2

它不需要什么?

What does it not need?

Speaker 2

对吧?

Right?

Speaker 2

即使是现在,有些智能体在几轮对话后就开始丢弃工具调用结果,因为它们不再需要这些信息了。

And even today, like, some agents start to like drop tool call results after a few rounds because then they don't need it anymore.

Speaker 2

我认为这非常非常非常好。

And I think that's very very very good.

Speaker 2

而且我认为除了压缩之外,你还会看到更好的机制,比如理解你需要什么和不需要什么。

And I think besides compaction, you will see just better mechanics of, like, understanding what you need and what you don't need.

Speaker 2

比如,对于一个长时间的异步测试,你可能会有一种方式,比如,好吧,可能模型会暂时看到这些信息,但一旦你得到结果,就把其他所有东西都丢弃掉。

Like, for a long asynchronous test, you might have a way where, like, okay, maybe for a while the model sees it, but once you get the result, you just drop everything else.

Speaker 2

或者你甚至可能会调用一个小型模型,比如一个俳句模型,然后问它,所有这些信息中我应该保留哪些?

Or you might might even call, like, a small model, like a haiku model and go, like, what all this I should retain?

Speaker 2

告诉我。

Tell me.

Speaker 2

对吧?

Right?

Speaker 2

你会让它类似于AGI的方法,让模型自己决定需要保留什么。

You'd make it might be like the AGI approach where we just like, let the model figure out what it needs to retain.

Speaker 2

对吧?

Right?

Speaker 2

所以你可以看到它们两者中的两种方式。

And so you can you can see both worlds in them.

Speaker 2

我觉得还有很多东西值得学习。

I think there's just lots to learn.

Speaker 2

我觉得目前还没有一个标准答案,因为我们还在摸索这类问题,只是在不断改进。

I think there's not the one answer yet, because I think we're still figuring these type of things out, and we're just improving.

Speaker 2

压缩确实是一个不错的步骤,但我认为这也不是最后一步。

And compaction compaction is is a good step for it, but I don't think it's the last step there either.

Speaker 2

它确实是目前最明显的一个,但我不觉得这就是全部;如果你多加关注,特别是思考一下:‘你能训练模型在这里做什么?’

It is actually the the most obvious one, but I don't think it's like I think if you pay more attention to it, if you particularly think about like, okay, what could you train a model to do here?

Speaker 2

我觉得我们能找到更好的方法来做这件事,但这些方法都独立于你如何获取上下文的方式。

I think we get to much better ways of doing that, but they're all, like, independent from how you obtain the context.

Speaker 2

我认为 MCPI 始终看到的是,这本质上是一个应用层协议。

And I think MCPI always see is, like, back to, like, it's an application layer protocol.

Speaker 2

这只是你获取上下文、选择上下文的方式,这是应用层面的问题。

That's just how you obtain the context, how you select the context, that's the problem for the application.

Speaker 2

最终,所有智能体应用都会面临这个问题,而且会有很多不同的技术方案。

And that's the problem all the agent applications will have at the end of the day, and there will be a lot of different techniques.

Speaker 2

一年前,每个人都会告诉你这是 RAG 那类东西,但现在可能已经过时了。

A year ago, everybody would have told you it's rag style stuff, but now probably dead.

Speaker 2

对吧?

Right?

Speaker 2

而现在我们确实使用了模型,也采用了压缩技术。

And now we do use models, we use compaction.

Speaker 2

所以我不知道一年后会发生什么。

So I don't know what's gonna happen in a year from now.

Speaker 0

好的。

Cool.

关于 Bayt 播客

Bayt 提供中文+原文双语音频和字幕,帮助你打破语言障碍,轻松听懂全球优质播客。

继续浏览更多播客