FBP相比代码的优势

林一二2025年04月06日 17:10

我考虑过直接让用户用脚本语言如js和Python来写AI工作流,因为现在语言模型写代码比写自定义的DSL要高效,甚至像虚幻引擎蓝图这样的格式化编程都还不支持语言模型生成。

但要考虑FBP的几个优势:

  1. 关注点分离,维护时容易找到想改的位置
    1. 配置一般是折叠在节点里,点击节点才能看到完整配置项,这样隐藏了冗长的配置,使得界面更清晰。
    2. 用户需要能读懂每段代码或节点在做什么才能定位到想改的位置,尤其是改AI生成的工作流时。
    3. 节点可以做 i18n,但编程语言基本写死了函数名是某种人类语言,不好动态切换翻译。
  2. 运行在自定义VM(或简单的状态机执行器)上,容易控制启停
    1. 可以在任意节点处暂停,然后从这个节点恢复执行。可以把状态序列化,在电脑重启后恢复状态。这个 JS VM 不好做到。
    2. 执行的粒度是节点,可以隐藏节点里具体的代码执行细节。
    3. 可以控制一部分在后端执行,一部分在边缘节点执行,一部分在前端执行
  3. 方便定义元信息
    1. 每个节点(函数)有哪些配置项(参数)都可以预先定义好,从而可以展示人类友好的表单填参数