← 빌드 일지
빌드 로그2026-09-09·2분 읽기

AI 제작 도구는 잘하는 것보다 못하는 것을 먼저 정한다

동화 영상과 역사 영상 두 파이프라인에서 같은 날 배운 것. 생성 모델과 코드의 경계는 도구가 무엇을 못하는가로 그어야 무너지지 않는다.

3줄 요약

  • 무슨 작업: 동화 채널(문베어)과 역사 영상 채널 두 곳에서 이미지 생성 모델과 파이썬 코드의 역할 경계를 다시 그었다.
  • 왜 중요: 경계를 "도구가 무엇을 잘하나"로 그으면 며칠 못 가 무너진다. "무엇을 못하나"로 그어야 오래간다.
  • 빌더에게의 의미: 생성 모델은 일관된 실루엣은 잘 만들지만 글자를 못 쓰고 금지 명령을 못 읽는다. 그 한계를 먼저 인정하면 파이프라인 설계가 오히려 단순해진다.

한 번 만들고 계속 쓰는 것만 생성에 맡긴다

경계의 기준은 정확성이 매번 필요한가였다. 캐릭터 그림과 배경은 생성 모델에 맡기기로 했다. 한 번 잘 만들어 두면 편마다 다시 쓸 수 있고, 코드로 원을 쌓아 그린 캐릭터는 명암이 없어 납작하다. 반대로 도식, 자막, 엔딩 글자, 썸네일 판, 카메라 움직임, 립싱크, 타이밍은 전부 코드가 맡는다. 특히 글자가 들어가는 것은 절대 생성 모델에 주지 않는다. 한글을 못 쓰기 때문에 깨진 글자를 그럴듯하게 지어내기 때문이다.

한 문장으로 정리하면 이렇다. 한 번 만들고 계속 쓰는 것은 생성, 매번 정확해야 하는 것은 코드.

확산 모델에는 "하지 마"가 통하지 않는다

로컬 무료 생성 모델에서 통과율이 오래 낮았던 진짜 원인을 이날 찾았다. 프롬프트에 적어 둔 금지 목록이 문제였다. "간판 없음, 동전 없음, 가짜 로고 없음" 같은 문장을 유료 모델은 알아듣지만 로컬 확산 모델은 그 낱말을 그대로 그림으로 옮긴다. 44장 중 13장에서 돌무더기에 금화가 굴러다니고 거리마다 깨진 한글 간판이 붙었다. 부정을 읽지 못하는 모델에게 "하지 마"는 오히려 "그려라"였던 셈이다.

고침은 발상을 뒤집는 것이었다. 금지어를 지우고 원하는 장면을 긍정문으로만 적었다. 그리고 간판이 없기를 바라는 대신 간판이 들어갈 수 없는 구도로 짰다. 극단적 접사, 벽이 안 보이는 실내, 자연물 위주. 그날 4편 44장이 전량 통과했다.

닿는 지점의 값은 고정하지 말고 그림에서 재라

문베어 1화에서 토끼가 거북이 등에 파묻혀 보였다. 원인은 앉히는 높이를 고정 숫자로 정해 둔 것이었다. 등껍질은 둥글어서 가로 위치마다 표면 높이가 다르다. 한 값으로 굳혀 두면 캐릭터 그림을 새로 교체하는 순간 어긋난다. 그래서 그 세로줄의 맨 위 불투명 화소를 실시간으로 읽어 높이를 맞췄다. 그림이 바뀌어도 따라온다. 교훈은 분명했다. 인물끼리 닿는 지점은 좌표를 적지 말고 그림에서 재라.

같은 날 대본과 화면이 어긋난 곳 네 군데를 지적받았다. 확인해 보니 네 건 전부 실제 결함이었다. 여기서 멈추지 않고 지적받은 곳만 고치는 대신 71줄 대본 전부를 화면과 대조했다. 그러자 스스로 만든 회귀 하나와 화면에 없는 인물의 대사를 립싱크한 실수 하나가 더 나왔다. 지적 하나는 같은 종류의 결함 여럿을 부르는 신호였다.

하루를 관통한 판단

세 가지 고침이 결국 한 문장으로 모인다. 도구가 무엇을 잘하기를 바라지 말고, 무엇을 못하는지를 먼저 인정하고 그 위에 설계하라. 생성 모델은 글자를 못 쓰고 부정을 못 읽는다. 고정 숫자는 그림이 바뀌면 무너진다. 지적 하나는 혼자 오지 않는다. 한계를 먼저 그려 두면 파이프라인은 오히려 단순해지고, 캐릭터를 바꾸거나 편수를 늘려도 무너지지 않는다. 만들고 분석하고 기록한다. 약속이 아니라 결과로.

빌드 일지 구독

1인 빌더의 매일 작업 일지 — 새로 만든 것, 깨진 것, 배운 것.

이메일만 넣으면 끝. 매주 1–2회 빌드 일지만 보냅니다. 광고 없음, 언제든 해지.

Wildeconforce

매일 만들고, 매일 분석하고, 매일 기록합니다.
© 2026 wildeconforce · build-in-public

이 사이트는 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.