예제와 생성 결과가
어긋난 원인 추적

방 사진에 어울리는 작품을 추천 · 생성하는 개인 웹 제품입니다. 사진 예제를 골랐는데 그래픽이 나온 문제를 매체 · 화풍 입력의 차이로 좁혔습니다.

맡은 일
기획 · 화면 · 백엔드 · AI 연동 · 배포
ART WINDOW
이 페이지 목차

01

사진을 골랐는데 그래픽이 나온 사례

2026년 7월 2일 작업 기록에는 콘크리트 건축 사진 예제를 선택한 뒤 평면 그래픽이 나온 문제가 남아 있습니다.

내가 결정한 것
실제 생성의 텍스트 입력을 유지하고, 예제와 실제 생성이 같은 매체 · 화풍 문장을 참고하도록 맞췄습니다. 문장이 바뀌면 예제도 다시 생성하는 기준을 정했습니다.
AI가 구현한 것
현재 화풍 문장과 예제 기록의 불일치를 찾는 A12 검사 코드입니다.
검사 기록
2026-10-18 격리 입력 검사에서 정상 입력은 통과하고, 매체·문장 불일치와 문장·예제 기록 불일치 입력은 실패했습니다.

아래는 그 화풍 ID cl266의 기존 예제와 현재 공개 예제입니다.

기존 cl266 예제. 콘크리트 벽과 검은 보, 창을 아래에서 올려다본 사진풍 AI 생성 이미지.
참조 이미지로 생성
현재 공개 cl266 예제. 회색 콘크리트와 흰 철재 난간 사이로 내려가는 계단을 담은 사진풍 AI 생성 이미지.
화풍 문장으로 생성

당시 그래픽 결과는 보존 자료에서 찾지 못해 작업 기록으로 제시합니다. 두 예제는 동일 요청의 수정 전후 결과가 아닙니다.

갤러리 · 샘플 공간 영상 보기
서비스 열기

02

이미지에서 입력 경로까지 추적

  1. 01

    같은 ID에 붙은 매체값 대조

    예제 쪽은 이미지 분류 모델 SigLIP이 정한 photograph, 실제 생성에 전달된 값은 다른 모델 Gemma가 정한 graphic_print였습니다. 같은 화풍 ID인데 분류에 쓴 모델과 작품 묶음이 달랐습니다. 실제 생성이 카탈로그의 매체값을 읽기 때문에, 이 값을 예제를 만들 때 쓴 매체에 맞췄습니다. 당시 기록에는 방 입력 6건의 추천 응답에서 수정된 사진 매체값과 문장을 확인한 결과가 남아 있습니다.

  2. 02

    참조 이미지와 텍스트의 차이 확인

    8월에는 예제 생성 명령과 실제 생성 API의 입력을 대조했습니다. 기존 예제는 참조 이미지 한 장을 전달했지만, 실제 생성은 텍스트만 전달했습니다. 서로 다른 예제도 a muted painting landscape artwork처럼 같은 짧은 문장으로 축약되는 경우가 있었습니다.

  3. 03

    화풍 문장을 공통 기준으로 관리

    저는 참조 이미지 방식의 표절 우려를 완전히 배제하기 어렵다고 판단해, 실제 생성에는 텍스트 입력을 유지했습니다. 화풍의 질감 · 색 · 구도를 담은 style_sentence를 카탈로그에 저장하고, 예제도 이 문장으로 생성하도록 맞췄습니다.

cl266에 저장된 실제 입력

사진 입자와 강한 그림자, 회색 콘크리트와 흰 철재, 빛이 겹치는 면 사이로 내려가는 계단. photograph라는 분류에 장면을 설명하는 화풍 문장을 더했습니다.

카탈로그 입력과 예제 기록 펼치기
cluster: 266
medium: photograph
style_sentence:
  Photographic grain and hard shadows, warm grey concrete and cool white steel, geometric stairwell descending through layered planes of light

example record:
  sentence_sha: 984441e204753b39
  engine: gpt-image-2

실제 생성에서는 사용자가 선택할 때 추천 작업에 저장된 문장과 매체값을 읽습니다. 사진 매체는 GPT Image로 보내고, 그 외에는 기본 Seedream 경로를 사용합니다. 예제는 구도 · 빛을 고정하고 실제 생성은 사용자 조건과 변주를 더하므로, 최종 프롬프트 전체가 같지는 않습니다.

03

검사 실패 뒤, 무엇을 고치는가

A11은 매체 라벨과 문장 표현을, A12는 현재 화풍 문장과 예제 생성 기록을 대조합니다. 각 검사에서 불일치가 발견되면 담당자가 해당 입력이나 예제를 갱신합니다.

A11 · 매체와 문장
사진 라벨에 사진 표현이 있으면 통과합니다. 사진 라벨에 유화 표현만 있거나 매체 표현이 없으면 실패합니다. 담당자가 해당 문장을 고친 뒤 다시 검사합니다.
A12 · 문장과 예제 기록
현재 문장을 식별하는 해시값과 예제 기록의 값을 비교합니다. 일치하면 통과하고, 문장을 바꾼 뒤 기록을 그대로 두면 실패합니다. 담당자가 새 문장으로 예제를 재생성하고 기록을 갱신한 뒤 재검사합니다.

노출 중인 화풍의 개별 예제 기록이 없어도 A12는 실패합니다. 다만 기록 파일 전체가 없으면 새 방식의 예제를 아직 만들지 않은 상태로 보고 검사를 건너뜁니다.

탐지 이후에는 담당자가 처리

검사는 불일치와 원인을 보고합니다. 실시간 생성 요청의 차단이나 예제의 자동 교체는 수행하지 않습니다. 실제 그림을 읽어 품질을 판단하는 검사도 아닙니다.

cl266 검사 예와 실행 · 기록 정보 펼치기
2026-10-18 · A11 · A12 격리 입력 검사

A11 통과: photograph + "Photographic grain and hard shadows…"
A11 실패: photograph + "Oil impasto with layered glazes"
A12 통과: 984441e204753b39 = 984441e204753b39
A12 실패: 기존 문장에 ", soft morning light" 추가, 예제 기록 유지

실행: python3 test_pipeline.py --light
--full 실행에도 포함
실패: 대상 화풍 ID와 원인 출력, 종료 코드 1

A12 비교값: 현재 문장의 SHA-256 해시 앞 16자리
예제 기록의 sentence_sha와 대조

04

확인한 범위

이 사례의 근거2026년 7~8월의 문제 · 수정 기록, 현재 생성 입력과 엔진 분기 코드, 10월 18일의 검사 결과, 보관 예제와 현재 공개 이미지입니다.

이 사례에서 확인하지 않은 것동일 요청의 수정 전후 생성 결과, 예제가 기록된 입력으로 생성됐는지, 실제 생성 이미지의 품질 · 추천 품질 · 고객 사용 효과.

2026-10-18 · cl266 공개 예제 원본

다른 작업도 살펴보기

작업 목록으로