মূল কনটেন্টে যান
এআই টিউটোরিয়াল

Claude Code দিয়ে ডিটারমিনিস্টিক জেনারেটিভ আর্ট তৈরি ও যাচাই করুন

genart Claude Code প্লাগইন কীভাবে ইনস্টল করতে হয়, ডিটারমিনিস্টিক ক্রিয়েটিভ-কোডিং স্কেচ তৈরি করতে হয়, পৃথক সিড ও কনট্যাক্ট শিট রেন্ডার করতে হয়, বৈশিষ্ট্যের বিরলতা পরিমাপ করতে হয় এবং পুনরুৎপাদনযোগ্যতা যাচাই করতে হয়, তা শিখুন। টিউটোরিয়ালটিতে প্লাগইনের রেজোলিউশন, প্ল্যাটফর্ম, নৈতিকতা, এক্সপোর্ট ও যাচাইকরণ-সংক্রান্ত নির্দেশনাও ব্যাখ্যা করা হয়েছে।

Claude Code দিয়ে ডিটারমিনিস্টিক জেনারেটিভ আর্ট তৈরি ও যাচাই

genart কী?

genart হলো একটি Claude Code প্লাগইন, যা দীর্ঘ-ফর্মের জেনারেটিভ আর্টের জন্য Claude-কে বিশেষায়িত কাজের জ্ঞান দেয়। এটি শিল্পীদের এমন ডিটারমিনিস্টিক, হ্যাশ-সিডেড স্কেচ তৈরি করতে সহায়তা করে, যা 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 একই পিক্সেল তৈরি করবে, তা প্রমাণ করতে পারে না।

একটি সিড রেন্ডার ও পরিদর্শন করুন

একটি নির্ধারিত PNG আউটপুট রেন্ডার করতে --hash সহ render.mjs ব্যবহার করুন:

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

এই উদাহরণটি আরও নিবিড় পর্যালোচনা বা পরবর্তী ব্যবহারের জন্য 50টি আলাদা PNG রেন্ডারের একটি ব্যাচ তৈরি করে।

প্ল্যাটফর্ম রেফারেন্স শিট নিরাপদে ব্যবহার করুন

প্লাগইনে Art Blocks, 256ART, Verse, Highlight, Plottables, bootloader.art এবং স্ব-হোস্টেড বিতরণের জন্য নির্দেশনা রয়েছে। এই শিটগুলোতে ইচ্ছাকৃতভাবে পরিবর্তনশীল সংস্করণ নম্বর, ফিল্ডের নাম এবং অনুলিপি করা পরিসংখ্যান এড়ানো হয়েছে।

এর পরিবর্তে, এগুলো একটি স্থিতিশীল মানসিক মডেল, প্রামাণিক ডকুমেন্টেশনের লিংক এবং বর্তমান ডকুমেন্টেশন থেকে Claude-এর জিজ্ঞাসা করা উচিত এমন প্রশ্ন সরবরাহ করে। কোনো প্ল্যাটফর্মের জন্য স্কেচ মানিয়ে নেওয়ার সময়, ইন্টিগ্রেশন কোড লেখার আগে Claude-কে অফিসিয়াল ডকুমেন্টেশন সংগ্রহ করতে বলুন।

আমার লক্ষ্য প্ল্যাটফর্মের জন্য genart প্ল্যাটফর্ম নির্দেশনা ব্যবহার করুন। ইন্টিগ্রেশন কোড প্রস্তাব করার আগে এর বর্তমান প্রামাণিক ডকুমেন্টেশন সংগ্রহ করুন এবং নিশ্চিত করা প্রয়োজন এমন অনুমানগুলো চিহ্নিত করুন।

এই পদ্ধতি পুরোনো API বাস্তবায়ন বা প্লাগইন প্রকাশের পর পরিবর্তিত কনফিগারেশন-সংক্রান্ত তথ্যের ওপর নির্ভর করার ঝুঁকি কমায়।

উন্নত ওয়ার্কফ্লো টিপস

নামযুক্ত র‍্যান্ডম সাব-স্ট্রিম ব্যবহার করুন

কম্পোজিশন, প্যালেট, ফিচার এবং টেক্সচারের মতো প্রধান সিস্টেমগুলোর জন্য র‍্যান্ডমনেস আলাদা রাখুন। এতে কোড বোঝা সহজ হতে পারে এবং পুনরাবৃত্ত কাজের সময় সম্পর্কহীন ভিজ্যুয়াল সিদ্ধান্তে অনিচ্ছাকৃত পরিবর্তন কমে।

প্রতিটি কাঠামোগত পরিবর্তনের পর নির্দিষ্ট সিড পরীক্ষা করুন

সাধারণ এবং অস্বাভাবিক ট্রেইট-সমন্বয়সহ প্রতিনিধিত্বশীল কিছু হ্যাশের একটি ছোট সেট সংরক্ষণ করুন। PRNG ব্যবহার, ফিচার লজিক, মাত্রা বা রেন্ডারিং প্রযুক্তি পরিবর্তনের পর ওই হ্যাশগুলো রেন্ডার করুন। এরপর একটি গ্রিড এবং বৃহত্তর সেন্সাস দিয়ে এসব যাচাই সম্পূরক করুন।

পুনরুৎপাদনযোগ্যতাকে বিভিন্ন মেশিনে প্রমাণ হিসেবে ভুল করবেন না

বিভিন্ন GPU-তে WebGL শেডার কম্পাইলার, ফ্লোটিং-পয়েন্ট নির্ভুলতা, রাস্টারাইজার এবং মাল্টিস্যাম্পল অ্যান্টি-অ্যালিয়াসিং ভিন্ন হতে পারে। জাভাস্ক্রিপ্টের ট্রান্সসেন্ডেন্টাল ফাংশনও ইঞ্জিনভেদে ভিন্ন হতে পারে। তাই প্লাগইনটির সরঞ্জামগুলো বিভিন্ন মেশিনে ডিটারমিনিজম প্রমাণ করে বলে দাবি করে না।

যাচাইয়ের ফলাফল বর্ণনা করার সময় নির্ভুল থাকুন। একটি সফল পরীক্ষা কেবল পরীক্ষিত বিষয়টিই প্রদর্শন করে, যেমন বর্তমান পরিবেশে পুনরাবৃত্তিযোগ্যতা বা নমুনাভুক্ত হ্যাশগুলোর মধ্যে স্থিতিশীল ট্রেইট।

শুরুতেই এক্সপোর্টের প্রয়োজনীয়তা নির্ধারণ করুন

চূড়ান্ত কাজে উচ্চ-রেজোলিউশনের প্রিন্ট, ভিডিও, 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 লাইসেন্সের অধীনে প্রকাশিত হয়েছে।