EPS Technical Manual
03 / 64
Файлы
03
PART I · WORKFLOW ENGINEERING FOR COMFYUI

Graph Literacy — учимся читать не ноды, а конструкции

После Node Literacy следующий шаг — перестать воспринимать workflow как набор отдельных блоков. Graph Literacy учит узнавать повторяющиеся конструкции, ветвления, точки слияния, selectors и маршруты данных как предложения в языке графа.

CONFIRMEDГлава описывает общие графовые конструкции и использует те же типы маршрутов, которые встречаются в текущем Hansen workflow.
01 · PATTERNS

Одна нода — буква, связка нод — конструкция

В большом workflow почти никогда не нужно запоминать все ноды по отдельности. Нужно узнавать типовые маршруты: загрузка модели, кодирование prompt, sampling, decode, preprocessing, segmentation, composite и output.

Когда конструкции становятся знакомыми, граф из сотен нод визуально сжимается до нескольких понятных систем.

02 · DATA PLANE

Сначала найди главный путь данных

Data plane — это маршрут крупных объектов: IMAGE, LATENT, MASK, CONDITIONING и MODEL. Начинать чтение незнакомого графа лучше с основного IMAGE/LATENT пути от input к output, а мелкие controls разбирать позже.

Такой подход быстро показывает, где находится генерация, где локальная обработка, а где только управление параметрами.

03 · BRANCH / MERGE

Fan-out и fan-in показывают архитектуру задачи

Fan-out возникает, когда один source используется несколькими ветками: например, base image одновременно идёт в Depth, Canny, segmentation и preview. Fan-in возникает, когда несколько результатов снова объединяются в composite, selector или conditioning stack.

Это важные архитектурные точки: fan-out показывает повторное использование source, а fan-in — место, где независимые решения становятся единым результатом.

ПаттернКак выглядитЧто означает
Fan-out1 output → несколько inputsОдин source питает несколько веток
Fan-inНесколько outputs → одна операцияСлияние результатов / controls
Serial chainA → B → C → DПоследовательное преобразование
Parallel branchesA → B1 и A → B2Независимые альтернативные или вспомогательные процессы
04 · ROUTING

Selector меняет маршрут, а не обязательно данные

Routing-ноды часто выглядят второстепенными, но именно они определяют фактический runtime path. Selector может иметь несколько готовых входов и пропускать дальше только один из них.

Поэтому наличие связи в topology ещё не означает, что конкретная ветка участвует в текущем результате. Нужно отдельно различать connected, selected и executed.

СостояниеСмысл
CONNECTEDВетка физически подключена к графу
SELECTEDSelector действительно выбирает этот вход
EXECUTEDВетка не bypassed и нужна текущему output
DIAGNOSTICРезультат уходит только в preview / comparer
06 · MODULE BOUNDARIES

Границу модуля видно по смыслу входа и выхода

Модуль — это не обязательно официальная ComfyUI subgraph-нода. В инженерном смысле модулем является законченная ветка с одной ответственностью и понятным contract.

Хороший модуль можно мысленно вырезать из Master Workflow, заменить тестовыми inputs и отдельно проверить его output.

07 · TRACE METHOD

Как проследить ветку в большом графе

  • Начать с конечного preview/save/output интересующей ветки.
  • Идти upstream по IMAGE/LATENT links до первого понятного source.
  • Отдельно выписать MASK / CONDITIONING / MODEL inputs.
  • Найти selectors и проверить, какой input выбран фактически.
  • Найти linked INT/FLOAT/STRING controls, которые меняют поведение ветки.
  • Отметить последний checkpoint до слияния с другими системами.
08 · PRACTICE

Практика: сжать большой граф до пяти предложений

Открой большой workflow и не пытайся сразу понять каждую ноду. Найди пять крупных конструкций и запиши их как короткие маршруты. Например: Input → ControlNet → SDXL; SDXL → Detail; PPL Generate → Segment → Composite; Result → FLUX; FLUX → Output.

INFERRED

Критерий готовности

Если человек может пересказать архитектуру графа 5–10 маршрутами, не перечисляя сотни nodes, он готов переходить к BASE CONFIG и control plane.