在本集中,Daniel 与 EPAM 首席技术专家 Pavel Veller 坐下来,探讨协调众多 AI 代理和管理与不同系统/工具连接的实际挑战。Pavel 分享了他使用代理架构和内部工具(如“DIAL”)的实践经验。Pavel 还帮助我们了解 MCP 服务器等内容,以及为什么通过 API 连接助手很容易,但让它们发挥作用却很难。特色:Pavel Veller – LinkedIn、X Daniel Whitenack – 网站、GitHub、X 链接:EPAM DIAL SWE-bench 结果
</context> <raw_text>0 欢迎收听 Practical AI,这是一档让所有人都能轻松、高效地使用人工智能的播客。如果您喜欢这个节目,您一定会喜欢 The Change Log。周一发布新闻,周三进行深入的技术访谈,周五则是一档精彩的周末谈话节目。您可以在收听播客的任何地方搜索 The Change Log 找到我们。
感谢我们的合作伙伴 Fly.io。在五分钟或更短的时间内启动您的 AI 应用程序。请访问 Fly.io 了解详情。欢迎收听 Practical AI 播客的另一集。我是 Daniel Widenach,PredictionGuard 的首席执行官。今天我很高兴能与我的嘉宾 Pavel Veller 更深入地探讨……
编排、代理、编码助手,所有这些内容都与我的嘉宾 Pavel Veller 进行了探讨,他是 EPAM Systems 的首席技术专家。欢迎,Pavel。很高兴你来到这里。谢谢。你好,你好。是的,是的。好吧,我的意思是,有很多主题。在我们开始节目之前,我们还在后台聊了一些非常有趣的事情。我想知道你是否可以
只是为我们设定一下水平,人们可能听说过也可能没听说过 EPAM。我认为我看到你们正在从事的一项工作是这个 Gen AI 编排平台 Dial。在我们深入探讨一些关于该平台和其他您感兴趣事项的细节之前,也许先给我们一个
背景介绍,你知道,什么是 EPAM。我知道你在我们的讨论中提到,你目前正在做的一些事情,可能在几年前甚至是不可能的。因此,事情正在迅速发展,只是设定一下,呃,你正在工作的这个领域的背景。当然。是的,是的。所以 EPAM 是一家专业服务机构。我们是全球性的。我们在 50 多个国家/地区开展业务。
全球有 50,000 人与客户合作。我认为,到目前为止,我们已经存在了 32 年。正如您所想象的那样,我们做了很多不同的事情。我刚才提到的那些在过去不可能做到的事情,现在借助 Gen.ai 就可以实现了。我们为自己的客户做了很多工作。我们也为自己做工作。
应用相同的技术,因为 EPAM 公司历来一直运行的是我们自己构建的软件。其理念始终是,那些不会让您与众不同的东西,例如会计软件或 CRM,您可以去购买现成的产品。
那些让您与众不同的东西,我们实际的工作方式、运营方式、项目执行方式、招聘方式、团队创建方式、团队部署方式,所有这些软件自 90 年代后期以来一直都是我们自己的。
我们不断迭代我们自己的软件。而如今的软件在很大程度上是 AI 优先的。我们所做的许多事情都是通过 AI 来完成的,而且确实如此,因为目前存在的 AI 就是这样的。有趣。是的,而且,我想,如何……
我认为,当我们最初被促使与您联系时,部分原因是围绕着这个编排平台。因此,也许可以大致谈谈,不一定非要谈论该平台本身,尽管我们会谈到这一点,但只是谈谈 Gen AI 编排。您谈到了这些正在成为可能的事情。编排在其中扮演什么角色?您所说的编排是什么意思?
你可能想到了 Dial。你可以在谷歌上搜索它。作为一家公司,我们通常会进行大量的应用创新,而这是应用创新于 AI 的一个很好的例子。对 Dial 的最佳理解方式是……
你们都知道 ChatGPT,对吧?ChatGPT 不是大型语言模型 (LLM)。它是一个连接到大型语言模型并为您提供某些功能的应用程序。它可以像只是聊天和提问一样简单。它可以更复杂一些,上传文档并与之对话,例如与我的文档对话。当您开始将自己的工具连接到它时,它甚至可以更复杂,对吧?我们看到我们的客户……
不仅这样做,而且还希望为他们自己的业务流程提供类似的东西。而这个编排引擎就变成了,我该如何做到这一点,这样我就不会有 20 个不同的团队在他们自己的孤岛中一遍又一遍地做同样的事情?我该如何将我的团队、他们的 EI 以及他们的想法和成果连接到一个整合的生态系统中?
这很可能是因为 Gen AI 以及我们可以通过对话和文本做的事情,它变得有点像对话优先。您可以将其视为对话优先的应用程序混搭,几乎是吧?就像您说话、表达问题一样。返回的不仅仅是答案。也许返回的是 UI 元素、您可以单击的按钮、您可以填写的表单、您可以做的事情,以及代理自动为您完成的事情。
因此,从这个意义上说,Dial 是——顺便说一句,它是开源的。你们也可以去查看、下载和使用它。但它是一个类似 ChatGPT 的对话应用程序,具有许多超越其功能的功能。我们有 Dial 应用程序。
它们早于 MCP,但其理念是……因此 Dial 本身有一个契约,一个您实现的 API。您基本上会返回一个可以接收用户提示的流式 API。无论您做什么,您都会这样做。您会带着……返回 Dial。
不仅仅是文本,它是一个功能更强大的有效负载,带有 UI 元素、交互式元素以及 Dial 将向我(用户)显示以继续我的交互的内容。Dial 成为公司如何构建、实施、将 AI 集成到这个单一入口点的一种中心。
然后 Dial 就……从第一天起,Dial 就是一个负载均衡模型无关代理。因此,每个模型、每个部署都有限制。每分钟的令牌、每天的令牌、每分钟的请求,无论什么。如果您是一个拥有大型不同工作流程的大型组织,您的 AI 需求很可能会远远超过单个模型部署。
您可能希望跨多个模型进行负载均衡。然后,您可能希望尝试不同的模型,理想情况下对您(消费者)来说 API 是一样的。因此,Dial 从那时起就开始了,从负载均衡、模型无关、代理、单一入口点开始。我们可以记录组织中提出的所有内容。我们可以单独对这些内容进行分析。
因为了解您的团队试图解决什么样的问题非常有帮助。然后它演变成这个应用程序托管生态系统。现在它显然正在向 MCP 可以带来的方向发展,因为现在您可以通过 MCP 连接更多的东西。因此,我认为它现在已经吸引了 20 多个客户。
所以只是几个后续问题。它在新闻中出现很多,但为了让大家理解,如果他们可能没有看到它,您指的是 MCP,以及它与您正在启用的某些 API 接口有何关系?最简单的方法是谷歌搜索它。你可以谷歌搜索它,你会找到它的。它在云端。是的。
让我告诉你我是如何看待这个问题的。这很有帮助。是的,是的。我认为用非常简单的术语来说。因此,MCP 允许将现有的软件世界连接到大型语言模型。在某种程度上,想想看,我不想夸大其词,因为它还不是全球标准或任何东西。还为时过早,非常非常早。已经几个月了,对吧?是的。
但是,假设,HTML 和浏览器以及 HTTP,它们使我们所有人能够连接到世界各地的软件。MCP 也是如此,但对于大型语言模型而言。因此,今天,如果我想能够提示我的应用程序(位于大型语言模型的前面)使用其他工具来执行操作,例如……
我想让它能够根据我的提示搜索文件系统并查找文件和文件中的某些内容,对吧?所以我的应用程序需要能够做到这一点。我的选择是什么?我可以编写该函数。然后我可以告诉我的大型语言模型,嘿,如果你想调用它,这里有一个你可以调用的函数。我会为你调用它。太好了。这是一个函数。如果我需要做其他事情怎么办?我想去与我的 CRM 系统对话并从中获取一些内容。我将编写该函数。
如果我要编写所有我能想到的函数,这可能需要我数年时间,甚至可能需要数百年的时间。因此,相反,我今天可以这样做,我可以说,嘿,我的大型语言模型应用程序,你能谈谈协议吗?因为有一个名为 MCP 的协议。我将为您提供其他人构建的 MCP 服务器。对于我的 CRM 系统、我的文件系统、我的 CLI,所有内容都有 MCP 服务器。IntelliJ 将自身公开为 MCP 服务器。
执行 IDE 可以执行的操作。现在您可以通过大型语言模型来编排这些事情。因此,您通过大型语言模型前面的 MCP 客户端将所有相同的 CP 服务器连接到大型语言模型,将工具公开给大型语言模型。大型语言模型现在可以要求客户端调用工具,并通过相同的 CP 协议,客户端调用服务器。服务器执行已在该服务器中编写的函数,然后大型语言模型获得结果。
因此,这是三个月前不存在的连接组织。三个月前,每个人都在编写自己的代码。而现在,据我所知,每个人都在编写 MCP 服务器,而那些与大型语言模型对话的人则使用 MCP 服务器。
是的。也许再举个例子,我喜欢你刚才举的关于搜索文件系统的例子。为了扩展人们对一些可能性的理解,您在 Dial 中看到的一些被编排的东西是什么,一般来说?这些东西是什么?让我给你一个
更高级别、更有成效的例子。好的。我们有自己的代理开发人员。它被称为 AI/运行代码我。因为 AI/运行有多个不同的代理系统。CodeMe 特别面向编码。我们还有其他面向 SDLC 工作流程其他部分的系统。顺便说一句,你们可以访问 SWE bench 并查看已验证列表,并且
我相信 CodeMe 目前排名第五。它是所有为解决开源缺陷等问题而竞争的代理商中的第五名。因此,CodeMe 作为一个代理系统,其中包含许多不同的助手。Dial 作为通用的前门,作为 ChatGPT,希望能够在您与 Dial 交谈时为您运行这些助手。
在 MCP 之前,它实际上无法做到这一点,除了,嘿,CodeMe,为你的所有助手实现一个 API。让我学习如何调用你的所有 API。现在的情况是,嘿,CodeMe,给我一个你的 MCP 服务器,这就是他们所做的。Dial 作为 MCP 客户端现在可以连接到所有 CodeMe 功能、所有助手,以及
将它们作为工具公开给大型语言模型并为我编排它们。因此,我进入聊天,我要求某些东西,某些东西包括阅读代码库并进行架构草图或建议或评估,对吧?大型语言模型将要求 CodeMe 助手去阅读该代码库,因为 CodeMe 中有一个功能可以做到这一点,而 Dial 只需要编排。
但不需要从头开始重建或构建。这就是这个想法。这是一个例子。是的。你能谈谈吗?我问一些自私的问题,因为有时我会被问到这些问题,我总是很好奇人们是如何回答这些问题的。因此,我经常被问到的关于这个主题的一个问题是,好的,我有工具或函数或助手一。
然后我有助手二。然后我有一些,对吧?在它们之间进行路由相当容易,因为它们非常不同。
但是现在想象一下,好的,现在我可以调用一千个助手或函数或其他什么东西,或者以后是一万个。随着您扩展可以执行的操作的空间,这种缩放和路由是如何实际影响的?所以我想,再说一次,我不知道,而且我不知道,但是我认为……
这仍然是秘诀。在某种程度上,这就是为什么 SWE bench 中会有所有这些编码代理的原因。它们都使用 CloudSonic 3.5 或 CloudSonic 3.7 或 GPT-4.0。大型语言模型是相同的。然而,结果显然是不同的。有些得分比其他得分高 10 分。
您访问 Cursor、IDE Cursor,向它询问某些内容,它会执行某些操作。您将模式切换到 max。他们最近引入了。Cursor 在 Sonnet 3.7 上,现在在 Gemini 2.0 上,我认为他们有一个 max 模式,它是按次付费的,而不是他们通常的月度计划。
因为 Max 将进行更多迭代,将花费更多令牌,将更昂贵,很可能会运行更复杂的提示和工具编排等等,以提供更好的结果。因此,您如何为您的大型语言模型构建选择金字塔,您如何……因为是的,您不会询问大型语言模型,您不会为它提供一千个工具。
如果您作为人类查看一千个选项,并且您迷失了自己,您知道,其中一百个选项,我,再说一次,我不知道。我希望大型语言模型也会有同样的,哎呀,不知所措的效果。您不想为它提供一千个工具。您想给它分组。你想说,嘿,你知道,选择一个组。然后在其中,所以您基本上想这样做,就像一个金字塔,就像一棵树,对吧?
但是您如何构建它,如何提示它以及如何执行此操作,现在这仍然取决于您。这是连接 MCP、它本身拥有的工具、用户提供的提示、系统指令以及大型语言模型可以构建的一些思维链的应用程序。这将是一个非常有趣的平衡。您要求大型语言模型构建什么?
有多少步骤的排序将掌握在您的手中,以及您将委托给大型语言模型并要求大型语言模型提出步骤序列的多少。从我过去一年看到的来看,最好将更多内容委托给大型语言模型,因为它们在这方面做得更好。因此,您自己控制的序列越多,就越……
变得不灵活,您最好委托给 LAMP,但您不希望它只从一个提示中就能弄清楚。Daniel,如果需要的话,我可以给你我一开始举的那个关于失败的例子。是的,请说。所以我使用 AI。所以我用 AI 构建,对吧?但我还将 AI 用作开发人员。所以这些天我的主要 IDE 是 Cursor。
我使用我提到的 AI/运行代码我。随着新工具的出现,我会尝试使用其他工具,例如云代码等。但我还会记录我的操作。为我的 EPAM 工程师受众录制一些简短的视频,时长为 5 到 10 分钟,让大家看看我正在做什么,学习我的做法,尝试以同样的方式思考,尝试复制,开始使用 AI。所以我开始执行一项任务。我想记录……
我想在记录中提高生产力,使用计时器。我的计划是,我将估计需要多长时间,宣布,例如两个小时,使用代理来完成。当代理正在思考时,我总是会暂停我的视频,因为这是一个无聊的步骤。但是计时器会继续计时。最后,我将达到,例如,一个小时,也许 40 分钟。就是这样,这就是生产力提升。在 30 分钟内,我完全失败了。
我不得不放弃大型语言模型和代理为我编写的所有内容,并从头开始。我的问题是我提示过多。我认为我知道我希望代理做什么。有三个步骤,例如复制此内容、编写此内容、重构此内容,然后就完成了。它做到了。它迭代了 10 分钟。这是我们拥有的 CodeMe 代理开发人员。
当我放弃它并自己开始做的时候,我做了一半,停了下来,意识到另一半是不需要的。我要求这样做很愚蠢。因此,正确的方法应该是迭代,完成前半部分,停止,重新思考,然后决定下一步做什么。但是代理被指示要一直走下去。所以它一直走下去。
这也是关于 1000 条指令的事情,对吧?您不希望要求代理执行您认为知道的事情,但只有在您迭代时才会真正知道。
在这些情况下也是如此。所以就像我发现您在平衡如何提示它、代理走多远方面的经验一样,这是一种直觉,您正在学习。有趣的一点是,我们刚刚采访了……Kyle……GitHub 的首席执行官,我们正在谈论代理和编码助手,
他的想法之一也是围绕着生成一些代码后的编排,对吧?创建项目、创建新事物是一回事。但是,你知道,大多数软件开发都在这一点之后发生,对吧?我很好奇,作为每天都在试用这些工具的人,作为您的日常驱动程序并使用这些工具,
我认为人们心中想到的是,哦,酷。就像我可以进入这个工具,生成,你知道,一个新的项目,也许无论是什么,你知道,你总是看到创建新视频游戏或任何东西的演示。对。但最终,就像我有一个非常庞大的代码库一样。对。我随着时间的推移一直在维护它。我,
大部分工作都在运营方面。因此,根据您对这套工具的经验,您的学习成果是什么?有什么见解吗?关于这方面的发展方向有什么想法吗?特别是对于,我敢肯定,您与拥有大型代码库的客户一起处理的现实世界用例,对吧?好吧,太好了。我很高兴你问这个问题。
因为我做的实际上是后者的方面。我有一个包含大约 20 个不同事物的 monorepo,这些事物本来可以是它们自己的单独存储库。所以我有一个大型代码库,我用它来工作。我实际上看到我们自己的开发人员代理偶尔会卡住
因为它试图读取太多内容,并且它只是在令牌、限制以及它每分钟或每小时可以执行的操作方面卡住了。所以这是一件事。但是我发现自己使用 Cursor 时会非常积极、非常频繁地指出这一点,因为我希望它在某些特定情况下使用这些文件。我只会将文件指向它,我会询问,我会根据这三四个文件的内容提示它,这限制了它将要扩展的范围。
但是,回到你的问题。对我来说,这与代码库关系不大。我认为这不会……好吧,也许如果我做一些新奇有趣的事情,它会编写它,我会运行它,如果它有效,那就是我所需要的。就像,它是正确的,它有效,太好了。今天,这仍然是一种思维转变,这仍然为时过早,我仍在寻找和思考我用我的代理编写的代码库,这将由其他人支持,可能使用代理,但仍然是人。
因此,正确本身还不够好。我希望它在美学上是一致的。我希望它遵循相同的模式。我希望它对在我之后进入的我的其他开发人员有意义。我希望它就像是我编写的代码,或者至少是我编写的代码。这显然会让我慢一点,我确定。但另一件事是,我就是瓶颈。代理需要几分钟才能……
如果不多的话,就是个位数分钟,才能吐出它吐出的任何东西,而且通常在代码库中它不是单个文件,而是在多个地方进行编辑,然后我必须进入并阅读它,这就是区别,当我编写自己的代码时,我的大脑有一个时间线,我在打字时、我在思考时、我在……我知道我是如何到达我所到达的地方的
我可能会决定这是胡说八道,你知道,放弃从头开始。这种情况会发生。我们都是开发人员。但我知道我是如何到达我所在的位置的。当我查看代理为我生成的内容时,我不知道它是如何到达我所在的位置的。我需要反向工程。就像为什么?它做了什么?这需要时间。我尝试过录制它。
我做不到,因为我不能一边思考一边说话。这就是瓶颈,字面意思。所以这就是瓶颈。另一件事是,当我用计时器制作那个视频时,我有点,我期待某些结果,但我也知道,如果它有效,我会在最后说。我会说,伙计们,看,它花了我 20 分钟,比如说 30 分钟,一个小时。所以是 2 倍,对吧?从字面上看是 2 倍的生产力提升。太棒了,不是吗?
但问题是。在我花费的 30 分钟内,我花费在批判性思考上的时间百分比比平时要高得多。我花费在做样板上的时间百分比要低得多,因为代理做了这些。我确实批判性地思考了要问什么,如何提示,然后分析它做了什么,思考下一步做什么。我是否要编辑?我是否要重新提示?我能维持这个吗?
全天保持相同的批判性思维比例才能达到一天中的 X?我可能做不到。
所以可能会发生什么,我会达到 X,但我将在两者之间使用代理工作来做其他事情。我的一天可能会被分解成更多的小部分。我的整体日生产力可能会提高。我可能会并行做更多的事情。也许我会做一些研究。也许我会回复更多电子邮件,对吧?但这也会更混乱,也可能更费力。
我认为我们还没有学习。我认为我们还没有足够的经验。我认为很多人还没有谈论这个问题。人们谈论这个,“哦,我的上帝,看看我用代理构建了什么。”我想知道他们将如何谈论他们使用代理工作了六个月,以及他们使用代理工作的六个月如何比没有代理工作的六个月更好,以及他们在一天结束时的感受。想想在区域内。
对吧?我希望我们所有工程师都喜欢,你知道,断开所有电子邮件,无论如何,打开音乐,你的 IDE 在你面前,你专注于它大约两个小时。使用代理,你根本做不到。你提示一个代理……
它开始做一些事情。你做什么?是的。你喜欢拿起你的手机,然后你的生产力提高了,你的屏幕时间也提高了?这不是一个好主意。你能做什么?就像,在这 1 分半或 3 分钟内你做什么?而且你不知道要多久,对吧?好吧,你可以看到结果即将出现,但代理仍在旋转。它仍在旋转。就像,
所以对不起,这是一个很长的答案。是的。但这就是我一直在思考的事情,就像不断地思考一样。这就是我还没有答案的问题。是的。但我真的希望最终通过实验、记录和思考,至少能弄清楚它对我意味着什么,因为我甚至还不能告诉你它对我意味着什么。是的。是的。我的意思是,我昨天也经历过这种情况,因为我,我
我正在为投资者准备各种东西。嗯,你知道,更新一些竞争性……分析,以及……诸如此类的事情。而且,你知道,我,我,我只是,当你拥有无论是什么,我认为是 116 家公司,我就像,哦,我要更新所有这些公司的所有这些东西。就像我,
显然,我将使用 AI 代理来执行此操作。这不是我想手动执行的操作,是输入所有这些内容并搜索网站。所以我做了。但正如你所说,这就像我可以弄清楚如何完成一部分工作并使其运行。然后我看到它正在运行,我意识到这将花费无论多长时间。10 分钟或任何时间范围。然后你从那里切换到其他内容。
对我来说,我认为是电子邮件或其他什么。我想,哦,这将运行。我要去回复一些电子邮件或其他什么,这在某种程度上是有成效的。但后来我不得不重新切换上下文。是的。就像,哦,为什么我要输出所有这些东西?或者,你知道,碰巧的是我没有查看输出。对。在一个例子中,当我运行它时,我想,哦,好吧,我确实应该有这个输出,这个列或这个字段。但我
之前没有想到这一点,而且我没有查看,因为我从代理转向了电子邮件,对,所以我认为这是一个非常有趣的问题集,更像是一种新的……是的,这是一种新的工作方式,还没有被解析出来,对,我试图不去做,但我试图,然后你闲坐着,你真的闲坐着,它就像……而且它
感觉不好。感觉就像,哦,我的上帝,为什么我什么也没做?是的,这是一个有趣的动态。可以肯定的是。而且我确实看到了……
在本集中,Daniel 与 EPAM 的首席技术专家 Pavel Veller 坐下来,探讨了协调众多 AI 代理和管理与不同系统/工具连接的实际挑战。Pavel 分享了他使用代理架构和内部工具(如“DIAL”)的实践经验。Pavel 还帮助我们了解了 MCP 服务器等内容,以及为什么通过 API 连接助手很容易——但让它们发挥作用却很难。特色:Pavel Veller – LinkedIn、X Daniel Whitenack – 网站、GitHub、X 链接:EPAM DIAL SWE 基准测试结果
</context> <raw_text>0 展示的人,你知道,让多个代理同时处理不同的项目。当我看到有人用两个屏幕,到处弹出东西时,我,你知道,我的大脑无法监控所有正在发生的事情。首先,这肯定非常费力,其次,代理的一半合并请求、拉取请求将是
比如说,低于标准,你会感到沮丧。你会想,伙计,我自己早就做得更好了。这是什么?从情感上来说,这是一种非常不同的工作方式。是的。我确实,我不能,好吧,我一直认为,我不能忘记。我还建议人们考虑,不仅仅是考虑生产力提升,不仅仅是考虑将任务委托给代理并享受成果,而是
想想它如何改变你一天的动态以及你事后如何看待它。对。是的,是的。这很有趣。我知道我们正在兜圈子。有趣的讨论。但我确实想确保人们能够找到你使用 dial 所做的一些事情。你提到了这其中的开源部分。
从用户的角度来看,需要什么才能启动并开始测试它?对于那些有兴趣尝试该项目某些内容的人来说,你会告诉他们一个起点以及启动和运行这样的系统是什么样的过程吗?我实际上不确定我能不能说。对于 Dial 本身,我没有……
没有人运行本地 Dial。这不是你在本地运行的东西。明白了。这是你在组织中集中运行的东西。规模可能不同,但你会将其暴露给……
是的,是的。
如果你查看像全球雪花这样的分析数据,他们今天都有类似的东西,比如你正在使用的语义层。然后通过语义层,通过提示和一些查询转换以及与数据仓库和数据湖的连接器,你可以与你的数据进行聊天,例如分析报告、图表、表格等。
所以我们构建了它。这被构建到 Dial 中。所以你去 Dial。然后,再次想象一下 ChatGPT。想象一下 ChatGPT,它允许你选择你与之交谈的模型,对吧?不仅仅是 OpenAI 模型,还有所有其他存在的模型,以及应用程序。所以去这个 ChatGPT,在我们的例子中是 Dial。你选择这个 DataHeart AI,我们称之为,这就是我们与数据交谈的方式。然后你开始与它交谈。
这仍然是你的 Dial 体验,但你实际上是在与一个应用程序交谈,然后该应用程序与语义层交谈,然后它根据你的问题构建查询,运行它们,获取数据,在 Dial 中将其可视化,因为 Dial 具有所有这些可视化功能。我解释了它不仅仅是返回文本。
构建你的图表,你可以与它交互,但是再次强调你不会在本地运行 dial,是的,如果你想探索它是什么,我希望如果你去,我认为是 rail-epam.com,r-a-p-m-rail,是的,甚至是 dash rail.com,谢谢你,你会阅读它是什么,你会找到所有链接,希望是关于如何,你知道的文档
但是,我们合作的大多数公司都想要的不只是,“嘿,我们如何安装它?现在我们想用它来构建。”这就是我们提供专业服务的地方。我们可以为他们的 dial 构建东西。
这样他们就可以在他们的上下文中、使用他们的数据、使用他们的工作流程以及他们对可以和不可以做的事情的限制来进行对他们有意义的 AI,等等等等。是的,我想知道……
对于这种,如果你考虑一下这个底层应用程序或助手的集合,我想知道,因为你显然在这个领域工作了一段时间,你对这方面有什么见解或经验教训吗?
一些简单的成功案例,你知道,可以连接到这种编排层或可能更具挑战性的底层功能或代理,你在开发和使用这些东西方面随着时间的推移学到的东西。
你知道,你可以强调的一些事情,例如,简单的成功类型和一些事情,我的意思是,你提到了围绕一些尚未解决的问题的工作流程,但更多的是关于编排层和函数调用,你知道,在挑战领域或你认为未来有趣探索的一些尚未解决的事情方面,有哪些?
让我想想。所以,因为我的第一个想法是,所以你问的是将工具和函数连接到 LLM,哪些函数或哪种类型的连接更容易?是的,是的。目前有什么超出范围或更具挑战性的吗?或者对于这种开发底层函数或工具的模式来说,它是否公平?我猜这是你在助手里能构建的任何功能。但是,是的,这种开发底层函数或工具的模式有什么局限性或挑战?我明白了。所以这是一个双重答案。如果你考虑技术方面,例如我如何构建一个执行 X 的工具,那么复杂性实际上在于 X。是的。
如果你想查询数据库,那有多难?好吧,不难,对吧?我的意思是,如果你有一个查询,你可以运行它,然后获取结果返回,那么数据库的连接并不难。使其在用户提示和对话的上下文中变得有用并使结果变得有用则要困难得多,对吧?
我有这个,所以我正在运行一项服务。它实际上有一个名为 api.epam.com 的公共网页。这是我们自己的。所以你不会真正超过首页,但你会理解它是什么。这是我们团队构建的一组 API,它公开了大量数据。记住我说过 EPM 运行在内部软件上吗?所以所有这些应用程序,它们将其数据和事件流到一个全局数据中心。想想大型、大型、大型 Kafka 集群。
但那是 Kafka,所以你可以作为 Kafka 消费者从中读取数据。但如果你想要更现代的 API 搜索、查找、这个、那个,所以我们有一个 API 服务,所有数据。今天有人来找我说,嘿,你听说过 MCP 吗?我说,是的,当然听说过。你们为什么不为 api.repam.com 构建 MCP 呢?我的回答是,构建很容易。api.repam.com 使用 RSQL。
我可以构建一个服务器,它将接收你的查询,创建我们的 SQL,LLM 将能够轻松地做到这一点,运行它,返回数据。但我说了它不会有用。
因为这是单一数据集 API。你的问题可能是分析性的。你可能想问一些期望我按月、这个、那个、那个进行汇总并给你一个类似的东西的问题,这与众不同。所以你问我关于 API 的 MCP,很容易做到。
使其对你的实际用例有用则要困难得多。我可能需要做的不仅仅是将工具连接到 LLM。我需要理解你正在问什么,找出所需的编排,可能是自定义应用程序,也可能是其他东西。然后你开始遇到身份验证、遗留应用程序以及所有其他障碍。
在某种程度上,与你的数据交谈是我们构建的一个惊人的原型。我有一个关于这个的视频。但我们停了下来,因为我们清楚地意识到要使其达到实际……的难度有多大。因为我们想做的事情,我们设想我们可以做的事情是使分析民主化。所以你不必去分析团队,让他们为你构建一个新的 Power BI 报告。
然后他们花一周时间这样做。你只需进入 Dial 并说:“嘿,给我看看这个、这个、这个和这个。”是的,从技术上讲我们可以做到,但是能够对你可以问到的关于我们数据的所有类型的问题做到这一点,这是一件更难的事情。
是的。而且,是的,正如你所说,底层系统可能在分析相关的用例中存在局限性,我们在与客户的合作中遇到了这种情况。你知道,我经常会问这个问题,你知道,
嘿,如果你将这个数据库模式或任何东西交给一个受过合理教育的大学实习生或任何东西,然后你问……
根据这个自然语言查询,哪些列与查询相关,你知道,你可以很容易地挑出来,好吧,我查看所有这些列,我有字段 157 和自定义下划线新下划线字段,你知道,对于刚开始的人来说,不可能知道任何关于它的信息。所以这并不是对可能性的限制。
正如你所说,在技术方面,更多的是,你知道,你并不总是为成功做好准备,就像你提到的那样,在效用方面。对于数据,这就是语义层发挥作用的地方。所以如果你有你的列、你的表的描述以及业务含义,那么将该语义层与一些数据样本连接到 LLM 将允许它编写查询
你认为不可能编写,因为它在没有语义层的情况下是不可能的,它可以用业务术语、提问的语言来解释你拥有的数据。这就是我们能够进行这种与你的数据分析交谈的原因。是的。好吧,我知道……
我们讨论了很多事情。我认为你可能在你的 EPAM 客户以及你自己的 Dial 和其他实验中看到了大量的用例。我想知道当你晚上躺在床上或任何时候都在思考人工智能的未来时,或者它一直都在,或者它不是在晚上。但是,是的,当你
看到正如你所说,将它一直带回到一开始,你看到现在可以做的事情,即使是六个月前、一年前,无论是什么,你知道,这是不可能的。
不可能的,什么对你来说最令人兴奋或最有趣的事情,看看它在接下来的六到十二个月中是如何发挥作用的,什么一直萦绕在你脑海中的事情,事情的发展方向听起来像,你知道,我们如何使用这些工具是其中之一,我们已经讨论过一点了,但还有什么对你来说是令人兴奋的或
在你看这些事情如何发展方面令人鼓舞?我的答案可能会让你感到惊讶。当我想到它时,我不认为或预料到会有任何新的伟大成就出现。我实际上大多是担心。我担心是因为我知道我的思维是线性的。像我们大多数人一样,即使回顾过去,我们也知道技术一直在呈指数级发展,
我们预测未来并思考接下来会发生什么的能力是线性的。因此,我不太可能正确地预测并做好准备,然后期待并等待即将发生的事情。我肯定会被惊喜。我想和其他人一样,我会尽我所能坚持下去,以免掉下来。
所以我担心看到进入壁垒如何提高。今天,对于初级人员来说,进入这个领域变得更加困难。当我被问到我推荐人们关注的技能,以便更好地为未来做好准备时,我总是用同样的东西来回答。我总是说基础知识,然后是批判性系统思维。
你可以阅读很多关于基础知识的内容,但只有当你亲自使用它们时,你才能真正掌握它们,而不是当其他人为你使用它们时。而没有它们很可能会限制你无法正确地策划和协调所有这些强大的 AI 代理。当它们变得如此强大,以至于不需要你策划和协调它们时,那么它会对作为工程师的你产生什么影响呢?
也许这不是正确的想法,但这就是我晚上想到的,就像你问的那样,当我想到人工智能和即将发生的事情时。作为一名工程师,我很兴奋。我喜欢使用所有这些。我只是不知道它将如何重塑行业以及它将在未来几年如何改变我的工作。
是的,我认为即使与你一起讨论我们一直在做的关于代理的工作,这也在我们自己的脑海中引发了很多问题,什么是围绕这个问题的正确工作方式。我认为将会出现一个,你知道,这是一个广泛关注的问题,人们将不得不应对。我认为这是非常有效的,而且,呃,我们将非常有兴趣看到它如何发展,并希望你能再次来到节目中,呃,在六到十二个月内分享你的经验教训,呃,它对你来说是如何发展的,呃,对你来说是如何发展的。非常感谢你的加入。这是一次很棒的谈话。非常感谢你。很高兴与你交谈。
好的,这就是我们本周的节目。如果你还没有查看我们的 ChangeLog 时事通讯,请访问 changelog.com/news。在那里你会发现 29 个理由,是的,29 个理由说明你应该订阅。
我会告诉你第 17 个理由,你实际上可能会开始期待星期一。听起来有人得了星期一的病。changelog.com/news 上还有 28 个理由在等着你。再次感谢我们 Fly.io 的合作伙伴、Breakmaster Cylinder 的节拍以及你的收听。现在就到这里,但我们下次再聊。♪