কয়েক মাস আগে কিছু পরিষ্কার চ্যাটজিপিটি ফিট কভার করা সত্ত্বেও, আমি কপিলট, গিথুবের এআই কোডিং সমর্থন সরঞ্জামটি চেষ্টা করার জন্য পরবর্তী যৌক্তিক পদক্ষেপ গ্রহণ করিনি। যাইহোক, আমার আগ্রহ গত সপ্তাহে ছড়িয়ে পড়ে, কারণ আমার একজন সহকর্মী একটি এআই-জেনারেটেড টেস্ট স্যুটের একটি স্ক্রিনশট শেয়ার করেছেন।
প্রম্পটটি যুক্তিসঙ্গতভাবে সহজ ছিল, এবং উত্পন্ন পরীক্ষার কেসগুলি প্রাসঙ্গিক ছিল; আমাকে GC ফ্রি ট্রায়ালে সাবস্ক্রাইব করতে এবং সিঙ্গুলারিটি ইভেন্টের আবির্ভাবেতে অবদান রাখার জন্য যথেষ্ট।
কপিলট কী করতে পারে বা কী করতে পারে না তা আমি বিস্তারিতভাবে কভার করব: অন্যরা ইতিমধ্যেই আমাকে একটি দীর্ঘ শট দ্বারা অনুমান করেছে। আমার কাছে আকর্ষণীয় অংশ হল কিভাবে আমি এই নতুন প্রযুক্তির সাথে মানিয়ে নিতে পারি।
এই পোস্টে, আমি আজ "কোডিংয়ের জন্য এআই" কী করতে পারে তা অনুমান করার জন্য একটি মানদণ্ড হিসাবে গিথুব কপিলট ব্যবহার করব, কারণ আমি মনে করি এটি ক্ষেত্রের অত্যাধুনিক প্রতিনিধিত্ব করে।
সফ্টওয়্যার ডোমেনে এআই সম্পর্কে চিন্তা করার সময় অনেক স্বতঃস্ফূর্ত প্রশ্ন মনে আসে।
এটা দরকারী? এটা কি বিপদজনক? এটা কি আমাদের কাজ নেবে? সবচেয়ে গুরুত্বপূর্ণ বিষয় হল একটি সীমিত মানসিকতার সাথে নিজেদেরকে কোণঠাসা করে না রাখা এবং আমাদের আবেগকে এআই-এর চারপাশে কিছু অদ্ভুত আখ্যান তৈরি করতে দেওয়া - হয় নিওলুডিস্ট বা ইউটোপিয়ান টেকনো-উৎসাহী হিসাবে।
পরিবর্তে, আমি অন্যান্য ধরণের প্রশ্নগুলিকে আরও আকর্ষণীয় এবং উত্তর দেওয়া সহজ বলে মনে করি: এই প্রশ্নগুলি "হ্যাঁ" বা "না" উত্তর বোঝায় না, তবে সাধারণত "কি", "কখন", এবং "কোথায়" দিয়ে শুরু হয়।
উদাহরণস্বরূপ, আমি কীভাবে আমার প্রতিদিনের কাজের সাথে কপাইলটকে একীভূত করতে পারি? এটি কোন কাজগুলিকে সহজতর করে এবং এটি কোন ব্যক্তিগত দক্ষতার দাবি করে?
আমাদের কাজে AI এর মান বেশিরভাগ সফটওয়্যার ইঞ্জিনিয়ারদের কাছে স্পষ্ট। তবুও, আমি বুঝি যে জীবনের অন্যান্য স্তরের লোকেরা সম্ভাব্যতাগুলি কী তা ভুলভাবে বুঝতে পারে, বিশেষ করে অনেক বিষয়বস্তু নির্মাতা বা সাংবাদিক বিপর্যয়কর পরিস্থিতির পরামর্শ দিয়ে চোখ আকৃষ্ট করতে পছন্দ করেন (বা প্রতিশ্রুতি দিয়ে যে বিল্ডিং সফ্টওয়্যার এখন যে কারও কাছে অ্যাক্সেসযোগ্য)।
হ্যাঁ, এটা সত্য যে GPT-3 - এবং সম্প্রতি GPT-4-এর উপর ভিত্তি করে টুলগুলি কোড লিখতে পারে, এবং হ্যাঁ, তৈরি করা কোডটি প্রায়শই কম্পাইল করবে এবং এটি থেকে যা আশা করা হয় তা করবে৷
যাইহোক, এটি অগত্যা আমার কাজের নিরাপত্তার জন্য একটি তাৎক্ষণিক হুমকির প্রতিনিধিত্ব করে না, যেহেতু কোড লেখার কাজটি সফ্টওয়্যার ইঞ্জিনিয়াররা করে না। আমাকে আরও ভাল বিশদ করা যাক.
আমাদের কাজ টেক্সট এডিটরে কোড টাইপ করা নয়। আমরা স্টেনোগ্রাফার নই। কাজটি কী কোড করতে হবে তা নির্ধারণ করা। আসলে, যখনই আমি সফ্টওয়্যার ডিজাইন করছি এবং অবশেষে আমার IDE তে কিছু টাইপ করা শুরু করি, আমি ইতিমধ্যেই আমার মনে ধরে রাখি যে কোডের পরবর্তী স্নিপেটটি কেমন হবে।
এই মুহুর্তে, AI শুধুমাত্র বিন্দুগুলিকে সংযুক্ত করছে, তাত্ক্ষণিকভাবে আমার ইচ্ছাকৃত পদ্ধতি বা ডেটা স্ট্রাকচার তৈরি করছে, অনিচ্ছাকৃত টাইপো বা অন্যান্য স্পষ্ট ভুলগুলি বিয়োগ করছে।
এমনকি যদি AI কিছু কোড বেসের 80% এরও বেশি অবদান রাখতে পারে, উপযুক্ত প্রম্পট দেওয়া (প্রাথমিক 20%) অপরিহার্য , কারণ এটি প্রচুর তথ্য বহন করে যা GC সঠিকভাবে পরিচালনা করতে হবে। এবং আপনি কীবোর্ডের পিছনে একজন প্রকৌশলী ছাড়া সেই প্রাথমিক প্রম্পট পাবেন না।
আমি বিশ্বাস করি যে বিমানের অটোপাইলটের সাথে একটি ভাল তুলনা করা যেতে পারে। AFCS (অটো-ফ্লাইট কন্ট্রোল সিস্টেম) বিভিন্ন ধরনের ফ্লাইট অপারেশন সম্পূর্ণভাবে সম্পাদন করতে পারে: ফ্লাইটের পথ সামঞ্জস্য করা, বিমানবন্দরের কাছে যাওয়া বা এমনকি অবতরণ করা।
আমি এখনও কোনো মানুষের তত্ত্বাবধান ছাড়া একটি বাণিজ্যিক ফ্লাইটে লাফানোর স্বপ্ন দেখব না।
কম্পিউটার প্লেন নিয়ন্ত্রণ করতে সক্ষম হওয়ার অর্থ এই নয় যে পাইলটরা ফ্লাইট ডেকে অলস বসে থাকেন।
এখনও অনেক কিছু করার আছে: সামনের আবহাওয়া পরীক্ষা করা, এয়ার ট্রাফিক কন্ট্রোলের সাথে যোগাযোগ করা, বিকল্প রুটের পরিকল্পনা করা এবং, সবচেয়ে গুরুত্বপূর্ণভাবে, অটোপাইলটকে তত্ত্বাবধান করা এবং প্রয়োজনে লাগাম নেওয়া।
অতএব, আমরা দেখতে পাচ্ছি কিভাবে পাইলটরা এখনও বিমানটি উড়ছে।
একই ছদ্মবেশে, এআই সফ্টওয়্যার বিকাশ করে না, ইঞ্জিনিয়াররা করে । এআই একটি টুল। ইঞ্জিনিয়ারদের অটোমেশন ব্যবহার করে তাদের কর্মপ্রবাহকে স্ট্রীমলাইন করার জন্য প্রশিক্ষিত করা হয়, কিন্তু তারা সবসময় তাদের টুল কি করছে তা নিরীক্ষণ করবে। যদি এটি উদ্দেশ্য অনুযায়ী আচরণ না করে, তবে ইঞ্জিনিয়াররা ঝাঁপিয়ে পড়বে এবং পরিস্থিতির প্রতিকার করবে।
কপিলট ব্যবহার করার সময় এই মানসিকতাটি আমার রয়েছে: আমি আনন্দের সাথে এটিকে ছোটখাটো কাজগুলি অর্পণ করব তবে এর মধ্যে, এটি কী আউটপুট তৈরি করবে সে সম্পর্কে আমি সতর্ক থাকব।
আপনি হয়তো জানেন, Copilot-এর অন্তর্নিহিত ML অ্যালগরিদমকে GPT-3 বলা হয় এবং টোকেন তৈরির সম্ভাব্য ক্রম সম্পর্কে ভবিষ্যদ্বাণী করে। উত্পন্ন কোড সাধারণত সিনট্যাক্টিক্যালি সঠিক হলেও, টুলগুলির স্পেসগুলি কী এবং উত্পাদিত কোডটি বৈধ কিনা সে সম্পর্কে কোনও জ্ঞান নেই৷
একটি সম্ভাব্য পাল্টা ব্যবস্থা কিছু প্রম্পট ইঞ্জিনিয়ারিং দিয়ে জিসিকে সাহায্য করছে: উদাহরণস্বরূপ, পরবর্তী স্নিপেটটি কী করে তা জানিয়ে একটি মন্তব্য লেখা AI কে সাহায্য করার একটি শক্তিশালী কৌশল।
আরও ভাল, কখনও কখনও এমনকি প্রথম কয়েকটি শব্দ টাইপ করার পরেও মন্তব্যটি স্বয়ংক্রিয়ভাবে তৈরি হতে পারে।
যাইহোক, এটা অবশ্যই বলা উচিত যে, এমনকি সবচেয়ে আদর্শ অবস্থার মধ্যেও, Copilot সর্বদা একটি সহায়ক পরামর্শ দেয় না, বা যদি এটি হয় তবে কোনো পরামর্শ দেয় না। যদিও GC বেশ আশ্চর্যজনক, আমি বিশ্বাস করি এটি এখনও একটি কোডিং টুল হিসাবে অত্যন্ত অসম্পূর্ণ।
আপাতত, আমি আমার টুলসেটে কপিলটকে সম্পূর্ণরূপে অন্তর্ভুক্ত করব কিনা তা ঠিক করিনি: এর পরামর্শগুলির হিট-অর-মিস প্রকৃতি কখনও কখনও বাধা হতে পারে।
যাই হোক না কেন, আমি প্রত্যেককে তাদের পা ভিজানোর পরামর্শ দেব, এবং অন্তত একবার চেষ্টা করে দেখুন: এটিকে আপনার সিনট্যাক্স হাইলাইটার বা আপনার প্রিয় IDE এর স্বয়ংসম্পূর্ণ বৈশিষ্ট্যের মতো একটি ইউটিলিটি টুল হিসাবে ভাবুন।
Github Copilot সম্পর্কে আপনার মতামত কি? আপনি কি এটিকে আপনার দৈনন্দিন কাজের মধ্যে অন্তর্ভুক্ত করেছেন নাকি এটি আপনার জন্য একটি কঠিন পাস ছিল? লজ্জিত হবেন না, এবং মন্তব্যে আমাকে জানান!
এছাড়াও এখানে প্রকাশিত