Transcription
[音乐] 大家好,欢迎来到 Len Space 播客的新录音室。我是 Allesio,Decible 的合伙人兼首席技术官,和我一起的是 Swixs,Small AI 的创始人。>> 嘿,嘿,嘿。说欢迎有点奇怪,因为很明显,今天的嘉宾 Jeff,几个月来一直欢迎我们来到 Chroma。欢迎。>> 谢谢邀请我。很高兴来到这里。Jeff,你是 Chroma 的创始人兼首席执行官。我观察 Chroma 已经很久很久了,尤其是在旧办公室的时候,你最初是在开源向量数据库领域起步的,对吧?你就像是许多不同项目的首选开源向量数据库,特别是像 Voyager 论文这样的项目,你们被用在了里面。我甚至不知道完整的列表,但你今天如何介绍 Chroma?>> 这是个好问题。我的意思是,你自然总是想调整你的信息,使其适合你的受众。>> 是的。>> 但我认为 Chroma 成立的原因是,我们在应用机器学习领域工作了很多年,我们看到演示很容易构建,但构建生产级可靠的系统却极其困难,而演示和生产之间的差距并不真正像工程。它感觉更像是炼金术。有一些很好的 XKCD 梗图,一个人站在一堆巨大的冒着蒸汽的垃圾上,另一个角色问这是你的数据系统吗?他说“是的”。他说“你怎么知道它好不好,或者怎么让它变好?”哦,你只需要搅拌一下,然后看看它是否会变好。这似乎从根本上就是错误的。这可以追溯到 2021 年 2022 年,我们一直在进行这些对话,所以再加上“潜在空间是一个非常重要的工具”这个论点。这是一个宣传。是的,我们>> 同意。这是一个宣传。我们需要>> 敲钟。>> 是的,没错。敲响潜在空间,既是播客,也是技术,是一个被严重低估的工具,也是一个非常重要的可解释性工具。它从根本上就是模型如何看待自己的数据。我们人类可以,你知道,拥有一个共享的空间来理解正在发生的事情。这就是我们开始的地方。所以,我认为这也是我们希望继续前进的方向,我们想做什么?我们想帮助开发者构建具有人工智能的生产应用程序,并希望让从演示到生产的过程感觉更像工程,而不是炼金术。构建数据库不是一个支线任务。它是主线任务的一部分。我们一路上意识到,搜索确实是构建人工智能应用程序的关键工作负载。它不是唯一的工作负载,但它绝对是一个非常重要的工作负载,而且在你能够做到更多事情之前,你必须在一个世界级的水平上做好一件事。这需要疯狂的,你知道,那种疯狂的专注。嗯,这就是我们过去几年一直在做的事情。这是一个漫长而冗长的介绍,但也许是为了着陆,你知道,如果你问人们,你知道,Chroma 今天做什么?我们为人工智能应用程序构建检索引擎。我们正在为人工智能构建现代搜索基础设施。嗯,某种程度上。>> 我会深入探讨一下。在我看来,信息检索和搜索是同一件事,还是略有不同?我只是想澄清我们的术语。是的,我认为,你知道,为人工智能构建现代搜索基础设施。是的,我们可以花几秒钟来分析一下。所以现代是指与传统相对,而这主要意味着现代分布式系统。在构建出色的分布式系统方面,有许多基本原语在过去 5 到 10 年中出现,而这些原语显然不存在于比这更早的技术中,这是定义使然。读写分离,存储和计算分离。Chroma 用 Rust 编写。它是完全多租户的。嗯,我们使用对象存储作为 Chroma 的关键持久化层和数据层,在 Chroma Cloud 中也是如此。这就是现代部分,而“为人工智能”这部分实际上我认为很重要,有四种不同的方式,意味着四种不同的事物,意味着第一,用于搜索的工具和技术与经典搜索系统不同。第二,工作负载与经典搜索系统不同。第三,开发者与经典搜索系统不同。第四,消费搜索结果的人也与经典搜索系统不同。想想经典的搜索系统,比如你作为人类在进行搜索的最后一步。你知道,你在做。没错。你在做,呃,比如,这些中哪些是相关的?打开新标签页,总结,等等等等。你,人类,在做这件事,现在是一个语言模型。人类只能消化 10 个蓝链。语言模型可以消化数量级更多的信息。所有这些都很重要,我认为它们影响了系统的设计以及它的用途。>> 回到 2023 年,我认为向量数据库类别是当时最热门的类别之一,Pine Con 融资了 1 亿美元,你们有所有这些不同的 WVA,你们有所有这些公司。>> 是的。>> 你是如何专注于对你来说重要的事情,而不是仅仅试图筹集大量资金,制造轰动效应的?你们花了很长时间才发布 Chroma Cloud 2,而不是匆忙发布一个可能在生产中出现问题的产品,你们花了很长时间。是的。>> 你能否给人们一些建议,在人工智能领域,作为创始人如何保持耐心,如何拥有自己遵循的愿景,而不是追随周围的噪音?>> 有不同的创业方式,所以你知道,这里有不同的学派。一种学派当然是找到信号,然后遵循人们想要的趋势,有点像精益创业风格。我的批评是,如果你遵循这种方法,你可能会最终构建一个供中学生使用的门控应用程序,因为这在某种程度上似乎是人类最基本的需求。老虎机将是人工智能的等价物,而另一种创业方式是拥有一个非常强大的观点,可能是一个反主流的观点,或者至少是一个看起来像秘密的观点,然后就疯狂地专注于这件事。你知道,有不同的结构,比如,好吧,Chroma 的单节点运行得非常好,获得了大量的流量。显然,拥有一个托管服务是人们想要的。我们可以非常快速地将产品推向市场。但我们觉得,不,我们真正希望 Chroma 以其开发者体验而闻名。就像我们希望我们的品牌是,我们希望 Chroma 的品牌以及我们品牌中表达的工艺得到广泛认可,我们觉得通过提供一个单节点产品作为服务,它将无法达到我们对出色的开发者体验的期望。是的。我们做出了一个决定,就是我们要做我们认为正确的事情,这真的很有挑战性。嗯,这花了很多时间,显然我为它今天存在并为数十万开发者服务并受到他们的喜爱而感到无比自豪,但要做到这一点很困难。>> 在组建团队时,你如何传达这一点?如果我回到大约一年半前,你知道,我可以加入 Chroma,我可以加入所有这些不同的公司。>> 当外面有“我将使用 PG Vector”或者“你知道的,任何当天的东西”时,你如何让人们保持清晰的愿景?你是否觉得这有助于你吸引那些更认同愿景的人,而不是那些“只是在公司热门之前加入这家公司”的传教士类型的人?任何早期招聘的经验?>> 康威定律的上游版本,你发布你的组织结构图,你就发布你的文化,因为我认为你的组织结构图是你公司文化的下游。我们一直非常重视这一点,重视我们在这里的团队成员。嗯,我认为我们未来增长的斜率完全取决于这里办公室里的人。而且,你知道,这可能意味着回到零。这可能意味着,你知道,线性增长,这可能意味着各种版本的,比如超线性增长,指数增长,指数增长。所以,是的,我们只是真的决定慢慢招聘,并且非常挑剔。我不知道,我的意思是,你知道,未来将决定这是否是正确的决定。但我想我在之前创业过几次,所以这是我真正关心的事情,我只是想和那些我喜欢一起工作的人一起工作,并希望与他们并肩作战,并在我欠开发者的工艺和质量水平上独立执行。所以这就是我们选择这样做的方式。我们将讨论标准的连接以及其他有趣的事情,但我们将专注于 Chroma。我总是想先放一些头条数字。所以,我只是在努力做得更好,以便让人们了解他们应该了解的关于 Chroma 的信息。>> 我这里有 500 万月下载量,以及 21,000 个 GitHub 星。还有什么人们应该知道的吗?就像典型的销售电话,头条新闻之类的,你知道吗?>> 是的。嗯,是的,21,000 个 GitHub 星,50 亿以上月下载量。嗯,我最近看了这个数字。我认为现在已经超过 6000 万或 7000 万的总下载量了。>> 多年来,Chroma 一直是使用最广泛的项目,尤其是在 Lang Chain、Llama Index 等社区中。>> 好的,没问题。是的,我认为当你提到单节点 Chroma 时,我认为你描述了 Chroma Cloud 和我认为我们正在发布的与你的 GA 和 Chroma Cloud 一致的核心区别。>> 嗯,是的。所以,人们应该了解 Chroma Cloud 的什么,以及你是如何从一开始就开发这种体验的?你提到了存储和计算的分离,那是什么?>> 100%。Chroma 以其开发者体验而闻名。我不知道我们是不是第一个这样做的。我认为我们是,使用 Chroma,你只需要 pip install chroma,然后就可以使用它。>> 它就像内存中的>> 就像我认为第一个>> 你可以持久化。>> 它可以是第一个可 pip 安装的数据库。嗯>> 任何 SQLite 包装器都可以技术上 pip 安装。你知道。不,SQLite 甚至到现在也不能 pip 安装。我不认为>> 你可能对此有更深入的了解。我只是在猜测。>> 是的。所以这导致了新用户非常无缝的入门体验,因为你只需要运行一个命令,然后就可以使用它。我们做了所有工作,以确保无论你运行它的部署目标或架构如何,它都能正常工作。早期,我们让人们做了很多很棒的事情,比如在 Arduinos 和 Power PC 架构上运行它,以及一些非常晦涩的东西,但我们会付出额外的努力来确保它在任何地方都能正常工作,而且它一直都能正常工作。所以这就是 Chroma 单节点。所以回到我们希望在云产品中拥有的开发者体验,我们认为就像你可以运行 pip 并无需考虑它一样,你不需要学习大量的抽象,你不需要花大量时间学习这个非常复杂的 API。同样的故事也必须适用于云。所以这意味着,拥有一种你必须考虑要多少个节点,如何调整这些节点的大小,你的分片策略,你的备份策略,你的数据分片策略,或者我可以继续列举,这还不够好。它需要是零配置,零调整旋钮。它应该始终快速,始终非常经济高效,并且始终是新鲜的,而无需你做或考虑任何事情,无论你的流量如何上下波动,你的数据规模如何上下波动。这就是我们最初的驱动标准。它还支持按使用量计费。这非常重要,因为它非常公平。我们只收取你使用的最少计算量,不多不少,这并非所有无服务器数据库都能做到,但在 Chroma 中确实如此,我们只收取你使用的狭窄部分。所以,这就是我们进入设计标准流程的标准。>> 这就是,你知道,事实上,你也在构建一个无服务器计算平台。>> 是的,你必须,不,没错,这促使了 Chroma 分布式的设计。Chroma 分布式也是同一个单体仓库的一部分,它是开源的 Apache 2,然后控制平面和数据平面都是完全开源的 Apache 2,然后 Chroma Cloud 使用 Chroma 分布式来运行服务,你可以注册,创建一个数据库,并在 30 秒内加载数据。这是拍摄时的信息,人们会获得大约 5 美元的免费积分,这足以加载大约 10 万份文档并查询 10 万次,这对于许多用例来说可能意味着他们免费使用多年,这没关系。为了实现这一点,我们必须完成所有艰苦的工作。>> 是的。我认为每个博客都应该基本上包含语义索引。所以,你知道,在 Chroma 上托管你的个人博客,你知道,就像我们不是>> 是的。我的意思是,你知道,组织世界信息的使命仍然没有解决。>> 是的。是的。你有一个你通常的神秘推文,你几个月前发了关于上下文工程的推文。那是什么?嗯,四月。我认为现在每个人都在谈论上下文工程。你能给我一个你自己的标准定义,然后 Chroma 如何发挥作用,然后我们将讨论它的所有不同部分。我认为当一个新市场出现时,抽象和用于推理该事物的基本原语是极其重要的。我认为人工智能,部分是由于它的炒作,也有很多基本原语和抽象被滥用,导致许多开发者实际上无法批判性地思考这是什么,我如何将其组合起来,我能解决什么问题,什么重要,我应该在哪里花时间。例如,术语 RAG。我们从不使用 RAG 这个词。我讨厌 RAG 这个词。>> 是的,我部分是因为你的影响而扼杀了 RAG 的趋势。>> 谢谢。谢谢。首先,它只是检索。检索增强生成是三个概念组合在一起,这真的很令人困惑,当然 RAG 现在被品牌化为,你知道,哦,你只是在使用单一的密集向量搜索,这就是 RAG,它也很愚蠢。我认为我真正兴奋这个词的原因之一是,显然人工智能工程,你为此做了大量工作,上下文工程在某种程度上是人工智能工程的一个子集,它是什么?它是一个高地位的工作。上下文工程是确定在任何给定的 LM 生成步骤中应该放在上下文窗口中的内容的工作。它有一个内部循环,即设置这次应该放在上下文窗口中的内容,还有一个外部循环,即你如何随着时间的推移,通过只包含相关信息来更好地填充上下文窗口。我们最近发布了一份关于上下文衰减的技术报告,其中详细介绍了 LLM 的性能并非与使用的 token 数量无关,随着使用的 token 越来越多,模型能够注意到的内容就越少,推理能力也越差。我认为这真正说明了问题。你知道,上下文衰减意味着需要上下文工程。我想我之所以对这个梗图感到兴奋,你知道,我可能在某种程度上很幸运,因为我在四月份就预见了,这将是一个大梗图,因为它提升了这个工作的地位。它清楚地描述了这项工作,并提升了这项工作的地位。坦率地说,你今天知道的任何一个做得很好的 AI 初创公司,它们在根本上擅长什么?它们擅长的一件事是什么?就是上下文工程。>> 特别是,我觉得我读过的很多文章,很多都侧重于代理与非代理的东西。比如上下文工程对代理来说更重要。你是否区分这一点,还是你只是笼统地看待上下文工程?不,我的意思是,它有一些有趣的代理含义,比如代理学习,你知道,代理是否可以从它们的交互中学习,这可能与静态的知识库语料库不太相关,聊天你的文档,当然,再次,你知道,我认为你可以争辩说,即使是聊天你的文档用例也应该随着更多的交互而变得更好。我不会区分代理和非代理,我实际上不知道代理是什么意思,但同样,基本原语,抽象,词语很重要。我不知道,你知道,代理是什么?我不知道。>> 嗯,有很多定义,我尝试过。>> 很多术语都可以意味着任何事情,它们只是人们希望和恐惧的载体。>> 是的。>> 嗯,我认为,你知道,代理也是一样。>> 肯定。>> 嗯,也许我们会尝试更简洁或更精确地定义上下文工程,以便它实际上有意义,并且人们可以实际使用它来做事情。我肯定会提到上下文工程或上下文衰减,我认为围绕“大海捞针”的营销有很多,因为每个前沿模型现在都带有完全绿色的图表,显示在 100 万个 token 中完全利用。我想知道你们对这种营销的看法,是的。是的。>> 所以,也许稍微退一步说。我们开始研究这个研究的方式是,我们实际上在研究代理学习。所以我们非常好奇,我们是否可以给代理访问过去的成功或失败,如果这样做,是否会帮助提高代理的性能?所以我们特别研究了几个不同的数据集,包括 sweep bench,我们开始看到一些有趣的模式,比如在多轮代理交互中,当你给它整个对话窗口时,token 的数量会急剧爆炸,而指令显然就在其中,却被忽略了,没有被执行,我们说,哦,这显然是个问题。现在我们已经感受到了痛苦。在圈内人中,这是一种梗图,表明这是真的,而且我认为研究界的一些反应是,是的,我们知道,而且,这没关系,但其他人不知道,而且,如果你能真正教会构建者今天可能做什么,而不是今天不能做什么,那会很好。我不责怪实验室,我的意思是,构建模型竞争非常激烈,每个人不可避免地都会选择他们想做得最好的基准,他们围绕这些基准进行训练,这些基准也进入了他们的营销。大多数人不会主动说,“这是我们产品很棒的所有方式,这是我们产品不好的所有方式。”你知道,我不知道。我有一些同情,你知道,为什么没有报告这一点。但是的,我的意思是,有一个有点暗示,比如,哦,看,我们的模型在这个任务上是完美的,“大海捞针”,因此,你可以随意使用上下文窗口。那里有一个暗示。嗯,我希望有一天是真的。今天不是这样。>> 是的。是的。我们将在 YouTube 视频中发送给人们,我们会放上这张图,这张图是你上下文衰减报告中的图一。看起来 Sonnet 4 在曲线下面积方面是最好的,我就是这样想的。然后是 Quinn wow,然后是 GPC 41 和 Gemini Flash,它们在上下文长度方面衰减得更快。>> 是的。我没有什么评论。这就是我们在这个特定任务中发现的。再次,这如何转化为人们在现实世界中的实际体验和任务是完全不同的。我的意思是,开发者对 Claude 有一定的喜爱,也许这两者是相关的。是的,我认为这里显示了,如果这是真的,那将是对为什么>> 你遵循我的指示,你知道,比如一个清晰的基线,你知道,人们想要的东西。>> 我不认为这里有很好的答案,但我也有一个理论,就是推理模型在上下文利用方面更好,因为它们可以循环回来。正常的自回归模型,它们只是从左到右进行,但推理模型理论上可以循环回来,寻找它们需要的连接,而它们可能在第一次通过时没有注意到。今天有一篇论文显示,也许是相反的。但是>> 真的吗?>> 我晚点发给你。>> 是的,那会很有趣。>> 每天都有论文。我认为最好的事情是你没有试图推销什么。你只是说,“嘿,这个东西坏了。有点糟糕。”你如何看待你想解决的问题,以及你进行研究以突出一些问题,然后希望其他人参与进来?基本上你谈论的所有内容都在 Chroma 的路线图上吗?还是你只是在建议人们,嘿,这很糟糕,绕过它,但不要指望我们来修复它?就像回到我刚才说的,Chroma 的广泛任务是让构建应用程序的过程更像工程,而不是炼金术。嗯,所以,你知道,这是一个非常广泛的领域,但我们是一个小团队,我们只能专注于这么多事情。我们现在选择非常专注于一件事,所以我认为,我没有自负到认为我们可以自己解决这些问题,为这样一个动态且庞大的新兴行业。我认为这确实需要一个社区。它确实需要一个所有人都共同努力的浪潮。我们特意想清楚地表明,我们在这个研究中没有任何商业动机。你知道,我们不提出任何解决方案。我们不告诉人们使用 Chroma。它只是,这是问题。>> 这是隐含的。嗯,听着,我们并不难过,也许这可能是一个积极的迹象,你知道,但仍然有关于速度和成本的原因,你知道。但仍然有很多工作要做。而且我认为,你知道,实验室并不真正关心,他们也没有动力去关心。随着市场越来越好地成为一个好的 LM 提供商,主要市场似乎是消费者。你只是不太有动力去帮助开发者。>> 作为次要考虑。作为次要考虑。你真的不太有动力去做那些繁重的工作来帮助开发者学习如何构建东西。>> 然后,如果你是一家 SAS 公司,或者你是一家正在使用人工智能的消费公司,你是一家人工智能原生公司,这就像你的秘密武器。你不会在市场上推广如何做事情。所以,我认为这里有一个自然的空白空间,那就是那些实际上有动力去展示开发者如何构建人工智能的人。你知道,他们没有投入大量时间和精力在这上面。但我认为这显然是我们应该做的事情,所以这就是我的想法。>> 只是对消费者方面的一点反驳,你说实验室,你知道,你不认为像 OpenAI 将记忆整合到 ChatGPT 中并向所有人开放,这可能对你来说太明显了,我会争辩说,但他们真的会关心让记忆利用率变好吗?我认为上下文利用,上下文工程对他们也很重要,即使他们只为消费者构建,也不关心开发者。>> 是的。今天它有多好是一个重要的问题。嗯,但我们将跳过这个问题。就像,即使是这样,他们真的会发表那些发现吗?>> 不,永远不会。>> 没错。这是 Alpha,对吧?为什么你要泄露你的秘密?>> 是的。是的。>> 所以我认为实际上很少有公司有这样的立场,即它们有动力,并且真正关心教导开发者如何构建有用的东西与人工智能。>> 所以我认为我们有这个动力。但你认为你能让它发展到成为下一个“大海捞针”,然后迫使模型提供商真正做好吗?>> 没有迫使任何人做任何事的途径。所以,嗯,我们在整理这个的时候考虑过。我们想,哦,也许我们应该,你知道,把它作为一个正式的基准来制定,你可以很容易地做到,我们开源了所有的代码。所以,你知道,如果你正在观看这个,你是来自一个大型模型公司,你可以做到这一点。你可以带上你尚未发布的新模型,然后你可以运行,你知道,这些数字。而且,你知道,我宁愿拥有一个拥有 60,000 个上下文 token 的模型,它能够完美地关注并完美地推理这 60,000 个 token,而不是一个拥有 500 万个 token 的模型。就像,作为一名开发者,前者对我来说比后者更有价值。我当然希望模型提供商能够把它当作他们关心的事情,并围绕它进行训练,并进行评估,并与开发者沟通。那将是很好的。>> 你认为这也会在课程中变得更好吗?你如何决定哪个,因为你知道,你基本上是在说,是的,>> 模型不会学习这个。它将是一个技巧,你无法访问。>> 我不是这么说的。>> 嗯,但当你这么说时,它们不会发布如何做,这意味着模型 API 将无法做到这一点,但它们将拥有像 ChatGPT 这样的东西,能够做到这一点。>> 我明白了。>> 是的。押注什么会变得更好,什么不会,这是非常冒险的。我不认为我会冒险猜测。希望不是人工智能工程师。>> 是的。希望不是全人类。我不知道,你知道。是的。>> 对我来说,围绕上下文工程发展一个有趣的学科也很重要。嗯,Lang Chain 的 Lance Martin 写了一篇非常好的博客文章,列出了所有不同的分离,然后你在纽约举办了你的第一次聚会。我们也将在这里旧金山举办一次。但我只是好奇,你在领域里看到了什么?谁在做有趣的工作?主要的争论是什么?那种东西。>> 我认为这还很早。我的意思是,很多人什么都不做。很多人仍然只是把所有东西都扔进上下文窗口。这非常受欢迎。>> 是的。>> 而且,你知道,他们正在使用上下文缓存,这当然有帮助,但它有助于成本和速度,但对上下文衰减问题一点帮助都没有。所以,是的,我不知道是否已经有很多最佳实践。我的意思是,我会强调几个。问题从根本上来说很简单。你知道,你有 N 个候选块,你有 Y 个可用位置,你必须进行策展和筛选的过程,从 10,000 或 100,000 或 100 万个候选块中选出 20 个现在重要的块,对吧?>> 是的,对于这个确切的步骤。>> 这个优化问题对许多应用程序和行业来说并不新。这是一个经典的,嗯,一个经典的问题,当然,你知道,人们用什么工具来解决这个问题,我认为仍然很早。很难说,但我看到了一些模式。一种模式是使用很多人称之为第一阶段检索来做一个大的筛选,所以那就是使用向量搜索、全文搜索、元数据过滤、元数据搜索等信号,从比如 10,000 个减少到 300 个,就像我们刚才说的,你不必给 LLM 10 个蓝链,你可以粗略地处理更多。所以使用 LLM 作为重排器,并将数量从 300 个减少到 30 个,我现在看到这种情况出现了很多。很多人都在这样做,而且实际上比很多人意识到的要经济高效得多。我听说有人自己运行模型,每百万输入 token 的成本是 1 美分。>> 而输出 token 的成本基本上为零,因为它是,你知道,最简单的。这些是专用的重排器模型,对吧?不是完整的 LM。>> 不,这些是 LM。>> 好的。>> 他们只是使用 LM 作为重排器。>> 好的。>> 当然,也有专用的重排器模型,顾名思义,它们会更便宜,因为它们更小、更快,因为它们更小。但我的观察是,应用程序开发者已经知道如何提示,现在正在将该工具应用于重排。我认为这将是主导范式。我实际上认为,也许专用重排器将消失,就像>> 专用重排器,它们仍然会存在,对吧?比如,如果你处于极高的规模,极高的成本,是的,你会关心优化它,就像你用硬件运行时,你只会使用 CPU 或 GPU,除非你绝对必须使用 ASIC 或 FPGA。我认为对于重排器也是如此,就像随着 LM 的速度提高 100 倍、1000 倍,成本降低 100 倍、1000 倍,人们将使用 LM 进行重排,而信息策展的粗略处理将变得非常非常受欢迎。现在,即使不是非常昂贵,运行 300 个并行 LM 调用,你知道,任何一个 300 个 LM 调用 API 可用性的尾部延迟,它仍然非常糟糕,所以,你知道,今天在生产应用程序中这样做有很多理由,但这些理由也会随着时间的推移而消失。所以,我认为这些模式已经出现,这是我只在过去几个月开始真正流行起来的新事物,我说的流行是指在最前沿的流行,但我认为它将成为一个非常非常主导的范式。>> 是的,我们也涵盖了这方面的一些内容,尤其是在代码索引方面。所以我们一直在谈论的一切都适用于所有类型的上下文。我认为代码显然是一种特殊的上下文和语料库,你想对其进行索引。我们有几集关于云代码的家伙和客户端的家伙谈论他们不嵌入或不索引你的代码库,他们只是提供工具并使用工具进行代码搜索。我经常思考,这是否应该是主要的上下文检索范式,即当你构建一个代理时,你实际上会调用另一个代理,并使用所有这些递归重排器和摘要器,或者另一个带有工具的代理。Y>> 嗯,还是你把它们粘在一个代理上?我不知道你是否有意见,因为代理非常不明确,但我会把它提出来,把它拆开。所以,你知道,定义上,索引是一种权衡。当你索引数据时,你是在权衡写入时间性能和查询时间性能。你使数据摄取变慢,但查询数据变快,这显然随着数据集的增大而扩展。所以,你知道,如果你只 grep 非常小的,你知道,15 个文件的代码库,你可能不必索引它,这没关系。如果你想搜索该项目的所有开源依赖项,你已经在 VS Code 或 Cursor 中做过,对吧?你会在 node_modules 文件夹上运行搜索。运行该搜索需要很长时间。那有很多数据。就像要对其进行索引,并且,你知道,要进行写入时间性能或创建时间性能的权衡。就像,这就是索引的意义所在。就像,只是为了揭开它的神秘面纱。这是什么,对吧?这就是它的意义。你知道,嵌入以其语义相似性而闻名。嵌入只是信息压缩的一个通用概念。实际上有很多工具你可以使用嵌入。我认为代码嵌入仍然非常早期且被低估,但 Reax 显然是一个非常有价值的工具。而且,你知道,我们实际上已经在 Chroma 中进行了工作,无论是单节点还是分布式。我们在 Chroma 中原生支持 Reax 搜索。所以你可以在 Chroma 中进行 Reax 搜索,因为我们已经看到它是一种非常强大的代码搜索工具。它很棒。而且我们构建了索引来使 Reax 搜索在大量数据下快速运行。对于你提到的编码用例,我们为 Chroma 添加的另一个功能是分叉的能力。所以你可以获取一个现有的索引,并在 100 毫秒内以几分钱的价格创建一个副本。这样做,你就可以应用对新索引所做的文件更改的差异。所以任何逻辑上正在变化的数据语料库。>> 所以非常快的重新索引是>> 是的,基本上是结果。但现在你可以为不同的提交创建一个索引。所以如果你想搜索不同的提交,搜索不同的分支或不同的发布标签,任何逻辑上版本化的数据语料库,你现在都可以非常轻松且经济高效地搜索所有这些版本。所以,是的,我认为,你知道,这就是我如何看待 Reax 和索引和嵌入。我的意思是,是的,针在不断移动。我认为任何声称知道答案的人,你都不应该听他们。当你提到代码嵌入被低估时,你认为是什么原因?>> 大多数人只是使用在互联网上训练的通用嵌入模型。>> 然后他们尝试将它们用于代码。>> 而且,你知道,它对某些用例有效,但对所有用例都有效吗?我不知道。另一种思考这些不同原语及其用途的方式。从根本上说,我们试图找到信号。文本搜索效果很好。词汇搜索,文本搜索效果很好,当编写查询的人了解数据时。如果我想搜索我的 Google Drive,我只是为了找到包含所有投资者信息的电子表格,我将输入“cap table”,因为我知道我的 Google Drive 中有一个名为“Cap Table”的电子表格,全文搜索。很棒。它是完美的。我是我数据的领域专家。现在,如果你想找到那个文件,而你不知道我有一个名为“cap table”的电子表格,你会输入“包含所有投资者列表的电子表格”。当然,在嵌入空间,在语义空间中,它会匹配。所以,我认为再次,这些只是不同的工具,这取决于谁在编写查询。这取决于他们拥有的专业知识,取决于这些工具的混合将是合适的。我的猜测是,对于今天的代码,大约 90% 的查询或 85% 的查询可以使用 Reax 令人满意地运行。Rejax 显然是 Google 代码搜索、GitHub 代码搜索使用的主要模式,但你也许可以通过使用嵌入来获得 15% 或 10% 或 5% 的改进。非常复杂的团队也使用嵌入进行代码检索和代码搜索。而且,你知道,你不应该假设他们只是喜欢不必要地花钱。他们从中获得了一些好处。当然,对于那些想成为顶尖公司,想,你知道,占据市场份额,并想为用户提供最佳服务的公司来说,这就是用人工智能构建出色软件的意义所在。80% 很容易,但从 80% 到 100% 是所有工作的所在。而且,你知道,每一次改进都是得分,也是我认为用户关心的一点,也是你可以用来,是的,从根本上更好地服务你的用户。你对开发者体验与代理体验有什么看法?就像这是另一个例子,嗯,我们也许应该重新格式化和重写代码,使其更容易嵌入,然后在那里训练模型。你在哪个范围内?>> 是的,我的意思是,我看到一个工具在某些用例中效果很好,那就是,而不是仅仅嵌入代码,你首先让一个 LLM 生成一个自然语言描述,关于这段代码在做什么。然后你嵌入只是自然语言描述,或者你嵌入它和代码,或者你将它们分开嵌入,并将它们放入,嗯,单独的向量搜索索引中。块重写是关于它的一个广泛类别。再次,这是关于索引的想法,即你在写入或摄取管道中放入的结构化信息越多越好。所以所有你可以提取的元数据,在摄取时完成。所有你可以做的块重写,在摄取时完成。如果你真的投入精力来提取尽可能多的信号并预先烘焙一些信号在摄取端,我认为这会使下游的查询任务变得容易得多。但是,你知道,因为我们在这里,所以值得一提的是,人们应该创建小的黄金数据集,包含他们想要的查询以及应该返回的块,然后他们可以定量地评估什么重要。也许你的应用程序不需要做很多花哨的事情。完全有可能,再次,只是使用 Reax 或只是使用向量搜索,取决于用例,这可能就是你所需要的。我猜,再次,任何声称知道答案的人,你应该问的第一件事是,请让我看看你的数据,如果他们没有数据,那么你已经有了答案。>> 我会,嗯,推荐你参加的一次会议演讲,你讲了“如何查看你的数据”。是的,查看你的数据很重要,拥有黄金数据集。所以这些都是我认为应该写进一本小册子里的好做法。称之为“人工智能工程十诫”之类的。>> 好的,你可能会这样做。你必须查看你的数据。>> 我们即将转向内存,但我想为,你知道,任何你觉得你想上去讲讲的事情留出空间。是的,>> 那很危险。那是一个非常危险的问题。嗯,>> 我有一个可以接续的,因为我认为,我不知道,我不知道在哪里插入这个对话,但我们一直在附近徘徊,我正在探索的是,你知道,我认为你曾经对 RAG 发过一次关于 RAG 的咆哮,原始的 Transformer 是一种编码器-解码器架构。>> 然后 GBT 将大多数 Transformer 变成仅解码器,但我们也使用所有,嗯,嵌入模型作为仅编码器模型进行编码。所以从某种意义上说,我们将 Transformer 分解为,首先我们使用仅编码器模型对所有内容进行编码,将其放入像 Chroma 这样的向量数据库,Chroma 也做其他事情,但你知道,然后我们使用 LLM 进行解码。我只是认为这是一个非常有趣的元学习,关于整体架构,它超出了模型到模型的范畴,而是系统。>> 我很好奇你对此有什么看法,或者你对我说的话有什么修改。>> 我认为那里有一些直觉,那就是我们今天做事的方式非常粗糙,在五到十年后会感觉非常原始。>> 你知道,我们为什么不直接回到自然语言?我们为什么不直接将嵌入传递给模型,而模型将有效地进行空间复制,对吧?>> 是的。它们有一个非常薄的嵌入层。>> 是的。>> 是的。所以,我认为,我认为关于未来的检索系统,有几件事可能是真的。所以,比如第一,它们一直停留在潜在空间。它们不回到自然语言。第二,而不是这样做,这实际上已经开始改变,这真的很令人兴奋,但很长一段时间以来,我们每次生成都进行一次检索。>> 好的。>> 你检索,然后你流式传输一定数量的 token。就像,为什么我们不>> 持续检索?是的。>> 当我们需要的时候,Greg,>> 不要那样称呼它。嗯,但有几篇论文,或者几篇论文,在 GitHub 上,几周前发布了,我认为它不幸地被称为 ragar one,他们教 Deepcar1,你知道,给它检索的工具,所以,就像在它的内部思维链和它婴儿计算中,它实际上在搜索。>> 也有检索增强语言模型,我认为这是一篇较早的论文。>> 是的,是的,有很多,你知道,Realm 和 Retro,这里有一段悠久的历史。嗯,所以我想,你知道,>> 以某种方式不那么受欢迎,我不知道为什么。>> 以某种方式不那么受欢迎?嗯,很多那些都有问题,就是,要么检索器,要么语言模型必须被冻结,然后语料库就不能改变,而大多数开发者不想处理围绕它的开发者体验。>> 我会说,如果收益如此之高,我们会这样做的。>> 或者>> 实验室不想让你这样做。我不知道。>> 实验室有巨大的影响力。>> 实验室有巨大的影响力。我认为这也是,你知道,你不会因此获得积分。你就是,你知道,没有人关心。地位游戏不会奖励你解决他们的问题。所以,是的,所以广泛的持续检索。
我认为看到这个领域会涌现出什么东西会很有趣。第一点。第二点,停留在嵌入空间会非常有趣。然后是的,关于 GPU 以及你如何将信息分页到 GPU 内存中,也有一些有趣的东西。我认为这可以做得更有效率。嗯,这更多的是我们正在考虑的未来五年或十年。但是的,我认为,我认为当我们回顾过去时,会觉得我们今天做事的方式简直是原始可笑的。>> 也许,也许不是。你知道,我们正在用语言解决 IMO 的挑战,你知道。>> 是的,这很棒。>> 我仍在研究那带来的影响。这仍然是一项巨大的成就,但也与我设想的做事方式大相径庭。你说内存是上下文工程的好处。我认为你曾在推特上发表过关于“别再让 AI 的内存变得如此复杂”的言论。你如何看待内存,以及上下文工程可能还有哪些人们没有联系起来的其他好处?我认为内存是一个很好的词。它对广大民众来说非常易懂。同样,这有点像是继续拟人化大型语言模型。你知道,我们自己理解我们是如何存在的,我们人类如何使用记忆。我们非常擅长,嗯,我们中的一些人非常擅长利用记忆来学习如何完成任务,然后这些学习能够灵活地适应各种环境,你知道,能够与 AI 坐在一起,然后指导它十分钟或几个小时,然后告诉它你想要它做什么,它就能做到,然后你说,嘿,下次就这么做,就像你对一个人一样,在十分钟或几个小时结束时,AI 就能做到,并且具有与人类相同的可靠性,这是一种极具吸引力和令人兴奋的愿景。我认为这将会发生。而且我认为内存,再次强调,内存是每个人都能理解的词,我们都理解。我们的母亲都理解。内存的好处也非常吸引人,非常有吸引力。但内存的底层是什么?我认为它仍然只是上下文工程,即如何将正确的信息放入上下文窗口的领域。所以,是的,我认为内存是好处。上下文工程是给你带来这种好处的工具,而且可能还有其他东西。我的意思是,也许有一种内存版本,比如你实际上是通过看到的数据来使用强化学习来改进模型,所以我并不是说只有改变上下文是唯一能让你在任务上获得出色表现的工具,但我认为它非常重要。你是否认为根据这次对话隐式偏好来合成内存与根据这个提示应该放入哪些内存之间存在很大差异?>> 我认为它们都将由相同的数据驱动。因此,告诉您如何更好地检索的相同反馈信号也将告诉您如何更好地记住。所以我认为它们实际上不是不同的问题。我认为它们是同一个问题。>> 对我来说,我有点纠结的是内存的结构是什么。这有意义。所以,显然有很多类比,比如长期记忆、短期记忆,我们试图创造一些与睡眠相关的词。我确实认为应该有一些批处理收集周期,也许是一些垃圾收集周期,就像大型语言模型在睡眠一样。但我不知道什么是有意义的。就像我们根据我们认为人类如何工作来做所有这些类比一样,>> 但也许 AI 的工作方式不同。>> 是的,>> 我对你看到的任何有效的东西都很好奇。>> 是的,你知道,就像这次谈话的贯穿线一样,当我们开始为事物创造新的概念和新的缩写时,我总是有点紧张,然后突然之间,就有信息图表说,这里有十种类型的内存,你会想,为什么?它们实际上>> 如果你眯着眼睛看,它们都是一样的,>> 它们必须不同吗?你知道,就像>> 你必须让人们大吃一惊。不,我不这么认为。我不知道。你必须抵制老虎机。老虎机。嗯,压缩一直是一个有用的概念,>> 即使在数据库中>> 在你的电脑数据库中。我们都记得在 1998 年在 Windows 机器上运行过碎片整理。>> 嗯,你知道,所以,是的,再次>> 我们中的一些人不够老,做不到这一点。>> 我是>> 在这个桌子上。嗯,是的,所以,显然离线处理很有帮助,我认为在这种情况下也很有帮助,就像我们之前讨论过的,索引的目的是什么?索引的目的是用写入时间性能来换取查询时间性能。压缩是另一个工具箱中的工具,用于处理写入时间性能。你正在重新摄取数据。>> 它不是索引,但实际上它是索引。>> 它是某种程度上的重新索引。是的。你正在处理数据,比如,也许这两个数据点应该合并。也许它们应该被拆分。也许它们应该被重写。也许我们可以从中提取新的元数据。比如,让我们看看我们应用程序的性能信号。让我们试着弄清楚,我们是否记住了正确的事情,或者没有?就像,AI 系统能够持续自我改进的离线计算和推理将是肯定的。>> 我们之前谈到的睡眠时间计算有什么部分是预先计算答案。所以,根据你拥有的数据,可能会问什么问题>> 那个人的问题是什么?然后你能预先计算这些东西吗?嗯。>> 你如何看待 Chroma 中的这种情况?>> 我们大约三个月前发布了一份技术报告。标题是生成式基准测试。其理念是,拥有一个黄金数据集非常强大。黄金数据集是指你有一个查询列表,以及这些查询应该产生的一系列块。现在你可以说,这个检索策略对于这些查询给了我 80% 的块。而如果我改变嵌入模型,现在我得到了 90% 的块。这更好,然后你还需要考虑成本、速度、API 可靠性和其他因素,显然在做出良好的工程决策时,但你可以衡量系统中的变化。所以我们注意到的是,开发人员拥有数据,他们拥有块,他们拥有答案,但他们没有查询。我们写了一份关于如何教大型语言模型从块中编写良好查询的技术报告,因为你想要块查询对。所以如果你有块,你就需要查询。好的,我们可以让人类进行一些手动标注,显然,但人类是不一致的、懒惰的,你知道,质量保证很难,所以我们能教大型语言模型怎么做吗?嗯,所以我们写了一份技术报告,并证明了一种有效的方法。所以我认为生成问答对对于基准测试检索系统来说非常重要,黄金数据集坦率地说,在很多情况下,也是你用来微调的相同数据集。所以,是的,那里确实有一些被低估的东西。是的,我对此表示赞同。我认为,尽管上下文的“石头剪刀布”得到了很多关注,但生成式基准测试对我来说是一个更大的“啊哈”时刻,因为我以前从未遇到过这个概念。而且我认为实际上更多的人会将其应用于他们自己的个人情况,而上下文的“石头剪刀布”只是普遍地说,是的,不要太相信模型,但除了做更好的上下文工程之外,你没有太多办法。>> 是的。是的。是的。嗯,我在应用机器学习开发者工具领域工作了十年,高质量的小型标记数据集的回报非常高。>> 每个人都认为你必须有数百万个例子,或者别的什么。不,实际上,即使是几百个高质量的例子也极其有益。是的。而且客户总是说,“嘿,你应该做的是,周四晚上告诉你的团队,我们都将在会议室里。我们将订购披萨,然后我们将一起度过几个小时的数据标记派对。”这就是启动它所需要的一切。谷歌也是这样做的。OpenAI 也是这样做的。Anthropic 也是这样做的。你也不例外。太棒了,你知道吗?对。>> 是的。>> 是的。>> 是的。看看你的数据。再次,这是重要的。标记。也许我应该将其归类为标记你的数据,而不是查看,因为查看似乎有点太>> 我同意。是的,还有一些>> 仅查看,>> 对,我同意。是的。是的。读写。>> 读写。既然你提到了,我应该纠正一下。它不是标准认知。它是标准赛博格。>> 我最喜欢你的事实是,你也是一个赛博格,你的腿。如果有人当面见到杰夫,你应该问他。或者也许不。我不知道。>> 我不在乎。>> 不在乎。嗯,标准赛博格,Mighty Hive,以及它。你从中吸取了哪些教训并将其应用于 Chroma?>> 我能数得过来。嗯,这有点陈词滥调。嗯,要对自己进行反思和诚实是非常困难的,但我认为将你的生命视为非常短暂的,就像一阵风中的一缕青烟,因此只做你绝对热爱的工作,并且只与你喜欢共度时光的人一起工作,服务你喜欢服务的客户,这是一个非常有用的北极星。嗯,你知道,这可能不是在某种意义上赚很多钱的北极星。可能有更快的方法来欺骗人们赚 500 万美元,或者别的什么。嗯,但是,如果我回顾一下,我当然可以详细说明,但是,如果我回顾一下我之前的经历,我总是在做权衡。我与我一起工作的人做权衡,或者我与我服务的客户做权衡,我与我引以为豪的技术做权衡。也许这有点像年龄问题,我不知道。但是,你知道,我越老,我就越想尽我所能地做好工作。而且我希望我的工作不仅仅是出色的工作,我还希望它被最多的人看到,因为最终这就是影响力的体现。你知道,影响力不是发明了伟大的东西,然后没有人使用它。就像影响力是发明了伟大的东西,并尽可能多的人使用它。>> 其中有任何是,你知道,我们可以跳过这个问题,如果它很敏感,但是,其中有任何是由宗教,由基督教指导的吗?我之所以这样问,是因为我认为你是山谷里越来越多公开、外向、积极的宗教人士之一,我认为这就是我想探索的。你知道,我本人不是那么虔诚,但我只是喜欢它如何影响你对你的影响的看法,你对你的选择的看法。你刚才说的话里有一点点,但我想更深入地探讨一下。我认为现代社会越来越虚无主义。什么都不重要。它是荒谬的,对吧?一切都是一场闹剧。一切都是权力。>> 一切都是喜剧。>> 一切都是喜剧表情包。是的。>> 是的。正是如此。所以,遇到真正对人类繁荣发展有坚定信念的人非常罕见,而且遇到愿意为实现这一目标牺牲很多并开始那些他们可能在有生之年都看不到完成的事情的人也非常罕见。就像过去人们会开始需要几个世纪才能完成的项目一样。>> 而且你知道,这种情况越来越少。>> 脑海中浮现的是巴塞罗那的圣家族大教堂,我认为它是在 300 年前开始建造的,明年将完工。>> 是的。>> 我见过它在建造中,但我迫不及待地想看到它完工。>> 是的。我敢肯定,地方已经订满了。>> 是的。>> 是的。>> 所以,你知道,这是很常见的。实际上,你知道,硅谷有很多宗教。我认为 AGI 也是一种宗教。它有一个邪恶的问题。我们没有足够的智能。它有一个解决方案,一个神谕。它有基督的第二次降临,AGI 的奇点将到来。它将拯救人类,因为我们将拥有无限且自由的智能。因此,我们所有的问题都将得到解决,>> 你知道,我们将永远生活在恩典之中。它将解决死亡问题,对吧?所以,我认为宗教仍然存在于硅谷。我认为,你知道,有一种宗教的守恒。你基本上无法摆脱它。是的。>> 嗯,但是>> 基因>> 是的。是的。我的意思是,你知道,人们对此有不同的说法,但是,我认为我总是对那些存在不到五年的宗教持怀疑态度。这样说吧。>> 是的。幸存者偏差。总之,我确实认为你是其中比较突出的一个,我知道的。我认为你们是一股向善的力量,我喜欢鼓励更多这样的力量。我不知道,你知道,人们应该相信比自己更伟大的东西,并为他们不会坐在下面种树而努力。嗯,我是否在歪曲这句话?这实际上是圣经中的一句话吗?>> 我不认为这是圣经中的一句话,但我喜欢这句话。这是一个好句子。所以,是的,赞成。>> 我认为社会真的崩溃了,当你只为自己而活的时候。这确实是真的。>> 同意。>> 谁负责你的设计?因为你所有的周边产品都很棒,你的办公室看起来很棒,网站看起来很棒,文档看起来很棒。有多少是你的输入?有多少是你有一个懂行的人?这对塑造品牌文化有多重要?>> 我认为所有价值,你知道,再次回到康威定律,就像你发布你的组织结构图一样,你在某种意义上发布了你作为创始人关心的事情,而且,我确实非常关心我们所做的这方面。所以,我认为它确实,它确实,它确实在某种意义上来自我。>> 我不能把我们所做的一切都归功于我。我们有机会与一些非常有才华的设计师合作,我们也在招聘。所以,如果有人在听这个并想申请,请这样做。我认为,我的意思是,批评帕特里克·科里森的引言有点陈词滥调,但他似乎是这个想法最公开的体现者之一,那就是你做一件事的方式就是你做所有事的方式。我不确定这是否是他的直接引语,要说清楚。这更像是一个普遍的格言,但就像,你做一件事的方式就是你做所有事的方式。并确保我们所做的事情有一个一致的体验,就像你说的,如果你来到我们的办公室,它感觉是深思熟虑的,如果你访问我们的网站,它感觉是深思熟虑的,使用我们的 API,它感觉是深思熟虑的,如果你经历面试过程,它感觉是深思熟虑和有目的的。我认为这很容易失去。很容易失去这一点。在某种程度上,唯一保持这一点的方法就是坚持这个标准。我认为这是我作为领导者能为公司做的主要事情之一。说起来有点令人尴尬,但你确实需要成为品味的策展人。并不是说我必须在所有出门的东西上盖章,但至少公司,也许它甚至不是质量上的下降。它也不是说任何东西都明显不好或更差,而是人们有自己的对“好”的表达方式,你知道,他们会将其提升到 11,然后品牌就会变得不连贯。这个东西意味着什么?他们代表什么?再次,这不再是单一的声音。是的。我再次声明,我并不是说我在这方面做得很好或完美。我们当然,我们每天醒来,我们都努力。你很有能力传达直率的原则、价值观和周到,我认为在你所做的一切中。是的,你知道,你知道,我一直对你的工作印象深刻。>> 谢谢。>> 有什么我们错过的吗?你们在招聘设计师,还有其他开放的职位,你想让人们申请吗?>> 如果你是一位出色的产品设计师,并且想从事开发者工具方面的工作,我认为我们在 Chroma 有一个非常独特的机会。如果你有兴趣扩展我们的研究,那也是一个有趣的机会。我们也在招聘非常有才华的工程师,他们想与其他对低级分布式系统充满热情的人一起工作,并在某种程度上解决所有难题,这样应用程序开发人员就不用了。>> 当你这么说的时候,你能详细说明一下低级分布式系统吗?人们总是这么说,然后,好吧,Rust,你知道,Linux 内核,我们说的是什么?是的,我的意思是,也许,你知道,一个有用的概括是,如果你非常关心 Rust、确定性模拟测试或>> Raft Paxos>> TA 加共识>> TA 加真的>> 嗯>> 哇>> 你知道,如果你继续,我说的这些都是代理,你喜欢,你喜欢我们在这里做的工作。我真的很想深入挖掘招聘信息,但我也,我目标的一部分也是试图确定哪些是创业公司真正想招聘但却找不到的工程师类型。因为我们越能识别出这一点,我就可以,你知道,也许围绕它创建某种品牌,创建一个活动,然后让这些,有供给方和需求方,他们找不到彼此,这就是我把 AI 工程师放在一起的原因,那也是其中的一部分,但这个分布式系统的人,我从你和其他一百家创业公司那里都听说了。>> 技能是什么?他们叫什么?他们做什么?其中一部分是云工程,因为很多时候你只是在处理 AWS。>> 当然。>> 很多时候你只是在处理,我不知道,调试网络调用和一致性问题,如果你正在进行复制或其他操作。>> 嗯,他们去哪里?他们做什么?是的。是的。就像,但他们不在工作中用 TA 加。>> 可能不会。是的。我的意思是,去年我开始成立了 SF 系统组。>> 是的。读书会。>> 嗯,是的,有演示文稿,其目的是,让我们把,让我们创建一个聚会场所>> 为关心这个话题的人,因为在湾区,真的没有一个地方可以做到这一点。>> 嗯,所以它还在继续,并且还在运行,这很好。我的意思是,说清楚,我们团队中有很多人在这方面非常出色。所以,我们不是说我们没有,而是说我们有六七个,嗯,十二个,但是的,我们,是的,我们不是想要更多,但我们在某种程度上,我觉得我们的产品路线图非常清晰,我们确切地知道未来 18 个月甚至更长时间需要构建什么,但质量始终是限制因素,质量和专注度始终是限制因素,而且,是的,我总是会做我的神话猛犸月致敬,最终,>> 更多人会更好。>> 你确实需要更多的人,因为你需要更多的关注,你需要更多的人深切关心他们所做的工作。我认为 AI 当然是一个加速器,它很有帮助。我们团队今天仍然非常小,与许多竞争对手相比,原因在于,我认为我们真正拥抱了那些工具。>> 你的光标商店云代码风帆>> 人们使用他们想要的任何东西>> 是的,所以我认为所有这些工具都在内部使用。到目前为止,我们还没有发现任何 AI 编码工具在 Rust 方面特别好。>> 嗯,我想不知道为什么,除了显而易见的原因,就是没有那么多优秀的 Rust 例子在互联网上。>> 所以,嗯,你知道,>> 是的,你认为,你知道,Rust 错误应该帮助你调试它本身。>> 对。>> 你会认为。>> 显然不是。好的。>> 我在这方面没有任何经验。>> 我为 Temporal 的 Rust SDK 贡献了三件事,这是我与 Rust 的全部经验,但我认为它肯定在上升。它是 Zigg,它是 Rust,>> 我不知道是否有第三个。很酷的语言。>> 我认为是 Golang。>> Golang。是的。>> 幽灵账户。>> 如果你在那个范围内,请联系杰夫。但,否则,我认为我们做得很好。>> 感谢你的到来。>> 感谢你的邀请,伙计们。很高兴见到你。>> 谢谢。 [音乐]