본문으로 건너뛰기

© 2026 Molayo

Zenn헤드라인2026. 05. 26. 10:47

【Claude vs GPT】피부 진단 AI를 실무 5일 만에 성립시킨 이야기 — gpt-image-2가 돌파한 멀티모달의 벽

요약

Claude Sonnet 4.5의 Vision 기능을 활용해 피부 진단 RAG 시스템을 구축하려 했으나, 실제 이미지에서의 위치 검출 정밀도 문제로 난관에 부딪힌 사례를 다룹니다. 텍스트 기반 RAG는 성공적이었으나, 멀티모달 구현 과정에서 겪은 기술적 한계와 돌파 과정을 기록한 구현 노트입니다.

핵심 포인트

  • 6축 피부 진단 기반의 화장품 상담 RAG 시스템 구축
  • Claude Sonnet 4.5 Vision의 실제 이미지 좌표 검출 정밀도 한계 확인
  • 텍스트 RAG와 멀티모달(이미지) 결합 시 발생하는 난이도 급상승 경험
  • GPT 계열 이미지 모델을 통한 멀티모달 문제 해결 시도

【Claude vs GPT】피부 진단 AI를 실무 5일 만에 성립시킨 이야기 — gpt-image-2가 돌파한 멀티모달의 벽

아내와 함께 「미용 전문 ChatGPT」를 만들고자

실무 5일 만에 6축 피부 진단 RAG를 구현. Claude vision으로 정밀도가 나오지 않고 Deep Research를 통해서도 「상용 API로도 미해결」임을 확인하여 한때 포기할 뻔했으나, ChatGPT에서 GPT 계열 이미지 생성·편집 모델을 시도하여 돌파할 수 있었다는 스토리 형식의 구현 노트입니다. gpt-image-2

1. 서론: 아내와 ChatGPT의 미용 상담에서 보인 것

계기는 아내가 ChatGPT를 「챠피(Chappy)」라고 부르며 미용 상담에 사용하고 있다는 것을 알게 된 것이었다. 「『피부를 깨끗하게 하고 싶다』고 상담했더니 Melano CC(시판 미백 에센스)를 추천해 줘서 샀다」라고. AI의 권장 사항이 실제 구매로 직결되고 있다.

한편 아내는 ChatGPT에 대해 세 가지 불만을 가지고 있었다: ① 정보의 신선도를 알 수 없음, ② 「다크 초콜릿 브라운」이라고 말해도 이미지가 없으면 알 수 없음, ③ 과거의 대화를 거슬러 올라갈 수 없음.

이미지로 보여줬으면 좋겠어". 이미지를 AI에게 이해시키는 기술 (컴퓨터 비전 (Computer Vision))대규모 언어 모델 (LLM, 문장을 생성·이해하는 AI) 모두를 다룰 수 있는 Claude Sonnet 4.5라면 돌파할 수 있을 것이다. 그렇게 생각하여 구현한 것이 6축 피부 진단 × 화장품 문의 RAG였다.

여기까지 알게 된 것: 당사자의 불만을 들어보니, AI에게 원하는 기능은 「이미지」, 「신선도」, 「이력」으로 명확해진다.

2. 무엇을 만들려고 했는가: 6축 피부 진단 × 화장품 문의 RAG

만든 것은 화장품 EC·미용 의료 클리닉용 AI 고객 지원. 여기서 말하는 RAG (검색 증강 생성, Retrieval Augmented Generation = 외부 지식을 검색하여 AI에게 제공하는 메커니즘) 는 사내 FAQ나 상품 데이터를 참조하여 답변하는 패턴이다.

図 1:RAG パイプライン全体像

피부 관찰은 6가지 축: 여드름, 여드름 자국 (PIH = 염증 후 색소 침착), 기미·주근깨, 붉은 기, 모공, 건조함.

20건의 테스트 케이스로 평가 하네스 (Evaluation Harness)를 구축하고, 텍스트 응답 부분의 베이스라인[1]을 확정:

지표실측값 (Claude Sonnet 4.5)
품질 평가 (100점 만점, 5개 관점)평균 73.45 / 중앙값 83
...

텍스트 응답은 충분히 좋은 품질에 도달했다. 문제는 이미지 입력 처리였다.

여기까지 알게 된 것: 텍스트 RAG는 건당 ¥4·약기법(약사법) 위반 제로까지 안정화되었으나, 이미지가 개입되는 순간 난이도가 급상승한다.

3. 첫 번째 벽: Claude vision으로 피부 특징의 위치 검출을 할 수 없음

Claude Sonnet 4.5의 vision (이미지를 AI에게 이해시키는 기능) 에 「여드름 자국·기미·붉은 기의 위치를 0~1 좌표로 반환해 줘」라고 요청하는 1-shot Vision (한 번의 프롬프트로 지시와 평가를 모두 수행하는 방식)부터 시작했다. 합성 이미지나 Unsplash의 클로즈업 사진에서는 작동했지만, 실제 이미지에서는 정밀도가 나오지 않았다. 바운딩 박스 (Bounding Box, 대상을 둘러싸는 사각형) 가 볼의 상하에 대칭적으로 배치되어 실제 고민 부위와 일치하지 않았다. 랜드마크 기준·사이즈 상한을 추가하여 라벨 겹침은 해소했으나, 정밀도는 개선되지 않았다.

결정타는, Claude vision에 「이미지 위에 주석을 그려서 반환해 줘」라고 요청해도 개념도 일러스트를 별도로 생성할 뿐, 입력 이미지 자체는 편집할 수 없다는 점이었다. Claude (GPT-4o / Gemini Pro vision 도 마찬가지)는 「이미지를 읽고 텍스트로 반환하는」 모델이지, 「이미지를 편집하여 이미지로 반환하는」 모델이 아니다.

Deep Research로 확인한 「상용 API로도 미해결된 문제」

피벗(Pivot)을 결정하기 전에, Claude Research와 별도의 Deep Research 2개를 통해 「피부 진단 AI의 상용 제품·연구 모델」을 조사시켰다. 결과는 가혹했다:

B2B (Business to Business, 기업 간 거래) 플랫폼 (Haut.AI / Revieve / Perfect Corp)이 이미 성숙해 있음. **OSS (Open Source Software, 누구나 수정 및 재배포 가능한 공개 소프트웨어)**로는 같은 경기장에서 이길 수 없음 - 임상 검증된 논문이 있는 상용 엔진은 La Roche-Posay SpotScan+뿐임 (피부과 전문의 평가와의 일치율 68%). Perfect Corp의 '95%'나 Haut.AI의 '98%'는
마케팅 수치이며 독립적인 검증이 없음 -
스마트폰 셀카를 통한 PIH(염증 후 색소 침착)・검버섯(노인성 색소 반점)・주근깨의 완전한 분리는 학술적으로도 미해결 상태. 공개 OSS로 구현하려면 시니어 CV (Computer Vision) 엔지니어 69개월 투입, MVP (Minimum Viable Product, 최소 기능 제품) 개발, 100400만 엔의 데이터 수집 비용 발생.

90일 안에 '상용 품질의 피부 진단 OSS'를 만드는 것은 절대 불가능. OSS화를 포기하고 다른 영역으로 방향을 전환하자——라고 한때 결론을 내렸다.

여기까지 파악한 내용: 범용 LLM (Large Language Model)의 Vision 기능으로는 '피부 이미지의 위치 검출'에 구조적 한계가 있다. 상용 API조차 미해결 상태이므로, 직접 구현하기 전에 먼저 Deep Research를 통해 '경기장의 상태를 확인'했어야 했다.

4. 두 번째 벽의 돌파: GPT의 gpt-image-2로 이미지 위에 직접 그리기 가능해졌다

전환점은 아내에게 시험 삼아 ChatGPT에 같은 이미지를 던져달라고 부탁했을 때였다.

"여드름 자국이나 여드름, 기미, 모공 확장을 특정해서, 각각 어떤 증상이 어디에 있는지 이미지 위에 표시해줘"

ChatGPT (추정 GPT 계열의 gpt-image-2, OpenAI의 이미지 편집 모델)가 돌려준 것은,

입력 이미지 자체에 4개 축을 색상 구분 점선으로 둘러싸고, 일본어 라벨 + 범례 + '의학적 진단이 아님'이라는 주석까지 그려진 이미지였다. 범용 LLM의 Vision으로는 불가능했던 일이 이미지 편집 모델에서는 실용 수준으로 작동한다.

범용 식칼에서 전용 식칼로 바꾼 듯한 느낌.

図 3:AI で生成 → AI で注釈、2 段階生成フロー

메커니즘 + 구현: 30줄

gpt-image-2는 OpenAI가 2025년에 출시한 이미지 편집 모델이다. **API (Application Programming Interface, 소프트웨어 간의 연결 통로)**의 엔드포인트 (Endpoint, 특정 기능을 호출하는 URL) POST /v1/images/edits에 이미지와 편집 지시를 보내면 편집된 이미지가 반환된다. 해상도는 1024x1024 / 1024x1536 / 1536x1024, 품질은 low / medium / high, 요금은 이미지당 $0.04 / $0.07 / $0.19이다. OpenAI Python SDK는 Python 3.8에서 작동하지 않기 때문에, **httpx (Python의 HTTP 통신 라이브러리)**로 직접 호출한다.

import base64, os, httpx
from pathlib import Path
PROMPT = """
...

입력 이미지도 AI로 만든다는 메타적인 구성

얼굴 사진 조달은 의외로 어렵다 (Unsplash에서 증상이 명확한 얼굴은 적음 / 클리닉 사이트의 환자 사진은 라이선스가 불분명함 / 가족은 프라이버시 문제로 불가). 그래서 입력 이미지도 gpt-image-2로 생성하는 2단계 구성으로 만들었다. 라이선스 문제를 완전히 해결하고, 모델 출시도 필요 없으며, 인종·성별·증상 축을 의도적으로 컨트롤할 수 있다. 'AI로 생성 → AI로 주석 달기'라는 메타적인 스토리가 기사의 핵심이 되었다.

검증용으로 5장을 생성하여, 증상 축의 전형적인 사례로 3장을 채택했다:

입력 (AI 생성)gpt-image-2 주석 출력 (1024x1536 / high)
여드름 계열 (아시아 여성)
기미·주근깨 계열 (백인 여성)
PIH 계열 (동남아시아 여성)

3장 모두 범례의 4개 축을 깔끔하게 읽을 수 있고, 일본어 주석도 완벽하며, 증상 부위를 색상 구분 점선으로 둘러싸고 있다. 범례까지 자동으로 작성해 온다는 점은 솔직히 놀라웠다.

시행착오를 통해 발견한 구현 노하우

종횡비(Aspect Ratio)는 1024x1024가 아니라 1024x1536(얼굴 사진) / 1536x1024(가로형)가 필수——일본어 라벨의 렌더링이 크게 개선된다. Quality도 High 필수(Medium이면 글자가 깨짐). Safety System은 확률적이어서, 의료 표현으로 인해 첫 번째 시도에서 차단되더라도 재시도하면 통과된다. 5장 생성 + 3장 주석으로 합계 약 ¥250.

여기까지 알게 된 점: "Claude로는 구조적으로 불가능"하지만, 다른 카테고리의 모델(gpt-image-2)이라면 실용적인 품질로 동작한다. 모델 선택 그 자체가 아키텍처(Architecture)다.

5. Claude vs gpt-image-2: 출력·비용·속도 비교

図 2:Claude vision と gpt-image-2 の入出力形式の違い

동일한 3장을 양쪽 모두로 처리한 실제 이미지 비교

증상 축Claude Sonnet 4.5 vision (좌표 → Pillow 그리기)gpt-image-2 (high, 1024x1536, 직접 그리기)
여드름 계열
기미·주근깨 계열
PIH 계열

Claude vision 측은 바운딩 박스(Bounding Box)가 볼의 좌우에 대칭으로 배치되는 경향이 있고(1-shot Vision의 한계), 사각형은 채우기 방식으로 윤곽에 맞지 않으며, 범례도 주석도 없다. 반면 gpt-image-2 측은 증상의 윤곽을 따르는 자유 곡선, 4색 구분 점선, 범례 + 일본어 주석까지 자동으로 그린다. 동일한 입력 이미지로 이 정도로 차이가 난다는 사실 그 자체가 최대의 발견이었다.

스펙 + 비용

관점Claude Sonnet 4.5 visiongpt-image-2 (high, 1024x1536)
출력 형식텍스트 (좌표 + 라벨)이미지 (주석 레이어를 직접 그림)
...

양자를 조합하면 ¥36-38/req이다. Claude를 "텍스트 응답 + 상품 추천"으로, gpt-image-2를 "이미지 주석의 시각화"로 분업하는 설계가 현실적이다. Prompt Caching을 통해 Claude 측은 ¥2-3/req까지 내려가므로 합계 ¥30/req 정도가 된다. 화장품 EC라면 "텍스트는 몇 초 내에 반환하고, 시각화 이미지는 2~3분 후에 메일로 통지"하는 하이브리드 UX가 현실적이다.

여기까지 알게 된 점: 멀티모달(Multimodal) AI는 "텍스트 출력 모델"과 "이미지 출력 모델"을 분업시키는 것이 현실적인 해답이다. 비용은 가산되지만 ¥30/req라면 B2B 용도로는 충분히 허용 범위 내에 있다.

6. 배움과, 다음에 만들 것

図 4:実働 5 日の判断プロセスタイムライン

실제 가동 5일(5/19-5/24) 동안 얻은 배움은 3가지다.

① 한계가 "모델" 때문인지 "태스크 설계(Task Design)" 때문인지 파악할 것: Claude vision에서 정밀도가 나오지 않았던 것은 Claude의 탓이 아니라, "텍스트 모델에 이미지 편집을 요구한" 설계의 문제였다. 다른 카테고리의 모델로 재정의하면 돌파구가 보인다.

② 실패 → 검증 → 피보트(Pivot)의 판단 프로세스를 기록할 것: "Claude vision 시도 → Deep Research → 포기할 뻔함 → gpt-image-2 우연히 발견 → 재피보트 성립". 부정적인 결과도 포함하여 기록함으로써 추적 시간을 절약할 수 있고 판단의 투명성도 높아진다.

③ 평가 하네스(Evaluation Harness)는 소재를 바꿔도 유용하다: 5축 루브릭(Rubric) + Sonnet judge + Prompt Caching은 피부 진단에서도 사내 wiki RAG에서도 유용하게 쓸 수 있는 자산이다. "소재를 만드는 것"보다 "측정하는 시스템을 만드는 것"이 장기적인 리턴이 더 크다.

다음에 만들 것: 중견기업의 사내 문의 AI

부업 프로젝트 중 실제로 예산이 책정된 프로젝트 수가 가장 많은 것은 "사내 wiki / FAQ / 매뉴얼 RAG" (월 평균 ¥87만 대)이다. Phase 1의 평가 하네스를 유용하여, 정보시스템 / 인사 / 경비 규정 + 멀티모달 PDF 도표 검색을 위한 OSS 템플릿 ops-rag-template을 별도로 구현 중이다.

여기까지 알게 된 점: 소재 피보트의 판단 프로세스 자체가 기술 블로그로서 가치를 가진다. 평가 하네스는 소재를 넘나드는 자산이다.

마치며

「움직이지 않을 것이라 생각했던 것이, 모델을 바꾸니 움직였다」. 실무 5일 만에 얻은 가장 큰 배움은 이것입니다. 성공 사례의 이면에는 「실패 → 검증 → 다른 접근 방식 → 재검증」의 시행착오가 있었으며, 이번에는 아내의 dogfooding (자사 제품을 직접 사용하며 검증하는 것) + Deep Research + ChatGPT 우발적 시도가 겹치면서 돌파구(breakthrough)로 이어졌습니다. 멀티모달 (Multimodal) AI 도입을 검토 중인 분들은 먼저 여러 모델의 출력 형식 차이를 이미지 한 장으로 실기 비교해 볼 것을 강력히 추천합니다. 구현 코드(skin_annotate_gpt.py)와 검증 절차는 조만간 GitHub에서 공개할 예정입니다.

이 기사도 함께 보세요

  • 📘 Zenn 2 (곧 공개 예정): 「중견기업 정보시스템(情シス) 부서를 위한, OSS로 만든 멀티모달 RAG 이야기 — 평가 하네스와 PDF 도표 검색」
  • 🛠️ GitHub: cs-rag-template — 본 기사의 평가 하네스 + Caching 참고 구현
  • 🛠️ GitHub: ops-rag-template — 사내 wiki RAG 템플릿 (Zenn 2의 소재)
  • 🌐 MakiNest AI 공식: https://makinestai.github.io — 브랜드 사이트

도움이 되었다면 '좋아요'나 댓글, Zenn / X에서의 공유를 해주시면 기쁘겠습니다. 같은 벽에 부딪힌 분들의 시간을 절약하는 데 도움이 되기를 바랍니다.

필자 프로필

  • AI 엔지니어 / 컴퓨터 비전 (Computer Vision) 전문
  • CVPR (Computer Vision and Pattern Recognition, 이미지 인식·AI 분야 세계 최대 규모의 피어 리뷰 국제 학회)의 2025년 워크숍(Workshop)에 연구 채택
  • 경력: 제조업 현장 3년 → 대학교 (CV·머신러닝 전공) → 기업 연구개발직
  • MakiNest AI: 업무를 흡수하고 가능성을 키우는 AI의 둥지. 흩어진 정보나 반복 작업을 AI로 정리하여, 사람과 팀이 더욱 창의적으로 일할 수 있는 여유를 만듭니다. 공식 사이트 →

이미지 크레딧 및 주의사항

입력 이미지(input_3/5/7)는 ChatGPT를 통해 gpt-image-2로 생성되었으며, 주석 출력(gpt/annotated_)은 skin_annotate_gpt.py, Claude vision 출력(claude/annotated_)은 minimal_multimodal.py로 생성되었습니다. 입력 데이터 또한 AI로 생성되었으므로, 실제 피부 고민을 반영하고 있는 것은 아니다라는 점에 유의해 주십시오. 실제 피부 고민은 피부과 전문의와 상담하시기 바랍니다.

참고 리서치

  • Seité S, et al. Experimental Dermatology 2019; 28(11): 1252–1257 (SpotScan+ 임상 평가) - Haut.AI / Revieve / Perfect Corp 공식 문서, OpenAI Images API 문서
  • Prompt Caching: 프롬프트의 전반부(시스템 지시문 등)를 AI 측에 캐싱(Caching)하여, 두 번째 호출부터의 비용을 낮추는 메커니즘. Anthropic의 경우 cache_control: ephemeral을 지정하기만 하면 됩니다. ↩︎

Discussion

AI 자동 생성 콘텐츠

본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0