日前,人工智能初创公司LangChain的创始人Harrison Chase在一次由来自红杉资本的Sonya Huang及Pat Grady主持的播客访谈中,就智能体(Agents)的发展现状、挑战及前景,阐述了一系列观点和看法。
Harrison表示,智能体指的是让大型语言模型在应用程序的控制流中进行决策。他预计,下一波人工智能浪潮可能会由智能体主导,整个行业正从辅助模式向智能体模式转变。尽管第一代自主智能体架构如AutoGPT曾引起极大关注,但在实用性方面仍有不足,难以满足企业级需求。
针对这一问题,Harrison认为通用的认知架构(如规划、反思)和定制的领域特定认知架构并存发展是解决之道。认知架构就像是大型语言模型应用程序的系统架构。这些认知架构有望帮助解决早期智能体在规划、完成任务、判断任务完成情况等方面的困难。其中,规划和反思被视为当前较为流行的通用认知架构。
展望未来,Harrison认为随着智能体的发展壮大,它们可以自动化大量重复性工作,从而让人类专注于更具创造性或更高效的工作。目前来看,客户支持和编程是智能体相对较为成熟的应用领域。
以下为本期内容目录:
01 什么是智能体
02 智能体中的认知架构
03 智能体发展的未来想象
04 仍待解决的现实问题
Sonya Huang:智能体(Agents)是目前大家都非常感兴趣的话题。自从大语言模型(LLMs)浪潮开始以来,你一直处于智能体构建的核心位置。为了让大家更好地理解,什么是智能体呢?
Harrison Chase:我认为定义智能体其实有点棘手,每个人可能有不同的定义,毕竟这仍然是大语言模型和智能体相关事物的早期阶段。
在我看来,智能体就是让大语言模型在应用程序的控制流中进行决策。如果你有一个更传统的检索增强生成链(RAG链),步骤通常是事先确定的。首先,你可能会生成一个搜索查询,然后检索一些文档,接着生成一个答案,最后返回给用户。这是一个非常固定的事件序列。
当我想到开始变得具备智能体特性的东西时,它是指你将大语言模型置于中心位置,让它决定具体要做什么。所以也许有时候它会查找一个搜索查询,其他时候它可能不会查找,只是直接回应用户。也许它会查找一个搜索查询,获取结果,再查找另一个搜索查询,再查找两个搜索查询,然后再回应。所以你有了大语言模型来决定控制流。
我认为还有一些其他的流行词汇也与此相关,比如工具使用通常与智能体相关联,我认为这很合理,因为当你有一个大语言模型来决定做什么时,它主要通过工具使用来决定。所以我认为这两者是相辅相成的。记忆也是通常与智能体相关的一个方面,我认为这也很有道理,因为当大语言模型决定做什么时,它需要记住之前做了什么。所以工具使用和记忆是松散关联的。但对我来说,当我想到智能体时,它就是让大语言模型决定应用程序的控制流。
Pat Grady:Harrison,从你刚才所说的很多内容来看,都是关于决策的。而我一直认为智能体是关于行动的。这两者是否密不可分?智能体行为更多是关于决策还是行动?你怎么看这个问题?
Harrison Chase:我认为这两者是相辅相成的。我们看到智能体做的很多事情都是决定采取什么行动。而采取行动的最大难点在于决定采取什么正确的行动。所以我确实认为解决了一个问题自然会引出另一个问题。在你决定采取的行动之后,通常会有一个围绕大语言模型的系统,然后去执行该行动并将其反馈给智能体。所以,我认为它们确实是相辅相成的。
Sonya Huang:那么,Harrison,看来智能体和链条(Chain)之间的主要区别在于大型语言模型本身在决定下一步采取哪些步骤、执行哪些操作,而不是像链条那样事先进行编码。这种区分智能体的方式是否公正?
Harrison Chase:是的,我认为这是正确的。而且还有不同程度的渐变。例如,作为一个极端例子,你可以有一个基本上决定走哪条路径的路由器。所以你的链中可能只有一个分类步骤。所以LLM仍然在决定做什么,但这是一个非常简单的决策方式。另一个极端是完全自主的智能体。这中间有如同光谱一样的程度变化。所以我说这在很大程度上是正确的,尽管正如LLM领域中的大多数事情一样,这里有很多细微差别和灰色地带。
Sonya Huang:明白了。所以有一个从控制到完全自主决策和逻辑的光谱,其他的都在智能体的光谱上。很有趣。你认为LangChain在智能体生态系统中扮演什么角色?
Harrison Chase:我认为我们目前的重点是让人们能够轻松地创建位于这个光谱中间的东西。由于各种原因,我们看到这是目前构建智能体的最佳位置。所以我们看到一些更完全自主的东西引起了很多兴趣,并迅速推出了原型,这些完全自主的东西有很多好处,实际上相对简单构建,但我们也看到它们经常偏离轨道,人们想要更受约束但比链更灵活和强大的东西。因此,最近我们关注的很多是成为这个协调层,支持这些智能体的创建,特别是这些位于链和自主智能体之间的东西。
我可以详细解释我们在这方面具体做了什么,但总体而言,我们想成为这个协调框架的一部分。
Sonya Huang:明白了。所以有链,有自主智能体,中间有一个光谱。而你们的优势点是中间部分,使人们能够创建处于中间状态的智能体。
Harrison Chase:显然,这随着时间的推移发生了变化。回顾LangChain的演变是很有趣的。当LangChain首次推出时,它实际上是链的组合,然后我们有一个类,这个智能体执行类,基本上是这个自主智能体的东西。我们开始在这个类中添加更多的控制,最终我们意识到人们想要比我们通过那个类提供的更多的灵活性和控制。
所以,最近我们在LangGraph上投入了很多精力,这是一种LangChain的扩展,专门针对可定制的智能体,位于中间位置。因此,我们的重点随着领域的发展而演变。
Sonya Huang:我想再问一个为讨论做铺垫的问题。我们核心观点之一是,下一波浪潮的人工智能将由智能体主导,并且整个行业正从副驾驶(Copilot)向智能体过渡。您是否认同这种观点?为什么呢?
Harrison Chase:总体而言,我同意您的观点。之所以如此令我兴奋的原因在于,副驾驶仍然依赖于人类参与整个循环。因此,外部系统可以完成的工作量在某种程度上存在上限。从这个意义上来说,副驾驶的功能有些局限性。
我确实认为,在正确的用户体验和人类-智能体交互模式方面还存在一些非常有趣的问题需要思考,不过我认为这些互动模式应该更像是智能体执行操作,然后偶尔向您确认,而不是像副驾驶那样一直处于循环之中。我只是认为,让智能体完成更多任务可以带来更大的效力和杠杆作用,这听起来似乎有些矛盾,因为放任智能体自主执行操作的越多,它出错或偏离轨道的风险就越大。因此,我认为找到正确的平衡将非常有趣。
Sonya Huang:我记得在2023年3月左右,有一些自主智能体真正吸引了大家的想象力。Baby AGI和其他GPT项目,这些在推特上引起了极大的兴趣。但是,我觉得那第一代的智能体架构并没有完全达到人们的预期。你认为这是为什么?你认为我们现在处于智能体炒作周期的哪个阶段?
Harrison Chase:是的,我认为可以先讨论一下智能体炒作周期。我认为AutoGPT肯定是一个起点。它可能是有史以来最受欢迎的GitHub项目之一,所以它代表了炒作周期的一个高峰。我会说,这个高峰始于 2023 年春季,差不多持续到 2023 年夏季。然后从夏末到2024年初,我个人感觉有点像是一个低谷或下降趋势。不过,从 2024 年开始,我们逐渐看到一些更贴近现实的案例上线。举个例子,我们在LangChain与Elastic合作,他们有一个在生产中的Elastic助手和智能体。我们还看到Klarna的客户支持机器人上线并获得了很多关注。Devin和Sierra这些公司也开始在智能体领域崭露头角。
关于为什么AutoGPT风格的架构没有成功,我觉得它非常通用且不受约束,这使得它非常令人兴奋并激发了人们的想象力。但是,从实用性角度来看,对于那些希望通过自动化来提供即时业务价值的人们而言,实际上他们更希望智能体执行一些非常具体化的任务。他们还希望智能体遵循更多规则,或者按照他们期望的方式去完成任务。因此,在实践中,我们看到这些智能体更多地采用了我们称之为的自定义认知架构,其中预先定义了智能体通常要执行的操作方式。当然,这里也存在一定的灵活性,否则人们可以直接编写代码来实现这些功能。不过,这是一种非常定向的思维方式,这也是我们今天看到的大部分智能体和助理所遵循的模式。
这需要更多的工程工作,更多地去尝试并观察哪些方法有效,哪些方法无效,这实际上更难做到。因此,这正是为什么这类智能体在一年之前还不存在的原因。
Sonya Huang:你能解释一下什么是认知架构吗?有没有一个好的思维框架让我们理解它们?
Harrison Chase:我认为认知架构就像是大型语言模型应用程序的系统架构。如果您正在构建一个位置查找应用程序,其中会用到一些大型语言模型。您打算用这些大型语言模型做什么?是让它们仅仅生成最终答案吗?或者您的架构更像是循环?这些都属于认知架构的不同变体,认知架构只是用一种花哨的方式来描述从用户输入到用户输出的信息流、数据流以及大型语言模型调用过程。
我们越来越多地看到,特别是当人们尝试将智能体真正投入生产时,这种信息流会针对他们的应用程序及其领域进行定制。他们可能一开始就想做一些特定的检查,之后可能会有三个特定步骤。然后,每个步骤可能都包含一个循环返回的选项,或者拥有两个独立的子步骤。因此,如果您将它想象成一个正在绘制的图形,我们会看到越来越多的定制图形,人们试图约束和引导智能体沿着他们的应用程序执行操作。
我之所以称之为认知架构,是因为大型语言模型的力量在于推理和思考应该做什么。换言之,我可能拥有一个关于如何完成任务的认知心智模型。我只是将这种心智模型编码成某种软件系统,某种架构。
Pat Grady:你认为这是世界的发展方向吗?因为我从你那里听到两点:一是非常定制化,二是相当原始,很多方式是硬编码的。你认为这是我们前进的方向,还是一种权宜之计,在某个时候会出现更优雅的架构或一系列默认的参考架构?
Harrison Chase:这是一个很好的问题,也是我花了很多时间思考的问题。你可以在一个极端上争论,如果模型在规划方面变得非常好和可靠,那么你可能拥有的最好架构就是一个循环,调用LLM,决定做什么,执行动作,然后再循环。所有这些关于我希望模型如何行动的约束,我只是把它们放在提示中,模型会明确地遵循。
我确实认为模型在规划和推理方面会变得更好。但我不认为它们会成为处理所有事情的最佳方式。有几个原因:
一是效率问题。如果你知道总是想在步骤B之后做步骤A,你可以直接把它们按顺序排列。二是可靠性问题。这些事情不是确定性的,特别是在企业环境中,你可能希望有更多的保证简单但通用的架构就像一个在循环中运行的简单认知架构。我们在生产中看到的是定制和复杂的认知架构。我认为还有一个不同的方向,那就是复杂但通用的认知架构,比如非常复杂的规划步骤和反思循环或思维树。我认为这一类架构可能会随着时间推移逐渐消失,因为我认为很多通用的规划和反思将被训练到模型中。但仍会有大量非通用的规划、反思和控制循环永远不会出现在模型中。所以我对这两个方向持乐观态度。
Sonya Huang:我想可以这样理解:大语言模型进行非常通用的智能体推理,但你需要领域特定的推理。这是无法在一个通用模型中构建的。
Harrison Chase:完全正确。我认为定制认知架构的一个方法是把规划和责任从大语言模型转移到人类身上。一些规划将越来越多地转移到模型和提示中。但我认为,很多任务在某些规划方面实际上非常复杂,所以在我们得到能够可靠地处理这些任务的系统之前,还需要一段时间。
Sonya Huang:你之前和我分享过一个贝佐斯的观点,就是要专注于让你的啤酒更好喝的事情。他指的是20世纪初,许多酿酒厂试图自己发电,而没有专注于酿酒。今天很多公司也在思考类似的问题:你认为掌控自己的认知架构真的能让你的“啤酒”更好喝吗,还是你认为应该把控制权交给模型,专注于构建UI和产品?
Harrison Chase:我认为这可能取决于你构建的认知架构类型。回到之前的讨论,如果你构建的是一个通用的认知架构,我不认为这会让你的“啤酒”更好喝。我认为模型提供商会致力于这些通用的规划。但如果你的认知架构基本上是在编纂你们支持团队的思维方式、内部业务流程或是你们开发特定类型代码或应用程序的最佳方式,那么这绝对会让你的“啤酒”更好喝。特别是在我们朝着这些应用程序真正完成工作的方向前进时,那些定制的业务逻辑或思维模型非常重要。当然,用户体验(UX)和用户界面(UI)以及分发也非常重要,但我会在通用和定制之间做出区分。
Pat Grady:Harrison,在我们深入讨论人们如何构建这些东西之前,我们能不能先从高层次的角度来看一下?我们的创始人Don Valentine以问“那又怎样?”这个问题而闻名。那么我的问题是,假设自主智能体(utonomous agents)已经完美运行,这对世界意味着什么?如果真有那么一天,生活会有什么不同?
Harrison Chase:从高层次来看,这意味着我们人类将专注于不同的事情。我认为目前很多行业都有许多重复的、机械的工作。智能体的理念是将这些工作自动化,使我们能够在更高层次上思考这些智能体应该做什么,并利用它们的输出进行更具创造性或更高效的工作。你可以想象一个人创业,他可以将很多原本需要雇人完成的职能外包给智能体,比如市场营销、销售等,这样他就能专注于战略思考和产品开发。从总体上看,这将使我们能够专注于我们想做的和擅长的事情,而将不必要的工作自动化。
Pat Grady:你现在看到任何有趣的实例吗?比如说已经在生产环境中运行的。
Harrison Chase:我认为目前有两个主要的智能体类别在逐渐获得更多关注:一个是客户支持,一个是编程。我觉得客户支持是一个很好的例子。编程方面也很有趣,因为有些编程工作是非常有创造性的,需要很多产品思维和定位的考虑。但也有些编程工作会限制人们的创造力。如果我的妈妈有一个网站的想法,但她不知道如何编码,要是有一个智能体可以完成这项工作,她就能专注于网站的构思,而自动化其余部分。所以说,客户支持方面已经有很大的影响,而编程虽然还不够成熟,但也有很多人对此感兴趣。
Pat Grady:编程确实很有趣,因为这让我们对AI充满了乐观。它可以缩短从创意到执行的距离,或者从梦想到现实的距离。你可能有一个非常有创造力的想法,但没有工具将其实现,而AI似乎非常适合解决这个问题。Figma的Dylan也谈到了这一点。
Harrison Chase:是的,这回到了自动化那些你不一定知道怎么做或不想做但又必须做的事情的理念。我一直在思考,在生成式AI和智能体时代,作为一个建设者意味着什么。今天的软件建设者通常要么是工程师,要么雇用工程师,但在智能体和生成式AI时代,这意味着人们能够建造更多种类的东西,因为他们手中拥有更多知识和资源,可以廉价雇佣和使用。这也许像是某种智能的商品化,这些大型语言模型提供了免费的智能,这确实启发了许多新的建设者。
Sonya Huang:你提到了反思和链式思考等技术。能不能说说我们迄今为止在这些认知架构方面学到了什么?你认为最有前景的认知架构是什么?
Harrison Chase:也许值得谈一下为什么AutoGPT这种方式不起作用,因为很多认知架构正是为了应对这些问题。最初的问题是大语言模型甚至无法很好地推理出第一步该做什么。所以链式思考(chain of thought)这种提示技术非常有用,它基本上给了大语言模型更多的思考空间,逐步推理出该做什么。这种技术后来被越来越多地训练到模型中,因为所有人都希望模型能做到这一点。
有一篇名为ReAct的论文,它提出了第一种针对智能体的认知架构。它做了两件事:一是让大语言模型预测接下来的行动,二是加入了一个推理组件,这有点像链式思考,但它在每一步之前都加入了一个推理环节。这种显性推理步骤随着模型的训练变得越来越不必要,如同链式思考被训练进模型一样。但即便如此,这种循环过程已经成为ReAct论文的代名词,这也是智能体最初的许多难题之一。
现在,这些问题部分解决了,剩下的主要问题是规划和完成任务的判断。规划是指模型在思考该做什么时,会潜意识或有意识地制定一个计划,然后逐步执行这个计划。模型在长期规划和执行这些步骤时表现不佳,所以一些规划认知架构就应运而生,比如在开始时明确要求大语言模型生成一个计划,然后逐步执行每一步。这确保了模型生成了一个长期计划,并按步骤执行,而不是生成一个五步计划后只执行第一步然后宣称任务完成。
另一个相关的问题是反思,即模型是否正确完成了任务。我可以生成一个计划,去获取一个答案,但可能得到的是错误的结果。在这种情况下,我不应该直接返回这个答案,而是应该思考自己是否正确完成了任务。如果只是在循环中运行模型,你就要求它隐性地进行这些检查。所以一些认知架构加入了显性的反思步骤,在每个动作或一系列动作之后,要求模型明确地检查自己是否正确完成了任务。
规划和反思是目前较为流行的通用认知架构。还有很多定制的认知架构,但它们往往与具体的业务逻辑紧密相关。总体来说,我预期这些通用的规划和反思功能会逐渐被训练到模型中,但这些功能在模型中能达到多高的水平还是一个有趣的问题,需要长时间来讨论。
Pat Grady:Harrison, 你在人工智能峰会上提到过用户体验的话题。通常我们会认为它是和架构相对立的。换言之,架构是幕后的东西,而用户体验则是前端可见的部分。不过,现在好像出现了一个有趣的局面,用户体验可以通过影响架构的有效性来发挥作用,例如通过像Devin那样回溯到规划过程中的某个点,让用户可以及时发现问题并加以纠正。您能谈谈用户体验在智能体或大型语言模型中的重要性吗?也许可以分享一些您见过的有趣案例。
Harrison Chase:是的,我对用户体验非常着迷,我认为这是一个有待深入研究的领域。之所以如此重要,是因为大型语言模型并不完美,仍然存在出错的倾向。
正因如此,聊天成为了某些初期互动和应用领域中如此强大的用户体验方式。您可以轻松查看它在做什么,它会逐字流式地返回响应。您可以通过回复来轻松纠正它,也可以轻松地提出后续问题。因此,我认为聊天目前显然已经成为主流的用户体验。
不过,聊天也存在一些缺点。您知道,它通常是一条人工智能消息,然后一条人类消息,人类始终处于循环之中,这更像是copilot的模式。我认为,让系统能逐渐脱离人类的干预,将使它能够为您完成更多任务,并为您服务。这在我看来是极其强大且实用的。然而,话又说回来,大型语言模型并非完美,它们也会出错。那么,我们该如何平衡这两者呢?
我认为Devin提到的一个有趣想法是,让系统拥有一个能够真正透明地列出智能体所做所有事情的列表。换言之,您应该能够知道智能体做了什么。这似乎是第一步,第二步则可能是能够修改它正在做或已经做过的内容。因此,如果您发现它在步骤三出现了问题,也许可以回溯到那里,为其提供新的指令,甚至进行编辑,就像手动决策一样,然后继续执行。
除了这种回溯和编辑之外,还有一些有趣的用户体验 (UX) 模式,例如消息收件箱的概念,智能体可以根据需要与人类进行互动。假设您有 10 个智能体并行地在后台运行,它们可能时不时需要向人类澄清问题。因此,您可以拥有一个类似电子邮件收件箱的东西,智能体可以向您发送求助信息,例如“我遇到问题了,需要帮助”。然后,您可以在此时介入提供帮助。
类似的还有审阅其工作成果。对于撰写不同类型内容的智能体、进行研究的智能体(例如研究型智能体),这无疑是非常强大的功能。OpenAI 研究人员开发了一个很棒的项目,围绕智能体拥有了一些非常有趣的架构。我认为这是一个非常适合此类审阅的场景。您可以让智能体撰写初稿,然后由您进行审阅并留下评论。实现方式可以有多种。例如,最简单的一种方式是,您可以直接留下大量评论,然后将所有评论まとめて发送给智能体,让它去逐条修正。
另一个非常有趣的是协同工作模式,类似于 Google 文档,但却是人类和智能体同时协作。例如,我留下评论,智能体在修正的同时,我也可以继续添加其他评论。不过,我认为这是一个单独的用户体验模式,搭建和启动它都非常复杂。
最后一个我想谈论的关于用户体验的想法是,这些智能体将如何从互动中学习。正如我们讨论的,人类会不断纠正智能体或提供反馈。如果我不得不 100 次重复提供相同的反馈,那会让人抓狂,不是吗?因此,系统的架构该如何设计才能让智能体从中学习呢?这非常有趣,而且我认为所有这些问题都还有待解决。就像在玩一个超前的游戏,我们仍在尝试弄清楚许多问题,这也是我们花很多时间思考的内容。
Pat Grady:实际上,这让我联想到你似乎因为积极参与开发者社区并密切关注开发者社区正在发生的事情以及开发者们遇到的问题而略有名气。LangChain直接解决了其中一部分问题,但我猜你还会遇到许多超出范围的其他问题。那么在开发者尝试使用LLMs或构建AI时遇到的问题中,有哪些有趣的问题是你们目前没有直接解决的?
Harrison Chase:两个明显的领域是模型层和数据库层。我们没有构建矢量数据库,尽管我们认为合适的存储非常有趣,但我们没有做这件事。我们也没有构建基础模型,也不做模型微调。虽然我们绝对想要帮助数据整理方面的工作,但我们并没有构建用于微调的基础设施。像Fireworks和其他类似的公司正在做这些事。
我认为这些对于人们当下遇到的问题而言,可能属于最迫切的基础设施层。
不过,我还想补充一个问题或思考过程,那就是如果智能体真的成为未来,那么将因此出现哪些新的信息问题?坦白地说,现在谈论还为时尚早,因为智能体尚未足够可靠,无法形成庞大的智能体经济。但我认为诸如智能体身份验证、智能体权限管理、智能体支付等问题都非常酷。
Sonya Huang:Harrison,你提到了微调,并且你们不打算涉足这个领域。看起来提示工程和认知架构几乎是彼此的替代品。你如何看待当前人们应该如何使用提示工程与微调?未来会如何发展?
Harrison Chase:我不认为微调和认知架构是替代品,实际上我认为它们在很多方面是互补的。因为当你有一个更定制化的认知架构时,你要求每个智能体或每个节点执行的任务范围变得更有限,而这对微调非常有趣。
Sonya Huang:也许在这个点上,你能谈谈LangSmith和LangGraph吗?Pat刚才问了你们没有解决哪些问题、你们正在解决哪些问题以及这与我们之前讨论的有关智能体的所有问题相关,例如你们正在做的事情以改善状态管理,让智能体更可控等。您的产品如何帮助人们做到这一点?
Harrison Chase:也许先从LangChain刚推出时说起。LangChain开源项目解决并处理了几个问题。其中一个是标准化这些不同组件的接口。我们有大量不同模型、不同矢量存储、不同工具、不同数据库的集成。这一直是LangChain的重要价值所在,也是人们使用LangChain的原因之一。
Lang Chain还提供了很多更高层次的接口,便于现成使用,例如用于问答的RAG或SQL之类的东西。它还具有用于动态构建链的更低级别运行时环境。链可以称为DAG(有向无环图)。因为当我们谈论LangGraph以及LangGraph为什么存在时,它要解决一个稍微不同的编排问题,即你想要具有循环的可定制和可控的元素。两者都在编排空间,但我会区分链和这些循环。
我认为使用LangGraph并开始使用循环时,会出现许多其他问题。其中一个主要问题是持久层。持久层使您可以恢复,可以使其在后台以异步方式运行。因此,我们正越来越多地考虑部署这些长期运行、循环往复、让人参与循环的人工智能应用程序。因此,我们将越来越多地解决这个问题。
LangSmith贯穿于所有这些工作,它从公司成立之初就一直在开发。它有点像大型语言模型应用程序的可观测性和测试工具。从一开始,我们就注意到你们将大型语言模型置于系统的核心位置。大型语言模型不是确定性的。为了让它们投入生产并充满信心,您必须具备良好的可观测性和测试能力。因此,我们开始构建 LangSmith,它可以与LangChain配合使用,也可以独立使用。还有一些其他功能,比如提示管理、人类注释队列,以允许人工审核。我认为这非常关键。重要的是要问,什么是这里真正的新东西?LLMs是不确定性的,因此可观察性变得更重要,测试也更难,需要人类更多地进行审核。LangSmith在这方面提供了很多帮助。
Pat Grady:Harrison,你能谈谈现有的可观测性、现有的测试等在哪里适用于LLMs,哪些地方LLMs有显著差异需要新的产品、新的架构或新的方法吗?
Harrison Chase:是的,我从测试和可观测性两个方面思考过这个问题。可观测性方面,我感觉更明显的是,我们需要一些新的东西。对于这些多步骤的应用程序来说,我认为不应该仅仅依靠现有级别的可观测性来获取洞见。现有的许多数据监控工具都很棒,但它们适用于特定的跟踪,却无法像LangSmith那样轻松地获得同等水平的洞见。许多人花时间查看特定跟踪是因为他们想要调试特定跟踪出现的问题。在使用大型语言模型时,所有这些非确定性因素都会发生。因此,可观测性方面总让我觉得需要有一些新的东西来构建。
测试则非常有趣,我也思考了很多。关于测试,可能有两个新颖的独特之处。一个是成对比较的概念。当我运行软件测试时,我通常不会比较结果,大多数情况下是通过或失败。即使进行比较,也可能是比较延迟峰值之类的东西,而不一定是两个单元测试的成对比较。但是,如果我们看一下大型语言模型的一些评估方法,人们最信任的主要评估方法是大语言模型竞技场,有点像聊天机器人竞技场风格,让你可以并排判断两个东西。因此,我认为这种成对比较的方式非常重要,与传统软件测试有相当大的区别。
我想,另一个因素取决于你如何设置评估方法,你可能在任何给定时间都没有 100% 的通过率。因此,跟踪一段时间并查看是否有改进或至少没有退步就变得很重要。这不同于软件测试,因为软件测试通常要求一切都通过。
第三个方面是人力介入。我认为你仍然希望人类查看测试结果。也许这不是最恰当的措辞,因为查看这些内容需要大量的人力,但总的来说,这比拥有某种自动化系统更加可靠。如果你将它与软件测试进行比较,软件可以像我一样通过查看来判断 2=2 成立。因此,弄清楚如何将人类纳入这个测试过程也确实是一件有趣、独特和新颖的事情。
Pat Grady:在AI领域中,你最崇拜谁?
Harrison Chase:这是个好问题。我认为OpenAI过去一年半的成就非常令人印象深刻。所以我对Sam和他们团队中的每一个人都非常钦佩。Logan在那里的时候做得非常出色,向大家传递了很多概念。Sam显然在很多事情上功不可没。
还有一位鲜为人知的研究员David Dohan,我认为他绝对令人难以置信。他早期写了一些关于模型级联的论文,在我创办LangChain的时候就和他聊过,他对我思考问题的方式产生了深远的影响。因此,我非常钦佩他的做事方式。
此外,就像扎克伯格和Facebook,我认为他们在 Llama 和许多开源项目上做得非常出色。作为CEO和领导者,他们公司所展现出的那种拥抱方式令人印象深刻,因此我也非常钦佩这一点。
Pat Grady:说到这一点,有没有哪位CEO或领导者是你尝试效仿的,或者是你从他们的身上学到了很多关于你自己的领导风格的东西?
Harrison Chase:这是个好问题。我认为我更像是一位以产品为中心的CEO。因此,观察扎克伯格很有趣。Brian Chesky也很有趣,他去年在红杉资本的活动上谈论产品和公司建设,我非常欣赏他的思考方式。所以Brian可能是我会想到的答案,但老实说,我还没有深入研究过他所做的一切。
Pat Grady:如果你能给目前或有志成为AI创始人的人一个建议,你会说什么?
Harrison Chase:那就是去构建,去尝试构建东西。现在还处于非常早期。有很多东西可以去构建。我知道,GPT-5 可能即将发布,它可能会让你们做的一些事情变得无关紧要,但是在这个过程中你会学到很多东西。我坚信这是一项变革性的技术。因此,你学到的越多,你就越会从中受益。
Pat Grady:关于你的回答,我有一个小小的轶事想分享一下,因为这让我觉得很有趣。还记得在2023年初的首次人工智能峰会上,当时我们刚刚开始更多地了解你。我记得你那天一整天都在埋头写代码,尽管台上有人演讲。所以你的建议是“just build”,而你显然是践行自己建议的人。
本文来自微信公众号“乌鸦智能说”(ID:wuyazhinengshuo),作者:智能乌鸦
【开源免费】AutoGPT是一个允许用户创建和运行智能体的(AI Agents)项目。用户创建的智能体能够自动执行各种任务,从而让AI有步骤的去解决实际问题。
项目地址:https://github.com/Significant-Gravitas/AutoGPT
【开源免费】MetaGPT是一个“软件开发公司”的智能体项目,只需要输入一句话的老板需求,MetaGPT即可输出用户故事 / 竞品分析 / 需求 / 数据结构 / APIs / 文件等软件开发的相关内容。MetaGPT内置了各种AI角色,包括产品经理 / 架构师 / 项目经理 / 工程师,MetaGPT提供了一个精心调配的软件公司研发全过程的SOP。
项目地址:https://github.com/geekan/MetaGPT/blob/main/docs/README_CN.md
【开源免费】graphrag是微软推出的RAG项目,与传统的通过 RAG 方法使用向量相似性作为搜索技术不同,GraphRAG是使用知识图谱在推理复杂信息时大幅提高问答性能。
项目地址:https://github.com/microsoft/graphrag
【开源免费】Dify是最早一批实现RAG,Agent,模型管理等一站式AI开发的工具平台,并且项目方一直持续维护。其中在任务编排方面相对领先对手,可以帮助研发实现像字节扣子那样的功能。
项目地址:https://github.com/langgenius/dify
【开源免费】RAGFlow是和Dify类似的开源项目,该项目在大文件解析方面做的更出色,拓展编排方面相对弱一些。
项目地址:https://github.com/infiniflow/ragflow/tree/main
【开源免费】phidata是一个可以实现将数据转化成向量存储,并通过AI实现RAG功能的项目
项目地址:https://github.com/phidatahq/phidata
【开源免费】TaskingAI 是一个提供RAG,Agent,大模型管理等AI项目开发的工具平台,比LangChain更强大的中间件AI平台工具。
项目地址:https://github.com/TaskingAI/TaskingAI
【开源免费】XTuner 是一个高效、灵活、全能的轻量化大模型微调工具库。它帮助开发者提供一个简单易用的平台,可以对大语言模型(LLM)和多模态图文模型(VLM)进行预训练和轻量级微调。XTuner 支持多种微调算法,如 QLoRA、LoRA 和全量参数微调。
项目地址:https://github.com/InternLM/xtuner