OpenAI Codex একটি সম্পূর্ণ ১৬-বিট x86 Assembly Asteroids-শৈলীর DOS গেম তৈরি করেছে, যেখানে ১৮টি সোর্স ফাইল এবং প্রায় ২,৫০০ লাইনের কোড রয়েছে, যার মধ্যে মানুষের লেখা একটি লাইনও Assembly কোড নেই। এই পরীক্ষাটি দেখায় যে একটি AI সরাসরি প্রোগ্রামারের হস্তক্ষেপ ছাড়াই পরিকল্পনা থেকে ডিবাগিং পর্যন্ত একটি সম্পূর্ণ সফটওয়্যার লাইফসাইকেল পরিচালনা করতে পারে, যা সাধারণ “কোড-কমপ্লিশন” ডেমোর চেয়ে এক ধাপ এগিয়ে।

কেন এই পরীক্ষাটি গুরুত্বপূর্ণ ছিল

বেশিরভাগ প্রকাশ্য AI-কোডিং প্রদর্শনী খুব ছোট কোড বা সাধারণ ইউটিলিটির মধ্যেই সীমাবদ্ধ থাকে। এর সর্বোচ্চ সীমা পরীক্ষা করার জন্য, এই পরীক্ষায় Codex-কে সবচেয়ে সীমাবদ্ধ পরিবেশে কাজ করতে বাধ্য করা হয়েছিল: কোনো গেম ইঞ্জিন, গ্রাফিক্স লাইব্রেরি বা হাই-লেভেল ল্যাঙ্গুয়েজের সুবিধা ছাড়াই DOS-এ ১৬-বিট x86 Assembly। লক্ষ্য ছিল দেখা যে একটি AI কেবল কোড তৈরিই করতে পারে কি না, নাকি এর পাশাপাশি আশেপাশের ইঞ্জিনিয়ারিং কাজগুলোও পরিচালনা করতে পারে।

যেভাবে ভূমিকাগুলো ভাগ করা হয়েছিল

মানুষের দায়িত্ব ছিল মাত্র তিনটি কাজের মধ্যে সীমাবদ্ধ:

  • সামগ্রিক প্রকল্পের লক্ষ্য নির্ধারণ করা (একটি Asteroids-শৈলীর শ্যুটার গেম)।
  • গেমপ্লে সংক্রান্ত যেকোনো প্রশ্নের উত্তর দেওয়া।
  • প্রতিটি বিল্ড প্লে-টেস্ট করা এবং দেখা বাগগুলো রিপোর্ট করা।

Codex-এর দায়িত্ব ছিল বাকি সবকিছু:

  • একটি প্রজেক্ট প্ল্যান এবং আর্কিটেকচার তৈরি করা।
  • Assembly সোর্স ফাইলগুলো লেখা।
  • কোড ডিবাগ, রিফ্যাক্টর এবং পুনর্গঠন করা।
  • কমিট এবং ব্রাঞ্চ ম্যানেজমেন্টসহ Git রিপোজিটরি রক্ষণাবেক্ষণ করা।
  • বাইনারি তৈরি করা এবং একটি DOS এমুলেটরে এটি চালানো।

মানুষ কখনোই একটি মাত্র Assembly ইন্সট্রাকশন টাইপ করেনি, কখনো কম্পাইলার কল করেনি এবং ডেভেলপমেন্ট চলাকালীন কখনো গেমটি চালু করেনি। মানুষের কাজ ছিল কেবল বাগের লক্ষণগুলো বর্ণনা করা; AI নিজেই মূল কারণ খুঁজে বের করে তা সমাধান করেছে।

পুনরাবৃত্তিমূলক কাজের ধারা (Iterative workflow)

প্রতিটি চক্র Codex-এর একটি মাইলস্টোন প্রস্তাবের মাধ্যমে শুরু হতো (যেমন, “প্লেয়ার শিপ মুভমেন্ট ইমপ্লিমেন্ট করা”)। এরপর এটি সংশ্লিষ্ট সোর্স ফাইলগুলো তৈরি করত, সেগুলো কমিট করত, এক্সিকিউটেবল ফাইল তৈরি করত এবং টেস্টারকে চালানোর উপযোগী বিল্ডটি হস্তান্তর করত। Codex বাগের লক্ষণগুলো বিশ্লেষণ করত, কোডবেসের মাধ্যমে তা শনাক্ত করত এবং মানুষের কোনো নির্দেশ ছাড়াই একটি প্যাচ (patch) ইস্যু করত।

চূড়ান্ত পণ্যে যা যা রয়েছে

  • ১৮টি Assembly সোর্স ফাইল, যা একটি প্রচলিত রিপোজিটরি কাঠামোতে সাজানো।
  • ≈২,৫০০ লাইন Assembly কোড, যা ইনপুট হ্যান্ডলিং, স্প্রাইট ড্রয়িং, কলিশন ডিটেকশন এবং একটি হাই-স্কোর সিস্টেম কভার করে।
  • একটি চালানোযোগ্য DOS এক্সিকিউটেবল যা একটি স্ট্যান্ডার্ড DOS পরিবেশে চলে এবং ক্লাসিক Asteroids গেমপ্লে অনুকরণ করে।
  • মানুষের লেখা শূন্য Assembly কোড, যা নিশ্চিত করে যে AI সমস্ত লো-লেভেল প্রোগ্রামিং কাজ সম্পন্ন করেছে।

গুরুত্ব এবং প্রভাব

যদি একটি AI ধারণা থেকে শুরু করে একটি কার্যকরী বাইনারি পর্যন্ত একটি প্রকল্প স্বায়ত্তশাসিতভাবে পরিচালনা করতে পারে, তবে কোডবেসের প্রধান পরিচালক হিসেবে প্রোগ্রামারের ঐতিহ্যগত ভূমিকা পরিবর্তিত হয়ে যাবে। কোম্পানিগুলো বয়লারপ্লেট সেটআপ, ডকুমেন্টেশন এবং রুটিন ডিবাগিংয়ে ব্যয় করা সময় কমাতে পারবে, যা ইঞ্জিনিয়ারদের ডিজাইন এবং প্রোডাক্ট স্ট্র্যাটেজিতে মনোনিবেশ করার সুযোগ করে দেবে।

এই পরীক্ষাটি সীমাবদ্ধতাগুলোকেও তুলে ধরে। পরীক্ষার পরিবেশটি ইচ্ছাকৃতভাবে সংকীর্ণ ছিল: একটি একক-প্লেয়ার DOS গেম যার মেকানিক্স খুব ভালোভাবে পরিচিত। বাহ্যিক ডিপেন্ডেন্সি, নিরাপত্তা সীমাবদ্ধতা বা পারফরম্যান্স-ক্রিটিক্যাল কোড পাথ সহ বড়, মাল্টি-মডিউল সিস্টেমের ক্ষেত্রে এই পদ্ধতিটি কতটা কার্যকর হবে তা এখনও প্রমাণিত নয়। তদুপরি, মানব টেস্টার এখনও চূড়ান্ত কোয়ালিটি গেট হিসেবে কাজ করেছেন; সেই তদারকি না থাকলে একটি শনাক্ত না হওয়া লজিক এরর (logic error) থেকে যেতে পারত।

পাল্টা যুক্তি এবং অমীমাংসিত প্রশ্নসমূহ

  • নির্ভরযোগ্যতা (Reliability): Assembly প্রোগ্রামিং অত্যন্ত জটিল এবং ভুল করার সুযোগ নেই; একটি মাত্র off-by-one error পুরো প্রোগ্রামটি ক্র্যাশ করাতে পারে। Codex তার দেখা বাগগুলো ঠিক করেছে, কিন্তু এটি সূক্ষ্ম টাইমিং সমস্যাগুলো মিস করতে পারে যা কেবল স্ট্রেস টেস্টিংয়ের সময় দেখা দেয়।
  • রক্ষণাবেক্ষণযোগ্যতা (Maintainability): মানুষের দেওয়া স্টাইল গাইডলাইন ছাড়া তৈরি করা কোড ভবিষ্যতে ডেভেলপারদের জন্য পড়া বা বর্ধিত করা কঠিন হতে পারে, বিশেষ করে যদি AI-এর নামকরণের রীতি (naming conventions) টিমের স্ট্যান্ডার্ড থেকে আলাদা হয়।
  • মেধা সম্পদ (Intellectual property): যখন একটি AI কোড লেখে, তখন সেই কোডের মালিক কে? বর্তমান লাইসেন্সিং কাঠামো মানুষের লেখকত্ব ধরে নেয়, যা AI-উৎপাদিত কাজের ক্ষেত্রে একটি ধূসর এলাকা তৈরি করে।

পরবর্তীতে যা লক্ষ্য রাখতে হবে

  • বিস্তৃত বেঞ্চমার্ক: নেটওয়ার্কড অ্যাপ্লিকেশন, মোবাইল অ্যাপ বা আধুনিক C/C++ প্রজেক্টে একই স্বায়ত্তশাসিত ওয়ার্কফ্লো প্রয়োগ করা হলে বোঝা যাবে এই পদ্ধতিটি রেট্রো-স্টাইল গেমের বাইরেও স্কেল করা সম্ভব কি না।
  • টুল ইন্টিগ্রেশন: Codex-কে CI/CD পাইপলাইনে অন্তর্ভুক্ত করলে কেবল কোড জেনারেশনই নয়, বরং টেস্টিং, সিকিউরিটি স্ক্যানিং এবং ডেপ্লয়মেন্টকেও স্বয়ংক্রিয় করা সম্ভব হতে পারে।
  • নীতিমালা বিবর্তন: AI-জেনারেটেড কোড যত বাড়বে, মালিকানা, দায়বদ্ধতা এবং কমপ্লায়েন্স সংক্রান্ত আইনি ও কর্পোরেট নীতিমালার প্রয়োজন হবে।

সারকথাটি স্পষ্ট: AI এখন সুনির্দিষ্ট এবং সীমাবদ্ধ প্রকল্পের জন্য একজন একক সফটওয়্যার ইঞ্জিনিয়ার হিসেবে কাজ করতে পারে, যা মানুষের হাতে কোড না লিখেই কার্যকরী, low-level কোড প্রদান করতে সক্ষম। এই সক্ষমতা মূলধারার ডেভেলপমেন্টকে নতুন রূপ দেবে কি না, তা নির্ভর করছে ইকোসিস্টেম কত দ্রুত নির্ভরযোগ্যতা, রক্ষণাবেক্ষণযোগ্যতা এবং আইনি উদ্বেগগুলো সমাধান করতে পারে তার ওপর।