포토북 추천 · 디자인 매칭 진단

디자인은 부족하지 않다.
절반이 안 맞을 뿐이다.

등록된 디자인은 63,722장이다. 그런데 사용자가 사진을 올리면 페이지의 절반 가까이가 디자인 없이 맨 배치로 나간다. 왜 그런지, AI로 즉석 생성하면 풀리는지 실측으로 확인했다.

측정 2026-09-03
표본 운영 로그 8일 · 페이지 501만장
대조 등록 디자인 전량 63,722장
확인 디자인팀 생성기 직접 실행
답 01
문제는 실재한다. 페이지의 46.5%가 디자인 없이 나간다. 8일간 501만 페이지 중 233만 장이다. 션이 짚은 그대로이고, 일자별로 45~50%라 일시적 현상이 아니다.
답 02
그런데 원인은 "디자인이 적어서"가 아니다. "조합이 안 맞아서"다. 디자인은 사진 장수와 가로·세로 조합이 정확히 맞아야 붙는다. 가로만 셋, 세로만 셋 같은 조합은 잘 갖춰져 있는데, 가로와 세로가 섞이면 거의 없다. 섞인 조합의 폴백률이 최대 94%다.
답 03
생성은 이미 자동화되어 있다. 다만 그 자동은 AI가 아니라 파이썬이고, 만들 수 있는 건 뼈대뿐이다. 디자인팀 생성기를 직접 돌려보니 빈 조합의 배치를 0.1초에 만들어냈다. 언어 모델은 부르지 않는다. 그런데 부족한 것은 뼈대가 아니다. 뼈대는 이미 전부 있고, 없는 것은 그 위에 얹히는 장식이다. 장식을 어디에 놓을지는 사람이 정한다.
Ⅰ. 무슨 일이 벌어지나

액자에 사진이 안 맞는 상황이다

포토북 한 페이지에 사진을 넣는 것은 액자에 사진을 끼우는 일과 같다. 사진 두 장을 넣으려면 구멍 두 개짜리 액자가 필요하고, 그 두 장이 하나는 세로 하나는 가로라면 세로 구멍 하나 + 가로 구멍 하나인 액자가 있어야 한다.

우리는 이런 액자를 미리 만들어 등록해 둔다. 그게 디자인 템플릿이다. 문제는 세로 둘짜리, 가로 둘짜리는 넉넉한데 세로 하나 가로 하나 섞인 것이 거의 없다는 점이다.

맞는 액자가 없으면 추천이 실패하지는 않는다. 대신 장식 없는 맨 배치로 조용히 넘어간다. 사진은 제대로 들어가지만 배경 장식과 문구 자리가 사라진다. 이게 "레이아웃+배경으로 폴백한다"는 말의 실제 모습이다.

디자인 적용
맞는 디자인이 있을 때배경색, 장식, 문구 자리가 함께 온다. 디자이너가 만든 그대로다.
맨 배치
맞는 디자인이 없을 때사진 자리만 남는다. 장식과 문구가 빠진다. 사용자는 "디자인을 골랐는데 왜 이러지"라고 느낀다.

아래는 가능한 조합 20가지 전부와 각 조합의 실제 폴백률이다. 사진은 한 페이지에 1~5장이 들어가고, 각 장이 가로냐 세로냐로 갈린다. 순서는 따지지 않으므로 HVVH는 같은 조합이다. 그래서 20가지가 전부다.

왼쪽 끝은 가로만, 오른쪽 끝은 세로만이다. 가운데로 갈수록 섞인 조합이고, 색이 진해지는 곳이 폴백이 잦은 곳이다.

사진세로 0세로 1세로 2세로 3세로 4세로 5
1장
H
32%
48.5만장
V
35%
83.2만장
2장
HH
27%
27.3만장
HV
84%
38.0만장
VV
28%
67.0만장
3장
HHH
28%
14.0만장
HHV
55%
17.1만장
HVV
69%
24.3만장
VVV
30%
39.8만장
4장
HHHH
30%
7.5만장
HHHV
82%
8.4만장
HHVV
42%
12.0만장
HVVV
94%
16.2만장
VVVV
45%
24.4만장
5장
HHHHH
37%
5.6만장
HHHHV
68%
6.0만장
HHHVV
76%
8.8만장
HHVVV
78%
12.5만장
HVVVV
86%
16.4만장
VVVVV
46%
24.1만장
색이 진할수록 폴백이 잦다
폴백률 60% 이상 · 여덟 칸 전부 섞인 조합

여기서 세 가지가 읽힌다.

  • 섞인 조합만 무너진다. 폴백률 60%를 넘는 여덟 칸이 전부 섞인 조합이다. 순수한 조합은 27~46%에 머문다. 디자인이 아예 없는 칸에 떨어진 페이지는 99.9%가 폴백했으니 인과는 명확하다.
  • 세로 사진이 많은 게 문제는 아니다. 사진 칸의 65%가 세로인데, 세로만 다섯 장 같은 조합은 46%로 평범하다. 문제는 정확히 가로 하나가 끼어들 때 생긴다. 세로 넷에 가로 하나면 94%가 폴백한다.
  • 그런데 순수 조합도 3분의 1이 폴백한다. 이게 예상 밖이었다. 사진 1장 페이지는 모든 디자인 세트에 다 등록되어 있는데도 32~35%가 폴백한다. 조합 부족으로 설명되지 않는다.

마지막 항목의 정체는 중복 회피다. 추천기는 최근 3페이지에 쓴 디자인이 또 뽑히면 그걸 버리고 맨 배치로 간다. 같은 디자인이 연달아 나오는 것을 막으려는 장치다. 그런데 한 조합에 디자인이 한 장뿐이면 세 페이지 안에 다시 나오는 순간 무조건 폴백한다. 지금 디자인 한 세트는 21장이고 조합은 20가지라, 조합당 한 장씩밖에 없다.

섞인 조합
75.1%
페이지 160만장 · 전체의 32%
순수 조합
33.1%
페이지 341만장 · 전체의 68%
조합이 없어서
49%
폴백 233만장 중 115만장
중복 회피 때문
51%
디자인이 있어도 버려진다

오른쪽 두 칸이 대응 방향을 정한다. 빈 조합을 채우는 것만으로는 절반밖에 못 잡는다. 나머지 절반은 조합당 장수가 한 장뿐이어서 생긴다. 조합을 넓히는 일과 조합당 장수를 늘리는 일이 같은 무게로 필요하다.

Ⅱ. 왜 비어 있나

디자인은 "책 한 권" 단위로 만들어진다

디자인 세트 2,648개 중 98%가 정확히 21장이다. 우연이 아니라 표준 브리프다. 그리고 그 21장은 가로 1장 셋, 세로 1장 둘, 가로 2장 둘, 세로 2장 둘 하는 식으로 순수 조합만 채우고 섞인 조합은 하나도 만들지 않는다.

왜 그럴까. 게으름이 아니다. 디자인은 "추천용 부품"이 아니라 "책 한 권"으로 설계되기 때문이다. 디자이너는 28쪽짜리 책을 한 권 만든다. 첫 장은 사진 한 장 크게, 다음 펼침면은 셋, 그 다음은 하나로 쉬어가는 식의 리듬이 있다. 그 리듬을 따르면 자연스럽게 순수 조합이 나온다.

증거가 있다. 디자인팀 생성기로 책 한 권을 실제로 만들어 보았다. 26쪽이 나왔고 20가지 조합 중 정확히 10가지를 채웠다. 등록된 디자인 세트들의 중앙값도 정확히 10가지다. 같은 숫자다.

책을 위한 브리프와 추천을 위한 브리프는 목적이 다르다. 책은 리듬이 중요하고, 추천은 커버리지가 중요하다. 지금까지 책 브리프로만 만들어 왔다.

등록 실태 · 디자인 전량 대조
항목
디자인 총량63,722장부족한 것은 총량이 아니다
디자인 세트2,648개한 세트가 한 판형을 담당한다
세트당 장수21장2,595개 세트가 정확히 이 숫자다
세트당 채운 조합10 / 20중앙값. 절반이 빈다
조합당 장수약 1장중복 회피에 그대로 걸린다
맨 배치(레이아웃) 커버리지20 / 20완전하다. 그래서 폴백이 조용히 성공한다
등록 검증 기준사진 장수 6종조합은 검사하지 않는다

맨 아래 두 줄이 중요하다. 맨 배치용 레이아웃은 20가지 조합을 전부 덮는다. 그래서 디자인이 없어도 화면이 깨지지 않고 조용히 넘어간다. 아무도 문제를 몰랐던 이유다. 그리고 등록할 때 "사진 장수가 6종 이상 있는가"만 검사한다. 조합을 보지 않으니 20가지 중 6가지만 채운 세트도 통과한다. 공백이 재발하는 구조가 여기 있다.

Ⅲ. 생성기의 정체

AI가 만드는가, 파이썬이 만드는가

디자인팀이 넘긴 것은 Claude 플러그인이다. 그래서 "AI가 디자인을 만든다"고 이해하기 쉽다. 안을 열어보면 지시서 5개와 파이썬 54개로 되어 있고, 일을 셋이 나눠 한다.

정확한 표현은 "AI가 만든다"가 아니라 "AI 지원 공정"이다. AI는 조사하고 후보를 내지만 무엇 하나 스스로 확정하지 못한다. 이건 한계가 아니라 규칙으로 못 박은 설계다. 공정 문서에 규칙 번호까지 붙어 있다.

AI가 규칙 완화로 확정하지 않는다(R8) — 지금은 완화한 쪽으로 두고 담당자 판단을 받는다.

아래는 항목마다 AI가 어디까지 하고 누가 결정하는지를 나눈 것이다. 오른쪽 열이 비어 있는 항목이 하나도 없다.

AI 역할과 결정권 · 실제 반려·폐기 기록 포함
하는 일AI가 하는 것결정하는 쪽
트렌드·레퍼런스 조사 자료를 모아 초안을 낸다. 근거를 못 찾은 항목은 "확인 안 됨"으로 남긴다 판매 실측과 담당자. 기획 1판의 핵심 전제 두 개가 실측으로 폐기됐다
표지 시안 레퍼런스를 바탕으로 3종을 만든다. 테마만으로 자유롭게 발산하는 경로는 폐기됐다 담당자가 하나를 지목하고, AI는 그것만 재구성한다
컬러 세트 카탈로그 440종에서 서로 다른 방법으로 2안을 추린다 담당자 택1. 두 안이 같은 방법이었을 때 "제안 의미가 없습니다"로 반려됐다
내지 배치 파이썬 산출물을 A·B 2안으로 정리해 보고한다 담당자 택1. 1차 산출은 금지 항목 세 개로 반려된 적이 있다
문구 자리 크기에 맞춰 조판만 한다 문구 자체를 사람이 쓴다. AI는 짓지 않는다
피그마 반영 대지에 얹고 다시 재서 수치를 검증한다 디자이너 확정본이 기준값이 된다
규칙이 충돌할 때 양쪽을 재서 나란히 보고한다 담당자. AI는 규칙을 완화해 확정할 수 없다(R8)

파이썬이 맡은 쪽은 판단이 필요 없는 일이다. 사진 자리 좌표를 계산하고, 여백·간격·재단 규칙을 검사하고, 마주보는 쪽의 사진 수 제약을 판정하고, 책 전체의 리듬 분포를 맞추고, 편집기에 넣을 수 있는지 게이트로 막는다. 여기에는 언어 모델이 개입하지 않는다.

이 분업에는 이유가 있다. 인계 문서에 이렇게 적혀 있다. "이 공정의 핵심 설계는 AI가 창작하지 않는다는 것이다. 배치는 구조 풀에서 가져오고, 문구는 사람에게 받고, 색은 카탈로그에서 고른다." 반복되는 실수를 문서가 아니라 코드와 검증으로 막는다는 원칙이 따라붙는다.

그래서 배치를 만드는 부분은 순전히 파이썬이다. 언어 모델을 부르지 않고, 실측 통계와 규칙으로 좌표를 뽑는다. 직접 실행해 확인했다. 책 한 권(64칸)에 23초가 걸리고, 비어 있는 특정 조합을 지정해 변형 8개를 뽑으라고 하면 0.01~0.12초에 끝난다.

재료도 새로 창작한 것이 아니다. 생성기가 쓰는 구조 풀 2,111개는 두 곳에서 왔다. 하나는 우리가 이미 가진 맨 배치용 레이아웃이고, 다른 하나는 기존에 등록된 디자인 39권을 뜯어 역으로 추출한 것이다. 구조 풀 안에 옛 디자인 세트 코드가 그대로 남아 있다.

이 구조 풀이 20가지 조합을 전부 덮는다. 가장 많이 비어 있는 조합에도 재료가 충분하다. 즉 만들 능력이 없어서 비어 있는 게 아니다. 브리프가 책 한 권이었기 때문에 그 조합을 요청한 적이 없을 뿐이다.

디자이너가 인계 문서 마지막에 남긴 말이 이 설계를 요약한다. "AI가 잘하는 것은 규격을 틀리지 않는 것과 같은 품질을 반복하는 것이다. 잘 못하는 것은 그 배치가 예쁜지 판단하는 것이다. 그래서 공정 안에 사람 게이트를 다섯 군데 남겼다."

직접 실행해 확인한 값
확인한 것결과
구조 풀이 덮는 조합20 / 20
빈 조합 하나에 변형 8개 만들기0.01~0.12초
책 한 권(64칸) 전체 생성23초
생성기가 부르는 언어 모델없음
한 권에 필요한 사람 결정8곳
정사각 확정부터 가로·세로 파생까지2일

마지막으로 중요한 구분이 있다. 배치가 곧 디자인은 아니다. 실제 디자인 90장을 뜯어보니 사진 자리 외에 장식이 61%, 문구 자리가 59%, 배경 그림이 22%에 붙어 있었다. 그리고 폴백이 잃는 것은 정확히 이것들이다. 사진 자리와 배경색은 맨 배치 경로에도 붙기 때문이다.

장식 154개의 위치를 보면 3분의 2가 사진 여백에 작게 놓이고 3분의 1은 사진 위에 일부러 겹친다. 여백에 얹는 쪽은 규칙으로 흉내낼 여지가 있지만, 겹치는 3분의 1과 "어떤 장식을 고를지"는 미적 판단이다. 디자인팀 공정이 그 판단을 사람에게 남긴 이유다.

Ⅳ. 세 가지 경로

그래서 실시간 생성이 답인가

요청할 때마다 실시간 생성
지금은 부적합

먼저 실시간의 진짜 강점을 인정해야 한다. 매번 새로 만들면 중복 회피 폴백이 원천적으로 사라진다. 그게 전체 폴백의 51%다. 같은 디자인이 반복될 일이 없으니 회피할 것도 없다. 사전 생성으로는 장수를 늘려 확률을 낮추는 게 최선인데, 실시간은 구조적으로 없앤다.

그런데 세 가지가 막는다. 어느 것도 생성 속도 때문이 아니다.

  • 정작 필요한 것을 못 만든다. 실시간으로 만들 수 있는 건 사진 자리 배치인데 그건 이미 20가지 조합이 다 있다. 폴백이 실제로 잃는 장식과 문구는 미적 판단이 필요하다.
  • 저장이 깨진다. 추천 응답에는 디자인 데이터가 실려서 화면에 보이기는 한다. 그런데 사용자가 저장하고 주문할 때 편집기가 디자인 코드를 데이터베이스에서 찾는다. 새로 만든 코드는 거기 없다. 등록은 설계상 6분 주기 배치로 돌아간다.
  • 같은 결과가 안 나온다. 지금은 같은 사진으로 다시 요청하면 항상 같은 디자인이 나온다. 사용자가 새로고침해도 흔들리지 않는 것이 현재 보장이다. 실시간 생성은 이걸 깬다.

참고로 응답 시간 여유도 넉넉하지 않다. 전권 추천이 이미 3.5초이고, 페이지의 94.6%를 차지하는 편집기 재추천이 232밀리초에 20페이지를 처리한다.

모든 조합을 미리 만들어 두기
타당하다

데이터가 이 방향을 지지한다. 그리고 좋은 소식이 하나 있다. 추천기가 조합의 순서를 따지지 않으므로 필요한 것은 62가지가 아니라 20가지다. 가로·세로 순서만 바꾼 변형을 따로 만들 필요가 없다. 디자인팀 물량 부담이 3분의 1로 줄어든다.

  • 조합당 한 장으로는 부족하다. 순수 조합도 33% 폴백한다는 게 그 증거다. 21장을 20가지에 나누면 조합당 한 장이고, 한 장짜리는 중복 회피에 반드시 걸린다. 조합당 4장은 되어야 이 몫이 사라진다.
  • 목표는 세트당 21장에서 80장으로. 20가지 × 4장이다. 신규 세트에 이 브리프를 적용하는 게 가장 저렴하다.
  • 효과가 계산된다. 폴백률 60%를 넘는 여덟 조합을 순수 조합 수준(30%)까지만 내려도 전체 폴백률이 46.5%에서 33.3%로 떨어진다. 그중 HVHVV 두 조합만 먼저 해도 40.5%가 된다.
  • 소급은 선별적으로. 전체 빈 조합은 25,449개지만 8일간 실제로 요청된 세트는 384개뿐이다. 상위 20개 세트가 페이지 절반을 넘는다.
테마와 사용자 사진에 맞춘 생성
방향은 맞지만 나중

사용자 사진과 테마를 읽어 맞춤 디자인을 만든다는 발상은 위 두 경로와 다른 축의 가치가 있다. 다만 실시간 경로의 제약을 그대로 물려받는다.

먼저 해볼 만한 중간 단계가 있다. 맨 배치로 나가는 페이지에 규칙으로 장식을 얹는 것이다. 지금은 사진 자리와 배경색만 있는 맨 페이지가 나가는데, 장식의 3분의 2가 여백에 작게 놓인다는 실측이 있으니 여백을 찾아 테마에 맞는 장식을 배치하는 정도는 규칙으로 가능하다. 사진 위에 겹치는 것까지 흉내내려 하지 않는 게 요령이다.

Ⅴ. 권고

비용이 낮은 순서로

1
브리프를 20가지 조합 기준으로 바꾼다섞인 조합을 포함해 신규 세트를 설계한다. 순서는 따지지 않으므로 HV 하나로 VH까지 덮인다. 코드 변경이 없고 지금 시작할 수 있다.
코드 변경 없음
2
가로 하나가 섞인 조합을 최우선으로 채운다기여도가 가장 큰 두 조합은 HV(38.0만장·84%)와 HVV(24.3만장·69%)다. 이 둘만 순수 조합 수준으로 내리면 전체 폴백률이 40.5%가 된다. 여덟 조합 전부면 33.3%다.
디자인 물량
3
조합당 4장을 목표로 잡는다세트당 80장이다. 순수 조합도 33% 폴백한다는 실측이 근거다. 조합을 넓히는 일과 같은 무게로 필요하다. 빈 조합만 채우면 폴백의 절반밖에 못 잡는다.
디자인 물량
4
등록 검증에 조합 커버리지를 넣는다지금은 사진 장수 6종만 검사한다. 20가지 조합을 채웠는지 등록 단계에서 막으면 공백이 재발하지 않는다. 재발 방지가 소급보다 싸다.
등록 배치 수정
5
폴백 기록을 남긴다레이아웃 추천 코드에 로그가 한 줄도 없다. 지금은 응답 코드를 역산해야 하고, 조합이 없어서인지 중복 회피인지 구분할 수 없다. 한 줄이면 대시보드가 생긴다.
한 줄
6
상위 세트를 선별 소급한다전체 빈 조합 25,449개를 다 채우려 들지 않는다. 8일간 실제 요청된 세트는 384개이고 상위 20개가 절반을 넘는다.
디자인 물량
7
실시간 생성은 보류하고 장식 합성을 실험한다맨 배치 페이지의 여백에 규칙으로 장식을 얹는 쪽이 같은 목적을 더 싸게 달성한다. 결과가 좋으면 맞춤 생성으로 확장한다.
실험

측정 방법과 한계