AI로 일관된 슬라이드를 만들고 싶다면, 디자인 시스템을 JSON/YAML 같은 계약서로 명확히 정의하는 것이 답이었다.

보통 이런 NotebookLM에서 만든 영상은 잘 보지 않는다.

뭔가 성의가 부족하다는 느낌이랄까? 나는 자동화 프로세스와 방식을 선호하면서 남이 하는 것은 왜 이렇게 생각하는 걸까?라고 잠깐 생각하다가... 넘어간다.

AI에게 슬라이드를 맡기려면 무엇이 필요할까?

이 영상을 보면서 생각난 우석 지니 영상

유튜브 영상 추천 - 우석지니 (실전 노트북 LM 슬라이드 PDF - PPT 변환 워크플로)

요약하면 문서 작성과 관련해서 AI와 계약을 하라

계약서는 JSON이라는 방식으로 정의하라는 것이다.

생각을 해보니, 이렇게 저렇게 다양한 방법으로 AI를 활용하는 방법에 대해서만 고민했지, 계약/정의라는 별도의 문서를 작성하려는 고민은 적었던 것 같다.

그래서 내가 문서를 만들 때 어떻게 하지?를 되돌아보니 생각보다 많은 정의가 필요했다.

1. 슬라이드 템플릿을 만든다.

슬라이드 마스터 정의

레이아웃 정의

표지

기본, 2단 비교 등

폰트 정의

슬라이드 타이틀에 대한 폰트 크기, 색상 정의

거버닝 메시지 영역에 대한 폰트 크기, 색상 정의

본문 텍스트 영역에 대한 폰트 크기, 색상 정의

2. 내용을 작성한다.

레이아웃을 선택하고 내용을 채운다.


계약서 정의

우선 아래와 같이 내용을 상세하게 작성한다. 이것도 AI에게 요청해서 만들었다.

# 1. 디자인 시스템 정의 (Single Source of Truth)
design_system:
  color_palette:
    brand_primary: "#5746F1"   # 메인 보라
    brand_secondary: "#625BF1"
    brand_accent_1: "#766EF2"
    brand_accent_2: "#948BF3"
    header_grey_blue: "#475368" # 제목용
    surface_light: "#E6E5E5"    # 구분 영역 배경용
    text_dark: "#4D535D"        # 본문용
    text_sub: "#747C89"         # 보조용
    pure_white: "#FFFFFF"
    pure_black: "#000000"

  typography:
    family: "Noto Sans"
    mapping:
      main_title: { color: "header_grey_blue", size: "44pt", weight: "Bold" }
      slide_title: { color: "header_grey_blue", size: "28pt", weight: "Bold" }
      section_header: { color: "brand_primary", background: "surface_light", size: "22pt", weight: "Bold" }
      body_text: { color: "text_dark", size: "18pt", weight: "Regular" }

# 2. 레이아웃 라이브러리 (Slide Layout Library)
# AI가 각 레이아웃 타입에 따라 시각적 배치를 결정함
layout_library:
  cover:
    description: "표지 슬라이드 - 중앙 정렬, 메인 타이틀 강조"
    background: "pure_white"
    elements: ["main_title", "sub_title", "logo"]

  content_basic:
    description: "일반 본문 - 상단 제목, 좌측 본문 리스트"
    elements: ["slide_title", "section_header", "body_text"]

  comparison:
    description: "비교 및 대조 - 좌우 2단 분할 레이아웃"
    elements: ["slide_title", "left_content", "right_content"]

  diagram_focus:
    description: "도식 중심 - 중앙에 다이어그램 배치, 하단에 설명"
    elements: ["slide_title", "visual_diagram", "section_header"]

  section_divider:
    description: "간지 슬라이드 - 브랜드 컬러 배경, 챕터 번호 강조"
    background: "brand_primary"
    text_color: "pure_white"

# 3. 슬라이드 콘텐츠 스키마 (Input Schema)
content_schema:
  - slide_id: 1
    layout_type: "cover" # 위 라이브러리 중 선택
    content:
      main_title: "AI 서비스 기획 전략"
      sub_title: "지속 가능한 성장을 위한 4D 프레임워크"

  - slide_id: 2
    layout_type: "content_basic"
    content:
      slide_title: "The 'Wrapper' Trap"
      section_header: "전략 없는 API 연결은 대체 가능한 데모에 불과함"
      data: ["진입 장벽 부재", "통제권 상실", "기능 흡수 위험"]

  - slide_id: 3
    layout_type: "comparison"
    content:
      slide_title: "기존 SaaS vs AI Native 서비스"
      left_content: ["낮은 한계 비용", "높은 마진율", "선형적 성장"]
      right_content: ["높은 추론 비용", "가변적 마진", "기하급수적 데이터 해자"]

# 4. 시스템 실행 제약 조건
execution_rules:
  - "모든 색상은 color_palette의 Key 이름을 참조하여 적용하라."
  - "사용자가 지정한 layout_type에 맞춰 layout_library의 정의대로 시각적 배치를 수행하라."
  - "모든 텍스트는 Noto Sans 폰트를 유지하며, 한글 데이터의 무결성을 보장하라."

내가 채워야 하는 영역은 "3. 슬라이드 콘텐츠" 영역이다.

아. 나는 타이틀명과 거버닝 메시지 그리고 본문 내용만 채우고 싶은데, 저 방식을 따를 자신이 없었다. 그럴 때 다시 AI의 도움을 받아서 다음과 같이 요청했다.

https://www.youtube.com/watch?v=3vra0cPt8O4 영상에 대한 내용을 확인해.

그리고 자연어(Natural Language)를 template.yaml 에 맞는 지시어로 변경하는 프로그램을 만들고 싶어.

파이썬 + AI API 구성으로 파이썬 프로그램을 제공해 줘서 간략하게 내용을 작성하고 돌렸더니 유사하게 결과를 제공해 줬다.

좋아. 이제 해당 워크플로를 Gemini Gems로 등록을 해서 해 봤더니...

음... 원하는 모습은 아니지만, 일관성은 생각보다 괜찮은 듯

**오늘의 결론 : 계약서를 잘 써야 되는 것 같다. ** 이 시도를 발전시켜서 일관성 있는 구글 슬라이드 만들기 총정리로 이어졌고, 반복 작업 자동화는 네이버페이 포인트 줍줍 자동화에서도 비슷한 접근을 했다.

불러오는 중...