Agentic AI:构建技术研究代理

252 篇文章 0 订阅
10 篇文章 0 订阅

技术研究代理的 Agentic Workflow | 图片来自作者

如果你不是会员但想阅读这篇文章,请查看此好友链接这里

目前还没有多少人构建具体的Agentic工作流,这是有原因的。您需要了解如何为您的用例设置代理,这意味着您需要领域专业知识和大量高质量数据。

不过,我们在这里要做的是一位研究人员,他可以根据我们使用自定义数据管道提出的问题,对最多 6 个月前的技术进行研究。

对于此工作流程,主要代理将把工作委托给可以访问回答问题所需数据(或所谓的工具)的较小代理。

简单演示代理如何相互交谈以回答问题 | 图片来自作者

工作流程将包含许多步骤,涉及多个可以访问各个端点的代理。

您可以在下面看到我们将使用 Flowise 构建的最终演示。

与 Flowise 中的成品代理聊天 | 图片来自作者

完成的代理将能够回答有关技术趋势的问题,因此您应该能够向它提出这样的问题:“上个月技术领域的趋势公司有哪些,人们在说什么?”,“哪些平台在过去一个季度呈现趋势?”“人们对某某有何看法?”

您必须自己测试一下才能知道它能做什么。

如果您想尝试构建这些代理,而无需使用自定义数据源进行大量编码,这将是一个很好的学习体验。 您还可以扩展它,致力于改进代理,添加更多工具(如搜索)并将其连接到其他数据。

我将介绍代理、成本、构建块和数据管道,但如果您只想构建,那么您可以跳过介绍。

介绍

我将保持这篇文章的非技术性,并更多地关注如何使用 Flowise 与代理合作,因此如果您不太懂技术,您仍然应该能够跟着我构建代理。这里的关键是关注使用自然语言构建工作流与以编程方式构建工作流有何不同。

但是,您需要下载 GitHub 存储库Flowise来运行我们正在构建的工作流程。

总共需要大约 5 分钟才能启动并运行,为此,我们正在使用 OpenAI 的模型,因此您需要一个 API 密钥和至少价值 0.5 美元的代币。您可以选择其他模型。

除了代币之外,其他一切都是免费的,因为 Flowise 也是开源的。

人工智能代理

如果您读过丹尼尔·卡尼曼的《思考,快与慢》,您就会知道他描述了我们的大脑处理信息的两种不同方式。

系统 1 被认为是直觉的、快速的和情绪化的,而系统 2 则更加深思熟虑、更慢和更合乎逻辑。

说明丹尼尔·卡尼曼提出的系统 1 与系统 2 思维 | 图片来自作者

正如我们人类一样,当面临需要规划、推理和研究的更复杂的问题时,我们需要一种有条不紊的方法来解决它们。

通过这种方式,你可以将直接使用大型语言模型 (LLM) 视为与系统 1 思维相当的东西——这对于较简单的任务来说很棒,但对于需要规划和推理的决策来说则不然。

为了确保人工智能使用系统 2 思维,我们可以强制人工智能工作流程有意、缓慢、合理地处理信息。

我们通过多代理协作、顺序聊天、反思、规划和工具使用来实现这一点。我们迫使 LLM 来回交流想法,同时让代理访问他们可以用来查找信息的工具。

Agentic AI 的外观将根据其任务的不同而有所不同。

如果您开发的系统需要推理,则可以引入多智能体协作和规划。如果您正在构建信息检索系统,那么您将结合使用工具,例如 Web 搜索、检索增强生成 (RAG) 以及对数据库和 API 的访问。

您可能已经看到过多种形式的 AI 代理;例如,几个月前作为编码代理推出的 Devin 肯定引起了您的注意。其理念是,通过使用 Agentic 工作流,我们可以让 AI 执行以前无法执行的任务。

无论如何,这就是我的想法。

代理很难构建,而且需要特殊的工具。与任何系统一样,它的好坏取决于其数据源。我听说有报道称,人工智能代理经常陷入循环,并不断尝试他们被明确告知不要做的事情。

正如许多其他人一样,我也经历过不同的大型语言模型对请求的响应不同,因此需要技巧来理解如何向每个系统编写指令。

看起来,用自然语言告诉机器人做什么比用编程方式告诉机器人做什么要困难得多。

有趣的演示,比较以编程方式和 NL 方式提问 | 图片来自作者

上面的示例有点夸张,但论点是成立的:用编程告诉计算机做什么与通过自然语言要求法学硕士做某事是不同的。如果你习惯用编程工作,这种不一致可能会令人抓狂。

这些代理可能不会很快取代您的开发团队,但他们仍然非常有用。

要构建代理 AI,您可以使用多种开源框架,使用其中一个框架进行概念验证是可以的。但是,使用框架可能不值得在生产中造成控制损失。

代理人经济学

那么,为什么不构建更多可以完成更复杂任务的代理工作流,而不是直接与 LLM 交互呢?

成本。

法学硕士学位本身就很昂贵。

首先我们来说明一下增强日常人工智能需要花费多少钱。

如果您订阅了 ChatGPT Pro,则可以访问 GPT-4。通过此订阅,您可能每 3 小时可以对 GPT-4 进行大约 50 次查询,对 GPT-4o 进行稍微多一点的查询。

为了论证的目的,让我们看看 OpenAI 的 GPT-4 API价格,以了解每个用户为平台花费的成本。

我们假设用户平均每月使用其 20 美元 Pro 订阅配额的一半。我还假设我们每次查询、提示以及每次 API 调用使用大约 500 个令牌。

使用 API 和 chatGPT 订阅的费用是多少?| 图片来自作者

正如您在上表中所看到的,如果我仅使用 50% 的配额,那么大约 5 天后我就会很快花掉这 20 美元。

现在,OpenAI 可能会降低用户使用免费版可以访问的 GPT-4o 的成本,但这仍然会给公司带来成本。Perplexity 和所有其他免费支持这些 LLM 的平台也是如此。

尽管如此,我认为这是 B2B 做得好的地方——他们支付这些代理的能力超过任何 B2C 客户。如果你正在构建想要销售的代理工作流程,你的目标客户应该是 B2B,同时通过 B2C 进行营销。

那么,如果这些 API 调用如此昂贵,是否值得构建多次调用这些 LLM 的代理?使用 Agentic AI,您可以为一些执行简单任务的代理使用较小的模型,然后将较难的任务委托给由较大 LLM 驱动的代理。

但是让我们看看运行我们在这里构建的代理工作流的成本,我计算了每个 API 调用以及每次运行流程的总成本,因此您可以在下表中看到它。

保持吸引力——看看为用户运行此工作流程的成本 | 图片来自作者

现在,我还没有开始优化这个代理流程——降级代理并优化系统提示是可能的。不过,要小心监控性能,因为每个模型对系统提示的响应都不同,这是我在上一节中提到的一点。

尽管如此,你至少可以假设免费为用户提供 AI 代理的成本是昂贵的。

一位同事向我推荐了 GigaBrain。我不确定他们是以编程方式构建工作流程,还是构建代理代理,但保持此功能免费肯定要付出一些代价。我认为未来可能值得做的事情是探索如何以经济高效的方式使用 AI 进行构建。

无论我对运行这些代理的经济性有何看法,我仍然会掌握这一点,以便您开始学习如何通过自然语言给出清晰的指令。

构建模块(框架和 LLM)

我将使用Flowise来构建我的工作流程,因为它是开源的、可视化的并且易于使用。这对于非程序员来说也很容易理解。

Flowise在底层使用LangGraph来增强我们将在此使用的 Agentic 功能。

在 Flowise 我们有一位主管和一些工人 | 图片来自作者

在 Flowise 中,我们有主管作为经理,然后我们有工人(即代理),我们可以与他们联系。

要查看此工具和我们完成的工作流程的视觉效果,您可以查看下面的屏幕。

Flowise 中的代理工作流程的最终结果 | 图片来自作者

别担心,您不需要从头开始构建它;我会在您可以上传的 JSON文件中为您提供工作流程,然后您可以从那里获取它。

目前市场上有很多这样的可视化 AI 构建器,例如 LangFlow。您还可以使用其他几个标准框架来构建代理,例如 CrewAI、AutoGen 和Swarms

当您稍后构建具体产品以供生产时,我建议您进行一些研究以确定最佳方案。不要将自己锁定在特定供应商,因为调试起来可能相当麻烦。

对于 LLM,我建议查看LLM 价格排行榜,看看哪个供应商可以提供最具成本效益的价格,以提供足够先进的 LLM,作为您的代理的基础。

对于 Flowise,我们的选择确实有限,因为它仅支持 Anthropic、OpenAI、Mistral 和 Groq 来实现这些 Agentic 工作流。对于这篇文章,我决定使用 GPT-4o 和 GPT-4 Mini,但你可以尝试不同的型号。

为了调试工作流程,我们实际上需要连接到不同的工具,例如LangSmithLangFuse进行监控。

一旦开始,我将向您展示如何设置监控,但这也是我建议在没有框架的情况下构建代理的原因,因为很难弄清楚幕后发生了什么。

数据管道

如果没有大量的数据,你的代理将无法提供任何有价值的东西。你知道那种感觉,当你看到法学硕士写的东西时,你会想,“这感觉就像是说了很多话,但没有任何价值。”

数据管道和工具的作用是提供响应实质。

对于本文和应用程序,我有一个仍处于试验阶段的技术趋势 API;有了它,我们将能够连接到它,以便我们能够预先为 AI 提供正确的数据。它有一些使用限制,但它是免费的,所以这不是推销。

当我需要研究不同的关键词来了解技术领域的现状并保持最新状态时,我会亲自使用它。

该 API 有四个端点:根据某个时期检索趋势关键词统计数据、获取趋势关键词的来源、查找相关关键词,然后绘制关键词统计数据图表。

一些人已经利用这些数据构建了新闻机器人,如前一篇文章所示。不过,这一次,它包含了至少几个月前的历史数据,这对于使用 AI 代理进行研究非常有用。

代理商大厦

构建代理并不难,因为我已经为你完成了大部分工作。正如我之前提到的,我决定使用Flowise,但如果你以后要为生产构建一些东西,我建议你使用抽象程度较低的东西。

Flowise 的代理工作流程仍处于测试阶段,这意味着如果您遇到问题,可能很难确定是您还是平台导致了问题。

一旦运行 Flowise,您将从此处找到的 JSON 文件加载我的工作流程。要添加自定义工具,请参阅此文件。

环境

您首先必须下载 Flowise 才能在本地运行它。

如果您使用的是 Windows 计算机,或者您没有安装 npm 或 node,我建议您了解如何通过Replit 执行此操作。指南也将为您提供帮助。

如果您有 Mac,您可以打开终端,然后创建一个新文件夹。

mkdir新文件夹

cd新文件夹

我们将遵循此处的开发人员说明。向下滚动直到找到开发人员部分。

在尝试此操作之前,请确保您已安装了节点版本 18 或更高版本。

npm i -g pnpm

克隆存储库。

git clone https://github.com/FlowiseAI/Flowise.git

cd 进入文件夹。

cd Flowise

安装所有依赖项。

pnpm install

构建代码。

pnpm build

启动应用程序。

pnpm start

成功启动应用程序后,您可以在 Web 浏览器中打开http://localhost:3000,您会发现 Flowise 正在运行。

您应该能够看到类似下面描述的内容。

您正在寻找的是 AgentFlows。

创建一个新流程,然后点击右上角的设置来上传代理。

要获取我们将用于此的 JSON 文件,请参阅此repo

一旦您加载了我提供的代理,您现在应该可以看到为您创建的整个工作流程。

上传 json 文件后工作流程是什么样的 | 图片来自作者

我现在为您设置的是一个技术研究代理工作流程,它将为您进行最多 6 个月前的技术研究。

要添加我创建的自定义工具,请确保加载此文件中的所有四个工具。 确保将它们加载到 Flowise 中的“工具”部分,然后将它们映射到工作流中的工具中。

如果想要立即运行它,请记住先为 LLM 节点添加来自OpenAI的 API 密钥,然后保存。

您可以通过右侧的聊天图标与代理交谈。

如果您还没有OpenAI帐户,您可以简单地创建一个,添加一些积分,然后生成一个 API 密钥。

如果您想了解主管和工人如何运作,请继续阅读下文。

监工及工人

如前所述,主管充当管理者,工人充当代理人。

要在 Flowise 中添加新的主管,请单击左侧的加号节点,然后查看标题“多代理”下的内容,您将在其中找到 Supervisor 和 Worker 节点。

在 Flowise 中,工人可以访问工具,而主管可以访问代理。对于其他代理工作流程,您可以更灵活地将代理相互连接。然而,在 Flowise 中,只有主管可以与工人进行交流。

尽量不要用大量的提示模板让主管不知所措;相反,要建立一个可以与主管合作确定要采取的步骤的工作人员。在我在本文中设置的工作流程中,我建立了一个研究人员,根据工作人员可以访问的数据和工具,向主管提供有关如何处理用户请求的建议。

你可以将不同的 LLM 连接到不同的 worker。我建议为只需要执行单一任务的工具调用 worker 使用较便宜的 LLM,并为主管提供推理能力使用较大的 LLM。

我发现,无论是在这里还是在其他地方,LLM 的反应都不同,因此来回切换 LLM 可能会导致挫败感。模型的版本也很重要,因此 GPT-4 的反应可能与 GPT-4 Turbo 不同。

工人

对于我在这里构建的工作流程,我试图使其保持非常简单,因此每个工人只做一件事并且只能使用一种工具。

我认为这就是我的控制行为的体现,也是我习惯于精确指定某件事应该做什么的地方。程序员可能会遇到这个问题,因为使用 Agentic AI 需要帮助代理推理,而不仅仅是给出确切的指令。

这个想法是为员工提供背景信息,让他们能够自行推理。这将是一项正在进行的工作,一旦我们有了更复杂的法学硕士,这项工作就会变得更容易。

对于我们在此构建的技术研究人员工作流程,我们有一位研究人员,主管可以从他那里获取有关后续步骤的信息。

然后,还有另外四名分析师,他们可以根据研究人员指示主管获取和汇总数据。主管还有一个汇总员,可以在最后为用户汇总数据。

自定义工具

我们在这里所做的事情涉及使用自定义API,因此我们需要为端点设置自己的自定义工具。

要导入我为您创建的工具,请参阅此文件夹。您只需在 Flowise 中的“工具”部分下加载这些 json 文件。之后,您还需要将它们映射到代理工作流中的工具中。

但是,您可能想要创建自己的自定义工具。如果是这样,您只需在 Flowise 中搜索它即可。该工具将需要描述以及 LLM 能够插入其中的属性。

构建自定义工具时,不要使用过多的属性。我发现最好保持非常简单,因为 LLM 会倾向于使用所有属性,尤其是当使用该工具的 LLM 规模较小时。

确保名称中不带空格,否则会遇到错误。

在为工具设置代码时,您将使用$property_name这些参数。下面是您可以在工具中运行的代码示例(请注意,此处的 API 显然是虚构的)。

const fetch = require('node-fetch'); 
const url = `https://my-api.com/v1/some-endpoint ${$property_name} ` ; 
const options = { 
    method:'GET',
    headers:{ 
        'Content-Type':'application/json' } 
    } 
; 
try { 
    const response = await  fetch(url,options); 
    const text = await response.text ();返回文本; } catch(错误){ console.error (错误);返回'' ; }
    

    
     

沙箱本身就是一个函数,因此不需要在其中定义函数;只需返回值即可。

我还会提醒您,您需要以编程方式设置良好的错误处理。我还没有对所有工具都这样做,但您需要指定如果调用失败它应该如何操作。

如果您想了解我如何为此工作流程设置工具,您可以简单地编辑工作流程中的自定义工具并查看代码。

聊天和调试

如果您了解工作流程的作用并且已将 API 密钥添加到 OpenAI LLM 节点,则可以保存该应用程序。

您可以通过在 Flowise 中打开右侧的聊天来运行它。您可以将其完全展开。

现在我们可以通过向代理询问问题来尝试代理工作流程。

我选择了“本月哪些公司发展势头强劲,人们说了什么?”,但你也可以试试其他方法。不过,它只包含科技数据,因此无法回答许多有关一般政治趋势的问题。

你可以问它这样的问题:“你能找到本季度的热门平台吗?”“你能研究一下上个季度被提及最多的人吗?”或“对上个季度的 AI 代理进行研究。”

运行整个系统确实需要一些时间,因此在等待它完成时可以去做其他事情。

现在,您可能会遇到问题。要进行调试,您需要增加一些复杂性并连接 LangFuse 或 LangGraph。为此,请转到设置 → 配置 → 分析 Chatflow。

在这里,您可以通过多个供应商进行连接;我个人使用LangFuse。连接帐户、获取密钥和公钥,然后将 Flowise 与他们连接起来非常简单。

当您在 LangFuse 中调试工作流时,它将看起来像这样,其中每次运行都会显示为一个跟踪。

您可以进入每个跟踪来查看对 LLM 的 API 调用、每个 API 调用的成本以及代理使用的工具。

学习

如果代理陷入循环,请返回并处理提示。保持提示清晰简洁。如果自定义工具出现故障,请确保包含错误处理和恢复。仔细检查每个步骤,并仔细考虑从主管到工作代理的工作流程。

当我建造这个的时候,我对代理商感到非常沮丧。

我想周围的每个人都不止一次听到过我骂脏话。

然而,我确实发现使用自然语言的工作与使用程序的工作有很大不同,而其中一些错误是我的错。

例如,当我忽略了正确的错误处理时,我的一个工具就失败了,而 LLM 正在尝试自行恢复。尽管如此,该框架很难调试,而且仍处于测试阶段,所以并不是所有的错误都是我的错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

拉达曼迪斯II

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值