paint-brush
কোডজেন ডেভ টুলে (GPT পাইলট) 6 মাস কাজ করার পর, আমি এটাই শিখেছিদ্বারা@zvone187
2,387 পড়া
2,387 পড়া

কোডজেন ডেভ টুলে (GPT পাইলট) 6 মাস কাজ করার পর, আমি এটাই শিখেছি

দ্বারা Zvonimir13m2024/02/29
Read on Terminal Reader

অতিদীর্ঘ; পড়তে

সবচেয়ে শক্তিশালী কোডজেন ডেভ টুল GPT পাইলটে কাজ করার 6 মাসে আমি যে জিনিসগুলি শিখেছি তা এখানে রয়েছে: 1. প্রাথমিক অ্যাপের বিবরণ আমরা যতটা ভেবেছিলাম তার চেয়ে অনেক বেশি গুরুত্বপূর্ণ 2. কোডিং একটি সরল রেখা নয়, এজেন্টরা নিজেদের পর্যালোচনা করতে পারে 3. এলএলএম সবচেয়ে ভালো কাজ করে যখন তারা একক প্রম্পটে একাধিক সমস্যার তুলনায় একটি সমস্যায় ফোকাস করে 4. ভার্বোস লগ অলৌকিক কাজ করে 5. কোডবেসকে ছোট ফাইলে বিভক্ত করা অনেক সাহায্য করে 6. একজন মানুষের কোড ঠিক করতে সক্ষম হওয়ার জন্য 7. তাদের অবশ্যই স্পষ্টভাবে দেখাতে হবে যে কি লেখা হয়েছে এবং এর পিছনের ধারণা 8. মানুষ অলস হয় 9. এলএলএম বাক্সের বাইরে চিন্তা করা কঠিন
featured image - কোডজেন ডেভ টুলে (GPT পাইলট) 6 মাস কাজ করার পর, আমি এটাই শিখেছি
Zvonimir HackerNoon profile picture
0-item

গত 6 মাস ধরে, আমি জিপিটি পাইলট ( https://github.com/Pythagora-io/gpt-pilot ) এ কাজ করছি যাতে বোঝা যায় আমরা AI এর সাথে কতটা স্বয়ংক্রিয় কোডিং করতে পারি, তাই আমি আমাদের শিক্ষাগুলি ভাগ করতে চেয়েছিলাম এতদূর এবং এটি কতদূর যেতে সক্ষম।


যখন আমি GPT পাইলট তৈরি করা শুরু করি, তখন আমি এই ব্লগ পোস্টটি লিখেছিলাম কিভাবে এটি কল্পনা করা হয়। এখন, আমি আমার সংশোধিত চিন্তাভাবনা ভাগ করে নিতে চাই এবং কী কাজ করেছে এবং কী কাজ করেনি তা দেখতে চাই।


অবশেষে, আপনি GPT পাইলট দিয়ে তৈরি করা অ্যাপের উদাহরণ দেখতে পাবেন এবং কীভাবে আপনি একটি বাস্তব AI পেয়ার প্রোগ্রামার দিয়ে একটি অ্যাপ তৈরি করতে পারেন।

জিপিটি পাইলটের পেছনের ধারণা কী?

GPT পাইলটকে ar eal AI ডেভেলপার হিসাবে কল্পনা করা হয়েছে - একটি স্বয়ংসম্পূর্ণ বা একটি চ্যাটবট নয় । বরং, এটি একজন বিকাশকারী যিনি আপনার অ্যাপ বা বৈশিষ্ট্য কীভাবে তৈরি করা উচিত তার জন্য একটি পরিকল্পনা তৈরি করেন এবং কোডিং শুরু করেন। এটি বেশিরভাগ কোডিং নিজেই করতে চায়, কিন্তু যখন এটি আটকে যায়, প্রদত্ত প্রয়োজনীয়তাগুলি সম্পর্কে স্পষ্টীকরণের প্রয়োজন হয়, বা একটি কোড পর্যালোচনার প্রয়োজন হয়, এটি আপনাকে সাহায্যের জন্য জিজ্ঞাসা করে।

এআই কি জুনিয়র ডেভেলপারের মতো? অথবা…

আমি প্রায়ই CodeGen GPT-4-ভিত্তিক সরঞ্জামগুলি দেখি যা বলে যে তারা একটি AI জুনিয়র বিকাশকারী তৈরি করছে।


কোন না কোনভাবে, আমি সবসময় এটির সাথে একটি সমস্যায় পড়েছি কারণ যখন আমি কোডিংয়ের জন্য ChatGPT ব্যবহার করি, তখন এটি আমাকে উত্তর এবং ধারণা দেয় যা শুধুমাত্র একজন সুপার-সিনিয়র ব্যক্তিই দিতে পারে – এমন কিছু যা একেবারে কোনো জুনিয়র ডেভও বুঝতে সক্ষম হবে না। এখনও, কোনও এলএলএম কোনও সিনিয়র ডেভেলপারের মতো প্রায় কোনও অ্যাপ তৈরি করতে পারে না, তবে কোডিং সম্পর্কে GPT-4-এর যে জ্ঞান রয়েছে তা কোনও জুনিয়র বিকাশকারীর চেয়েও বেশি।


আমি বলব যে GPT-4 এর সফ্টওয়্যার বিকাশের প্রতিটি অংশ সম্পর্কে এত বেশি জ্ঞান রয়েছে যেমন এটি বিশ্বের সবচেয়ে সিনিয়র বিকাশকারী কিন্তু একটি গোল্ডফিশের স্মৃতি সহ। আমি এটিকে একটি অতিমানবীয় রোবট হিসাবে চিত্রিত করি যেটি কেবল একটি ঘরের মাঝখানে দাঁড়িয়ে থাকে এবং একবারে একটি মাত্র ছোট কাজ করতে পারে, তবে এটি অনেকগুলি ক্রিয়াকে একত্রিত করতে পারে না এবং পুনরাবৃত্তিমূলকভাবে কাজ করতে পারে না। আপনি এটা ঠিক কি এটা পরবর্তী করতে হবে বলতে হবে.


GPT পাইলটের সাথে আমরা এটিই করছি - আমরা LLM-এর জন্য চিন্তার একটি কাঠামো তৈরি করতে চাই যা সেই অতিমানবীয় রোবটটিকে তার আগের ক্রিয়াগুলি সংশোধন করে ক্রমাগত কাজ করতে দেয়, একটি প্রতিক্রিয়া লুপ থাকে এবং ক্রমানুসারে এটির পরবর্তী কী করা উচিত তা নির্ধারণ করে। শেষ লক্ষ্যটি শেষ করতে, যা একটি উত্পাদন-প্রস্তুত অ্যাপ্লিকেশন তৈরি করা।


আমি উপরে উল্লিখিত ব্লগ পোস্টে , আমি প্রধান স্তম্ভগুলির রূপরেখা দিয়েছি যার উপর GPT পাইলট নির্মিত হয়েছিল। কিন্তু আমাদের দলের শিক্ষার উপর ভিত্তি করে এগুলি কিছুটা পরিবর্তিত হয়েছে, তাই এখানে সংশোধিত স্তম্ভগুলি রয়েছে:


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


  2. অথবা, আপনি উপলব্ধি করেছেন যে আপনি প্রাথমিকভাবে প্রত্যাশিত তুলনায় অনেক বেশি এজ কেস আছে এবং মনে করেন যে প্রতিটি সমস্যা সমাধান করার চেয়ে আপনার বর্তমান বাস্তবায়নকে রিফ্যাক্ট করা সহজ। সমস্যা হল যখন আপনি সম্পূর্ণ অ্যাপটি শেষ করেন এবং তারপর এটিকে রিফ্যাক্টর করার চেষ্টা করেন - এটি তখনই যখন এটি অনেক কঠিন হয়ে যায় কারণ প্রতিটি পরিবর্তন অন্যান্য সমস্ত বৈশিষ্ট্যকে প্রভাবিত করবে।


    অন্যদিকে, আপনি যদি আপনার পরিবর্তনগুলি কমিট করার আগে রিফ্যাক্টরটি করেন তবে আপনি ভাল-লিখিত কোডের উপরে পরবর্তী বৈশিষ্ট্যগুলি নিয়ে এগিয়ে যেতে সক্ষম হবেন। এই কারণেই একজন এআই ডেভেলপারের জন্য যখনই একটি কাজ বাস্তবায়িত হয় তখন লুপে একজন মানুষ থাকা অত্যন্ত গুরুত্বপূর্ণ


    এইভাবে, জিপিটি পাইলট পরবর্তী কাজটি চালিয়ে যাওয়ার আগে মানুষ প্রতিটি টাস্কের বাস্তবায়ন পর্যালোচনা করতে পারে (পিআর মার্জ করার আগে একটি কোড পর্যালোচনার মতো)। যদি একজন মানুষ জিপিটি পাইলটকে কী ভুল বলে দেয়, তাহলে কাজের মধ্যেই সমস্যাগুলি সমাধান করা অনেক সহজ হবে৷ একই সাথে, এলএলএম-এর প্রেক্ষাপটে কাজটিতে কী করা দরকার এবং এখন পর্যন্ত কী করা হয়েছে।


  3. এআই তার নিজের ভুলের উপর পুনরাবৃত্তি করতে পারে। আমার একটা অনুভূতি আছে যে অনেক লোক ChatGPT-এর কোড লেখার ক্ষমতাকে বিচার করে যে এটি কতটা ভালোভাবে ডেলিভারি করে যখন আপনি প্রথমবার কিছু কোড করতে বলেন। যদি এটি কার্যকরী কোড তৈরি না করে, তবে অনেকে মনে করবে এটি চিত্তাকর্ষক নয়। বাস্তবে, মানুষ প্রথম চেষ্টায় প্রায় কখনই কাজের কোড লেখে না । পরিবর্তে, আপনি কোড লিখুন, এটি চালান, ত্রুটিগুলি দেখুন এবং পুনরাবৃত্তি করুন। জিপিটি পাইলট জিপিটি-4কে ঠিক এই কাজটি করতে সক্ষম করে – এটি কোড লেখার পরে, জিপিটি পাইলট কোডটি চালাতে পারে, আউটপুট নিতে পারে এবং এলএলএমকে জিজ্ঞাসা করতে পারে যে আউটপুটটি সঠিক কিনা, কিছু ঠিক করা উচিত কিনা এবং যদি তাই হয় তবে কীভাবে .


  4. সফটওয়্যার ডেভেলপমেন্ট অর্কেস্ট্রেটেড হতে পারে । অনেকগুলি পুনরাবৃত্তিমূলক রুটিন রয়েছে যা সমস্ত বিকাশকারীরা একটি অ্যাপ তৈরি করার সময় অতিক্রম করে। রুটিনগুলির মধ্যে একটি হতে পারে - কোড লিখুন, এটি চালান, ত্রুটিগুলি পড়ুন, কোড পরিবর্তন করুন, এটি পুনরায় চালান ইত্যাদি। আরেকটি উচ্চ-স্তরের একটি হতে পারে - একটি কাজ নিন, এটি বাস্তবায়ন করুন, বাস্তবায়ন পরীক্ষা করুন (সব পরীক্ষা পাস না হওয়া পর্যন্ত পুনরাবৃত্তি করুন) , পর্যালোচনার জন্য পাঠান, সমস্যাগুলি সমাধান করুন (পর্যালোচক অনুমোদন না করা পর্যন্ত পুনরাবৃত্তি করুন), এবং স্থাপন করুন৷ এই রুটিনগুলির অনেকগুলিই সাজানো যেতে পারে যদি আমাদের লুপের মধ্যে একজন বুদ্ধিমান সিদ্ধান্ত গ্রহণকারী থাকে (যেমন এলএলএম)।


  5. কোডিং প্রক্রিয়া একটি সরল রেখা নয় । যখন আমরা GPT পাইলটের প্রথম সংস্করণ তৈরি করি, তখন আমরা ভেবেছিলাম যে এটিকে টাস্কগুলির উপর পুনরাবৃত্তি করতে হবে, কোড প্রয়োগ করতে হবে, এটি ঠিক করতে হবে এবং এগিয়ে যেতে হবে। বাস্তবে, একটি অ্যাপ কোডিং করার সময় আপনি ক্রমাগত অগ্রগতি করেন না - আপনি সব সময় আপনার কোড পুনরায় লিখতে থাকেন।


    কখনও কখনও, আপনি কোডবেস রিফ্যাক্টর করেন কারণ, প্রাথমিক বাস্তবায়নের পরে, আপনি বুঝতে পারেন যে কিছু বাস্তবায়ন করার একটি ভাল উপায় আছে। অন্য সময়, আপনি প্রয়োজনীয়তার পরিবর্তনের কারণে এটি করেন। যেমন আমি # 1 এ উল্লেখ করেছি, আপনি দেখার পরে যে একটি সমাধান কাজ করছে না, আপনাকে মাঝে মাঝে একগুচ্ছ পরিবর্তনগুলি ফিরিয়ে আনতে হবে, সমস্যার একটি বিকল্প সমাধান সম্পর্কে চিন্তা করতে হবে এবং সেইভাবে সমাধান করার চেষ্টা করতে হবে।


    জিপিটি পাইলট বা অন্য কোনো এআই বিকাশকারীকে স্কেলে কাজ করার জন্য, এটির একটি প্রক্রিয়া থাকা দরকার যা এটিকে ফিরে যেতে, একটি বিকল্প পথ বেছে নিতে এবং একটি কাজকে পুনরায় প্রয়োগ করতে সক্ষম করবে।

আমরা কি শিখেছি?

এলএলএম, সাধারণভাবে, একটি নতুন প্রযুক্তি যা সবাই বোঝার চেষ্টা করছে – এটি কীভাবে কাজ করে, কী আরও ভাল করা যায়, কীভাবে সঠিক প্রম্পট ইঞ্জিনিয়ারিং করা যায় ইত্যাদি। LLMs আউটপুট ভাল ফলাফল .


যুক্তি হল যে এলএলএমগুলি আরও ভাল হয়ে উঠবে, এবং যদি আমরা একটি প্রম্পট অপ্টিমাইজ করার জন্য কয়েক সপ্তাহ ব্যয় করি, তবে এটি GPT-এর নতুন সংস্করণের সাথে সম্পূর্ণরূপে সমাধান করা যেতে পারে।


পরিবর্তে, আমরা ব্যবহারকারীর অভিজ্ঞতা কেমন হওয়া উচিত তার উপর ফোকাস করছি এবং LLM কে নিয়ন্ত্রণ করার জন্য কোন পদ্ধতির প্রয়োজন যাতে এটি ক্রমাগত কাজ করতে সক্ষম হয়, চূড়ান্ত সমাধানের আরও কাছাকাছি যায়। সুতরাং, এখানে এখন পর্যন্ত আমাদের শিক্ষা রয়েছে:


  1. অ্যাপটির প্রাথমিক বিবরণ আমাদের ধারণার চেয়ে অনেক বেশি গুরুত্বপূর্ণ । আমাদের মূল চিন্তা ছিল যে, মানুষের ইনপুট দিয়ে, জিপিটি পাইলট সঠিক দিকে নেভিগেট করতে সক্ষম হবেন এবং কাজের সমাধানের আরও কাছাকাছি যেতে পারবেন, এমনকি প্রাথমিক বর্ণনাটি অস্পষ্ট হলেও।


    যাইহোক, GPT পাইলটের চিন্তাভাবনা প্রাথমিক বর্ণনা দিয়ে শুরু করে প্রম্পট জুড়ে ছড়িয়ে পড়ে। এবং এর সাথে, যদি প্রাথমিক প্রম্পটে কিছু বিভ্রান্তিকর হয়, GPT পাইলটের অন্যান্য সমস্ত তথ্য ভুল দিকে নিয়ে যাবে। সুতরাং, আপনি যখন এটিকে লাইনের নিচে সংশোধন করবেন, তখন এটি এই ভুল পথে এতটাই গভীর হবে যে এটিকে সঠিক পথে নিয়ে যাওয়া প্রায় অসম্ভব হয়ে পড়বে।


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


  2. কোডিং একটি সরল রেখা নয় । আমি পিলার বিভাগে উপরে উল্লিখিত হিসাবে, রিফ্যাক্টরিং সব সময় ঘটে এবং GPT পাইলটকেও তা করতে হবে। আমরা এখনও এর জন্য কোনও সমাধান প্রয়োগ করিনি, তবে এটি সম্ভবত জিপিটি পাইলটের জন্য তার সিদ্ধান্ত গাছের চারপাশে মার্কার তৈরি করার ক্ষমতা যুক্ত করে কাজ করবে যাতে যখনই কিছু কাজ না করে, এটি মার্কারগুলি পর্যালোচনা করতে পারে এবং এটি কোথায় থাকতে পারে তা নিয়ে ভাবতে পারে। একটি ভুল বাঁক করেছে।


  3. এজেন্টরা নিজেদের পর্যালোচনা করতে পারেন । আমার চিন্তাভাবনা ছিল যে একজন এজেন্ট যদি অন্য এজেন্ট যা করেছে তা পর্যালোচনা করে তবে এটি অপ্রয়োজনীয় হবে কারণ এটি একই এলএলএম একই তথ্য পুনঃপ্রক্রিয়া করছে। কিন্তু দেখা যাচ্ছে যে যখন একজন এজেন্ট অন্য এজেন্টের কাজ পর্যালোচনা করে, তখন এটি আশ্চর্যজনকভাবে কাজ করে। আমাদের কাছে 2টি ভিন্ন "পর্যালোচক" এজেন্ট রয়েছে যারা কোডটি কীভাবে প্রয়োগ করা হয়েছে তা পর্যালোচনা করে।


    একজন এটি একটি উচ্চ স্তরে করে, যেমন পুরো টাস্ক কীভাবে বাস্তবায়িত হয়েছিল, এবং অন্য একজন ফাইলে তৈরি হওয়ার আগে প্রতিটি পরিবর্তন পর্যালোচনা করে (যেমন একটি গিট অ্যাড -পি করা)।


  4. এলএলএমগুলি সবচেয়ে ভাল কাজ করে যখন তারা একক প্রম্পটে একাধিক সমস্যার তুলনায় একটি সমস্যায় ফোকাস করতে পারে । উদাহরণস্বরূপ, আপনি যদি GPT পাইলটকে একটি বর্ণনায় 2টি ভিন্ন পরিবর্তন করতে বলেন, তাহলে উভয়ের উপর ফোকাস করতে অসুবিধা হবে। সুতরাং, ইনপুটে বিভিন্ন অনুরোধ থাকলে আমরা প্রতিটি মানুষের ইনপুটকে একাধিক টুকরোতে বিভক্ত করি।


  5. ভার্বোস লগ সাহায্য করে । এটি এখন খুব স্পষ্ট, কিন্তু প্রাথমিকভাবে, আমরা কোডের চারপাশে কোনো লগ যোগ করতে GPT-4 কে বলিনি। এখন, এটি ভার্বোস লগিং সহ কোড তৈরি করে, যাতে আপনি যখন অ্যাপটি চালান এবং একটি ত্রুটির সম্মুখীন হন, তখন GPT-4 ডিবাগ করার সময় অনেক সহজ হবে যখন এটি দেখে যে কোন লগগুলি লেখা হয়েছে এবং সেই লগগুলি কোডে কোথায় রয়েছে৷


  6. কোডবেসকে ছোট ফাইলে বিভক্ত করা অনেক সাহায্য করে । এটিও একটি সুস্পষ্ট উপসংহার, তবে আমাদের এটি শিখতে হয়েছিল। GPT-4-এর জন্য বৈশিষ্ট্যগুলি বাস্তবায়ন করা এবং বাগগুলি সমাধান করা অনেক সহজ যদি কোডটি কয়েকটি বড় ফাইলের পরিবর্তে অনেকগুলি ফাইলে বিভক্ত হয়। ঠিক যেমন আমরা, মানুষ, মনে করি - বড় কোডের পরিবর্তে ছোট অংশগুলিকে প্রক্রিয়া করা অনেক সহজ। আমরা বিমূর্তকরণের স্তর তৈরি করে এটি করি - ফাংশন, ক্লাস, ইত্যাদি।


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


  7. একজন মানুষ কোডটি ঠিক করতে সক্ষম হওয়ার জন্য, তাদের টাস্কে কী লেখা ছিল এবং এর পিছনের ধারণাটি স্পষ্টভাবে দেখানো দরকার। GPT পাইলটের লক্ষ্য হল সমস্ত কোডিং কাজের 90% করা এবং বাকি 10% একজন মানুষের হাতে ছেড়ে দেওয়া। এই 10% সাধারণত সংশোধন বা ছোট পরিবর্তন নিয়ে গঠিত যা LLM লক্ষ্য করতে সংগ্রাম করে, কিন্তু মানুষের জন্য, এটি একটি সাধারণ পরিবর্তন হতে পারে।


    যাইহোক, সমস্যা হল যে কোনটি কাজ করছে না এবং কোন কোডটি তাদের দেখা উচিত তা বলা সহজ নয়। যদি জিপিটি পাইলট কোডের 3,000 লাইন লেখে, মানব বিকাশকারী, যদি তারা জিপিটি পাইলটকে সাহায্য করতে চায়, তাহলে প্রকৃত কোডে ডুব দেওয়ার আগে পুরো কোডবেসটি বুঝতে হবে।


    GPT পাইলটের ভবিষ্যত সংস্করণগুলিতে, মানব বিকাশকারীর কাছে বর্তমান টাস্কে কী কোড যোগ করা হয়েছে এবং এর পিছনে যুক্তির বিস্তারিত ব্যাখ্যা থাকবে। এইভাবে, আপনি GPT পাইলটকে সাহায্য করতে সক্ষম হবেন।


  8. মানুষ অলস হয় । এলএলএমগুলি মানুষকে সমস্ত সম্ভাব্য ত্রুটিগুলি সম্পর্কে চিন্তা করতে দেওয়ার পরিবর্তে মানুষকে প্রশ্ন জিজ্ঞাসা করাই ভাল৷ আবার, এটি পিছনে ফিরে তাকানো খুব সুস্পষ্ট, কিন্তু আমরা যে জিনিসগুলি লক্ষ্য করেছি তা হল যে লোকেরা জিপিটি পাইলট তাদের প্রশ্নগুলির উত্তর দিতে অনেক বেশি ইচ্ছুক ছিল একটি খোলা-সম্পন্ন ইনপুট ক্ষেত্র থাকার পরিবর্তে যেখানে তারা সীমাহীন প্রতিক্রিয়া লিখতে পারে।


  9. বাক্সের বাইরে চিন্তা করার জন্য এলএলএম পাওয়া কঠিন । এটি আমার জন্য সবচেয়ে বড় শিক্ষার একটি ছিল। আমি ভেবেছিলাম আপনি GPT-4 কে কিছু সমাধান দিয়ে এটিকে একটি সমস্যা সমাধান করতে এবং এটিকে অন্য সমাধানের কথা ভাবতে বলেছে তা দিয়ে প্রম্পট করতে পারেন। যাইহোক, এটি দূরবর্তীভাবে যতটা সহজ শোনাচ্ছে ততটা সহজ নয়।


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

জিপিটি পাইলট দিয়ে তৈরি করা অ্যাপ

বর্তমানে, আপনি GPT পাইলট দিয়ে সহজ কিন্তু অ-তুচ্ছ অ্যাপ তৈরি করতে পারেন। আমরা এমনও দেখেছি যে লোকেরা GPT পাইলট দিয়ে অ্যাপ তৈরি করে যা খুব চিত্তাকর্ষক, যেমন একটি অ্যাপ যা পাম গাছ গণনা করার জন্য একটি ResNet মডেলকে ফাইন-টিউন করতে পারে এবং তারপরে, আপনি যখন একটি ছবি আপলোড করেন, তখন এটিতে গাছগুলি গণনা করুন৷ কোড, পরিসংখ্যান এবং ডেমো সহ এখানে আমরা কয়েকটি অ্যাপ তৈরি করেছি:

প্রম্পট ল্যাব ( ডেমো )

স্টেরয়েডগুলিতে এটিকে OpenAI প্লেগ্রাউন্ড হিসাবে ভাবুন - এটি আপনাকে JSON অ্যারে থেকে একটি কথোপকথন লোড করতে বা ম্যানুয়ালি প্রবেশ করতে, LLM X সংখ্যার সাথে কথোপকথন চালাতে, ডাটাবেসে কথোপকথনটি সংরক্ষণ করতে এবং এটিকে আবার লোড করতে সক্ষম করে। আসলে এই অ্যাপটি ব্যবহার করুন যখন আমরা একটি প্রম্পট ইঞ্জিনিয়ার করি এবং দেখতে চাই যে এটি কীভাবে আচরণ করে।


খেলার মাঠটি যথেষ্ট ভাল নয় কারণ এটি একটি একক প্রম্পট পুনরাবৃত্তিমূলকভাবে পুনরায় চালানোর জন্য সময়সাপেক্ষ। প্রম্পট ল্যাবের সাহায্যে, আপনি কতবার এটি চালাতে হবে তা চয়ন করতে পারেন এবং অ্যাপটিকে বারবার প্রম্পট চালাতে দিতে পারেন।


এটি শেষ হয়ে গেলে, আপনি ফলাফল বিশ্লেষণ করতে পারেন। এটি এমন লোকেদের জন্য উপযোগী হতে পারে যারা একটি AI অ্যাপ তৈরি করছেন এবং তাদের প্রম্পট অপ্টিমাইজ করতে হবে।



SQLite ডেটাবেস বিশ্লেষক টুল ( ডেমো )

এটি এমন একটি অ্যাপ যা আমরা স্থানীয় SQLite ডাটাবেস বিশ্লেষণ করতে অভ্যন্তরীণভাবে ব্যবহার করি। এটি ডাটাবেস থেকে এমন একটি বিন্যাসে ডেটা টেনে আনে যা GPT পাইলট ডাটাবেস কাঠামোর জন্য খুব নির্দিষ্ট, তবে এটি সহজেই অন্যান্য কাঠামোর সাথে মানানসই পরিবর্তন করা যেতে পারে।


এটি আপনার SQLite ডাটাবেস পড়ে এবং আপলোড করে, একটি নির্দিষ্ট ক্ষেত্র দ্বারা সারিগুলিকে বিভক্ত করে, সারিগুলিকে মানগুলিতে আনপ্যাক করে, LLM কথোপকথনের ডেটা একটি ফর্মে লোড করে এবং আপনাকে কেবল একটি বার্তা পরিবর্তন করতে এবং GPT-4 এ LLM অনুরোধ জমা দিতে সক্ষম করে। ফলাফল দেখতে কেমন হবে।


এইভাবে, আপনি LLM-এর সাথে GPT পাইলটের এজেন্টদের কথোপকথন বিশ্লেষণ করতে পারেন এবং সহজেই অন্বেষণ করতে পারেন যদি প্রম্পটগুলি ভিন্ন হয় তাহলে কী ঘটবে৷



কোড হুইস্পারার ( ডেমো )

কোড হুইস্পার হল একটি মজার প্রজেক্ট যা আমরা প্রদর্শনের জন্য উদাহরণ হিসেবে তৈরি করেছি। ধারণাটি হল যে আপনি আপনার কোডবেস সম্পর্কে LLM প্রশ্ন জিজ্ঞাসা করতে এটি ব্যবহার করতে পারেন। আপনি একটি পাবলিক Github রেপো লিঙ্কে আটকান.


তারপর, এটি সংগ্রহস্থল ক্লোন করে, বিশ্লেষণের জন্য প্রাসঙ্গিক ফাইলগুলি এলএলএম-এ পাঠায়, যা কোডটি কী করে সে সম্পর্কে প্রতিটি ফাইলের জন্য একটি বিবরণ তৈরি করে এবং সেই বিবরণগুলি ডাটাবেসে সংরক্ষণ করে।


এর পরে, আপনি কোডবেস সম্পর্কে অ্যাপটিকে প্রশ্ন জিজ্ঞাসা করতে পারেন এবং কোডবেস আপনাকে প্রতিক্রিয়া দেখায়। এই ডেমোতে, আমরা GPT-3.5 ব্যবহার করি।


তারকা ইতিহাস ( ডেমো )

আমি এখন কয়েক বছর ধরে ওপেন-সোর্স প্রকল্পগুলি প্রকাশ করছি, এবং আমি সর্বদা দেখতে চেয়েছিলাম যে https://star-history.com/- এ অন্যান্য সফল সংগ্রহস্থলগুলির তুলনায় আমার Github রেপো কত দ্রুত বাড়ছে। সমস্যা হল স্টার হিস্ট্রিতে, আমি গ্রাফে জুম করতে পারছি না, তাই 1,000 স্টার বিশিষ্ট একটি নতুন রেপোকে 50,000 বিশিষ্ট একটি বড় রেপোর সাথে তুলনা করা যাবে না কারণ আপনি দেখতে পাচ্ছেন না যে বড় রেপোটি শুরুতে কেমন করে .


তাই, আমি জিপিটি পাইলটকে এই কার্যকারিতা তৈরি করতে বলেছি। এটি স্টারগেজারদের জন্য গিথুব রেপো স্ক্র্যাপ করে, ডাটাবেসে সেভ করে, গ্রাফে প্লট করে এবং গ্রাফটিকে জুম ইন এবং আউট করতে সক্ষম করে।



উপসংহার

আমি আশা করি আপনি বর্তমান অবস্থা, সমস্যা এবং আমরা জিপিটি পাইলটে যে ফলাফলগুলি মোকাবেলা করি সে সম্পর্কে কিছু অন্তর্দৃষ্টি অর্জন করেছেন।


সুতরাং, সংক্ষেপে:

আমরা মনে করি যে একটি প্রকৃত AI বিকাশকারী টুল নিম্নলিখিত স্তম্ভগুলির উপর ভিত্তি করে হওয়া উচিত:

  • AI তত্ত্বাবধানের জন্য একজন মানুষের প্রয়োজন।


  • আমাদের উচিত AI-কে তার নিজের ভুলগুলো পুনরাবৃত্তি করতে সক্ষম করা।


  • সফ্টওয়্যার উন্নয়ন অর্কেস্ট্রেটেড হতে পারে , যা এলএলএম-এর উপরে একটি স্তরে প্রয়োগ করা উচিত।


  • এআই বিকাশকারীর কোডবেস রিফ্যাক্টর করতে সক্ষম হওয়া উচিত কারণ, বাস্তবে, কোডিং প্রক্রিয়াটি একটি সরল রেখা নয়।


এখন পর্যন্ত, আমরা শিখেছি যে:

  1. প্রাথমিক অ্যাপের বিবরণটি আমরা যতটা ভেবেছিলাম তার চেয়ে অনেক বেশি গুরুত্বপূর্ণ

  2. কোডিং একটি সরল রেখা নয়, এজেন্টরা নিজেদের পর্যালোচনা করতে পারে

  3. এলএলএমগুলি যখন একক প্রম্পটে একাধিক সমস্যার তুলনায় একটি সমস্যায় ফোকাস করে তখন সবচেয়ে ভাল কাজ করে

  4. ভার্বোস লগগুলি অলৌকিক কাজ করে

  5. কোডবেসকে ছোট ফাইলে বিভক্ত করা অনেক সাহায্য করে

  6. একটি মানুষের জন্য কোড ঠিক করতে সক্ষম হবেন

  7. তাদের অবশ্যই স্পষ্টভাবে দেখাতে হবে যে কী লেখা হয়েছে এবং এর পিছনের ধারণা

  8. মানুষ অলস

  9. এলএলএম বাক্সের বাইরে চিন্তা করা কঠিন


আপনি কি মনে করেন? আপনি কি LLM-এর সাথে আপনার মিথস্ক্রিয়ায় এই আচরণগুলির মধ্যে কোনটি লক্ষ্য করেছেন, বা এইগুলির কোনটির বিষয়ে আপনার আলাদা মতামত আছে?


আমি আপনার কাছ থেকে শুনে খুব খুশি হব, তাই নীচে একটি মন্তব্য করুন বা [email protected] এ আমাকে একটি ইমেল করুন।


আপনি এখানে GPT পাইলটের সাথে AI দিয়ে একটি অ্যাপ তৈরি করার চেষ্টা করতে পারেন:


আপনি যদি এই পোস্টটি পছন্দ করেন, আপনি যদি GPT পাইলট Github রেপোতে স্টার করেন তবে এর অর্থ অনেক বেশি, এবং আপনি যদি এটি চেষ্টা করে দেখেন তবে আপনি কী মনে করেন তা আমাদের জানান। আপনার প্রতিক্রিয়া সমগ্র GPT পাইলট দলের জন্য সত্যিই গুরুত্বপূর্ণ।


এছাড়াও এখানে প্রকাশিত