跳转至

Knowledge-Centric Agents for Workflow Generation in ComfyUI

会议: ECCV 2026
Paper: https://eccv.ecva.net/virtual/2026/poster/4258
PDF: https://media.eventhosts.cc/Conferences/ECCV2026/pdfs/5134.pdf
领域: LLM 智能体
关键词: ComfyUI、工作流生成、知识反演、分层监督微调、自我修订

一句话总结

本文从真实 ComfyUI 工作流反推出策略、推理说明与骨架伪代码,再用分层 SFT 和自我修订把用户指令逐级还原为可执行图,在自建测试集上将 ComfyAgent 的平均 Pass / Resolve 从 36.4% / 29.4% 提升至 86.9% / 61.1%,但外部 ComfyBench 子集的 Resolve 仍只有 25.0%。

研究背景与动机

ComfyUI 把扩散模型、提示词编码、ControlNet、分割、修脸和超分辨率等组件连接成有向无环图。用户说“保持原图布局、换一种风格、增强脸部细节并恢复原色”,并不等于给出了一个可以直接调用的模型名称:系统要决定哪些操作先做,哪些控制条件一起作用,局部修复接在哪个位置,以及不同模块之间传递的是图像、潜变量、模型还是条件编码。因此,这项任务同时包含视觉处理方案设计与可执行图构造,输出合法 JSON 只是最后一层要求。

直接从任务生成 JSON,把策略选择、拓扑推理、节点参数和序列化细节挤在同一步里。一个缺失的放大模块可能使图能运行却无法达到要求;一个错误的输出槽索引又可能让总体方案正确的图直接失败。模板或元节点能减少连线难度,却也把组合空间限制在预设结构内。单纯扩大模型或增加思维链,并不能保证模型学会“何时需要某个处理分支”这类来自实践的知识。

论文选择从社区已有工作流出发,但这些图通常没有配套的用户意图和设计理由。作者先把图中的结构信息保留下来,再用模型补出可供学习的高层解释,之后沿反方向生成新图。核心 idea:将真实工作流中的隐含设计知识拆成策略、骨架和参数三个层次,重点训练任务到策略、策略到骨架的映射,把规则化还原留给模型之外的过程。

方法详解

整体框架

训练侧的输入是收集来的 ComfyUI 工作流,在线侧的输入是用户指令与任务所需素材,最终输出是可执行的 ComfyUI JSON 图及其生成结果。整个系统分为分层知识反演、选择性知识注入、分层推理与自我修订:前两者负责准备表示和学习映射,最后一者在新任务上从抽象意图走回具体配置。

“反演”不是求一个数学逆函数,而是沿工作流向上恢复可能的设计意图;“可逆推理”也不意味着这些映射是双射。多种策略可以产生相近拓扑,同一结构也可能服务不同目标。推理说明和任务描述是模型推断出的监督,不是原作者实际思考过程的记录。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    Raw["真实工作流"] --> Invert["分层知识反演<br/>图到骨架再到策略"]
    Invert --> Inject["选择性知识注入<br/>两阶段 SFT"]
    Inject --> Infer["分层推理与自我修订<br/>策略到骨架再到参数"]
    Input["新指令与输入素材"] --> Infer
    Infer --> Output["规则重建 JSON<br/>执行工作流并输出结果"]

关键设计

1. 分层知识反演:把一张成功的图变成多个抽象层级的监督

原始 JSON 包含节点、参数、连接以及 ComfyUI 的表现层细节。第一步使用规则转换器生成完整伪代码:保留模块名称、拓扑关系和参数值,移除界面样式与冗余语法。它相当于一份更适合语言模型阅读的结构化程序,而不是自由生成的文字摘要。随后由语言模型删去具体数值和参数绑定,得到骨架伪代码;这里删掉的是低层配置,不是表示节点依赖的变量连接。否则骨架将失去最重要的图结构信息。

接下来,模型解释这个骨架为什么如此组织,例如多路控制为什么融合、为什么先去噪再修脸、前景与背景为什么分支处理。作者把这一步称为策略推理提取,再将推理说明压缩成高层策略。最后,由于大多数原始工作流缺少用户查询,系统结合检索到的示例与结构语义,推断相容的任务指令和输入规格。因此,一张图可以提供“任务、策略、推理说明、骨架、完整伪代码”的关联表示,而不再只是孤立的 JSON 目标。

这个层次划分隔离了两种易混淆的信息:哪些模块应该连接,是可以跨参数配置复用的处理逻辑;采样步数、模型文件等具体绑定,则决定某次实例如何运行。它也引入了监督噪声:模型可能为既有拓扑补出听起来合理但不真实的设计理由。本文没有提供人工设计理由的真值来验证这些解释,因此应将它们视作弱监督,而非已经恢复的因果知识。

2. 选择性知识注入:只在需要组合知识的层间映射上训练

作者没有让一个训练目标同时负责全部转换,而是对 Qwen3-14B 进行两个阶段的监督微调。任务到策略阶段学习识别目标、选择模块和安排处理逻辑;策略到骨架阶段学习把处理方案落实成模块调用和数据依赖。训练还加入策略推理提取这一辅助目标,让模型生成解释战略选择的中间说明。主文没有给出辅助目标的具体权重或完整损失公式,不能据此推断它是某种特殊正则化算法。

骨架到完整伪代码主要恢复参数和绑定,作者认为可借助预训练模型先验、轻量提示或规则完成,不另外做监督训练。完整伪代码到 JSON 则由规则重建。这不是认定参数永远不重要,而是把有限训练数据优先用于更难靠显式规则完成的决策。相比端到端生成,分层监督使同一处理方案能够独立于某份 JSON 的低层配置被学习。

论文强调 SFT 是这里的能力注入机制,GRPO 等强化式优化更适合在已有可行生成空间内做局部改进。这是作者对当前任务的选择与解释,不是本文通过 SFT 对 RL 的独立对照建立的普遍结论。实际实验未训练一个 GRPO 版本,不能把未来工作中的建议写成已采用的算法。

3. 分层推理与自我修订:先审视方案,再审视结构,最后还原配置

在线生成先由训练后的策略规划器阅读指令与输入规格,给出高层处理策略;模型被提示重新检查并修订这份策略,补齐遗漏的子目标。之后,伪代码生成器把策略转换成骨架,并再次进行自我修订,关注结构连贯性与不完整的推理步骤。两处修订分别发生在“决定要做什么”和“决定模块如何连接”的位置,而不是等所有错误混入最终 JSON 才处理。

通过检查的骨架交给预训练模型填写参数和绑定,然后用规则将完整伪代码转成 ComfyUI 配置。图中的变量依赖可以在这一步落实为节点间连接,规则负责序列化;但规则并不能自动保证选对模型文件、插件存在或视觉效果达标。论文说明使用 GPT-5 构建预训练智能体组件,并将基线接口和 refine agent 对齐到 GPT-5;因此最终系统是微调 Qwen3-14B 与 GPT-5 等组件的组合,不是纯粹由一个 14B 模型完成全部工作。

这里的 self-refinement 是对策略和伪代码的提示式自检。主文没有给出固定修订轮数、停止条件、运行报错解析器或根据最终图像回滚重规划的闭环算法。虽然最终会执行图,不能进一步把它描述成已经实现“执行失败后自动诊断再修复”的系统。

一个完整示例

以论文图 1 的照片风格化任务为例:要求保持布局与形状、增强脸部细节,并把最终颜色协调回源图。合理策略不能只包含图生图,还必须把结构约束、局部修复和颜色匹配都落实到处理链中。作者展示的方案先调整输入尺寸并提取 Canny 边缘图,把边缘作为结构锚点;同时生成提示词,经 CLIP 获得正负条件,并加载扩散模型。

在骨架层,ControlNet 与正向条件结合,采样器利用相关条件执行生成,再解码到 RGB 图像。脸部细化器在这个结果上检测人脸、分割掩码并进行局部重绘,最后执行与源图的颜色匹配。将脸部修复放在解码之后,是因为它需要处理生成出来的具体人脸区域;颜色匹配靠后,则使它作用于完成风格化和修复后的结果。

参数填充与规则重建将这套依赖还原为具体节点配置。这里复述的是论文展示的流程,不是笔记作者实际运行的复现实验;缓存未给出该示例的全部节点 ID、模型文件和数值参数,因而不补写一个声称可直接执行的 JSON。

损失函数 / 训练策略

训练采用 LoRA,在单张 NVIDIA H200 上微调 Qwen3-14B,秩为 16,缩放系数 \(\alpha=32\)。指令到策略阶段的最大序列长度是 2048 tokens,策略到伪代码阶段为 4096 tokens。本文未提出新的显式损失函数;主文也未提供学习率、训练轮数、批大小及辅助目标权重,本笔记不补造这些设置。

数据侧从超过 10,000 份工作流开始,先比较节点结构差异;不同节点比例低于 10% 时,再由 GPT-4o 判断语义与程序是否等价,优先保留节点类型更标准、使用更广泛的版本。完全相同的图合并输入条目,同时排除少于 6 个或多于 90 个节点的图,并规范化任务描述。最终得到 912 份,其中 882 份训练、30 份测试;这意味着模型学到的并非整个社区不受限的工作流分布。

实验关键数据

主实验

自建测试集按与训练集的相似程度分为 Challenge 1、Challenge 2 和无可比训练样本的 Real-World Cases;相似性由 GPT 从任务目标、技术方法、结构形式、应用背景四方面评估。外部实验分别使用 FlowBench 的 30 个任务和 ComfyBench Creative / Complex 类别抽样的 20 个任务,不是全量基准成绩。

VND 表示生成工作流中有效节点类型的多样性,不能理解成任务完成率。NodeComp 是节点类型已注册、非空且至少参与一条连接的节点比例。LinkComp 检查每个节点输入是否存在、引用输出是否有效、输出槽索引是否越界,取通过检查的节点比例,而不是正确边数占比。

为便于理解,下式是依照主文文字定义整理的记法,不是论文原有编号公式;跨工作流如何聚合,主文没有完整说明:

\[ \mathrm{NodeComp}=100\frac{|\mathcal{V}_{\mathrm{valid,linked}}|}{|\mathcal{V}|},\qquad \mathrm{LinkComp}=100\frac{|\mathcal{V}_{\mathrm{IO\text{-}consistent}}|}{|\mathcal{V}|}. \]

TaskCons 是 GPT 对工作流功能结构与任务指令一致性的评分;Pass 要求在 ComfyUI 中无结构或运行错误地执行,Resolve 进一步要求输出满足目标,由人工执行和检查评估。原文表 4、表 6 使用 Solve 名称,下文统一标为 Resolve / Solve。特别要区分 TaskCons 的 86.9% 和自建集平均 Pass 的 86.9%,两者数值碰巧相同,含义不同。

以下摘取原表 1 的结构指标,并并列原表 2 的分类平均执行指标。所有百分比为原文报告值,平均 Pass / Resolve 是三个类别百分比的平均,不应当作直接以 30 为分母的总体比例。

自建测试集方法 VND NodeComp (%) LinkComp (%) TaskCons (%) 平均 Pass (%) 平均 Resolve (%)
GPT-5 + Few-Shot 20 36.7 36.7 34.7 26.4 16.7
GPT-5 + RAG 42 56.7 56.7 53.6 48.1 25.6
GPT-5 + ComfyAgent 40 56.7 56.7 55.1 36.4 29.4
本文 152 96.3 98.3 86.9 86.9 61.1

本文相对 ComfyAgent 的平均 Pass 提高 50.5 个百分点,Resolve 提高 31.7 个百分点。但跨分布测试显示,结构改善不一定带来同等幅度的任务完成收益。下表直接取原表 3、4 的结果:

外部测试集 方法 VND NodeComp (%) LinkComp (%) TaskCons (%) Pass (%) Resolve / Solve (%)
ComfyBench,20 任务 GPT-5 + RAG 45 60.0 60.0 57.7 40.0 25.0
ComfyBench,20 任务 GPT-5 + ComfyAgent 43 65.0 65.0 59.3 35.0 20.0
ComfyBench,20 任务 本文 138 79.8 82.7 85.0 50.0 25.0
FlowBench,30 任务 GPT-5 + RAG 42 73.33 73.33 67.43 46.7 26.7
FlowBench,30 任务 GPT-5 + ComfyAgent 41 53.33 53.33 50.80 40.0 26.7
FlowBench,30 任务 本文 145 94.4 98.0 93.4 66.7 36.7

消融实验

原表 6 用训练后的 Qwen3-32B Q2P 直接从指令生成伪代码,作为分层建模的对照。它是整体建模方式的分析,不是同一底座、相同推理预算下逐个删模块的严格消融;不能从此表分离出知识反演、辅助推理目标或自我修订各自的贡献。

建模方式 VND NodeComp (%) LinkComp (%) Pass (%) Solve (%)
Qwen3-32B Q2P,指令直接到伪代码 148 92.3 95.8 56.7 33.3
本文,Qwen3-14B 分层系统 152 96.3 98.3 86.9 61.1

结构指标差距较小,但 Pass / Solve 相差 30.2 / 27.8 个百分点。这支持中间策略可能帮助系统完成真正的处理目标,却不足以证明参数量更小本身更好,或所有提升都来自分层监督。

关键发现

  • 自建集 Real-World Cases 的 Pass / Resolve 为 90.0% / 50.0%,能运行和完成任务相差 40.0 个百分点;这比仅看连线完整性更能揭示系统剩余的决策错误。
  • ComfyBench 上 TaskCons 达 85.0%,但 Resolve 只有 25.0%,且与 RAG 持平。因此不能沿用正文“所有指标都优于所有基线”的笼统表述。
  • 原表 5 中本文的 TaskCons 在 GPT-5 / Gemini-2.5 下为 86.9% / 85.6%,均排第一;但 ComfyAgent 从 55.1% 变为 40.8%,并改变其与 RAG 的相对排序。双评审结果支持本文领先趋势,不等于评审偏差已排除。

亮点与洞察

  • 监督单位不再只有最终图,而是图与解释层级之间的关系。对于缺少用户查询的专家工作流库,反演过程提供了一种构造训练对的途径,但需要同时管理合成意图与合成理由的可信度。
  • 把可规则化的序列化与需要经验的方案设计分开,比让模型承担所有字符级细节更有针对性。迁移到数据处理管线或工具调用图时,可先设计保留类型和依赖的中间表示,再训练意图到结构的映射。
  • 节点类型更多并不自动等于更强。本文最值得保留的评估思路是同时看结构、实际执行和目标完成,防止“复杂且合法的图”掩盖对用户需求的遗漏。

局限与展望

  • 作者观察到稀有节点常被常见节点替代,可能破坏功能依赖并增加结构错误。扩充稀有节点训练覆盖是直接方向,强化式优化在本文仅是建议。
  • 训练清洗偏向标准常用节点,并移除超小或超大图;实际应用中的长尾插件与超复杂流程处于证据边界之外。需要按节点覆盖率和图规模分层测试,而不只是扩充总样本数。
  • 自建测试仅 30 个任务,两个外部子集为 20、30 个任务;没有报告多随机种子误差条、显著性检验或完整人工评分协议。GPT 参与相似性划分与合成任务构造,进一步增加数据独立性审查的必要性,但不能据此直接认定泄漏。
  • 自我修订轮数、调用成本、延迟、参数填充失败率及节点环境版本缺少完整报告。原文把 GPT-5 接口写作 gpt-5-turbo, 2025 release,本地缓存没有可复现配置,本笔记不把这一字符串视为已经核验的可调用型号。
  • 更有价值的后续实验是固定底座与调用预算,分别去掉策略层、辅助推理监督和两处自我修订;同时在相同节点环境中统计运行错误与视觉目标失败,判断收益究竟来自哪一层。

相关工作与启发

  • 对比 ComfyAgent / ComfyMind:原文将其概括为利用模板或元节点约束组合,ComfyMind 还支持树状回退。本文改为学习策略到节点拓扑的映射以扩大表达空间,但主文没有给出与 ComfyMind 的直接定量对比。
  • 对比 ComfyGPT / ComfyUI-R1:它们也是工作流学习系统,分别涉及微调或强化学习。本文的区别主要在把策略、推理说明和骨架显式拆成监督层级;不能将它们简单描述为“没有工作流知识”的通用模型。
  • 对比 RAG 与直接 Q2P:RAG 借用已有例子,Q2P 将任务直接映射为结构,本文增加可检查的策略中间层。跨基准的结果提示,检索与分层学习未必互斥,尤其可用节点文档检索补充训练中缺少的长尾功能;这是延伸想法,不是已完成实验。

评分

  • 新颖性: 4/5。将真实工作流反演成多级监督并选择性学习层间映射,有清晰的方法贡献,但分层规划和中间表示本身并非全新概念。
  • 实验充分度: 3/5。包含外部基准、执行检查、双评审和 Q2P 对照,但测试规模小,缺少控制推理预算的逐模块消融。
  • 写作质量: 3/5。主线和框架图清楚,然而部分“全面领先”结论比表格更强,Resolve / Solve 命名及复现细节也需完善。
  • 价值: 4/5。为专业图形工作流自动化提供实用建模方式,同时真实任务完成率显示它仍需要可靠性与环境适配方面的工程补强。