
genart là gì?
genart là một plugin Claude Code cung cấp cho Claude kiến thức chuyên môn để làm việc với nghệ thuật tạo sinh dạng dài. Plugin hỗ trợ nghệ sĩ tạo các sketch tất định, được khởi tạo bằng hash, phù hợp với những nền tảng như Art Blocks, 256ART, Verse, Highlight, Plottables, bootloader.art và các bản phát hành tự lưu trữ.
Plugin hỗ trợ quy trình sáng tạo bằng mã sử dụng Canvas 2D, p5.js, three.js/WebGL và SVG. Hướng dẫn bao quát việc tạo số giả ngẫu nhiên, khởi tạo bằng token hash, kết xuất độc lập với độ phân giải, thuộc tính, độ hiếm, gỡ lỗi, xuất tệp, tích hợp nền tảng, xác minh và thực hành có đạo đức.
Vai trò dự kiến của AI là trợ lý trong studio, không phải nghệ sĩ. Tính nguyên bản, ghi công, cấp phép và công khai việc sử dụng AI vẫn thuộc trách nhiệm của nghệ sĩ.
Tính năng chính
- Tạo tất định: Tìm hiểu cách chọn PRNG, khởi tạo PRNG từ token hash, tổ chức các luồng ngẫu nhiên con có tên và tránh những nguyên nhân phổ biến gây ra kết quả không thể tái lập.
- Độc lập với độ phân giải: Thiết kế một bố cục có thể kết xuất nhất quán ở cả kích thước xem trước và đầu ra độ phân giải cao.
- Thiết kế edition: Xây dựng các tính năng, thuộc tính và bảng độ hiếm, sau đó kiểm tra cách chúng hoạt động trên nhiều đầu ra được tạo.
- Nhiều công nghệ kết xuất: Áp dụng hướng dẫn cho các dự án Canvas 2D, p5.js, three.js/WebGL hoặc SVG.
- Công cụ sản xuất: Thêm giao diện gỡ lỗi, phím tắt, xuất PNG và xuất video với sự hỗ trợ của Claude.
- Xác minh: Chạy các kiểm tra trên sketch trước khi mint và hiểu những điều mà kiểm thử tự động không thể xác lập.
- Hướng dẫn nền tảng: Làm việc dựa trên các mô hình nền tảng ổn định và tài liệu chính thống, thay vì những chi tiết sao chép có thể trở nên lỗi thời.
- Hướng dẫn đạo đức: Cân nhắc tính nguyên bản, ghi công, giấy phép và việc công khai khi đưa AI vào quy trình nghệ thuật.
Điều kiện tiên quyết
Bạn cần Claude Code và một dự án nghệ thuật tạo sinh hiện có hoặc mới. Cần có Node.js để thực thi các script xác minh và kết xuất của plugin.
Các script có thể chạy cũng yêu cầu Playwright và Chromium bên trong dự án nghệ thuật của bạn. Bản thân plugin không có dependency và không bao gồm package.json hay đóng gói Playwright.
Cài đặt plugin Claude Code
Trong Claude Code, thêm marketplace của plugin và cài đặt genart:
/plugin marketplace add camilleroux/genart-skill
/plugin install genart@camilleroux-genart
Sau khi cài đặt, hãy mô tả sketch của bạn và skill sẽ tự động được tải. Bạn cũng có thể gọi skill một cách tường minh:
/genart
Một yêu cầu mở đầu hữu ích là đề nghị giải thích cấu trúc hiện tại của dự án và đề xuất kiến trúc tất định trước khi thay đổi mã. Ví dụ:
/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.
Cài đặt dependency kết xuất
Từ thư mục gốc của dự án nghệ thuật tạo sinh, hãy cài đặt Playwright dưới dạng dependency phát triển và tải Chromium:
npm i -D playwright
npx playwright install chromium
Nếu thiếu Playwright, các script được cung cấp sẽ hiển thị lệnh cài đặt. Giữ dependency này trong dự án giúp plugin không cần dependency, đồng thời các script của plugin vẫn có thể chạy trên sketch cục bộ của bạn.
Xây dựng sketch tất định
Bắt đầu từ token hash
Yêu cầu Claude xác định mọi nguồn tạo tính ngẫu nhiên và đưa chúng qua một PRNG được khởi tạo bằng seed. Cùng một token hash phải khởi tạo cùng một chuỗi ngẫu nhiên, thay vì phụ thuộc vào các lệnh gọi chưa được khởi tạo seed như Math.random().
Tài liệu tham khảo về tính tất định của plugin cũng đề cập đến các luồng ngẫu nhiên con có tên. Chúng có thể giúp cô lập các quyết định khác nhau, chẳng hạn như chọn bảng màu, bố cục và kết cấu, để việc thay đổi một phần của sketch không làm xáo trộn không cần thiết mọi lựa chọn ngẫu nhiên tiếp theo.
Tách bố cục khỏi độ phân giải đầu ra
Kết quả tất định là chưa đủ nếu bố cục thay đổi khi kích thước canvas thay đổi. Yêu cầu Claude biểu diễn vị trí, độ dài và các quyết định hình ảnh khác trong một hệ tọa độ logic hoặc dưới dạng tỷ lệ, sau đó масштаб hóa kết xuất cuối cùng theo kích thước được yêu cầu.
Điều này cho phép kết xuất bản xem trước nhẹ ở khoảng 400 pixel và đầu ra sản xuất ở khoảng 4000 pixel, đồng thời giữ nguyên bố cục. Plugin mô tả mục tiêu này là tính ổn định về mặt cảm nhận giữa các kích thước, không nhất thiết giống nhau đến từng pixel.
Xác định tính năng và độ hiếm một cách có chủ đích
Thuộc tính phải ổn định với một hash nhất định và có ý nghĩa trên toàn bộ edition. Hãy yêu cầu Claude hỗ trợ xác định các giá trị có thể có và quy tắc độ hiếm trước khi dựa vào một số ít mẫu bắt mắt.
Một yêu cầu thực tế có thể là:
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.
Chạy các kiểm tra tính tất định
Plugin đi kèm script check.mjs có thể chạy tại chỗ. Bạn không cần sao chép script này vào dự án, vì vậy các bản cập nhật plugin sẽ được áp dụng ở mọi nơi sử dụng script đã cài đặt.
node "$CLAUDE_PLUGIN_ROOT/scripts/check.mjs" myproject
Thay myproject bằng đường dẫn dự án tương ứng. Hợp đồng chính xác của sketch và lớp mô phỏng nền tảng nhỏ mà sketch yêu cầu được ghi trong references/verification.md.
Hãy sử dụng bước kiểm tra này trước khi mint, nhưng cần diễn giải kết quả một cách cẩn trọng. Bước này có thể giúp đánh giá khả năng tái tạo trên cùng một máy, tính ổn định của đặc tính và tính ổn định về cảm nhận ở các kích thước khác nhau. Bước này không thể chứng minh rằng mọi máy tính, engine trình duyệt hoặc GPU sẽ tạo ra các pixel giống hệt nhau.
Render và kiểm tra một seed
Sử dụng render.mjs cùng với --hash để render một đầu ra xác định thành PNG:
node "$CLAUDE_PLUGIN_ROOT/scripts/render.mjs" myproject --hash 0x…
Thay 0x… bằng mã băm token bạn muốn kiểm tra. Lệnh này hỗ trợ một vòng lặp chỉnh sửa trực quan nhanh:
- Yêu cầu Claude chỉnh sửa sketch.
- Render một hash cố định.
- Kiểm tra tệp PNG được tạo.
- Mô tả những gì cần thay đổi.
- Render lại cùng hash và so sánh kết quả.
Giữ hash cố định giúp phân biệt các thay đổi có chủ đích trong mã với biến thiên do thử nghiệm các seed khác nhau.
Đánh giá toàn bộ edition
Tạo contact sheet
Một seed duy nhất không thể cho biết dự án có đủ sự đa dạng hay các cấu trúc không mong muốn có lặp lại hay không. Hãy render một lưới gồm 50 đầu ra:
node "$CLAUDE_PLUGIN_ROOT/scripts/render.mjs" myproject --grid 50
Sử dụng contact sheet để kiểm tra phạm vi hình ảnh, sự lặp lại, độ cân bằng bố cục, các ngoại lệ hiếm và liệu bộ sưu tập có vẫn giữ được tính nhất quán hay không.
Đo độ hiếm của đặc tính
Chạy census để xem các quy tắc độ hiếm đã triển khai thực sự tạo ra điều gì trên một mẫu lớn hơn:
node "$CLAUDE_PLUGIN_ROOT/scripts/render.mjs" myproject --census 5000
Lệnh này kiểm tra 5.000 đầu ra và cung cấp góc nhìn ở cấp edition về phân bố đặc tính. Hãy so sánh kết quả đo được với bảng độ hiếm dự kiến. Nếu có khác biệt, hãy điều tra mã thay vì mặc định cho rằng các tỷ lệ thiết kế đang được tuân thủ.
Xuất từng tệp PNG
Để render nhiều đầu ra thành các tệp riêng biệt, hãy sử dụng chế độ batch:
node "$CLAUDE_PLUGIN_ROOT/scripts/render.mjs" myproject --batch 50
Ví dụ này tạo một batch gồm 50 bản render PNG riêng lẻ để xem xét kỹ hơn hoặc sử dụng cho các bước tiếp theo.
Sử dụng an toàn các tài liệu tham khảo nền tảng
Plugin bao gồm hướng dẫn cho Art Blocks, 256ART, Verse, Highlight, Plottables, bootloader.art và việc phân phối tự lưu trữ. Các tài liệu này chủ ý tránh các số phiên bản dễ thay đổi, tên trường và số liệu sao chép.
Thay vào đó, chúng cung cấp một mô hình tư duy ổn định, các liên kết tài liệu chính thống và những câu hỏi Claude nên đặt ra đối với tài liệu hiện tại. Khi điều chỉnh một sketch cho một nền tảng, hãy yêu cầu Claude lấy tài liệu chính thức trước khi viết mã tích hợp.
Use the genart platform guidance for my target platform. Fetch its current canonical documentation before proposing integration code, and identify any assumptions that require confirmation.
Cách tiếp cận này làm giảm rủi ro triển khai một API đã lỗi thời hoặc dựa vào các chi tiết cấu hình đã thay đổi kể từ khi plugin được phát hành.
Mẹo nâng cao cho quy trình làm việc
Sử dụng các luồng con ngẫu nhiên có tên
Tách riêng tính ngẫu nhiên cho các hệ thống chính như bố cục, bảng màu, đặc tính và kết cấu. Điều này có thể giúp mã dễ phân tích hơn và giảm các thay đổi ngoài ý muốn đối với những quyết định hình ảnh không liên quan trong quá trình lặp.
Kiểm tra seed cố định sau mỗi thay đổi cấu trúc
Duy trì một tập nhỏ các hash tiêu biểu, bao gồm những tổ hợp đặc tính phổ biến và bất thường. Render các hash đó sau khi thay đổi cách sử dụng PRNG, logic đặc tính, kích thước hoặc công nghệ render. Sau đó bổ sung các kiểm tra này bằng một lưới và một census lớn hơn.
Đừng nhầm lẫn khả năng tái tạo với bằng chứng trên nhiều máy
Trình biên dịch shader WebGL, độ chính xác dấu phẩy động, bộ rasterizer và khử răng cưa đa mẫu có thể khác nhau giữa các GPU. Các hàm siêu việt của JavaScript cũng có thể khác nhau giữa các engine. Vì vậy, plugin không tuyên bố rằng các công cụ của mình chứng minh được tính xác định trên nhiều máy.
Hãy diễn đạt chính xác khi mô tả kết quả kiểm tra. Một bài kiểm tra thành công chỉ chứng minh những gì đã được kiểm tra, chẳng hạn khả năng lặp lại trong môi trường hiện tại hoặc các đặc tính ổn định trên những hash được lấy mẫu.
Xác định sớm yêu cầu xuất
Nếu tác phẩm cuối cần bản in độ phân giải cao, video, SVG hoặc đầu ra cho máy vẽ bút, hãy thảo luận yêu cầu đó trước khi cố định kiến trúc sketch. Plugin bao gồm hướng dẫn cho xuất PNG và video, render độc lập với độ phân giải, quy trình SVG và máy vẽ bút.
Để nghệ sĩ chịu trách nhiệm về quyền tác giả
Sử dụng Claude để giải thích kỹ thuật, review mã, chạy công cụ và tăng tốc quá trình lặp. Quyền kiểm soát định hướng sáng tạo, lựa chọn, kiểm tra tính nguyên bản, ghi công, quyết định cấp phép và công bố thông tin vẫn thuộc về nghệ sĩ.
Quy trình làm việc đầu cuối được khuyến nghị
- Cài đặt genart trong Claude Code.
- Mở dự án generative art và giải thích ý tưởng hình ảnh, công nghệ render तथा đầu ra mục tiêu.
- Yêu cầu Claude thiết kế tính ngẫu nhiên được seed bằng hash và các đặc tính ổn định.
- Làm cho bố cục độc lập với độ phân giải đầu ra.
- Cài đặt Playwright và Chromium trong dự án.
- Làm theo hợp đồng sketch được mô tả trong
references/verification.md. - Chạy
check.mjsđể xác định các vấn đề về khả năng tái tạo có thể phát hiện. - Render các hash cố định và lặp lại việc chỉnh sửa hình ảnh.
- Tạo contact sheet để xem xét sự đa dạng hình ảnh.
- Chạy census lớn và so sánh độ hiếm đo được với bảng đặc tính dự kiến.
- Lấy tài liệu chính thức hiện tại của nền tảng trước khi triển khai mã dành riêng cho nền tảng.
- Chuẩn bị các bản xuất PNG, video, bản in, SVG hoặc máy vẽ cần thiết và ghi lại các giới hạn trong tuyên bố về tính xác định.
Kết luận
genart biến Claude Code thành một trợ lý chuyên biệt cho việc phát triển nghệ thuật tạo sinh mang tính xác định. Các tài liệu tham khảo của công cụ giúp định hình cấu trúc bản phác thảo, trong khi những công cụ có thể chạy được hỗ trợ kết xuất với seed cố định, đánh giá các phiên bản, đo lường độ hiếm và kiểm tra khả năng tái lập. Khi được sử dụng cẩn trọng, công cụ có thể cải thiện độ tin cậy kỹ thuật của dự án mà không thay thế vai trò tác giả nghệ thuật hoặc phóng đại những gì quy trình xác minh tự động có thể chứng minh.
Dự án được Camille Roux duy trì và phát hành theo giấy phép MIT.
