주요 콘텐츠로 건너뛰기
AI 튜토리얼

Claude Code로 결정론적 생성 예술을 만들고 검증하기

genart Claude Code 플러그인 설치, 결정론적 크리에이티브 코딩 스케치 개발, 개별 시드와 콘택트 시트 렌더링, 특성 희소성 측정, 재현성 확인 방법을 알아보세요. 또한 튜토리얼에서는 플러그인의 해상도, 플랫폼, 윤리, 내보내기 및 검증 지침을 설명합니다.

Claude Code로 결정론적 생성 예술 만들고 검증하기

genart란 무엇인가요?

genart는 장문 생성 예술 작업을 위한 전문 지식을 Claude에 제공하는 Claude Code 플러그인입니다. 아티스트가 Art Blocks, 256ART, Verse, Highlight, Plottables, bootloader.art 및 자체 호스팅 릴리스와 같은 플랫폼에 적합한 결정론적 해시 시드 스케치를 제작할 수 있도록 지원합니다.

이 플러그인은 Canvas 2D, p5.js, three.js/WebGL 및 SVG로 구축된 크리에이티브 코딩 워크플로를 지원합니다. 안내 범위에는 의사난수 생성, 토큰 해시 시딩, 해상도 독립적 렌더링, 트레이트, 희소성, 디버깅, 내보내기, 플랫폼 통합, 검증 및 윤리적 실천이 포함됩니다.

AI의 의도된 역할은 아티스트가 아니라 스튜디오 어시스턴트입니다. 독창성, 저작자 표시, 라이선스 및 AI 사용 공개는 여전히 아티스트의 책임입니다.

주요 기능

  • 결정론적 생성: PRNG를 선택하고 토큰 해시로 시드하는 방법, 이름이 지정된 무작위 하위 스트림을 구성하는 방법, 재현성을 저해하는 일반적인 원인을 피하는 방법을 배웁니다.
  • 해상도 독립성: 미리보기와 고해상도 출력 크기 모두에서 일관되게 렌더링되는 하나의 구성을 설계합니다.
  • 에디션 설계: 기능, 트레이트 및 희소성 표를 정의한 다음 여러 생성 결과에서 어떻게 동작하는지 살펴봅니다.
  • 다양한 렌더링 기술: Canvas 2D, p5.js, three.js/WebGL 또는 SVG 프로젝트에 안내 내용을 적용합니다.
  • 프로덕션 도구: Claude의 도움으로 디버그 인터페이스, 키보드 단축키, PNG 내보내기 및 동영상 내보내기를 추가합니다.
  • 검증: 민팅 전에 스케치에 대한 검사를 실행하고 자동화된 테스트로 확인할 수 없는 사항을 이해합니다.
  • 플랫폼 안내: 오래될 수 있는 복사된 세부 정보 대신 안정적인 플랫폼 개념 모델과 공식 문서를 바탕으로 작업합니다.
  • 윤리적 안내: AI를 예술 워크플로에 도입할 때 독창성, 저작자 표시, 라이선스 및 공개 여부를 고려합니다.

사전 요구 사항

Claude Code와 기존 또는 새 생성 예술 프로젝트가 필요합니다. 플러그인의 검증 및 렌더링 스크립트를 실행하려면 Node.js가 필요합니다.

실행 가능한 스크립트에는 아트 프로젝트 내부에 Playwright와 Chromium도 필요합니다. 플러그인 자체에는 종속성이 없으며 package.json이나 Playwright 번들이 포함되어 있지 않습니다.

Claude Code 플러그인 설치

Claude Code에서 플러그인 마켓플레이스를 추가하고 genart를 설치합니다.

/plugin marketplace add camilleroux/genart-skill
/plugin install genart@camilleroux-genart

설치가 끝난 후 스케치를 설명하면 스킬이 자동으로 로드됩니다. 명시적으로 호출할 수도 있습니다.

/genart

처음에는 코드를 변경하기 전에 프로젝트의 현재 구조를 설명하고 결정론적 아키텍처를 제안해 달라고 요청하는 것이 좋습니다. 예를 들면 다음과 같습니다.

/genart
Review this Canvas 2D generative-art sketch. Help me seed all randomness from a token hash, keep traits stable, and render the same composition at different resolutions.

렌더링 종속성 설치

생성 예술 프로젝트의 루트에서 Playwright를 개발 종속성으로 설치하고 Chromium을 다운로드합니다.

npm i -D playwright
npx playwright install chromium

Playwright가 없으면 제공된 스크립트가 설치 명령을 표시합니다. 이 종속성을 프로젝트에 유지하면 플러그인은 종속성 없이 유지하면서도 스크립트가 로컬 스케치를 대상으로 실행될 수 있습니다.

결정론적 스케치 만들기

토큰 해시에서 시작하기

Claude에게 모든 무작위성의 원인을 식별하고 시드된 PRNG를 통해 처리하도록 요청합니다. 동일한 토큰 해시는 Math.random()과 같은 시드되지 않은 호출에 의존하지 않고 동일한 무작위 시퀀스를 초기화해야 합니다.

플러그인의 결정론 참고 자료에서는 이름이 지정된 하위 스트림도 다룹니다. 하위 스트림을 사용하면 팔레트 선택, 레이아웃 및 텍스처처럼 서로 다른 결정을 분리할 수 있으므로 스케치의 한 부분을 변경해도 이후의 모든 무작위 선택이 불필요하게 영향을 받지 않습니다.

구성과 출력 해상도 분리하기

캔버스 크기가 바뀔 때 구성이 달라진다면 결정론적 결과만으로는 충분하지 않습니다. Claude에게 위치, 길이 및 기타 시각적 결정을 논리적 좌표계 또는 비율로 표현한 다음 최종 렌더링을 요청된 크기에 맞게 조정하도록 요청합니다.

이렇게 하면 동일한 구성을 유지하면서 약 400픽셀의 가벼운 미리보기와 약 4000픽셀의 프로덕션 출력을 렌더링할 수 있습니다. 플러그인은 이 목표를 픽셀 단위의 완전한 일치가 아니라 크기 간 지각적 안정성이라고 설명합니다.

기능과 희소성을 의도적으로 정의하기

트레이트는 특정 해시에 대해 안정적이어야 하며 전체 에디션에서 의미가 있어야 합니다. 매력적인 샘플 몇 개에 의존하기 전에 Claude에게 가능한 값과 희소성 규칙을 정의하는 데 도움을 요청합니다.

실용적인 요청 예시는 다음과 같습니다.

Design stable traits for palette, density, and structure. Keep the trait calculation deterministic, document the intended rarity of each value, and help me test the resulting distribution across 5,000 seeds.

결정성 검사 실행

플러그인에는 현 위치에서 실행되는 check.mjs 스크립트가 포함되어 있습니다. 이 스크립트를 프로젝트에 복사할 필요가 없으므로 설치된 스크립트가 사용되는 모든 곳에 플러그인 업데이트가 적용됩니다.

node "$CLAUDE_PLUGIN_ROOT/scripts/check.mjs" myproject

myproject를 해당 프로젝트 경로로 바꿉니다. 필요한 정확한 스케치 계약과 소규모 플랫폼 셈에 대한 설명은 references/verification.md에 나와 있습니다.

민팅 전에 이 검사를 사용하되, 결과는 신중하게 해석하세요. 이 검사는 동일한 머신에서의 재현성, 기능의 안정성, 다양한 크기에서의 시각적 안정성을 평가하는 데 도움이 됩니다. 하지만 모든 머신, 브라우저 엔진 또는 GPU가 동일한 픽셀을 생성한다는 것을 증명할 수는 없습니다.

시드 하나를 렌더링하고 검사하기

--hash와 함께 render.mjs를 사용해 결정론적 출력 하나를 PNG로 렌더링하세요.

node "$CLAUDE_PLUGIN_ROOT/scripts/render.mjs" myproject --hash 0x…

검사하려는 토큰 해시로 0x…를 바꾸세요. 이 명령은 다음과 같은 짧은 시각적 반복 작업을 지원합니다.

  1. Claude에게 스케치를 수정하도록 요청합니다.
  2. 고정된 해시를 렌더링합니다.
  3. 생성된 PNG를 검사합니다.
  4. 무엇을 변경해야 하는지 설명합니다.
  5. 같은 해시를 다시 렌더링하고 결과를 비교합니다.

해시를 고정하면 서로 다른 시드를 테스트하면서 생기는 변동과 의도적인 코드 변경을 구분하는 데 도움이 됩니다.

에디션 전체 평가하기

콘택트 시트 만들기

시드 하나만으로는 프로젝트에 충분한 다양성이 있는지, 바람직하지 않은 구조가 반복되는지 알 수 없습니다. 50개 출력의 그리드를 렌더링하세요.

node "$CLAUDE_PLUGIN_ROOT/scripts/render.mjs" myproject --grid 50

콘택트 시트를 사용해 시각적 범위, 반복, 구성의 균형, 드문 특이 사례, 컬렉션의 일관성을 검사하세요.

특성 희소성 측정하기

센서스를 실행해 구현된 희소성 규칙이 더 큰 표본에서 실제로 어떤 결과를 만드는지 확인하세요.

node "$CLAUDE_PLUGIN_ROOT/scripts/render.mjs" myproject --census 5000

이 명령은 5,000개의 출력을 테스트하고 특성 분포를 에디션 수준에서 보여 줍니다. 측정된 결과를 의도한 희소성 표와 비교하세요. 차이가 있다면 디자인 비율이 지켜지고 있다고 가정하지 말고 코드를 조사하세요.

개별 PNG 파일 내보내기

여러 출력을 별도의 파일로 렌더링하려면 배치 모드를 사용하세요.

node "$CLAUDE_PLUGIN_ROOT/scripts/render.mjs" myproject --batch 50

이 예시는 더 자세한 검토나 후속 사용을 위해 개별 PNG 렌더 50개를 생성합니다.

플랫폼 참고 자료를 안전하게 사용하기

이 플러그인에는 Art Blocks, 256ART, Verse, Highlight, Plottables, bootloader.art 및 자체 호스팅 배포에 대한 안내가 포함되어 있습니다. 이 자료는 변동 가능성이 있는 버전 번호, 필드 이름, 복사된 수치를 의도적으로 배제합니다.

대신 안정적인 개념 모델, 표준 문서 링크, Claude가 최신 문서에서 확인해야 할 질문을 제공합니다. 플랫폼에 맞게 스케치를 조정할 때는 통합 코드를 작성하기 전에 Claude에게 공식 문서를 가져오도록 지시하세요.

내 대상 플랫폼에 genart 플랫폼 안내를 사용하세요. 통합 코드를 제안하기 전에 해당 플랫폼의 최신 표준 문서를 가져오고, 확인이 필요한 가정을 식별하세요.

이 방식은 오래된 API를 구현하거나 플러그인 게시 이후 변경된 구성 세부 사항에 의존할 위험을 줄여 줍니다.

고급 작업 흐름 팁

이름이 지정된 무작위 하위 스트림 사용하기

구성, 팔레트, 기능, 텍스처와 같은 주요 시스템의 무작위성을 분리하세요. 이렇게 하면 코드를 더 쉽게 이해할 수 있고, 반복 작업 중 관련 없는 시각적 결정이 실수로 바뀌는 일을 줄일 수 있습니다.

구조를 변경할 때마다 고정 시드 테스트하기

일반적인 특성 조합과 이례적인 특성 조합을 포함해 대표적인 해시를 소수 유지하세요. PRNG 사용 방식, 기능 로직, 크기 또는 렌더링 기술을 변경한 후 해당 해시를 렌더링하세요. 그런 다음 그리드와 더 큰 센서스로 검사를 보완하세요.

재현성과 머신 간 증명을 혼동하지 않기

WebGL 셰이더 컴파일러, 부동소수점 정밀도, 래스터라이저, 멀티샘플 안티앨리어싱은 GPU마다 다를 수 있습니다. JavaScript의 초월 함수도 엔진마다 달라질 수 있습니다. 따라서 이 플러그인은 도구가 머신 간 결정론을 증명한다고 주장하지 않습니다.

검증 결과를 설명할 때는 정확하게 표현하세요. 성공적인 테스트는 현재 환경에서의 반복 가능성이나 샘플링한 해시에서의 안정적인 특성처럼 실제로 테스트한 범위만 입증합니다.

초기에 내보내기 요구 사항 설계하기

최종 작업에 고해상도 인쇄, 비디오, SVG 또는 펜 플로터 출력이 필요하다면 스케치 아키텍처를 확정하기 전에 해당 요구 사항을 논의하세요. 이 플러그인에는 PNG 및 비디오 내보내기, 해상도 독립적 렌더링, SVG 작업 흐름, 펜 플로터에 대한 안내가 포함되어 있습니다.

작가가 저작 책임을 유지하기

Claude를 활용해 기법을 설명하고, 코드를 검토하고, 도구를 실행하고, 반복 작업을 가속하세요. 창작 방향, 작품 선택, 독창성 확인, 저작자 표시, 라이선스 결정 및 공개 여부는 작가가 통제하세요.

권장되는 전체 작업 흐름

  1. Claude Code에 genart를 설치합니다.
  2. 생성 예술 프로젝트를 열고 시각적 콘셉트, 렌더링 기술 및 목표 출력을 설명합니다.
  3. Claude에게 해시 기반 무작위성과 안정적인 특성을 설계하도록 요청합니다.
  4. 출력 해상도와 구성을 독립적으로 만듭니다.
  5. 프로젝트에 Playwright와 Chromium을 설치합니다.
  6. references/verification.md에 설명된 스케치 계약을 따릅니다.
  7. check.mjs를 실행해 감지 가능한 재현성 문제를 확인합니다.
  8. 고정된 해시를 렌더링하고 이미지를 반복 개선합니다.
  9. 콘택트 시트를 생성해 시각적 다양성을 검토합니다.
  10. 대규모 센서스를 실행하고 측정된 희소성을 의도한 특성 표와 비교합니다.
  11. 플랫폼별 코드를 구현하기 전에 최신 공식 플랫폼 문서를 가져옵니다.
  12. 필요한 PNG, 비디오, 인쇄, SVG 또는 플로터 출력을 준비하고 결정론에 대한 주장의 한계를 문서화합니다.

결론

genart는 Claude Code를 결정론적 생성 예술 개발에 특화된 어시스턴트로 바꿔 줍니다. 참고 자료는 스케치의 구조를 잡는 데 도움을 주고, 실행 가능한 도구는 고정 시드 렌더링, 에디션 검토, 희소성 측정, 재현성 검사를 지원합니다. 신중하게 사용하면 예술적 저작권을 대체하거나 자동화된 검증으로 입증할 수 있는 범위를 과장하지 않으면서 프로젝트의 기술적 신뢰성을 높일 수 있습니다.

이 프로젝트는 Camille Roux가 관리하며 MIT 라이선스로 배포됩니다.