返回首页播客摘要节目时长 · 51:24

5月20日 周三 · 15:00

深入不锈钢:Anthropic斥资3亿美元收购的开发者工具初创公司

Original title · Inside Stainless: The Developer Tools Startup Anthropic Just Bought for $300 Million

播客中文摘要全文翻译
TL;DR
这期讲了什么

Alex Rattray是Stainless(最近被Anthropic以3亿美元收购)的创始人兼CEO,他在节目中讨论了MCP(模型上下文协议)以及AI连接互联网的未来。他解释说,MCP的定位是让AI模型能够像人类一样与软件和API交互的"仪表板",但目前的实现方式在规模上存在挑战——暴露数百个端点会迅速耗尽上下文预算并使模型困惑。对话探讨了AI与互联网交互的更好模式,强调API是互联网的"树突",使计算机之间能够相互通信,而MCP代表了这种通信的新范式。

本期你会听到
本期你会听到
  • Stainless为OpenAI和Anthropic等大型AI公司提供API和SDK,帮助计算机之间实现通信。
  • MCP(模型上下文协议)旨在为AI模型提供原生接口来与网络服务交互,类似于人类使用仪表板的方式。
  • MCP的核心挑战是可扩展性——暴露所有API端点会产生巨大的上下文开销,使当前LLM模型产生困惑。
  • Alex讨论了使AI能够自主执行复杂多应用任务(退款、折扣、通讯)的愿景,这需要重新思考如何向模型暴露工具。
对话逐字稿
对话逐字稿

中文逐字稿

00:0000:31演讲者1

互联网运行在计算机之间的对话上,但其整个架构是为人工智能前的世界构建的。现在我们试图用MCP(模型上下文协议)将AI与互联网连接起来,该协议将任何网站或网络服务转换为AI可以原生使用的工具集。这就是为什么我邀请了Stainless的创始人兼CEO Alex Rattray来参加节目。Stainless的工作是帮助计算机相互通信。演讲者1 | 00:31 - 00:59 他们为所有您熟知的大公司(如OpenAI和Anthropic)制作API和SDK,他们也开始构建MCP服务器。因此Alex和我深入探讨了MCP的未来、如何设计好的MCP、为什么MCP实际上很难扩展且可能不安全。我们共同尝试找出允许AI使用互联网的更好模式。这是一个很棒的节目。Alex是我的好朋友。演讲者1 | 00:59 - 01:15 让我们深入探讨。Alex,欢迎来到节目。演讲者2 | 01:16 - 01:18 谢谢Dan。非常兴奋能来到这里。演讲者1 | 01:18 - 01:36 很高兴有你。对于不认识你的人,你是的创始人兼CEOStainless,这是一家API公司。您为OpenAI和Anthropic等公司提供API,您可以想象使用他们API的大公司。Stainless很可能就在背后。在此之前,你在Stripe工作,负责他们的API。演讲者1 | 01:36 - 02:01 惊喜。在此之前,最重要的是,我们在大学时是非常好的朋友,我们一直保持友谊。我们都在大学时创业,我是Stainless的一个小投资者。但看着你的旅程并能够经常聚在一起真的很有趣。我很高兴邀请你来谈论AI和你在Stainless正在做的事情。演讲者2 | 02:01 - 02:12 谢谢Dan。是的。这些年来真的很有趣。我的意思是,你知道,当我们上大学时,我在做一个创业项目。你在做一个创业项目。演讲者2 | 02:12 - 02:38 你在一家风险投资人的会议室作为你的办公室,你让我和我的联合创始人和团队在那里聚会。我们就像在会议桌的另一边一直编程到晚上。非常美好的回忆。现在,虽然不是每天晚上,但在周末,同样的事情仍在发生。你不是每天都能看到这种情况。演讲者2 | 02:38 - 02:46 这真的是一种很好的感觉。很高兴看到一切都在发生,一路走来。演讲者1 | 02:46 - 03:13 谢谢。正如我所说,它始于底部,现在我们在这里。我和,我的意思是,当人们遇到我并询问关于你的事情时,我总是会说的话,是为了让你尴尬,我只是谈论我所知道唯一一个一直赤脚跑过费城街道的人。因为当我们第一次见面时,你对鞋子和跑步都不感兴趣。演讲者1 | 03:13 - 03:14 你想谈谈那个吗?演讲者2 | 03:15 - 03:31 是的。不是我不喜欢鞋子的概念。而是我找不到一双好的。 在某个时刻,你知道,就像我穿过Nike的鞋,它们会每隔几个月就会坏掉。我认为实际上是...我的脚很宽。演讲者2 | 03:31 - 03:51 而且我...我可能是买的窄鞋,但它们会...鞋子会不断损坏。你知道,在大学预算有限的情况下,这就像,...这是不行的。最终,我决定,好的,你穿鞋子的时间越长,它们磨损得越多。但是你越不用脚,脚会变得更坚韧。演讲者2 | 03:52 - 03:53 所以...演讲者1 | 03:54 - 03:56 你穿脚的时间越长。演讲者2 | 03:59 - 04:12 试试这个。这能有什么帮助?实际上我目前脚上有一个非常烦人的刺,...所以实际上,不要在家尝试这个。但是你还赤脚跑步吗?演讲者2 | 04:12 - 04:15 不。不。这只是房子周围弄的。演讲者1 | 04:16 - 04:18 我明白了。危险。演讲者2 | 04:18 - 04:28 是的。是的。但你看,问题就在这里。如果我一直在沥青上不穿袜子走来走去,那么我的脚会更坚韧,我就不会有刺了。演讲者1 | 04:30 - 04:44 所以当你不在赤脚跑步时,你在...你在经营stainless。所以你在经营stainless。有多少人?大概50人左右,对吧?演讲者2 | 04:44 - 04:45 差不多。是的。演讲者1 | 04:46 - 05:07 这相当疯狂。你在人工智能前的世界创立了Stainless,现在我们在人工智能世界。我认为你对人工智能的未来有一些想法,也许API如何融入其中,也许MCP如何融入其中。你想给我们描绘一下我们要去的地方吗?演讲者2 | 05:07 - 05:19 是的。非常乐意。首先,什么是API?不是每个人都熟悉这个。代表应用程序编程接口。演讲者2 | 05:19 - 05:21 不会有测验。对吧,Dan?没有测验?演讲者1 | 05:22 - 05:23 不,没有测验。演讲者2 | 05:23 - 05:42 太好了。基本上,它是一个计算机程序与另一个计算机程序对话的方式。这是计算机与计算机对话,应用程序与应用程序对话的方式。API是互联网的树突。树突是你的神经元连接并实际交换信息的地方。演讲者2 | 05:42 - 06:10 所以如果你有两个神经元在大脑中但它们不相互对话,你实际上没有在思考,对吧?没有神经元之间的连接,大脑中就没有思维发生。想想互联网,如果云中的所有这些服务器不相互对话,就不会有互联网,对吧?就像没有东西在运转。如果程序互联网软件没有API,没有与其他程序的连接,就什么都做不了。演讲者2 | 06:10 - 06:56 所以它真的是几乎所有现代软件网格的基础。当我们想到技术时,我们想到的一切,API在某种程度上都处于核心和中心,就像树突是我们大脑思维网格的核心一样。Stainless从第一天起的使命就是让计算机更容易相互通信。这是技术长期以来的发展趋势,有更多的自动化,对吧?自动化就是我们说,好的,我们要应用技术到那上面时我们的意思。我们通常会提高效率。而API就是大多数企业对企业交互以某种形式实现自动化运作的方式。我们看到随着人工智能的兴起,有一个新的计算机加入了对话。对吧?有一种新的系统可以与其他系统对话,或者至少我们希望它能够做到。演讲者2 | 07:25 - 07:55 你过去要么有人类通过用户界面(UI)与计算机交互,要么计算机通过API与计算机交互。现在我们有了LLM与计算机交互。对吧?通过什么?我相信任何熟悉的人都会熟悉MCP模型上下文协议,这是一个用于将LLM连接到计算机的系统广义来说。这是一个我们在Stainless投资的领域。我认为这是我们核心使命的一部分,我说的是,让计算机更容易相互通信。我们投入了大量时间。在Stainless,我们首先推向市场的核心产品是软件开发工具包(SDK)。这些是...这些是说,好吧,Stripe有这个很棒的REST API,你可以发送JSON over HTTP并取回JSON over HTTP。演讲者2 | 08:29 - 09:09 如果你想要非常方便,你会使用Stripe Python库,Stripe Python SDK。所以如果你是Python开发者,你会去pip install Stripe然后在你的应用代码中,你会写stripe.customers.create,突然你就有了一个很好的新客户对象在你的Stripe数据库中,你就可以开始运行了。或者stripe.charges.create在过去用来扣款。SDK就是给开发者那种方便的方式来与API接口。那么什么能给LLM一个方便的方式来与API接口?演讲者2 | 09:09 - 09:56 你可能会说MCP,在某种意义上,你是对的。但我们目前看到的是,随着MCP向世界推广,人们正在尝试它并试验它,它运作得不太好。就像,它很难实现我所看到的MCP核心愿景,那就像是仪表板和用户界面让你点击周围,看到很多东西,填写表单,点击按钮,做事情。任何你会在与软件交互时做的事情,通过用户界面通常做的事情。但LLM通过MCP交互时,它往往受到更多限制。演讲者2 | 09:56 - 10:02 你通常不会暴露很多工具给模型。演讲者1 | 10:04 - 10:53 而且...而且只是...只是在这里停下来。所以我认为我听到你说的是,MCP所做的就像一个网站是为人类使用而构建的,MCP在某些方面类似于...暴露一组工具供模型使用,它可以使用它来执行某些功能。就像你可能在网站上点击一个按钮,MCP给模型一堆它可以点击或使用来完成工作的东西。所以一个例子可能是,Gmail MCP有一个发送邮件工具或撰写邮件工具或阅读收件箱工具,诸如此类。而不是人类去Gmail网站做它,它实际上是...LLM就像,基本上是自己登录并使用它,它是一个...这是语言模型的原生接口。演讲者1 | 10:53 - 10:58 但你说它运作得不太好。能告诉我更多吗?演讲者2 | 10:58 - 11:29 是的。所以让我们实际上从我所看到的MCP的大愿景开始,在某种意义上,这是代理人工智能本身的大愿景。我会用你能想象的最通俗的例子开始。这在我们的背景下会有点好笑,就是说,假设Dan走进我的商店,买了一双条纹袜子,也许还有其他一些东西。然后第二天,我收到Dan的反馈说有问题,不幸的是。演讲者2 | 11:29 - 12:15 这会发生,你知道。我转向团队中的某人说,嘿,我们能退Dan昨天买的那些条纹袜子的款吗?下次他来的时候给他发一个折扣码,还有一封感谢小纸条,因为我们喜欢照顾客户。这在软件中是最正常不过的事情,是一些像这样的小任务。团队成员会做的是打开他们的内部管理后台,查看一些东西。他们可能去Stripe仪表板,尝试查看付款列表或交易列表或订单列表,尝试找到一个有Dan名字的订单,哪个Dan,我不知道,可能有很多Dan,尝试查看订单中的产品列表,看看是否有条纹袜子在里面。演讲者2 | 12:15 - 12:24 可能需要几次点击,取决于。找到正确的那个。然后去可以创建退款的屏幕。创建退款。确保金额正确。演讲者2 | 12:25 - 13:20 然后去创建那个折扣。然后把那个折扣码发送到另一个SaaS应用,你登录到那里自动发送邮件。当然,如果你从消费者版到这个企业对企业版,当然,你可能进入Salesforce,发送一条Slack消息给客户管理员,客户经理,等等。在正常工作中,这是世界上最正常的事情,要做一个任务需要涉及五个不同的应用程序,每次15次不同的点击和滚动以及加载微调器,只是为了做一个简单的事情。代理人工智能的承诺是能够输入同样的提示到ChatGPT或Claude或其他任何地方,说,嘿,聊天伙伴,你能帮我给朋友Dan退款吗?演讲者2 | 13:21 - 14:05 就让AI去做那个。基本上通过这五个不同的应用程序和15个不同的屏幕以及各种不同的按钮来完成任务,然后回来说,好了,完成了。为了做到这一点,AI模型必须进行的工具调用只有这么多,才能执行那个精确的线性事件链。这是相当可控的。但如果你考虑这种情况的一般情况,你希望LLM能够...你希望你的代理人工智能能够做任何那个操作员通常会做的事情。演讲者2 | 14:05 - 14:47 而且你希望他们能够做到,而不必等待网站上的一些JavaScript加载或任何类似的东西。这意味着你不仅需要Stripe创建退款工具和Stripe列出交易工具和Stripe列出产品以及查找客户,你知道,创建折扣工具。你需要的不仅仅是那些工具,而是你可以在Stripe仪表板中做的所有事情,这基本上是你可以在Stripe API中做的所有事情。而这实际上是很多的。Stripe API中有数百个不同的端点可以访问。演讲者2 | 14:48 - 15:05 Stripe仪表板实际上是一个巨大的应用程序。如果你把这个工具列表拿起来,今天去到一个LLM并说,嘿,这是我们所有这些的MCP定义。这是创建退款工具。这是列出交易工具等等。演讲者2 | 15:06 - 15:15 你把所有关于那些工具的信息告诉它。以下是描述。以下是你可以发送的所有不同的请求属性。以下是你可以返回的响应属性。以下是每个工具的所有文档。演讲者2 | 15:16 - 15:46 每个听这个的人都应该已经知道,你刚刚耗尽了你的整个上下文预算。这可能只是那里就有数十万 tokens,而且几乎是直接将Stripe Open API规范直接翻译到MCP工具。而今天的模型不仅不能处理那个数量的上下文,这上下文的使用也很糟糕,因为你还有很多其他事情在进行。但这也会让模型困惑。你大脑一次要记住的东西太多了。演讲者2 | 15:48 - 16:05 而这只是直接部分,对吧?因为你真正想要做的是让你的操作员做他们通常会做的任何事情。再次,这跨越很多很多不同的SaaS工具,对吧?在一次交互中,可能是五个。在下一次交互中可能是不同的五个。演讲者2 | 16:06 - 16:46 所以如果你考虑你的企业每天用来完成工作的每一个单一的SaaS工具,理想情况下,你会希望所有这些工具都暴露给你的AI聊天中的操作员,每个单一工具都在那里,每个单一的角落和...都不仅可用,而且易于理解,对吧?以一种模型真正能够利用它们的方式。今天我们做的...我们基本上是...我们正在做的是,我们正在做的是我们把整个API规范和整个事情转换成一种对模型来说非常难以使用的格式。我们不是...我们不是在给模型一个好的界面。我们是在给模型一份文档。或者更准确地说,我们是在给模型一个API规范,这不是同一回事。演讲者1 | 16:46 - 17:37 对。所以这就像...这就像我...当你给人类一个用户界面时,你不是在给他们一份HTML规范。你是在给他们一个按钮、一个输入框、一个下拉菜单。你知道,他们可以点击的东西,你知道,视觉上理解的东西。对。而当我们给LLM这些MCP工具时,我们就像是在给他们...本质上是在给他们HTML规范,而不是一个用户界面。演讲者2 | 17:37 - 18:26 完全正确。是的。就像...想象一下,如果我给你一个Stripe API规范文档,400页的PDF,然后说,Dan,你能去帮我退Dan的款吗?你会...首先,你会花很长时间阅读这个文档。然后你会...你可能会错过一些东西,可能你不会找到正确的端点,可能你会做错什么,对吧?实际上,在现实中,当Dan来时,你不会...你会去Stripe仪表板,你会在那里看到一个漂亮的退款按钮。你会说,哦,退款按钮,我明白了。你点击那个,你会...你看到的是一个好的用户界面。而我们目前在MCP中做的是基本上给模型...就像...我们正在把整个API规范扔给它,而不是给它那个好的界面。所以问题归结为:我们如何给AI一个好的界面,而不是一个完整的API规范?