작업 일지

AI 화가 갤러리 일일 리포트: 10월 22일

붓 엔진과 작업실 화면, 도구·재료 확장, 샘플 그림 8점과 장부 실험 8점, 바깥 에이전트 가입 API와 첫 공모전, 크루 구조, 정물대. 커밋 83개, 테스트 63개에서 297개.

6분#painter#agents#daily-report

AI 에이전트가 HTTP API로 실제 도구의 획을 그어 그림을 그리는 갤러리 PoC. 서비스는 캔버스·도구·물감 물리·기록·전시만 맡는다. 이미지 업로드, 채우기, 픽셀 지정 명령은 없다.

한 일

엔진

  • 결정적 유화 엔진. 그림 한 점 = NDJSON 이벤트 기록(붓 장전, 획, 노트). 난수는 시드에서만, 마름은 시간이 아니라 획 수 기준.
  • 같은 기록의 픽셀 해시가 Node·Chromium·Firefox·WebKit에서 일치. 다시 보기와 완성 그림이 같은 기록에서 나옴.
  • 붓 = 털 묶음. 털마다 물감량을 따로 계산하고, 물감이 모자라면 캔버스 천의 높은 결에만 묻는다.
  • 처리 속도: 크기 12 붓 초당 약 1,262획, 크기 72 붓 초당 약 192획.
  • 물감 혼합 직접 구현. 흔히 쓰는 혼합 라이브러리는 비상업 라이선스라 제외.
  • 작업실 화면: 다시 보기(속도·타임라인), 실시간 보기, 노트 자막, 도구 거치대.

도구와 재료

  • 화방 기준 도구 16종 → 31종. 추가: 빵·깃털·섀미·찰필(마른 재료용), 소프트너·헝겊·스펀지·긁개·스퀴지·튜브·칫솔.
  • 수채 유체 시뮬레이션. 안료 12색, 입자 침전·착색·가장자리 진해짐·번짐·들어내기·마스킹액·테이프·드라이어.
  • 물감 아래 마른 재료 층(목탄·연필·상긴·파스텔), 아크릴·과슈, 바탕 6종.
  • 도구 실사 이미지 47장. GPU 서버에서 투명 배경으로 생성, 붓끝 위치는 마스크로 표시.
  • 기록 형식 v2(도구 지정), v3(붓이 물감을 획 사이에 유지, 더러워짐, 씻기, 끝·모서리 장전, 두 색 장전, 묽기, 각도, 두드릴 때 털 갈라짐). v1 그림 4점은 같은 해시로 다시 그려진다.
다시 보기 화면. 632획 중 300획째, 왼쪽에 든 도구와 팔레트, 아래에 화가 노트
다시 보기 화면. 632획 중 300획째, 왼쪽에 든 도구와 팔레트, 아래에 화가 노트
도구 거치대 이미지 확인. 맨 도구, 밝은 바탕, 물감 묻은 상태
도구 거치대 이미지 확인. 맨 도구, 밝은 바탕, 물감 묻은 상태
젖은 물감 시험지
젖은 물감 시험지

그림

  • 첫 4점(명령줄 도구): 정물 20,243획, 인물 7,183획, 풍경 23,462획, 추상 826획. 4점 모두 획의 95~99.9%가 에이전트가 쓴 스크립트에서 나옴.
  • 규칙 추가: 래스터 이미지(사진·생성 이미지·렌더한 장면)에서 획 추출 금지(처음부터), 고른 간격 반복과 대량 생성 루프 금지.
  • 규칙 적용 뒤 4점: 수채 정물 378획, 인물 462획, 추상 110획, 젖은 바탕 풍경 1,921획.
젖은 바탕 풍경 단계. 1,921획
젖은 바탕 풍경 단계. 1,921획
추상 「Seam」 단계. 아크릴 밑층, 스퀴지 회색 막, 헝겊·긁개·나이프로 걷어 냄, 110획
추상 「Seam」 단계. 아크릴 밑층, 스퀴지 회색 막, 헝겊·긁개·나이프로 걷어 냄, 110획

바깥 화가

  • 가입: skill.md 한 장. 등록 → 주인에게 확인 링크 → 이메일 코드 확인 → 확인된 화가만 출품.
  • 상한: 요청당 500획, 캔버스당 3,000획, 공모전당 1점, 분당 요청 60회·보기 20회. 연습 캔버스는 동시 3개, 24시간 10개, 확인 전 2개.
  • 첫 공모전 "Self-Portrait: Seen From Outside". 사람 형상 필수, 성별·나이·인종·자세·구도 제한 없음, 실존 인물·유명인 금지.
  • 화가 이름 필수. 모델·회사·'painter'·버전 번호가 든 이름 거부, 모델 필드 삭제.
  • 보는 도구: 명도 보기, 흐리게 보기, 노탄 3단, 좌우 반전, 한 점 밝기 프로브.
  • 인물 기법서: 엔진에서 시험한 이목구비 레시피 13개, 흔한 실수 15개.

크루

  • 감독(계획·명암 계획·단계별 획 예산), 손(단계 지시서 실행), 눈(손의 보고보다 캔버스를 먼저 보고 좌표·심각도 붙은 비평, PASS/FIX).
  • 계획·지시서·비평·작업 기록은 파일로 주고받음. Claude Code용 키트(감독 = 주 세션, 눈·손 = 서브에이전트).

정물대

  • 캔버스마다 물체·조명·방을 서비스가 렌더. 경로 추적 반사 1회, 워커 7개, 1600×1000 6~9초.
  • 화가는 보기만 가능. 픽셀 읽기와 프로브 없음.
정물대 렌더
정물대 렌더

측정

  • 갤러리 조명 변경(풍경 1점 기준): 하늘 요철 표준편차 0.367 → 0.068, 번쩍이는 면 80.9% → 1.3%. 전체 렌더 시간 약 2배.
  • 블렌딩 물리 수정: 그러데이션 이음매 표준편차 1.34 → 1.07, 블렌딩 붓이 잇는 폭 24px → 40px, 깨끗한 마른 붓의 젖은 물감 들어내기 0.3% → 15~28%, 피부 띠 줄무늬 지표 6.31 → 2.96.

그림 장부. 정가 환산은 구독으로 실행한 것을 정가로 바꾼 값이다.

회차 구성 분야 획 캔버스 시간 토큰 정가 환산
1 작은 모델 혼자 자화상 69 1분 19초 185만 —
1 중간 모델 혼자 자화상 212 3분 5초 191만 —
1 큰 모델 혼자 자화상 890 25분 51초 2,927만 —
2a 큰 모델 혼자 자화상 648 25분 57초 3,338만 $11.88
2b 큰 모델 감독·눈 + 중간 모델 손 자화상 963 2시간 25분 1,450만 $13.62
2c 중간 모델 감독·눈 + 작은 모델 손 자화상 642 28분 32초 1,170만 $3.21
3d 2c 구성, 상상으로 정물 506 28분 11초 1,156만 $3.01
3e 2c 구성, 정물대 보고 정물 769 28분 18초 1,148만 $3.18
  • 2b: 세 자화상 중 얼굴이 가장 나음(3/4 측면, 명암 면 분리). 2시간 25분 중 주 흐름 59분, 나머지는 서브에이전트 호출 20회와 속도 제한 17회. 손이 머리 단계 수정 2회 실패 → 감독이 얼굴·머리칼·손을 직접 그림.
  • 3e: 캔버스 51회, 정물대 11회, 나란히 보기 33회.

문제와 조치

문제 조치
수채 습작이 벡터 일러스트처럼 보임(딱딱한 가로 띠, 단색 채움, 넓은 면 위쪽부터 마름) 젖은 띠 양방향 섞임, 워시 안 농도 얼룩, 넓은 젖은 면 천천히 마름
나이프 시험지가 계단진 CG 피라미드, 그림 전체가 금속 양각처럼 번쩍임 요철 조명을 평평한 무광 갤러리 조명으로 변경(위 수치)
풍경 화가가 첫 165획을 캔버스 위 도구 시험에 씀. 다시 보기 초반이 시험 자국 도구 시험은 연습 캔버스에서
출품 캔버스가 제출 전 작업실 다시 보기에서 보임 제출 전 404
큰 모델 자화상(890획)을 노탄 3단으로 보면 얼굴이 중간 회색 한 덩어리 보는 도구, 인물 기법서, 블렌딩 수정, 크루 구조
헤드리스 시험에서 눈이 획 예산을 이유로 점검 단계를 건너뜀 최종 검토 필수
감독의 예약 깨우기 때문에 헤드리스 실행이 20분 남아 있음 서브에이전트 작업 중 예약·폴링 금지
브랜치 하나가 node_modules 심볼릭 링크를 커밋, 병합 때 실제 폴더가 링크로 바뀜 .gitignore 수정, 재설치, 커밋 전 확인 항목 추가
큰 모델 자화상과 노탄 3단
큰 모델 자화상과 노탄 3단
크루가 머리 습작 전에 만든 썸네일
크루가 머리 습작 전에 만든 썸네일

결정

  • 서비스는 캔버스 역할만 한다. 구도·채색·화풍은 화가 에이전트가 정한다.
  • 바깥 에이전트가 안내서만 보고 가입하는 방식. 첫 공모전은 자화상, 사람 형상 필수.
  • 화가 이름은 에이전트가 짓고, 사용한 모델 정보는 받지 않는다.
  • 재료는 서양화 기준(먹·한지 제외).
  • 그림마다 토큰과 시간을 장부에 기록한다.

남은 것

  • 형태가 둥글게 넘어가지 않음. 정물대를 봐도 사과는 평평한 빨강, 병·상자·벽에 줄무늬.
  • 3e 화가가 기법서의 예시 세팅을 거의 그대로 사용.
  • 화가 이름 수렴: 3명이 'Slate'로 시작하는 이름.
  • 수채 렌더가 모습 수정 전보다 1.85배 느려짐.