导读:节点是智能体编排的核心元素。本文带你深入了解 18 种节点的设计理念、视觉呈现和交互细节,揭示如何让复杂的智能体能力变得简单易用。
在这里插入图片描述


一、节点:智能体的"能力积木"

1.1 节点的设计哲学

核心理念:每个节点封装一个独立的能力单元,通过组合节点构建复杂智能体。

┌────────────────────────────────────────────────────┐
│              节点设计三原则                          │
├────────────────────────────────────────────────────┤
│                                                     │
│  🎯 单一职责    →  一个节点只做一件事              │
│  📦 高内聚      →  所有相关配置集中在一起          │
│  🔗 低耦合      →  通过标准接口与其他节点交互      │
│                                                     │
└────────────────────────────────────────────────────┘

1.2 节点的价值

传统开发方式          vs         节点编排方式
────────────────              ────────────────

写代码实现 AI 对话              拖入 AI 节点
写代码调用 API                  拖入工具节点
写代码处理数据                  拖入数据节点
写代码实现循环                  拖入循环节点
写代码处理异常                  拖入错误处理节点

需要专业开发技能                不需要编程知识
开发周期长                      分钟级搭建
难以修改                        随时调整
不易复用                        模板化分享

二、节点类型全景图

2.1 分类体系

我们将 18+ 种节点分为六大类:

┌──────────────────────────────────────────────────────┐
│                  节点分类金字塔                        │
├──────────────────────────────────────────────────────┤
│                                                       │
│  第一层:基础节点(必需)                              │
│  ├─ 🟢 开始节点:智能体的入口                        │
│  └─ 🔴 结束节点:智能体的终点                        │
│                                                       │
│  第二层:输出节点(展示)                              │
│  └─ 🟡 消息节点:向用户输出内容                      │
│                                                       │
│  第三层:AI 能力节点(核心)                           │
│  ├─ 🔵 AI 节点:大模型对话                           │
│  ├─ 🟣 检索节点:知识库查询                          │
│  └─ 🟤 分类节点:智能分类                            │
│                                                       │
│  第四层:流程控制节点(逻辑)                          │
│  ├─ 🟠 条件节点:分支判断                            │
│  ├─ 🔷 迭代节点:遍历数组                            │
│  ├─ 🔶 循环节点:重复执行                            │
│  └─ 🟢 等待节点:暂停等待                            │
│                                                       │
│  第五层:数据处理节点(工具)                          │
│  ├─ 🔵 文本处理节点:字符串操作                      │
│  ├─ 🔵 数据操作节点:对象处理                        │
│  ├─ 🔵 列表操作节点:数组处理                        │
│  └─ 🟤 代码节点:自定义逻辑                          │
│                                                       │
│  第六层:扩展节点(高级)                              │
│  ├─ 🔵 工具节点:调用外部 API                        │
│  ├─ 🔵 变量聚合节点:数据汇总                        │
│  └─ 🔵 变量赋值节点:数据修改                        │
│                                                       │
└──────────────────────────────────────────────────────┘

2.2 节点能力矩阵

┌──────────────────────────────────────────────────────┐
│              节点能力一览表                            │
├──────────────────────────────────────────────────────┤
│                                                       │
│  节点类型      │  核心能力        │  典型场景        │
│  ─────────────│────────────────│────────────────│
│  开始         │  接收用户输入    │  智能体启动      │
│  AI          │  大模型对话      │  问答、生成      │
│  检索         │  知识库查询      │  信息检索        │
│  条件         │  分支判断        │  多路径流程      │
│  消息         │  内容输出        │  用户交互        │
│  迭代         │  遍历数组        │  批量处理        │
│  循环         │  重复执行        │  定时任务        │
│  工具         │  API 调用        │  外部集成        │
│  代码         │  自定义脚本      │  复杂逻辑        │
│                                                       │
└──────────────────────────────────────────────────────┘

三、节点视觉设计

3.1 节点外观结构

每个节点都有统一的外观结构:

┌─────────────────────────────────────────┐
│              节点外观结构                │
├─────────────────────────────────────────┤
│                                         │
│       ┌───────────────────────┐         │
│       │  [图标] 节点名称       │ ← 头部 │
│       ├───────────────────────┤         │
│       │                       │         │
│       │   简要信息/预览       │ ← 内容 │
│       │                       │         │
│       ├───────────────────────┤         │
│       │  ●输入    输出●       │ ← 底部 │
│       └───────────────────────┘         │
│                                         │
│  尺寸:宽 280px,高度自适应             │
│                                         │
└─────────────────────────────────────────┘

3.2 头部设计

节点头部承载核心识别信息:

┌──────────────────────────────────────────────────────┐
│              节点头部元素                              │
├──────────────────────────────────────────────────────┤
│                                                       │
│  ┌─────────────────────────────────────────┐         │
│  │  [🤖图标] 智能客服助手 [✏️] [🗑️]       │         │
│  └─────────────────────────────────────────┘         │
│                                                       │
│  元素说明:                                            │
│  ├─ 图标:节点类型的视觉符号                          │
│  ├─ 名称:可编辑的节点标识                            │
│  ├─ 编辑按钮:双击或点击图标编辑                      │
│  └─ 操作按钮:悬停时显示操作菜单                      │
│                                                       │
└──────────────────────────────────────────────────────┘

3.3 内容区域

不同节点的内容区域显示不同的预览信息:

┌──────────────────────────────────────────────────────┐
│              各节点内容预览示例                        │
├──────────────────────────────────────────────────────┤
│                                                       │
│  【AI 节点】                                          │
│  ┌─────────────────────────────────┐                 │
│  │ 模型:GPT-4                     │                 │
│  │ 提示词:你是一个专业的客服...   │                 │
│  │ 工具:搜索、计算器              │                 │
│  └─────────────────────────────────┘                 │
│                                                       │
│  【检索节点】                                          │
│  ┌─────────────────────────────────┐                 │
│  │ 知识库:产品知识库              │                 │
│  │ Top K:5 条                     │                 │
│  │ 相似度:0.7                     │                 │
│  └─────────────────────────────────┘                 │
│                                                       │
│  【条件节点】                                          │
│  ┌─────────────────────────────────┐                 │
│  │ 条件 1:用户等级 > 5            │                 │
│  │ 条件 2:订单金额 > 1000         │                 │
│  │ 默认:普通用户                  │                 │
│  └─────────────────────────────────┘                 │
│                                                       │
│  【循环节点】                                          │
│  ┌─────────────────────────────────┐                 │
│  │ 循环次数:10                    │                 │
│  │ 条件:结果.length > 0           │                 │
│  │ 状态:运行中/已完成             │                 │
│  └─────────────────────────────────┘                 │
│                                                       │
└──────────────────────────────────────────────────────┘

3.4 连接点设计

连接点是节点的"输入输出接口":

┌──────────────────────────────────────────────────────┐
│              连接点位置规范                            │
├──────────────────────────────────────────────────────┤
│                                                       │
│  普通节点:                                            │
│  ┌───────────────────────┐                            │
│  │ ●输入(左侧)          │                            │
│  │                       │                            │
│  │              输出●(右侧)│                            │
│  └───────────────────────┘                            │
│                                                       │
│  条件节点(多输出):                                  │
│  ┌───────────────────────┐                            │
│  │ ●输入(左侧)          │                            │
│  │                       │                            │
│  │  Case 1 ●(右侧)     │                            │
│  │  Case 2 ●(右侧)     │                            │
│  │  默认 ●(右侧)       │                            │
│  └───────────────────────┘                            │
│                                                       │
│  连接点样式:                                          │
│  ├─ 未连接:灰色小圆点                                │
│  ├─ 已连接:蓝色实心圆                                │
│  ├─ 可连接:悬停时高亮                                │
│  └─ 尺寸:15px × 15px                                │
│                                                       │
└──────────────────────────────────────────────────────┘

四、核心节点详解

4.1 开始节点

作用:智能体的入口,接收用户输入并初始化变量。

┌──────────────────────────────────────────────────────┐
│              开始节点设计                              │
├──────────────────────────────────────────────────────┤
│                                                       │
│  视觉表现:                                            │
│  ┌─────────────────────────────────┐                 │
│  │  [🟢开始图标] 开始              │                 │
│  ├─────────────────────────────────┤                 │
│  │  模式:对话模式                 │                 │
│  │  输入参数:2 个                 │                 │
│  │  开场白:您好,我是智能助手...   │                 │
│  └─────────────────────────────────┘                 │
│                                                       │
│  核心配置:                                            │
│  ├─ 运行模式:对话/任务/Webhook                      │
│  ├─ 输入参数定义                                      │
│  ├─ 开场白设置                                        │
│  └─ 初始化变量                                        │
│                                                       │
│  输出变量:                                            │
│  ├─ sys.query(用户问题)                            │
│  ├─ sys.user_id(用户 ID)                           │
│  └─ sys.files(上传文件)                            │
│                                                       │
└──────────────────────────────────────────────────────┘

工作模式对比

┌─────────────────────────────────────────┐
│          三种工作模式                    │
├─────────────────────────────────────────┤
│                                         │
│  对话模式                                │
│  ├─ 适用场景:聊天机器人                │
│  ├─ 特点:多轮对话、有开场白            │
│  └─ 用户交互:即时回复                  │
│                                         │
│  任务模式                                │
│  ├─ 适用场景:单次任务                  │
│  ├─ 特点:一次性输入、一次输出          │
│  └─ 用户交互:任务完成后结束            │
│                                         │
│  Webhook 模式                           │
│  ├─适用场景:外部系统调用               │
│  ├─ 特点:API 触发、自动响应            │
│  └─ 用户交互:无界面交互                │
│                                         │
└─────────────────────────────────────────┘

4.2 AI 节点

作用:调用大模型,执行对话、推理、生成等任务。

┌──────────────────────────────────────────────────────┐
│              AI 节点设计                               │
├──────────────────────────────────────────────────────┤
│                                                       │
│  视觉表现:                                            │
│  ┌─────────────────────────────────┐                 │
│  │  [🤖AI图标] 智能对话             │                 │
│  ├─────────────────────────────────┤                 │
│  │  模型:GPT-4                     │                 │
│  │  温度:0.7                       │                 │
│  │  提示词:分析用户意图...         │                 │
│  │  工具:2 个                      │                 │
│  └─────────────────────────────────┘                 │
│                                                       │
│  核心配置:                                            │
│  ├─ 模型选择                                          │
│  ├─ 参数调优(温度、Top-P 等)                        │
│  ├─ 提示词配置                                        │
│  ├─ 工具绑定                                          │
│  ├─ 记忆窗口                                          │
│  └─ 错误处理                                          │
│                                                       │
│  输出变量:                                            │
│  ├─ content(AI 回答)                                │
│  ├─ tokens_used(Token 用量)                        │
│  └─ tool_calls(工具调用记录)                        │
│                                                       │
└──────────────────────────────────────────────────────┘

提示词配置示意

┌──────────────────────────────────────────────────────┐
│              提示词配置界面                            │
├──────────────────────────────────────────────────────┤
│                                                       │
│  系统提示词:                                          │
│  ┌─────────────────────────────────────────┐         │
│  │ 你是一个专业的客服助手,请根据用户问题   │         │
│  │ 提供准确、友好的回答。参考检索到的知识   │         │
│  │ 库内容来回答。                          │         │
│  └─────────────────────────────────────────┘         │
│                                                       │
│  用户提示词(支持变量):                              │
│  ┌─────────────────────────────────────────┐         │
│  │ 用户问题:{begin@query}                 │         │
│  │ 参考信息:{retrieval@content}           │         │
│  └─────────────────────────────────────────┘         │
│                                                       │
│  变量插入按钮:[ 🔗插入变量 ]                         │
│                                                       │
└──────────────────────────────────────────────────────┘

4.3 检索节点

作用:从知识库中查询相关信息。

┌──────────────────────────────────────────────────────┐
│              检索节点设计                              │
├──────────────────────────────────────────────────────┤
│                                                       │
│  视觉表现:                                            │
│  ┌─────────────────────────────────┐                 │
│  │  [🔍检索图标] 知识检索           │                 │
│  ├─────────────────────────────────┤                 │
│  │  知识库:产品文档                │                 │
│  │  查询:{begin@query}             │                 │
│  │  Top K:5 条                     │                 │
│  │  相似度阈值:0.7                 │                 │
│  └─────────────────────────────────┘                 │
│                                                       │
│  核心配置:                                            │
│  ├─ 知识库选择                                        │
│  ├─ 查询变量                                          │
│  ├─ 相似度阈值                                        │
│  ├─ Top K 设置                                        │
│  ├─ 重排序模型                                        │
│  └─ 空结果处理                                        │
│                                                       │
│  输出变量:                                            │
│  ├─ content(检索内容)                               │
│  ├─ results(结果列表)                               │
│  └─ sources(来源信息)                               │
│                                                       │
└──────────────────────────────────────────────────────┘

4.4 条件节点

作用:根据条件判断,选择不同的执行路径。

┌──────────────────────────────────────────────────────┐
│              条件节点设计                              │
├──────────────────────────────────────────────────────┤
│                                                       │
│  视觉表现:                                            │
│  ┌─────────────────────────────────┐                 │
│  │  [🔀条件图标] 用户判断           │                 │
│  ├─────────────────────────────────┤                 │
│  │  条件 1:VIP 用户                │                 │
│  │  条件 2:普通用户                │                 │
│  │  默认:转人工                    │                 │
│  │                       ●Case1    │                 │
│  │                       ●Case2    │                 │
│  │                       ●默认     │                 │
│  └─────────────────────────────────┘                 │
│                                                       │
│  核心配置:                                            │
│  ├─ 多条件分支                                        │
│  ├─ 条件表达式(支持变量)                            │
│  ├─ 逻辑组合(AND/OR)                                │
│  └─ 默认分支                                          │
│                                                       │
│  连接点:                                              │
│  ├─ 输入:1 个                                        │
│  ├─ 输出:多个(Case 1, Case 2, ...)                │
│  └─ 默认:最后一个输出                                │
│                                                       │
└──────────────────────────────────────────────────────┘

条件配置界面

┌──────────────────────────────────────────────────────┐
│              条件配置界面                              │
├──────────────────────────────────────────────────────┤
│                                                       │
│  【条件分支 1】                                        │
│  ├─ 名称:VIP 用户                                    │
│  ├─ 规则:                                            │
│  │   ├─ {begin@user_level} > 5                       │
│  │   └─ {begin@balance} > 1000                       │
│  ├─ 逻辑:AND                                         │
│  └─ 目标:vip_service_node                            │
│                                                       │
│  【条件分支 2】                                        │
│  ├─ 名称:普通用户                                    │
│  ├─ 规则:                                            │
│  │   └─ {begin@user_level} >= 1                      │
│  ├─ 逻辑:OR                                          │
│  └─ 目标:normal_service_node                         │
│                                                       │
│  【默认分支】                                          │
│  ├─ 名称:转人工                                      │
│  └─ 目标:human_service_node                          │
│                                                       │
│  [+ 添加条件分支]                                     │
│                                                       │
└──────────────────────────────────────────────────────┘

4.5 消息节点

作用:向用户输出内容。

┌──────────────────────────────────────────────────────┐
│              消息节点设计                              │
├──────────────────────────────────────────────────────┤
│                                                       │
│  视觉表现:                                            │
│  ┌─────────────────────────────────┐                 │
│  │  [💬消息图标] 输出回答           │                 │
│  ├─────────────────────────────────┤                 │
│  │  内容:                          │                 │
│  │  根据检索结果,为您找到了...     │                 │
│  │                                  │                 │
│  └─────────────────────────────────┘                 │
│                                                       │
│  核心配置:                                            │
│  ├─ 消息内容(支持变量)                              │
│  ├─ 输出格式(文本/卡片)                             │
│  ├─ 自动播放(音频)                                  │
│  └─ 记忆保存                                          │
│                                                       │
│  消息类型:                                            │
│  ├─ 文本消息                                          │
│  ├─ 卡片消息                                          │
│  ├─ 图片消息                                          │
│  └─ 音频消息                                          │
│                                                       │
└──────────────────────────────────────────────────────┘

五、高级节点详解

5.1 迭代节点

作用:遍历数组,对每个元素执行相同的操作。

┌──────────────────────────────────────────────────────┐
│              迭代节点设计                              │
├──────────────────────────────────────────────────────┤
│                                                       │
│  视觉表现(容器节点):                                │
│  ┌─────────────────────────────────────┐              │
│  │  [🔄迭代图标] 批量处理              │              │
│  ├─────────────────────────────────────┤              │
│  │                                     │              │
│  │  输入数组:{retrieval@results}      │              │
│  │                                     │              │
│  │  ┌─────────────────────────────┐    │              │
│  │  │  [子节点 1]                  │    │ ← 内部区域  │
│  │  │  处理单个元素                │    │              │
│  │  └─────────────────────────────┘    │              │
│  │                                     │              │
│  │  输出变量:处理结果数组             │              │
│  │                                     │              │
│  └─────────────────────────────────────┘              │
│                                                       │
│  核心配置:                                            │
│  ├─ 输入数组(要遍历的数据)                          │
│  ├─ 迭代变量名(当前元素)                            │
│  ├─ 索引变量名(当前位置)                            │
│  └─ 输出变量(收集结果)                              │
│                                                       │
│  使用场景:                                            │
│  ├─ 批量处理检索结果                                  │
│  ├─ 批量生成内容                                      │
│  └─ 批量调用 API                                      │
│                                                       │
└──────────────────────────────────────────────────────┘

迭代流程示意

输入数组:[{文件1}, {文件2}, {文件3}]
            ↓
┌─────────────────────────────────────┐
│  迭代节点                            │
│                                     │
│  第 1 次:处理 {文件1}              │
│  第 2 次:处理 {文件2}              │
│  第 3 次:处理 {文件3}              │
│                                     │
└─────────────────────────────────────┘
            ↓
输出数组:[{结果1}, {结果2}, {结果3}]

5.2 循环节点

作用:重复执行某段流程,直到满足终止条件。

┌──────────────────────────────────────────────────────┐
│              循环节点设计                              │
├──────────────────────────────────────────────────────┤
│                                                       │
│  视觉表现(容器节点):                                │
│  ┌─────────────────────────────────────┐              │
│  │  [🔁循环图标] 定时检查              │              │
│  ├─────────────────────────────────────┤              │
│  │                                     │              │
│  │  循环变量:计数器 = 0               │              │
│  │  最大次数:10                       │              │
│  │                                     │              │
│  │  ┌─────────────────────────────┐    │              │
│  │  │  [子节点]                    │    │ ← 内部区域  │
│  │  │  执行检查逻辑                │    │              │
│  │  └─────────────────────────────┘    │              │
│  │                                     │              │
│  │  终止条件:结果.length > 0          │              │
│  │                                     │              │
│  └─────────────────────────────────────┘              │
│                                                       │
│  核心配置:                                            │
│  ├─ 循环变量(初始化)                                │
│  ├─ 最大循环次数                                      │
│  ├─ 终止条件                                          │
│  └─ 输出变量                                          │
│                                                       │
│  使用场景:                                            │
│  ├─ 定时检查任务状态                                  │
│  ├─ 等待外部事件                                      │
│  ├─ 重试失败操作                                      │
│                                                       │
└──────────────────────────────────────────────────────┘

循环流程示意

开始循环
    ↓
┌─────────────────────────────────────┐
│  第 1 次:检查状态 → 未完成          │
│  第 2 次:检查状态 → 未完成          │
│  第 3 次:检查状态 → 未完成          │
│  第 4 次:检查状态 → 已完成 ✓        │
│                                     │
│  终止条件满足,退出循环              │
└─────────────────────────────────────┘
    ↓
继续执行后续节点

5.3 工具节点

作用:调用外部 API 或内置工具。

┌──────────────────────────────────────────────────────┐
│              工具节点设计                              │
├──────────────────────────────────────────────────────┤
│                                                       │
│  视觉表现:                                            │
│  ┌─────────────────────────────────┐                 │
│  │  [🔧工具图标] 搜索引擎           │                 │
│  ├─────────────────────────────────┤                 │
│  │  工具类型:Web 搜索              │                 │
│  │  查询:{begin@query}             │                 │
│  │  结果数量:5                     │                 │
│  └─────────────────────────────────┘                 │
│                                                       │
│  内置工具类型:                                        │
│  ├─ Web 搜索                                          │
│  ├─ 文件处理                                          │
│  ├─ 数据库查询                                        │
│  ├─ 邮件发送                                          │
│  └─ 天气查询                                          │
│                                                       │
│  自定义工具:                                          │
│  ├─ API URL                                          │
│  ├─ 请求方法                                          │
│  ├─ 参数配置                                          │
│  └─ 返回值处理                                        │
│                                                       │
│  输出变量:                                            │
│  ├─ result(工具返回结果)                            │
│  ├─ status(执行状态)                                │
│  └─ error(错误信息)                                 │
│                                                       │
└──────────────────────────────────────────────────────┘

5.4 代码节点

作用:执行自定义代码脚本。

┌──────────────────────────────────────────────────────┐
│              代码节点设计                              │
├──────────────────────────────────────────────────────┤
│                                                       │
│  视觉表现:                                            │
│  ┌─────────────────────────────────┐                 │
│  │  [💻代码图标] 数据转换           │                 │
│  ├─────────────────────────────────┤                 │
│  │  语言:Python                    │                 │
│  │  输入:2 个变量                  │                 │
│  │  输出:1 个变量                  │                 │
│  └─────────────────────────────────┘                 │
│                                                       │
│  核心配置:                                            │
│  ├─ 编程语言(Python/JavaScript)                    │
│  ├─ 输入变量                                          │
│  ├─ 代码脚本                                          │
│  ├─ 输出变量                                          │
│  └─ 运行环境                                          │
│                                                       │
│  使用场景:                                            │
│  ├─ 复杂数据转换                                      │
│  ├─ 自定义计算逻辑                                    │
│  ├─ 数据清洗                                          │
│  └─ 特殊格式处理                                      │
│                                                       │
└──────────────────────────────────────────────────────┘

六、节点交互设计

6.1 基础交互

┌──────────────────────────────────────────────────────┐
│              节点基础交互                              │
├──────────────────────────────────────────────────────┤
│                                                       │
│  单击节点 → 选中(蓝色边框)                          │
│  双击节点 → 打开配置表单                              │
│  拖拽节点 → 移动位置                                  │
│  右键节点 → 显示操作菜单                              │
│                                                       │
│  操作菜单:                                            │
│  ├─ ✏️ 编辑配置                                      │
│  ├─ 📋 复制节点                                      │
│  ├─ 🗑️ 删除节点                                      │
│  ├─ 🔄 重置配置                                      │
│  └─ ℹ️ 查看详情                                      │
│                                                       │
└──────────────────────────────────────────────────────┘

6.2 工具栏设计

节点悬停时显示快捷操作按钮:

┌──────────────────────────────────────────────────────┐
│              节点工具栏                                │
├──────────────────────────────────────────────────────┤
│                                                       │
│      ┌─────────────────────────────┐                  │
│      │  [🤖] 智能对话               │                  │
│      └─────────────────────────────┤ ← 工具栏位置     │
│   ┌──────────────┐                 │                  │
│   │ [▶] [📋] [×]│                 │                  │
│   └──────────────┘                 │                  │
│      │  模型:GPT-4                 │                  │
│      │  ...                         │                  │
│      └─────────────────────────────┘                  │
│                                                       │
│  工具栏按钮:                                          │
│  ├─ ▶ 运行节点(测试)                               │
│  ├─ 📋 复制节点                                      │
│  └─ × 删除节点                                       │
│                                                       │
│  显示时机:悬停节点时自动显示                          │
│  隐藏时机:移开鼠标后自动隐藏                          │
│                                                       │
└──────────────────────────────────────────────────────┘

6.3 状态反馈

节点在执行过程中显示不同的状态:

┌──────────────────────────────────────────────────────┐
│              节点状态反馈                              │
├──────────────────────────────────────────────────────┤
│                                                       │
│  【等待状态】                                          │
│  ┌─────────────────────────────────┐                 │
│  │  [🤖] 智能对话                  │                 │
│  │  ⏳ 等待上游输入...             │ ← 灰色状态栏   │
│  └─────────────────────────────────┘                 │
│                                                       │
│  【运行状态】                                          │
│  ┌─────────────────────────────────┐                 │
│  │  [🤖] 智能对话                  │                 │
│  │  ⚙️ 正在处理... 45%             │ ← 蓝色进度条   │
│  └─────────────────────────────────┘                 │
│                                                       │
│  【成功状态】                                          │
│  ┌─────────────────────────────────┐                 │
│  │  [🤖] 智能对话                  │                 │
│  │  ✓ 已完成                       │ ← 绿色状态栏   │
│  │  耗时:2.3 秒                   │                 │
│  └─────────────────────────────────┘                 │
│                                                       │
│  【错误状态】                                          │
│  ┌─────────────────────────────────┐                 │
│  │  [🤖] 智能对话                  │                 │
│  │  ❌ 执行失败                     │ ← 红色状态栏   │
│  │  错误:API 超时                 │                 │
│  └─────────────────────────────────┘                 │
│                                                       │
└──────────────────────────────────────────────────────┘

七、节点模板化

7.1 预设模板

为常用场景提供预设节点配置:

┌──────────────────────────────────────────────────────┐
│              预设节点模板                              │
├──────────────────────────────────────────────────────┤
│                                                       │
│  【客服对话模板】                                      │
│  ├─ AI 节点 + 检索节点 + 消息节点                    │
│  ├─ 预设提示词                                        │
│  ├─ 预设参数                                          │
│  └─ 一键添加                                          │
│                                                       │
│  【数据分析模板】                                      │
│  ├─ 代码节点 + 列表节点 + 消息节点                    │
│  ├─ 预设脚本                                          │
│  └─ 预设输出格式                                      │
│                                                       │
│  【批量处理模板】                                      │
│  ├─ 迭代节点 + 处理节点                               │
│  ├─ 预设循环逻辑                                      │
│  └─ 预设输出收集                                      │
│                                                       │
└──────────────────────────────────────────────────────┘

7.2 自定义模板

用户可以保存自己的节点配置为模板:

保存模板流程:
    
    配置节点 → 点击"保存为模板" → 输入名称 → 确认保存
        ↓
    模板库中新增模板 → 下次可直接使用

八、节点扩展机制

8.1 自定义节点类型

系统支持扩展新的节点类型:

┌──────────────────────────────────────────────────────┐
│              自定义节点步骤                            │
├──────────────────────────────────────────────────────┤
│                                                       │
│  1️⃣  定义节点类型                                    │
│     ├─ 节点名称                                       │
│     ├─ 节点图标                                       │
│     └─ 节点颜色                                       │
│                                                       │
│  2️⃣  设计节点配置表单                                │
│     ├─ 配置项定义                                     │
│     ├─ 输入输出变量                                   │
│     └─ 校验规则                                       │
│                                                       │
│  3️⃣  实现节点执行逻辑                                │
│     ├─ 输入处理                                       │
│     ├─ 核心逻辑                                       │
│     ├─ 输出处理                                       │
│     └─ 错误处理                                       │
│                                                       │
│  4️⃣  注册节点类型                                    │
│     ├─ 节点组件注册                                   │
│     ├─ 表单组件注册                                   │
│     └─ 执行器注册                                     │
│                                                       │
└──────────────────────────────────────────────────────┘

8.2 节点插件系统

插件化设计:

    ┌─────────────────────────────────────────┐
    │           节点插件结构                   │
    ├─────────────────────────────────────────┤
    │                                         │
    │  节点插件                                │
    │  ├─ manifest.json(插件元数据)          │
    │  ├─ node.vue(节点组件)                │
    │  ├─ form.vue(配置表单)                │
    │  ├─ executor.js(执行逻辑)             │
    │  └─ icon.svg(节点图标)                │
    │                                         │
    └─────────────────────────────────────────┘

九、总结

9.1 节点设计要点回顾

┌────────────────────────────────────────────────────┐
│              节点设计六大要点                        │
├────────────────────────────────────────────────────┤
│                                                     │
│  1️⃣  类型丰富    →  18+ 种节点覆盖各种场景        │
│  2️⃣  视觉统一    →  统一的外观结构                │
│  3️⃣  交互友好    →  悬停、选中、操作都有反馈      │
│  4️⃣  配置灵活    →  支持变量引用和表达式          │
│  5️⃣  状态可见    →  实时显示执行状态              │
│  6️⃣  可扩展      →  支持自定义节点类型            │
│                                                     │
└────────────────────────────────────────────────────┘

9.2 最佳实践建议

  • 合理命名:节点名称清晰表达功能
  • 精简配置:避免过度配置,保持简洁
  • 变量引用:充分利用变量传递数据
  • 错误处理:关键节点配置异常处理
  • 测试验证:配置后立即测试验证

系列文章导航

  1. 架构篇 - 整体设计和技术选型
  2. DSL 设计篇 - 数据结构与序列化
  3. 画布实现篇 - VueFlow 集成与交互
  4. 节点系统篇 - 18 种节点的实现细节(本文)
  5. 📝 表单系统篇 - 动态表单与变量引用
  6. 📝 状态管理篇 - Pinia Store 设计
  7. 📝 高级特性篇 - 迭代/循环/嵌套
  8. 📝 实战篇 - 从零构建一个完整智能体

作者注:本文基于 agent-flow 项目的实际代码分析编写,力求还原真实的架构设计过程。欢迎在评论区讨论或提问!

下一篇从零开始设计一个智能体编排系统 - 表单系统篇(敬请期待)

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐