WHY FlowDeer³

我们即将发布FlowDeer的第三个版本。在此,我将与大家分享一些关于FlowDeer 3的信息。

FlowDeer3的界面

FlowDeer³ 和 FlowDeer/方小代的关系

对于熟悉我们以往产品的同学而言,应该记得我们之前推出了两款独立的产品。一个名为方小代,主要用于自动化任务,其中包括了一个名为CheckChan的网页监控脚本。

方小代是我们之前发布的一个产品。

FlowDeer²,则是一个结合了思维导图功能的工具,通过AI技术,它能够帮助用户将一个大任务拆解为许多小任务,并自动执行,最终汇总执行结果,输出一个完整的报告。

前代FlowDeer

FlowDeer³ 将 FlowDeer² 和 方小代 进行了整合:

  • 方小代全面升级,支持了工作流和数个新FxdAPP,并改名为 FlowDeer³ 客户端
  • FlowDeer 支持了任务节点提示词,支持直接使用 FxdApp 作为工具, 改名为 思维树,成为 FlowDeer³ 的一部分

也可以简单认为:FlowDeer³ = FlowDeer² + 旧版方小代 + 工作流相关功能

之所以这么整合,是因为我们发现 FlowDeer 如果要得到好的效果,需要强大的工具支持,而方小代正好提供了这一切;同时,不管是方小代还是思维树,本质都是对组件和流程的编排。因此,我们将其整合到 FlowDeer 这一统一品牌下边。

对于不熟悉这些信息的朋友也不必担心,接下来的介绍将会很详细。

为什么我们需要 FlowDeer³

我们首先来探讨,为何我们需要FlowDeer 3这样的产品。在大量使用AI工具的过程中,尽管AI的智能不断提高,但仍然存在许多问题。

分散的AI产品

首先,这些AI产品是非常分散的

尤其是当我们对各个领域的产品都有较高要求时,例如,如果你需要高度精准的推理能力,可能会倾向于使用ChatGPT;而如果对文学创作和文章写作要求较高,你可能会发现Claude3的效果更佳;喜欢图像处理的话,MidJourney无疑是目前最佳选择;在音乐创作方面,最近出现的新星SUNO也值得关注。但这些产品分散于整个网络中,使用时需注册多个账号,并在各自的网站或客户端中完成工作,然后复制粘贴整合,这是一个非常繁琐的过程。

细分市场的顶尖AI产品

从理论上讲,我们可以通过API整合这一切,但现实是,这些API要么价格昂贵,要么根本就不提供

昂贵或不存在的API

以ChatGPT的助理API为例,虽然OpenAI官方宣传你可以通过它来实现Custom GPT,但事实上,它提供的功能远少于ChatGPT的customer GPT,而且其费用却高得离谱。

比如,当你用过助理API创建包含RAG(检索增强)功能的助理时,每一个助理每天需要支付10美分。如果创建了大量的助理,整体费用将会非常高。与之相比,如果你是一个拥有GPT的Plus账号,你可以无限制地创建自定义GPT,而无需支付任何额外费用。因此,相对而言,API的费用都是偏高的。

助理API检索功能的计费说明

Claude3 也是如此,它支持非常长的上下文。在网页上,用户以包月甚至免费的方式上传长文本,实际费用非常低。但是,一旦转移到API,费用将按Token计费。长篇的上下文一旦上传,可能会导致费用迅速上涨。加之,每次提问和回答,以及历史记录的累积,费用会进一步飙升。

Claude 3 Pricing

事实上,贵至少有的用,但某些垂直AI服务,比如音乐创作AI Suno,和图像处理AI MidJourney ,它们根本就没有提供API。

API

复杂的现实世界

此外,当前人工智能技术,即使是GPT-4,也只能处理相对简单和单一的问题。当面对多个问题时,它可能无法理解问题之间的逻辑关系,最终给出不相关或不准确的回答。而现实世界常常需要我们完成复杂的任务。

GPT处理复杂任务

例如,开发一个类似淘宝的平台。这样的任务对于AI来说过于复杂,它们无法一次性完成大量代码的编写。

GitHub Copilot虽然可以在编程时提供帮助,但其功能更倾向于辅助性质,而不是独立完成整个编码过程。即使是最近推出的最出色的Devin,在软件问题解答的成功率仅在百分之十几

Devin的成功率

多AI协作智能更高

因此,为了在现有模型的智能基础上进一步提升最终效果,我们可以采用多AI(智能体)协作的方式。有研究报告显示,使用多个AI协作的方法,在特定任务上的表现远超单一AI的处理结果。

多Agent协作的效果

为了应对上述问题,我们提出了FlowDeer³,一个旨在整合分散的AI产品,通过自动化流程简化操作,提高效率的解决方案。

FlowDeer³ 的解决方案

先来简单分析下。

解决问题

我们需要一个自动化的解决方案。这样的方案能够自动地将资料或问题发送到不同的AI产品中,获取答案,并将这些答案整合起来,避免了繁琐的复制粘贴和整合工作。面对那些昂贵或者没有提供API的情况,我们可能需要寻找API之外的一些解决方案,例如通过无头浏览器来模拟用户操作,这可以代替手动完成这些任务。

当遇到复杂的任务时,我们可能需要将任务拆分。这并不是让AI直接处理一个非常复杂的大任务,而是首先将这个大任务逐步拆解成一系列小任务。在定义好这些小任务后,再让AI去执行它们,然后将执行结果合并起来,最终输出一个能够满足我们需求的结果。对于涉及协作的部分,我们需要定义多个智能体并让它们协作起来。

编排能力

为了将分散的能力整合到一起,我们首先必须要有的就是编排能力。FlowDeer³ 提供了两种编排工具:工作流编辑器和思维树。

工作流

先说工作流编辑器。它包含了一系列节点,每个节点完成不同的功能。将这些节点连起来后,它们就会按照顺序执行。

工作流编辑器

我们来看看上图中的工作流在干什么。首先,它通过搜索应用输入关键词并获取结果中的第一条网页链接,然后通过网页获取应用读取这个链接的内容,最后通过AI聊天应用将得到的中文翻译成英文并输出。这只是一个简单例子。FlowDeer³的工作流还支持工作流节点,从而实现工作流之间的嵌套,可以处理高复杂度的任务。

思维树

通过思维树对复杂任务进行分拆和执行是旧版FlowDeer的「传统艺能」。思维树在复杂度高但单任务难度低的场景下,比工作流更好用。典型的场景是针对特定问题做深度分析、长篇网络小说的创作。

思维树

思维树的主要工作方式是「分拆」+「执行」,它能够将复杂任务自动拆分为一级一级的子任务,每一个子任务还可以继续被拆分或执行。

新版思维树支持AI团队和插件。我们可以创建多个智能体,每个AI可以被指派完成特定的任务,从而使大任务中的每一个小任务都能被专人专职处理。

最终,我们可以将所有输出通过摘要合并起来,就能得到一个不错的结果。

将Fxd应用作为插件

FlowDeer³ 中的思维树支持将 fxd应用作为插件,所以它甚至能把工作流嵌入作为插件运行。

可用组件

首发组件

编排本身仅是一种组织能力,然而工具的实用性,在很大程度上取决于我们提供的组件是否充分且高效。虽然AI组件是其核心,但实际上,还有许多任务不必要通过AI完成,而应由自动化过程来执行。这也是我们需要关注的一部分。

在FlowDeer³中,我们提供了一系列组件。

FlowDeer首发的Fxd应用

例如,fetch用于网页获取,search用于网页搜索,screenshot用于网页截图,checkchan用于网页监控,以及publish用于自动发布微博。

这些组件使得用户无需手动打开浏览器即可执行任务。例如,通过publish组件,用户只需传入参数和图片,系统便会自动发布微博。需要注意的是,某些操作如微博发布,需要进行登录,因此我们还提供了账号保护功能,通过定期刷新页面,避免登录状态过期,确保自动化的持续运行。

组件和Fxd 规范

FlowDeer³组件的最大特色在于,它是基于FXD开放规范,并且发布到NPM上的。

发布到NPM上的Fxd应用

这意味着,任何人都可以免费使用这些组件;同时,任何人只要按照FXD开放规范发布的NPM包,都可以被FlowDeer、FXD-cli(fxd官方命令行工具)以及未来其他GUI使用。

相信随着FXD规范和FlowDeer生态的成熟,我们能用的组件也会越来越多。

组件的开发和生成

SDK和Core应用

为了进一步降低FXD应用开发的难度,我们为常见功能提供了封装,并提供了SDK和一个Core APP。

通过SDK,用户可以执行云端操作、AI调用、进行存储和文件处理,甚至通过WebSocket与用户界面进行通信。所有这些集成的功能,开发者仅需调用一个函数即可使用,无需从零开始。

此外,我们还提供了实现了基本功能的Core应用和封装了无头浏览器功能的Browser应用。直接集成它们,用户只需调整与我们不同或未实现的部分,即可快速完成应用开发。

这种高度封装的特性,甚至允许我们让ChatGPT等工具帮助编写FXD应用。例如,我曾让GPT帮我编写了一个监测网站最新文章的FXD应用,尽管该应用功能简单,但说明了可能性。相信随着GPT版本的升级,它能编写的应用也会越来越多。

让GPT开发FXD应用

关于 FXD 规范、FXD命令行工具的安装和使用,FXD应用的扩展和开发,可以阅读FXD官方手册

命令行接口

fxd-cli

我们还提供了命令行接口,这对于提高工作效率具有重要意义。

提供命令行接口的好处在于,它允许用户与系统命令进行无缝集成。对于Windows用户,可以利用像PowerShell这样的命令;而在Linux环境下,用户可以利用各种命令行工具。

如果仔细观察,会发现很多图形用户界面的软件,比如我目前使用的视频录制软件OBS,其实也包含了命令行;而MacOS下的办公软件Pages、Numbers、Keynote 都可以通过 AppleScript 或者 JS 来控制。这些都可以很好的和 FXD 命令行交互和整合。

因此,对于熟练使用命令行的高端用户或程序员而言,这意味着极高的自由度。

GUI 亦即 FlowDeer³

与此同时,对于那些不太熟悉或者不喜欢用命令行的用户,我们提供了一个直观易用的客户端,也就是FlowDeer³。在其任务管理页面中,用户可以轻松管理待执行的任务,甚至可以直接从NPM下载所需的包,并通过自动生成的表单界面填写参数,这无疑降低了技术门槛。

任务管理界面

对于程序员而言,遵循FXD规范并利用我们的命令行和客户端工具,不仅能显著提高开发效率,还能简化应用的发布和使用流程。在传统的开发过程中,如果你想要创建一个给非技术人群使用的工具,通常需要自己设计用户界面和处理很多外围逻辑,以确保最终用户能够方便地使用这个工具。这不仅增加了开发的复杂度,也可能影响到工具的上手难度。

然而,如果你的工具或应用遵循了我们的FXD规范并发布到了NPM上,那么任何遵守此规范的命令行工具或客户端都可以直接利用你的应用,无需额外配置。这意味着,你不必亲自设计复杂的用户界面,也不需要处理繁杂的外围逻辑。我们的系统能够帮助你自动配置参数和生成用户界面,使得最终用户能够更加轻松地使用你的工具。

定时任务和快捷键

此外,我们提供的任务管理还支持定时执行和快捷键操作,极大地提升了用户的工作效率。

对于周期性的任务,用户可以简单地设置定时执行,而无需手动创建Cron作业。快捷键的功能更是提升了操作的便捷性;仅需通过一个全局快捷键,即可快速执行特定的任务。

例如,我们之前创建的一个与系统剪贴板交互的应用,用户只需按下一个快捷键,即可将剪贴板中的内容翻译成英文,然后通过简单的按键组合(如Ctrl+V)即可粘贴翻译后的内容。这样的操作不仅简便,而且效率极高。

FlowDeer³公式

FlowDeer公式

总结起来,FlowDeer给出的解决方案就是「丰富的组件」+「有效的编排」。这两者结合起来,就能够实现高度自动化的工作流程。

为了拥有「丰富的组件」,我们定义了FXD规范无论是现成的API、使用无头浏览器实现的自动化、还是其他命令行形态的应用,都可以作为FXD应用使用。当然前提是,应用必须通过一个NPM包进行封装,并且遵守我们设定的参数说明和入口定义标准。

对于那些已经存在的应用,如ffmpeg或YouTube downloader等,我们可以手动对其进行再次封装,然后将其整合到FlowDeer的体系中。甚至我们还制作了Custom GPT 来帮助编写 FXD 应用。

为了实现「有效的编排」,我们利用可视化工作流和无限层级的思维树来简化复杂任务的处理。此外,我们还提供了任务管理器,使用户能够轻松配置任务参数、设定任务的定时执行和快捷键。拥有了这整套工具之后,自动化工作流便能够轻而易举地实现。

当然,最终的效果取决于FXD&FlowDeer生态的发展,这也是为什么我们选择将组件发布到NPM上的原因。通过这种方式,我们希望全世界的人都可以分享和利用这些功能,同时,任何人也都可以将自己的功能发布到这个平台上,供他人使用。

后续文章中,我们将具体讲述如何安装和使用FlowDeer³。

如果对文章内容有疑问或者有经验分享,请在评论中留言,我们会及时回复。
发表回复