"ComfyUI 가 어떤 모델이든 받아들이게 해 주는 그것이, 매일 쓰기 지치게 만드는 그것이랑 같은 거야."
천장이 없는 툴
monolith 의 문제가 박아 넣은 모양이라면, 답은 뻔해 보여. 박아 넣은 모양이 없는 툴을 쓰면 되지. 그런 툴은 실제로 있어. 모델 로드, 텍스트 인코딩, sampling, 디코딩 — 단계 하나하나가 네가 직접 이어 붙이는 노드인 node-graph 이미지 생성기 말이야. 새 모델 계열이 나왔다고? 노드 타입 하나 추가하면 끝. 내부가 워낙 잘게 쪼개져 있어서 박아 넣은 게 아무것도 없어. 천장이 사라진 거야.
유연함은 그래프가 아니라 그 밑에 있어
node-graph 툴이 어떤 모델이든 받아들일 수 있는 건 내부가 진짜로 쪼개져 있기 때문이야. VAE, text encoder, backbone, sampler, conditioning 이 저마다 깨끗한 인터페이스를 가진 독립된 단위로 있거든. node graph 는 그 쪼개짐을 눈에 보이게 그려 놓은 것뿐이야. 화면의 박스 하나가 그 모듈 하나고. Ember 가 훔쳐 온 게 바로 이 통찰이고, 다음 트랙 전체가 이 얘기야.
값: 그래프는 매일 쓸 화면이 아니야
여기서 맞바꿈이 생겨. node-graph 툴에서 이미지 하나 만들려면 그래프를 짜야 해. 아니면 불러와서 손보든가. 이 노드를 저 노드에 물리고, 파라미터를 여기 넣고, 저 선을 저기로 다시 잇고. 자기만의 작업 흐름을 만드는 고수한테는 이 통제권이 선물이야. 그런데 그냥 그림 그리다가 가끔 "이 부분만 다듬어 줘" 하고 싶은 사람한테는 만들 때마다 걸리는 턱이지. 유연함과 매일 치르는 값이 같은 기능에서 나와.
가짜 양자택일
그래서 이 판은 가짜 양자택일을 내밀어. 천장 낮은 단순한 툴이냐, 매일 쓰기 무거운 무제한 툴이냐. 대부분은 하나 골라서 단점을 안고 살아. forcing function 은 그럴 필요가 없다는 걸 깨닫는 데서 나와. 유연한 툴의 쪼개진 내부랑 편한 툴의 단순한 화면은 떼어 낼 수 있는 것들이고, 각각에서 하나씩 가져오는 걸 막는 건 아무것도 없거든.
Ember 가 양쪽에서 가져오는 것
Ember 의 설계는 대놓고 양쪽에서 훔쳐 온 거야. node-graph 툴한테서는 천장을 없애 주는 깊은 module 분리를 가져오고, 그 위에 monolith 처럼 단순한 recipe 기반 API 를 얹어. 대신 monolith 가 박아 놓은 모양은 빼고. 밖은 단순하고 안은 쪼개져 있어. node graph 는 원래 있던 연장통에 두고 오고.