"이미지 하나를 끝까지 따라가: 포토샵 픽셀, 뇌로, 엔진으로, candidate 로, 다시 돌아옴. 그 루프의 모든 화살표가 seam 이고 — seam 이 곧 아키텍처야."
전체 루프, 한 번 추적
이제 세 부분이 함께 움직여. 단일 다듬기를 시작에서 끝까지 따라가: 아티스트가 포토샵에서 영역을 선택; thin bridge 가 그걸 capture 해서 뇌로 보냄; 뇌가 lineage 찍고 generate 요청을 엔진으로 전달; 엔진이 adapter, 모듈, sampler 를 돌리고 image 바이트 반환; 뇌가 candidate 를 기록하고 작업실로 push; 아티스트가 하나 고르고, 그게 bridge 통해 포토샵으로 non-destructive 레이어로 돌아감. 네가 한 모든 트랙이 이 루프의 한 구간이야.
뇌가 단일 fan-in 이야
루프가 안 하는 걸 봐: 작업실이 엔진이랑 직접 절대 안 얘기해. 모든 생성 요청이 뇌를 통해 fan in 해. 뇌가 엔진으로 가는 문 하나야. 작업실이 뇌한테 묻고; bridge 가 뇌한테 묻고; 어떤 미래 클라이언트든 뇌한테 물어. 아무도 엔진에 자기 연결을 안 열어. 그 단일 fan-in 이 배선의 사고가 아니라 의도적 아키텍처 선택이야.
문 하나가 사주는 것
뇌에 접근을 집중하는 게 세 방식으로 보상해. Authentication 이 한 곳에 살아 — 엔진이 뇌를 믿고, 뇌가 나머지 모두를 vet 해. Lineage 가 일관되게 찍혀, 모든 요청이 그걸 기록하는 한 지점을 지나니까. 라우팅 결정(어느 adapter, 어느 model)이 각 클라이언트가 재도출하는 대신 뇌에서 한 번 일어나. 세 cross-cutting 관심사, 옳게 만들 한 곳.
왜 작업실이 엔진을 직접 호출하면 안 돼?
작업실을 엔진에 곧장 배선하는 게 더 빠를 거야 — hop 하나 적게. 근데 그럼 작업실이 자기 auth 복사본, 자기 lineage 찍기, 자기 라우팅 로직이 필요하고, 다음 클라이언트도, 그다음도 그래. 각 복사본이 구현이 갈라지고 룰이 표류할 자리야. 뇌 통한 추가 hop 이 그 룰을 정확히 한 곳에 갖는 값이야. 약간의 latency 가 많은 일관성을 사.