AI辅助网文创作理论研究笔记(十四):工作流画布——两级可编排的模块系统
摘要:本文提出"工作流画布"概念,通过两级可编排模块系统解决传统固定页面导航的局限性。系统采用"芯片+PCB"类比,顶层为模块间连线(PCB),底层为模块内部逻辑(芯片)。每个模块明确定义输入输出引脚,支持全自动流程和手动微操两种模式。初期建议实现单级平铺画布,长期愿景支持嵌套子流程。该系统允许自由调整创作流程(如跳过步骤、并行对比方案),同时与文档库协同工
笔记14:工作流画布——两级可编排的模块系统
一、固定页面导航的问题
现有前端是页面式导航(L1 → L2 → L3 → L4)。问题:
- 顺序写死,跳不过去也回不来
- 全局视野缺失——大纲在 L2 页,正文在 L4 页,来回切
- 加 L1.5 就得加新页面,以后加更多步骤导航栏越来越臃肿
- 无法自定义流程——想对比两种章纲方案?没法做
二、电路板类比:芯片 + PCB
参考 Dify/n8n/ComfyUI 的可视化工作流,但做两层:
┌─────────────────────────────────────────┐
│ PCB(顶层工作流) │
│ │
┌──────────┐ 愿景 ┌──────────┐ 卷纲 ┌──────────┐ 章纲 │
│ L1 │──────→│ L1.5 │──────→│ L2 │ │
│ 种子 │ │ 情节编排 │ │ 架构 │ │
│ ○ 完成 │ │ ○ 完成 │ │ ○ 运行中 │ │
└──────────┘ └──────────┘ └──────────┘ │
│ 章纲 │
┌─────────────────────────┘ │
▼ │
┌──────────┐ 草稿 ┌──────────┐ 正文 │
│ L3 │───────→│ L4 │ │
│ 叙事 │ │ 渲染 │ │
└──────────┘ └──────────┘ │
▲ ▲ │
│ │ │
┌─────┴─────┐ ┌─────┴─────┐ │
│ 世界书 │ │ RAG │ │
│ (被动查询) │ │ (被动查询) │ │
└───────────┘ └───────────┘ │
│ │ │
└──────────┬──────────┘ │
│ │
共享数据总线 │
└─────────────────────────────────────────┘
每个模块(L1、L1.5、L2、L3、L4、世界书、RAG)是一颗封装的芯片。芯片对外暴露若干引脚,内部有自己的子电路。
顶层 PCB 画芯片之间的连线。双击芯片——打开看内部子工作流。
为什么是长期愿景
两级嵌套工作流在工程上复杂度很高(Dify 也不支持嵌套子流程),应标记为长期愿景。初期可以先做平铺的单级画布(所有节点平铺,不可嵌套),功能先跑通再考虑双击展开内部。
三、模块的引脚定义
每个模块有明确的输入输出,就像 MCU 的 datasheet:
┌─────────────────────────────────────┐
│ 模块:L2 架构层 │
│ │
│ 输入引脚: │
│ ├─ IN_vision ← L1 愿景 (json) │
│ ├─ IN_volume ← L1.5 卷纲 (md) │
│ ├─ IN_wb ← 世界书查询接口 │
│ └─ IN_rag ← RAG 检索接口 │
│ │
│ 输出引脚: │
│ ├─ OUT_outline → L2 章纲 (json) │
│ ├─ OUT_event → SSE 事件流 │
│ └─ OUT_log → 会议日志 │
│ │
│ 配置引脚: │
│ ├─ CFG_protocol → 会议协议 │
│ ├─ CFG_mode → 协作模式 │
│ └─ CFG_experts → 专家配置 │
└─────────────────────────────────────┘
用户在 PCB 层连线——把一块芯片的输出引脚连到另一块的输入引脚。
四、两级工作流
第一级:顶层 PCB(模块间连线)
从工具箱拖模块到画布,连接引脚。预置默认连线(L1→L1.5→L2→L3→L4),可自由改动:
- 拆掉 L1.5,L1 直连 L2(跳过分卷编排)
- L1.5 分两条线到两个 L2(对比两种章纲方案)
- L4 拉反馈线回到 L3(不满意重写)
- 并联"世界书自动更新"模块到 L2 旁边
第二级:芯片内部(模块内部工作流,长期愿景)
双击 L2 芯片,看到三专家循环;双击 L4 芯片,看到多 skill 切换逻辑。内部也可编辑。
五、两种操作模式
全自动:PCB 连线全部接好,点 [运行全部],数据从头流到尾。
手动微操:不连线或只连部分。每完成一个模块,产出存文档库。用户手动拿文件导到下一个模块。
全自动: 手动微操:
[L1] → [L1.5] → [L2] → [L3] → [L4] [L1] [L1.5] [L2]
自动 自动 自动 自动 ↓导出 ↑导入 ...
文档库 ← → 文档库
两种模式不互斥。大部分连线全自动,关键环节断开让人工介入。
文档库与画布的关系:文档库是用户的文件空间(笔记11),画布连线是自动化数据流。两者不冲突——用户可以把手动处理好的文档从文档库拖入画布模块的输入端口,作为自动化管线的起点。具体交互方式等实现时再深入设计。
六、模块库
左侧工具箱,拖到画布即可用:
工具箱
├── 创作模块
│ ├── L1 种子生成
│ ├── L1.5 情节编排
│ ├── L2 专家会议
│ ├── L3 标签草稿
│ └── L4 精修渲染
├── 支撑模块
│ ├── 世界书(查询/更新)
│ ├── RAG 历史回顾
│ ├── RAG 技法参考
│ └── 世界书管理员(自动更新)
├── 工具模块
│ ├── 导出 MD / 导出 TXT
│ ├── 导入文件 / 文档库保存
└── 我的模块
├── 我的打脸检查器(用户自建)
└── 自动节奏分析(导入)
模块的创建与导入
- 创建新模块:定义名称、输入输出引脚、内部 prompt
- 导入模块:拖入
.module.yaml - 封装复合模块:把一堆连好的模块打包成新的芯片(长期愿景)
# 用户自建模块:my_module.yaml
id: my_dalian_checker
name: 打脸检测器
description: 检查一章的打脸密度是否达标
inputs:
- name: chapter_text
type: text
outputs:
- name: density_report
type: json
prompt: |
分析以下章节的打脸密度...
七、节点交互
- 单击节点 → 显示状态和产出摘要
- 双击节点 → 展开操作面板(会议界面、标签编辑器、流式正文)
- 右键节点 → 配置面板(改协议、切换 skill、选专家)
- 拖拽连线 → 建立模块间数据流
- 角标 → 状态指示(○ 待运行 / ◉ 运行中 / ✓ 完成 / ⏳ 等待用户 / [3] 任务堆积)
八、与文档库侧边栏的关系
文档库侧边栏(笔记11)在左侧可折叠,工作流画布是主视图。两者不冲突——左看文件,中连电路。全自动时看画布,手动微操时在画布和文档库之间拖文件。
待讨论问题
-
单级画布还是两级画布:初期先做平铺单级画布(所有节点平铺,双击弹出配置面板而非嵌套子画布),两级嵌套作为长期愿景
-
前端的实现方案:Vue Flow?自研 SVG 画布?拖拽连线用哪个库?
-
画布状态持久化:连线布局、节点位置存到哪里?JSON 文件跟随项目?
-
全自动模式的安全性:如果中间某个模块失败(LLM 超时、输出解析失败),全自动管线如何处理?暂停?跳过?降级?
创建时间:2026-04-30 状态:长期愿景,初期先做单级平铺画布。消息系统见笔记15
更多推荐


所有评论(0)