গুগল অ্যান্টিগ্র্যাভিটি দিয়ে শুরু করা

1. ভূমিকা

এই কোডল্যাবে, আপনি গুগল অ্যান্টিগ্র্যাভিটি (ডকুমেন্টের বাকি অংশে অ্যান্টিগ্র্যাভিটি নামে পরিচিত) সম্পর্কে শিখবেন, এটি একটি এজেন্টিক ডেভেলপমেন্ট প্ল্যাটফর্ম, যা IDE কে এজেন্ট-প্রথম যুগে রূপান্তরিত করে।

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

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

তুমি কি শিখবে

  • অ্যান্টিগ্র্যাভিটি ইনস্টল এবং কনফিগার করা।
  • এজেন্ট ম্যানেজার, এডিটর, ব্রাউজার এবং আরও অনেক কিছুর মতো অ্যান্টিগ্র্যাভিটির মূল ধারণাগুলি অন্বেষণ করা।
  • অ্যান্টিগ্র্যাভিটির কিছু ব্যবহারের উদাহরণ অন্বেষণ করা হচ্ছে।

তোমার যা লাগবে

বর্তমানে অ্যান্টিগ্রাভিটি ব্যক্তিগত জিমেইল অ্যাকাউন্টের জন্য প্রিভিউ হিসেবে উপলব্ধ। এটি প্রিমিয়ার মডেল ব্যবহারের জন্য বিনামূল্যে কোটার সাথে আসে।

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

  • ক্রোম ওয়েব ব্রাউজার
  • একটি জিমেইল অ্যাকাউন্ট (ব্যক্তিগত জিমেইল অ্যাকাউন্ট)।

এই কোডল্যাবটি সকল স্তরের ব্যবহারকারী এবং ডেভেলপারদের জন্য ডিজাইন করা হয়েছে (নতুনদের সহ)।

সমস্যা রিপোর্ট করা

কোডল্যাব এবং অ্যান্টিগ্র্যাভিটি নিয়ে কাজ করার সময়, আপনি সমস্যার সম্মুখীন হতে পারেন।

কোডল্যাব সম্পর্কিত সমস্যার (টাইপ, ভুল নির্দেশাবলী) জন্য, দয়া করে এই কোডল্যাবের নীচে বাম কোণে Report a mistake বোতামটি সহ একটি বাগ খুলুন:

b06b582bcd847f6d.png

অ্যান্টিগ্র্যাভিটি সম্পর্কিত বাগ বা বৈশিষ্ট্যের অনুরোধের জন্য, অনুগ্রহ করে অ্যান্টিগ্র্যাভিটির মধ্যে সমস্যাটি রিপোর্ট করুন। আপনি নীচের বাম কোণে Provide Feedback " লিঙ্কটি ব্যবহার করে এজেন্ট ম্যানেজারে এটি করতে পারেন:

281ac826fb44d427.png সম্পর্কে

আপনার প্রোফাইল আইকনের নিচে Report Issue লিঙ্কটি ব্যবহার করে আপনি সম্পাদকেও যেতে পারেন:

e8afd782a8f92129.png সম্পর্কে

2. ইনস্টলেশন

আমরা অ্যান্টিগ্রাভিটি ইনস্টল করে শুরু করব। বর্তমানে পণ্যটি প্রিভিউয়ের জন্য উপলব্ধ এবং আপনি এটি শুরু করতে আপনার ব্যক্তিগত জিমেইল অ্যাকাউন্ট ব্যবহার করতে পারেন।

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

অনুসরণ

প্রতিবার Next বোতামে ক্লিক করে এগিয়ে যান। মূল ধাপগুলি নীচে বিস্তারিতভাবে বর্ণনা করা হয়েছে:

  • সেটআপ ফ্লো বেছে নিন: এটি আপনার বিদ্যমান VS কোড বা কার্সার সেটিংস থেকে আমদানি করার বিকল্পটি নিয়ে আসে। আমরা নতুন করে শুরু করব।
  • এডিটর থিমের ধরণ বেছে নিন : আমরা ডার্ক থিমটিই বেছে নেব, তবে এটি সম্পূর্ণ আপনার উপর নির্ভর করে।
  • আপনি অ্যান্টিগ্র্যাভিটি এজেন্ট কীভাবে ব্যবহার করতে চান?

7ca55560ec377130.png সম্পর্কে

আসুন এটি আরও বিশদে বুঝতে পারি। মনে রাখবেন যে অ্যান্টিগ্র্যাভিটি ইউজার সেটিংস ( Cmd + , ) এর মাধ্যমে যেকোনো সময় সেটিংস পরিবর্তন করা যেতে পারে।

বিকল্পগুলি গভীরভাবে আলোচনা করার আগে, আসুন কিছু নির্দিষ্ট বৈশিষ্ট্য দেখি (যা আপনি ডায়ালগের ডানদিকে দেখতে পাচ্ছেন)।

টার্মিনাল এক্সিকিউশন নীতি

এটি এজেন্টকে আপনার টার্মিনালে কমান্ড (অ্যাপ্লিকেশন/টুল) কার্যকর করার ক্ষমতা দেওয়ার বিষয়ে:

  • সর্বদা এগিয়ে যান: সর্বদা টার্মিনাল কমান্ডগুলি স্বয়ংক্রিয়ভাবে কার্যকর করুন (কনফিগারযোগ্য অস্বীকার তালিকার ব্যতীত)।
  • পর্যালোচনার অনুরোধ করুন: টার্মিনাল কমান্ড কার্যকর করার আগে ব্যবহারকারীর পর্যালোচনা এবং অনুমোদনের অনুরোধ করুন।

নীতি পর্যালোচনা করুন

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

  • সর্বদা এগিয়ে যান: এজেন্ট কখনও পর্যালোচনার জন্য অনুরোধ করে না।
  • এজেন্ট সিদ্ধান্ত নেবেন: কখন পর্যালোচনার জন্য আবেদন করতে হবে তা এজেন্ট সিদ্ধান্ত নেবেন।
  • পর্যালোচনার অনুরোধ করুন: এজেন্ট সর্বদা পর্যালোচনার অনুরোধ করে।

জাভাস্ক্রিপ্ট এক্সিকিউশন নীতি

সক্রিয় করা থাকলে, এজেন্টটি URL খুলতে, ওয়েব পৃষ্ঠাগুলি পড়তে এবং ব্রাউজারের সামগ্রীর সাথে ইন্টারঅ্যাক্ট করতে ব্রাউজার টুল ব্যবহার করতে পারে। এই নীতিটি ব্রাউজারে জাভাস্ক্রিপ্ট কীভাবে কার্যকর করা হয় তা নিয়ন্ত্রণ করে।

  • সর্বদা এগিয়ে যান: এজেন্ট ব্রাউজারে জাভাস্ক্রিপ্ট চালানোর জন্য অনুমতি চাইতে থামবে না। এটি এজেন্টকে ব্রাউজারে জটিল ক্রিয়া এবং বৈধতা সম্পাদনের জন্য সর্বাধিক স্বায়ত্তশাসন প্রদান করে, তবে সুরক্ষা শোষণের জন্যও সর্বোচ্চ এক্সপোজার দেয়।
  • পর্যালোচনার অনুরোধ করুন: এজেন্ট সর্বদা ব্রাউজারে জাভাস্ক্রিপ্ট কোড চালানোর অনুমতি চাইতে থামবে।
  • অক্ষম: এজেন্ট কখনই ব্রাউজারে জাভাস্ক্রিপ্ট কোড চালাবে না।

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

এই ৪টি বিকল্প হল:

  • সিকিউর মোড : সিকিউর মোড এজেন্টের জন্য উন্নত নিরাপত্তা নিয়ন্ত্রণ প্রদান করে, যা আপনাকে বহিরাগত সম্পদ এবং সংবেদনশীল ক্রিয়াকলাপগুলিতে এর অ্যাক্সেস সীমাবদ্ধ করার অনুমতি দেয়। যখন সিকিউর মোড সক্রিয় থাকে, তখন আপনার পরিবেশ রক্ষা করার জন্য বেশ কয়েকটি নিরাপত্তা ব্যবস্থা প্রয়োগ করা হয়।
  • পর্যালোচনা-চালিত উন্নয়ন (প্রস্তাবিত) : এজেন্ট প্রায়শই পর্যালোচনার জন্য অনুরোধ করবে।
  • এজেন্ট-চালিত উন্নয়ন : এজেন্ট কখনই পর্যালোচনা চাইবে না।
  • কাস্টম কনফিগারেশন

পর্যালোচনা-চালিত উন্নয়ন বিকল্পটি একটি ভাল ভারসাম্য এবং প্রস্তাবিত বিকল্প কারণ এটি এজেন্টকে সিদ্ধান্ত নিতে এবং অনুমোদনের জন্য ব্যবহারকারীর কাছে ফিরে আসতে দেয়।

এরপরে আপনার সম্পাদক সেটিংস কনফিগার করুন পৃষ্ঠাটি রয়েছে যেখানে আপনি নিম্নলিখিতগুলির জন্য আপনার পছন্দগুলি বেছে নিতে পারেন:

  • কীবাইন্ডিং: আপনার কীবাইন্ডিং কনফিগার করুন।
  • এক্সটেনশন: জনপ্রিয় ভাষা এবং অন্যান্য প্রস্তাবিত এক্সটেনশন ইনস্টল করুন।
  • কমান্ড লাইন: agy দিয়ে অ্যান্টিগ্রাভিটি খুলতে কমান্ড লাইন টুলটি ইনস্টল করুন।

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

অবশেষে, ব্যবহারের শর্তাবলী । আপনি নির্বাচন করতে চান কিনা তা সিদ্ধান্ত নিতে পারেন এবং তারপর Next ক্লিক করুন।

এটি আপনাকে সত্যের মুহূর্তে নিয়ে যাবে, যেখানে অ্যান্টিগ্র্যাভিটি আপনার সাথে সহযোগিতা করার জন্য অপেক্ষা করবে।

৩. এজেন্ট ম্যানেজার

আমরা শুরু করতে প্রস্তুত!

অ্যান্টিগ্র্যাভিটি ওপেন-সোর্স ভিজ্যুয়াল স্টুডিও কোড (ভিএস কোড) ফাউন্ডেশনকে শক্তিশালী করে কিন্তু টেক্সট এডিটিং-এর চেয়ে এজেন্ট ম্যানেজমেন্টকে অগ্রাধিকার দেওয়ার জন্য ব্যবহারকারীর অভিজ্ঞতাকে আমূল পরিবর্তন করে। ইন্টারফেসটি দুটি স্বতন্ত্র প্রাথমিক উইন্ডোতে বিভক্ত: Editor এবং Agent Manager । উদ্বেগের এই বিভাজন ব্যক্তিগত অবদান এবং ইঞ্জিনিয়ারিং ম্যানেজমেন্টের মধ্যে পার্থক্য প্রতিফলিত করে।

এজেন্ট ম্যানেজার: মিশন কন্ট্রোল

অ্যান্টিগ্র্যাভিটি চালু করার সময়, ব্যবহারকারীকে সাধারণত ফাইল ট্রি দ্বারা নয়, বরং এজেন্ট ম্যানেজার দ্বারা স্বাগত জানানো হয়, যেমনটি নীচে দেখানো হয়েছে:

d5ae91fc746e1bba.png

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

এই দৃষ্টিকোণ থেকে, ডেভেলপার একজন স্থপতি হিসেবে কাজ করেন। তারা উচ্চ-স্তরের উদ্দেশ্য নির্ধারণ করে, উদাহরণ হতে পারে:

  • প্রমাণীকরণ মডিউলটি পুনঃনির্ধারণ করুন
  • নির্ভরতা ট্রি আপডেট করুন
  • বিলিং API-এর জন্য একটি পরীক্ষামূলক স্যুট তৈরি করুন

উপরের চিত্রটি যেমন ইঙ্গিত করে, এই প্রতিটি অনুরোধ একটি ডেডিকেটেড এজেন্ট ইনস্ট্যান্স তৈরি করে। UI এই সমান্তরাল কাজের স্ট্রিমগুলির একটি ভিজ্যুয়ালাইজেশন প্রদান করে, প্রতিটি এজেন্টের অবস্থা, তাদের তৈরি করা শিল্পকর্ম (পরিকল্পনা, ফলাফল, পার্থক্য) এবং মানুষের অনুমোদনের জন্য যে কোনও মুলতুবি অনুরোধ প্রদর্শন করে।

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

উপরে Next এ ক্লিক করলে, আপনার কাছে একটি ওয়ার্কস্পেস খোলার বিকল্প থাকবে।

ec72712ea24bf6d5.png সম্পর্কে

VS Code থেকে আপনি যেভাবে ওয়ার্কস্পেস সম্পর্কে জানতেন, সেভাবেই ভাবুন, তাহলেই আপনার কাজ শেষ। তাহলে আমরা বোতামে ক্লিক করে এবং তারপর শুরু করার জন্য একটি ফোল্ডার নির্বাচন করে একটি স্থানীয় ফোল্ডার খুলতে পারি। আমার ক্ষেত্রে, আমার হোম ফোল্ডারে my-agy-projects নামে একটি ফোল্ডার ছিল এবং আমি সেটি নির্বাচন করেছি। আপনি সম্পূর্ণ ভিন্ন একটি ফোল্ডার ব্যবহার করতে পারেন। মনে রাখবেন, আপনি যদি চান তবে এই ধাপটি সম্পূর্ণভাবে এড়িয়ে যেতে পারেন এবং আপনি পরে যেকোনো সময় একটি ওয়ার্কস্পেস খুলতে পারেন।

এই ধাপটি সম্পন্ন করার পর, আপনি এজেন্ট ম্যানেজার উইন্ডোতে উপস্থিত হবেন, যা নীচে দেখানো হয়েছে:

156224e223eeda36.png সম্পর্কে

আপনি লক্ষ্য করবেন যে অ্যাপ্লিকেশনটি অবিলম্বে নির্বাচিত ওয়ার্কস্পেস ফোল্ডারে ( my-agy-projects ) একটি নতুন কথোপকথন শুরু করার জন্য প্রস্তুত। আপনি অন্যান্য AI অ্যাপ্লিকেশন (Cursor, Gemini CLI) এর সাথে কাজ করার আপনার বিদ্যমান জ্ঞান ব্যবহার করতে পারেন এবং প্রম্পট করার সময় অতিরিক্ত প্রসঙ্গ অন্তর্ভুক্ত করার জন্য @ এবং অন্যান্য উপায় ব্যবহার করতে পারেন।

Planning এবং Model Selection ড্রপডাউন উভয়ই দেখুন। মডেল নির্বাচন ড্রপডাউন আপনাকে আপনার এজেন্টের ব্যবহারের জন্য বর্তমানে উপলব্ধ মডেলগুলির মধ্যে একটি বেছে নিতে দেয়। তালিকাটি নীচে দেখানো হয়েছে:

fb0744dc43911365.png সম্পর্কে

একইভাবে, আমরা দেখতে পাচ্ছি যে এজেন্টটি একটি ডিফল্ট Planning মোডে থাকবে। তবে আমরা Fast মোডের জন্যও যেতে পারি।

f403e40ad480efc9.png সম্পর্কে

আসুন দেখি ডকুমেন্টেশন এ বিষয়ে কী বলে:

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

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

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

22f6dcf7b3edc583.png সম্পর্কে

অনুগ্রহ করে উপরের চিত্রটি সংখ্যা সহ দেখুন:

  1. Inbox : এটিকে আপনার সমস্ত কথোপকথন এক জায়গায় ট্র্যাক করার একটি উপায় হিসেবে ভাবুন। আপনি যখন এজেন্টদের তাদের কাজ সম্পর্কে জানাবেন, তখন এগুলি ইনবক্সে উপস্থিত হবে এবং আপনি ইনবক্সে ক্লিক করে সমস্ত বর্তমান কথোপকথনের তালিকা পেতে পারেন। যেকোনো কথোপকথনে ট্যাপ করলে আপনি আদান-প্রদান করা সমস্ত বার্তা, কাজের অবস্থা, এজেন্ট কী তৈরি করেছে বা আপনার পক্ষ থেকে কাজের অনুমোদনের জন্য অপেক্ষা করছে কিনা তা দেখতে পাবেন। এটি আপনার পূর্ববর্তী কোনও কাজ সম্পর্কে পরে ফিরে আসার একটি দুর্দান্ত উপায়। এটি একটি খুব সুবিধাজনক বৈশিষ্ট্য।
  2. Start Conversation : একটি নতুন কথোপকথন শুরু করতে এটিতে ক্লিক করুন। এটি আপনাকে সরাসরি ইনপুটটিতে নিয়ে যাবে যেখানে লেখা আছে Ask anything
  3. Workspaces : আমরা ওয়ার্কস্পেস সম্পর্কে উল্লেখ করেছি এবং আপনি আপনার পছন্দের যেকোনো ওয়ার্কস্পেসে কাজ করতে পারেন। আপনি যেকোনো সময় আরও ওয়ার্কস্পেস যোগ করতে পারেন এবং কথোপকথন শুরু করার সময় যেকোনো ওয়ার্কস্পেস নির্বাচন করতে পারেন।
  4. Playground : এটি একটি দুর্দান্ত উপায় যার মাধ্যমে আপনি এজেন্টের সাথে কথোপকথন শুরু করতে পারেন এবং তারপর যদি আপনি এটিকে একটি কর্মক্ষেত্রে রূপান্তর করতে চান, যেখানে ফাইল ইত্যাদির উপর আপনার কঠোর নিয়ন্ত্রণ থাকবে। এটিকে একটি স্ক্র্যাচ এরিয়া হিসাবে ভাবুন।
  5. Editor View : এখন পর্যন্ত আমরা এজেন্ট ম্যানেজার ভিউতে আছি। আপনি চাইলে যেকোনো সময় এডিটর ভিউতে স্যুইচ করতে পারেন। এটি আপনাকে আপনার ওয়ার্কস্পেস ফোল্ডার এবং তৈরি করা যেকোনো ফাইল দেখাবে। আপনি সরাসরি সেখানে ফাইলগুলি সম্পাদনা করতে পারেন, অথবা এডিটরে ইনলাইন নির্দেশিকা, কমান্ডও প্রদান করতে পারেন, যাতে এজেন্ট আপনার পরিবর্তিত সুপারিশ/নির্দেশনা অনুসারে কিছু করতে বা পরিবর্তন করতে পারে। আমরা পরবর্তী বিভাগে এডিটর ভিউ সম্পর্কে বিস্তারিত আলোচনা করব।
  6. Browser : অবশেষে, আমরা অ্যান্টিগ্রাভিটিকে অত্যন্ত শক্তিশালী করে তোলে এমন একটি স্পষ্ট পার্থক্যের দিকে আসি এবং তা হল ক্রোম ব্রাউজারের সাথে এর ঘনিষ্ঠ সংহতকরণ। পরবর্তী বিভাগে ব্রাউজার সেট আপ করা শুরু করা যাক।

৪. অ্যান্টিগ্র্যাভিটি ব্রাউজার

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

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

এর মানে হল আমাদের অ্যান্টিগ্রাভিটি ব্রাউজার এক্সটেনশনটি চালু এবং ইনস্টল করতে হবে। আসুন প্লেগ্রাউন্ডে একটি কথোপকথন শুরু করে এবং ধাপগুলি অনুসরণ করে এটি করি।

Playground নির্বাচন করুন এবং নিম্নলিখিত কাজটি go to antigravity.google যা নীচে দেখানো হয়েছে:

51a373d3da23db56.png সম্পর্কে

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

e7119f40e093afd2.png

এটি ব্রাউজারটি আনবে এবং নীচে দেখানো এক্সটেনশনটি ইনস্টল করার জন্য একটি বার্তা প্রদর্শন করবে:

82fb87d7d75b4a6c.png সম্পর্কে

এগিয়ে যান এবং আপনাকে Chrome এক্সটেনশনে নিয়ে যাওয়া হবে যা আপনি ইনস্টল করতে পারবেন।

f3468f0e5f3bb075.png সম্পর্কে

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

7f0367e00ac36d5a.png সম্পর্কে

এজেন্ট ম্যানেজার ভিউটি আবার স্যুইচ করুন এবং আপনি নিম্নলিখিতটি দেখতে পাবেন:

অনুসরণ

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

77fcc38b5fb4ca7c.png সম্পর্কে

৫. শিল্পকর্ম

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

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

অ্যান্টিগ্র্যাভিটি দ্বারা উৎপাদিত প্রধান নিদর্শনগুলি হল:

  • Task Lists : কোড লেখার আগে, এজেন্ট একটি কাঠামোগত পরিকল্পনা তৈরি করে। সাধারণত আপনাকে এই পরিকল্পনাটি সম্পাদনা করতে হয় না তবে আপনি এটি পর্যালোচনা করতে পারেন এবং কিছু ক্ষেত্রে, প্রয়োজনে এটি পরিবর্তন করার জন্য একটি মন্তব্য যোগ করতে পারেন।
  • Implementation Plan : এটি আপনার কোডবেসের মধ্যে কোনও কাজ সম্পন্ন করার জন্য পরিবর্তনগুলি তৈরি করতে ব্যবহৃত হয়। এই পরিকল্পনাগুলিতে কোন সংশোধনগুলি প্রয়োজনীয় এবং ব্যবহারকারীর দ্বারা পর্যালোচনা করার জন্য তৈরি করা হয়েছে তার প্রযুক্তিগত বিবরণ থাকে, যদি না আপনার আর্টিফ্যাক্ট পর্যালোচনা নীতি "সর্বদা এগিয়ে যান" এ সেট করা থাকে।
  • Walkthrough : এজেন্ট যখন টাস্ক বাস্তবায়ন সম্পন্ন করে, তখন পরিবর্তনগুলির সারসংক্ষেপ এবং কীভাবে সেগুলি পরীক্ষা করতে হয় তা দেখানোর জন্য এটি তৈরি করা হয়।
  • Code diffs : যদিও টেকনিক্যালি কোনও আর্টিফ্যাক্ট নয়, অ্যান্টিগ্র্যাভিটি এমন কোড ডিফও তৈরি করে যা আপনি পর্যালোচনা এবং মন্তব্য করতে পারেন।
  • Screenshots : এজেন্ট পরিবর্তনের আগে এবং পরে UI এর অবস্থা ক্যাপচার করে।
  • Browser Recordings : গতিশীল ইন্টারঅ্যাকশনের জন্য (যেমন, "লগইন বোতামে ক্লিক করুন, স্পিনারের জন্য অপেক্ষা করুন, ড্যাশবোর্ড লোড যাচাই করুন"), এজেন্ট তার সেশনের একটি ভিডিও রেকর্ড করে। ডেভেলপার অ্যাপটি নিজে না চালিয়েই কার্যকরী প্রয়োজনীয়তা পূরণ হয়েছে কিনা তা যাচাই করতে এই ভিডিওটি দেখতে পারেন।

শিল্পকর্মগুলি তৈরি করা হয় এবং এজেন্ট ম্যানেজার এবং এডিটর উভয় ভিউতেই প্রদর্শিত হয়।

এডিটর ভিউতে, নীচের ডান কোণে, আপনি Artifacts এ ক্লিক করতে পারেন:

5deff47fe0a93aa1.png সম্পর্কে

Agent Manager ভিউতে, উপরে ডানদিকে, Review changes এর পাশে, আপনি আর্টিফ্যাক্টগুলি টগল করার জন্য একটি বোতাম দেখতে পাবেন অথবা যদি এটি টগল করা থাকে, তাহলে আপনি জেনারেট করা আর্টিফ্যাক্টগুলির তালিকা দেখতে পাবেন:

5320f447471c43eb.png সম্পর্কে

নীচে দেখানো আর্টিফ্যাক্টস ভিউটি আপনার দেখা উচিত। আমাদের ক্ষেত্রে, আমরা এজেন্টকে antigravity.google পৃষ্ঠাটি দেখার নির্দেশ দিয়েছিলাম এবং তাই তারা স্ক্রিনশটটি ধারণ করেছে, একই রকম একটি ভিডিও তৈরি করেছে:

19d9738bb3c7c0c9.png সম্পর্কে

আপনি এডিটর ভিউতে Review Changes -এ কোডের পার্থক্য দেখতে পাবেন:

e1d8fd6e7df4daf3.png

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

৬. ইনবক্সে আবার যান

যদি আপনি এজেন্টদের সাথে কয়েকটি কথোপকথন শুরু করে থাকেন, তাহলে এখন Agent Manager উইন্ডোতে আপনার Inbox একবার দেখে নেওয়া উচিত। এটি আপনাকে সমস্ত কথোপকথন দেখাবে। কথোপকথনের ইতিহাস, তৈরি করা শিল্পকর্ম এবং আরও অনেক কিছু দেখতে যেকোনো কথোপকথনে ক্লিক করুন। আমাদের ক্ষেত্রে, প্রথম কথোপকথনটি চালানোর পরে, আমাদের ইনবক্স নীচে দেখানো হিসাবে তালিকাভুক্ত কথোপকথনটি দেখায়:

1a2a1bbdd4464ecf.png সম্পর্কে

সেই কথোপকথনে ক্লিক করলে আপনাকে বিস্তারিত জানা যাবে:

b7e493765cfb1b1a.png সম্পর্কে

তুমি এখান থেকেও কথোপকথন চালিয়ে যেতে পারো।

৭. সম্পাদক

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

আপনি এজেন্ট ম্যানেজারের উপরের ডানদিকে " Open Editor বোতামে ক্লিক করে এডিটরে যেতে পারেন।

সেটআপ এবং এক্সটেনশন

একটি সাধারণ সেটআপে, আপনার সম্পাদক, টার্মিনাল এবং এজেন্ট দৃশ্যমান হবে:

7996408528de93e1.png সম্পর্কে

যদি এটি না হয়, তাহলে আপনি টার্মিনাল এবং এজেন্ট প্যানেলগুলিকে নিম্নরূপ টগল করতে পারেন:

  • টার্মিনাল প্যানেল টগল করতে, Ctrl + ` শর্টকাট ব্যবহার করুন।
  • এজেন্ট প্যানেল টগল করতে, Cmd + L শর্টকাট ব্যবহার করুন।

এছাড়াও, অ্যান্টিগ্রাভিটি সেটআপের সময় কিছু এক্সটেনশন ইনস্টল করতে পারে কিন্তু আপনি যে প্রোগ্রামিং ল্যাঙ্গুয়েজ ব্যবহার করছেন তার উপর নির্ভর করে, সম্ভবত আপনার আরও এক্সটেনশন ইনস্টল করার প্রয়োজন হবে। উদাহরণস্বরূপ, পাইথন ডেভেলপমেন্টের জন্য, আপনি এই এক্সটেনশনগুলি ইনস্টল করার জন্য বেছে নিতে পারেন:

bd33a79837b5a12a.png সম্পর্কে

সম্পাদক

স্বয়ংক্রিয়ভাবে সম্পন্ন করুন

এডিটরে কোড টাইপ করার সাথে সাথে একটি স্মার্ট অটো-কমপ্লিট শুরু হয় যা আপনি সহজেই ট্যাব করতে পারেন:

e90825ed7a009350.png সম্পর্কে

আমদানি করার জন্য ট্যাব

অনুপস্থিত নির্ভরতা যোগ করার জন্য আপনি আমদানির পরামর্শের ট্যাব পাবেন:

bcab60794caa0aec.png

লাফানোর জন্য ট্যাব

কোডের পরবর্তী লজিক্যাল স্থানে কার্সারটি নিয়ে যাওয়ার জন্য আপনি সাজেশন জাম্প করার জন্য ট্যাব পাবেন:

8610ae5217be7fe5.png সম্পর্কে

কমান্ড

আপনি প্রাকৃতিক ভাষা ব্যবহার করে ইনলাইন সমাপ্তির জন্য সম্পাদক বা টার্মিনালে Cmd + I দিয়ে কমান্ডগুলি ট্রিগার করতে পারেন।

এডিটরে, আপনি ফিবোনাচ্চি সংখ্যা গণনা করার একটি পদ্ধতি চাইতে পারেন এবং তারপর এটি গ্রহণ বা প্রত্যাখ্যান করতে পারেন:

13a615e515cea100.png সম্পর্কে

টার্মিনালে, আপনি টার্মিনাল কমান্ডের পরামর্শ পেতে পারেন:

5a75e560f998cedc.png সম্পর্কে

এজেন্ট সাইড প্যানেল

এডিটর থেকে, আপনি এজেন্ট সাইড প্যানেলটি একাধিক উপায়ে টগল করতে পারেন।

ম্যানুয়াল খোলা

আপনি Cmd + L শর্টকাট ব্যবহার করে ডানদিকে এজেন্ট প্যানেলটি ম্যানুয়ালি টগল করতে পারেন।

আপনি প্রশ্ন জিজ্ঞাসা করা শুরু করতে পারেন, ফাইল, ডিরেক্টরি, MCP সার্ভারের মতো আরও প্রসঙ্গ অন্তর্ভুক্ত করতে @ ব্যবহার করতে পারেন, অথবা একটি ওয়ার্কফ্লো (একটি সংরক্ষিত প্রম্পট) উল্লেখ করতে / ব্যবহার করতে পারেন:

95c5a6d31d771748.png সম্পর্কে

আপনি দুটি কথোপকথন মোডের মধ্যেও বেছে নিতে পারেন: Fast অথবা Planning :

d3d1449f12510e3e.png সম্পর্কে

দ্রুত কাজের জন্য Fast সুপারিশ করা হয় যেখানে Planning আরও জটিল কাজের জন্য সুপারিশ করা হয় যেখানে এজেন্ট এমন একটি পরিকল্পনা তৈরি করে যা আপনি অনুমোদন করতে পারেন।

আপনি কথোপকথনের জন্য বিভিন্ন মডেলও বেছে নিতে পারেন:

af709bcc03c1e21e.png সম্পর্কে

ব্যাখ্যা করুন এবং ঠিক করুন

এজেন্টটি ট্রিগার করার আরেকটি উপায় হল একটি সমস্যার উপর ঘোরানো এবং Explain and fix নির্বাচন করা:

অনুসরণ

এজেন্টের কাছে সমস্যা পাঠান

আপনি Problems বিভাগেও যেতে পারেন এবং এজেন্টকে সমস্যাগুলি সমাধান করার চেষ্টা করার জন্য Send all to Agent নির্বাচন করতে পারেন:

e4992d14708005d0.png সম্পর্কে

এজেন্টকে টার্মিনাল আউটপুট পাঠান

আপনি টার্মিনাল আউটপুটের একটি অংশ নির্বাচন করে Cmd + L ব্যবহার করে এজেন্টের কাছে পাঠাতে পারেন:

c40293bab474c9b1.png সম্পর্কে

সম্পাদক এবং এজেন্ট ম্যানেজারের মধ্যে টগল করা হচ্ছে

যেকোনো সময়ে, আপনি এডিটর মোডে থাকাকালীন উপরের ডানদিকে Open Agent Manager বোতামের মাধ্যমে এডিটর মোড এবং ফুল এজেন্ট ম্যানেজার মোডের মধ্যে স্যুইচ করতে পারেন এবং যখন আপনি এজেন্ট ম্যানেজার মোডে থাকবেন তখন উপরের ডানদিকে Open Editor বোতামে ক্লিক করে ফিরে আসতে পারেন।

বিকল্পভাবে, আপনি দুটি মোডের মধ্যে টগল করতে Cmd + E কীবোর্ড শর্টকাটও ব্যবহার করতে পারেন।

৮. মতামত প্রদান করুন

অ্যান্টিগ্র্যাভিটির মূলে রয়েছে অভিজ্ঞতার প্রতিটি পর্যায়ে অনায়াসে আপনার প্রতিক্রিয়া সংগ্রহ করার ক্ষমতা। এজেন্ট যখন কোনও কাজ সম্পন্ন করে, তখন সে পথে বিভিন্ন শিল্পকর্ম তৈরি করে:

  • একটি বাস্তবায়ন পরিকল্পনা এবং একটি কার্য তালিকা (কোডিংয়ের আগে)
  • কোডের পার্থক্য (যেহেতু এটি কোড তৈরি করে)
  • ফলাফল যাচাই করার জন্য একটি ওয়াকথ্রু (কোডিংয়ের পরে)

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

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

পরিকল্পনা মোড

প্রথমে, আপনাকে নিশ্চিত করতে হবে যে অ্যান্টিগ্র্যাভিটি Planning মোডে আছে ( Fast মোডের পরিবর্তে)। আপনি এজেন্ট সাইড প্যানেল চ্যাটে এটি নির্বাচন করতে পারেন। এটি নিশ্চিত করে যে অ্যান্টিগ্র্যাভিটি কোডে যাওয়ার আগে একটি বাস্তবায়ন পরিকল্পনা এবং একটি কার্য তালিকা তৈরি করে। তারপর, একটি প্রম্পট চেষ্টা করুন, এরকম কিছু: Create a todo list web app using Python । এটি এজেন্টকে পরিকল্পনা শুরু করতে এবং একটি বাস্তবায়ন পরিকল্পনা তৈরি করতে শুরু করবে।

বাস্তবায়ন পরিকল্পনা

একটি বাস্তবায়ন পরিকল্পনা হল অ্যান্টিগ্র্যাভিটি কী করতে চায়, কোন প্রযুক্তিগত স্ট্যাক ব্যবহার করবে তার একটি সারসংক্ষেপ এবং প্রস্তাবিত পরিবর্তনগুলির একটি উচ্চ-স্তরের বিবরণ।

Implementation Plan - Python Todo App
Goal
Create a simple, functional, and aesthetically pleasing Todo List web application using Python (Flask).

Tech Stack
Backend: Python with Flask
Frontend: HTML5, CSS3 (Vanilla), Jinja2 templates
...

এটিই প্রথম স্থান যেখানে আপনি প্রতিক্রিয়া জানাতে পারেন। আমাদের ক্ষেত্রে, এজেন্ট পাইথন ওয়েব ফ্রেমওয়ার্ক হিসেবে ফ্লাস্ক ব্যবহার করতে চায়। আমরা FastAPI ব্যবহার করার জন্য বাস্তবায়ন পরিকল্পনায় একটি মন্তব্য যোগ করতে পারি। একবার আপনি মন্তব্য যোগ করলে, হয় মন্তব্যটি জমা দিন অথবা অ্যান্টিগ্রাভিটিকে আপডেট করা বাস্তবায়ন পরিকল্পনার সাথে Proceed বলুন।

কাজের তালিকা

বাস্তবায়ন পরিকল্পনা আপডেট করার পর, অ্যান্টিগ্রাভিটি একটি কার্য তালিকা তৈরি করে। এটি অ্যাপ তৈরি এবং যাচাই করার জন্য অ্যান্টিগ্রাভিটি অনুসরণ করবে এমন পদক্ষেপগুলির একটি সুনির্দিষ্ট তালিকা।

Task Plan
 Create requirements.txt
 Create directory structure (static/css, templates)
 Create static/css/style.css
 Create templates/index.html
 Create main.py with FastAPI setup and Database logic
 Verify application

এটি দ্বিতীয় স্থান যেখানে আপনি প্রতিক্রিয়া জানাতে পারেন।

উদাহরণস্বরূপ, আমাদের ব্যবহারের ক্ষেত্রে, আপনি নিম্নলিখিত মন্তব্যটি যোগ করে আরও বিস্তারিত যাচাইকরণ নির্দেশাবলী যোগ করতে পারেন: Verify application by adding, editing, and deleting a todo item and taking a screenshot.

কোড পরিবর্তন

এই মুহুর্তে, অ্যান্টিগ্র্যাভিটি নতুন ফাইলগুলিতে কিছু কোড তৈরি করবে। আপনি বিস্তারিত না দেখেই এজেন্ট চ্যাট সাইড প্যানেলে এই সমস্ত পরিবর্তন Accept all বা Reject all করতে পারেন।

আপনি পরিবর্তনগুলির বিশদ দেখতে এবং কোডে বিস্তারিত মন্তব্য যোগ করতে Review changes ক্লিক করতে পারেন। উদাহরণস্বরূপ, আমরা main.py তে নিম্নলিখিত মন্তব্যটি যোগ করতে পারি: Add basic comments to all methods

এটি অ্যান্টিগ্র্যাভিটির সাথে কোডটি পুনরাবৃত্তি করার একটি দুর্দান্ত উপায়।

ওয়াকথ্রু

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

আপনি ওয়াকথ্রুতে স্ক্রিনশট বা ব্রাউজার রেকর্ডিং-এও মন্তব্য করতে পারেন। উদাহরণস্বরূপ, আমরা একটি মন্তব্য যোগ করতে পারি Change the blue theme to orange theme এবং জমা দিন। মন্তব্য জমা দেওয়ার পরে, অ্যান্টিগ্রাভিটি পরিবর্তনগুলি করে, ফলাফল যাচাই করে এবং ওয়াকথ্রু আপডেট করে।

পরিবর্তনগুলি পূর্বাবস্থায় ফেরান

সবশেষে, প্রতিটি ধাপের পরে, যদি আপনি পরিবর্তনটি নিয়ে খুশি না হন, তাহলে আপনার কাছে চ্যাট থেকে এটি পূর্বাবস্থায় ফিরিয়ে আনার বিকল্প আছে। আপনি কেবল ↩️ চ্যাটে Undo changes up to this point নির্বাচন করুন।

৯. নিয়ম এবং কর্মপ্রবাহ

অ্যান্টিগ্র্যাভিটি কয়েকটি কাস্টমাইজেশন বিকল্পের সাথে আসে: নিয়ম এবং কর্মপ্রবাহ

উপরের ডান কোণে ... এ ক্লিক করুন এবং Customizations নির্বাচন করুন, আপনি Rules and Workflows দেখতে পাবেন:

অনুসরণ

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

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

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

নিয়ম এবং কর্মপ্রবাহ উভয়ই বিশ্বব্যাপী অথবা প্রতিটি কর্মক্ষেত্রে প্রয়োগ করা যেতে পারে এবং নিম্নলিখিত স্থানে সংরক্ষণ করা যেতে পারে:

  • বিশ্বব্যাপী নিয়ম: ~/.gemini/GEMINI.md
  • বিশ্বব্যাপী কর্মপ্রবাহ: ~/.gemini/antigravity/global_workflows/global-workflow.md
  • কর্মক্ষেত্রের নিয়ম: your-workspace/.agent/rules/
  • কর্মক্ষেত্রের কর্মপ্রবাহ: your-workspace/.agent/workflows/

কর্মক্ষেত্রে কিছু নিয়ম এবং কর্মপ্রবাহ যোগ করা যাক।

একটি নিয়ম যোগ করুন

প্রথমে, একটি কোড স্টাইল নিয়ম যোগ করা যাক। Rules যান এবং +Workspace বোতামটি নির্বাচন করুন। এটিকে code-style-guide মতো একটি নাম দিন যাতে নিম্নলিখিত কোড স্টাইল নিয়মগুলি থাকে:

* Make sure all the code is styled with PEP 8 style guide
* Make sure all the code is properly commented

দ্বিতীয়ত, code-generation-guide নিয়মের উদাহরণ সহ কোডটি মডুলার উপায়ে তৈরি হয়েছে তা নিশ্চিত করার জন্য আরেকটি নিয়ম যোগ করা যাক:

* The main method in main.py is the entry point to showcase functionality.
* Do not generate code in the main method. Instead generate distinct functionality in a new file (eg. feature_x.py)
* Then, generate example code to show the new functionality in a new method in main.py (eg. example_feature_x) and simply call that method from the main method.

দুটি নিয়ম সংরক্ষিত এবং প্রস্তুত:

bfd179dfef6b2355.png সম্পর্কে

একটি কর্মপ্রবাহ যোগ করুন

ইউনিট পরীক্ষা তৈরির জন্য একটি ওয়ার্কফ্লোও সংজ্ঞায়িত করা যাক। এটি কোডটি নিয়ে সন্তুষ্ট হওয়ার পরে আমাদের ইউনিট পরীক্ষা শুরু করার অনুমতি দেবে (সর্বদা এজেন্ট ইউনিট পরীক্ষা তৈরি করে না)।

Workflows এ যান এবং +Workspace বোতামটি নির্বাচন করুন। এটিকে generate-unit-tests এর মতো একটি নাম দিন, যার মধ্যে নিম্নলিখিতগুলি থাকবে:

* Generate unit tests for each file and each method
* Make sure the unit tests are named similar to files but with test_ prefix

কর্মপ্রবাহ এখন ব্যবহারের জন্য প্রস্তুত:

d22059258592f0e1.png সম্পর্কে

চেষ্টা করে দেখো

এবার আসুন নিয়ম এবং কর্মপ্রবাহের কার্যকারিতা দেখি। আপনার কর্মক্ষেত্রে একটি skeleton main.py ফাইল তৈরি করুন:

def main():
    pass

if __name__ == "__main__":
    main()

এখন, এজেন্ট চ্যাট উইন্ডোতে যান এবং এজেন্টকে জিজ্ঞাসা করুন: Implement binary search and bubble sort.

এক বা দুই মিনিট পরে, আপনার ওয়ার্কস্পেসে তিনটি ফাইল পাওয়া উচিত: main.py , bubble_sort.py , binary_search.py ​​। আপনি আরও লক্ষ্য করবেন যে সমস্ত নিয়ম বাস্তবায়িত হয়েছে: প্রধান ফাইলটি বিশৃঙ্খল নয় এবং এর উদাহরণ কোড রয়েছে, প্রতিটি বৈশিষ্ট্য তার নিজস্ব ফাইলে বাস্তবায়িত হয়েছে, সমস্ত কোড নথিভুক্ত এবং ভাল স্টাইলে রয়েছে:

from binary_search import binary_search, binary_search_recursive
from bubble_sort import bubble_sort, bubble_sort_descending


def example_binary_search():
    """
    Demonstrate binary search algorithm with various test cases.
    """
    ...

def example_bubble_sort():
    """
    Demonstrate bubble sort algorithm with various test cases.
    """
    ...

def main():
    """
    Main entry point to showcase functionality.
    """
    example_binary_search()
    example_bubble_sort()
    print("\n" + "=" * 60)


if __name__ == "__main__":
    main()

এখন যেহেতু আমরা কোডটি নিয়ে খুশি, দেখা যাক আমরা জেনারেট ইউনিট টেস্ট ওয়ার্কফ্লো ট্রিগার করতে পারি কিনা।

চ্যাটে যান এবং /generate টাইপ করা শুরু করুন এবং অ্যান্টিগ্র্যাভিটি ইতিমধ্যেই আমাদের কর্মপ্রবাহ সম্পর্কে জানে:

8a3efd9e3be7eb6f.png সম্পর্কে

generate-unit-tests নির্বাচন করুন এবং এন্টার করুন। কয়েক সেকেন্ড পরে, আপনি আপনার কর্মক্ষেত্রে নতুন ফাইল পাবেন: test_binary_search.py ​​, test_bubble_sort.py এবং ইতিমধ্যেই বেশ কয়েকটি পরীক্ষা বাস্তবায়িত হয়েছে!

১১ ফেব্রুয়ারী৭৯৪০ef৮১৯৯.png

চমৎকার!

১০. এজেন্টকে সুরক্ষিত করা

আপনার টার্মিনাল এবং ব্রাউজারে একজন AI এজেন্টকে অ্যাক্সেস দেওয়া দ্বিধার মতো। এটি স্বয়ংক্রিয় ডিবাগিং এবং স্থাপনা সক্ষম করে কিন্তু প্রম্পট ইনজেকশন এবং ডেটা এক্সফিল্ট্রেশনের জন্য ভেক্টরও খুলে দেয়।

অ্যান্টিগ্র্যাভিটি টার্মিনাল কমান্ড অটো এক্সিকিউশন নীতি, অ্যালভো লিস্ট এবং ডিনাই লিস্টের চারপাশে ঘুরপাক খাওয়া একটি গ্রানুলার পারমিশন সিস্টেমের মাধ্যমে এটি মোকাবেলা করে।

যখন আপনি প্রথম অ্যান্টিগ্র্যাভিটি কনফিগার করবেন, অথবা সেটিংস মেনু থেকে, তখন আপনাকে একটি Terminal Command Auto Execution নীতি নির্বাচন করতে হবে। এই সেটিংটি শেল কমান্ড সম্পর্কিত এজেন্টের স্বায়ত্তশাসনকে নির্দেশ করে।

আপনি এর জন্য আপনার বর্তমান সেটিংস Antigravity — Settings -এ গিয়ে দেখতে পারেন, তারপর Advanced Settings -এ যান। Agent settings-এর জন্য আপনার Terminal বিভাগটি দেখা উচিত। আপনি যদি এই সেটিংটি অন্য কিছুতে পরিবর্তন করতে চান তবে এই টেবিলটি মনে রাখবেন:

নীতি মোড

বিবরণ

বন্ধ

স্পষ্টভাবে অনুমতি না দিলে এজেন্ট কখনই টার্মিনাল কমান্ড স্বয়ংক্রিয়ভাবে কার্যকর করে না।

স্বয়ংক্রিয়

এজেন্ট অভ্যন্তরীণ নিরাপত্তা মডেলের উপর ভিত্তি করে সিদ্ধান্ত নেয় যে কার্যকর করা হবে কিনা। এটি ঝুঁকিপূর্ণ কমান্ডের জন্য অনুমতি চায়।

টার্বো

স্পষ্টভাবে অস্বীকার না করা পর্যন্ত এজেন্ট সর্বদা কমান্ডগুলি স্বয়ংক্রিয়ভাবে কার্যকর করে।

অনুমতি তালিকা কনফিগার করা হচ্ছে

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

ধাপে ধাপে কনফিগারেশন

  1. টার্মিনাল কমান্ড অটো এক্সিকিউশন সেটিংটি অফ এ সেট করুন।
  2. Allow List Terminal Commands- এ নিচের কমান্ডটি যোগ করুন, এর পাশের Add বোতামে ক্লিক করে: ls -al । আপনি চাইলে অন্যান্য টার্মিনাল কমান্ডও যোগ করতে পারেন।

অনুমতি তালিকা পরীক্ষা করা হচ্ছে

  • এজেন্টকে জিজ্ঞাসা করুন: List the files in this directory
  • এজেন্টটি স্বয়ংক্রিয়ভাবে ls চালায়।
  • এজেন্টকে জিজ্ঞাসা করুন: Delete the <some file>
  • এজেন্টটি rm <filepath> চেষ্টা করবে, কিন্তু Antigravity এটি ব্লক করবে এবং ব্যবহারকারীকে পর্যালোচনা করতে বাধ্য করবে কারণ rm অনুমতি তালিকায় নেই। কমান্ডটি চালানোর আগে আপনার Antigravity-এর অনুমতি চাওয়া উচিত।

অস্বীকৃতি তালিকা কনফিগার করা

ডিনাই লিস্ট হল টার্বো (এবং কখনও কখনও অটো ) নীতির সুরক্ষা। এটি একটি নেতিবাচক সুরক্ষা মডেল উপস্থাপন করে, যার অর্থ স্পষ্টভাবে নিষিদ্ধ না হলে সবকিছুই অনুমোদিত। এটি ডেভেলপারের প্রতিটি সম্ভাব্য বিপদের পূর্বাভাসের উপর নির্ভর করে, যা একটি ঝুঁকিপূর্ণ প্রস্তাব, কিন্তু সর্বোচ্চ গতি প্রদান করে।

ধাপে ধাপে কনফিগারেশন

  1. টার্মিনাল কমান্ড অটো এক্সিকিউশন সেটিংটি টার্বোতে সেট করুন।
  2. Deny List Terminal Commands- এ নিচের কমান্ডগুলো যোগ করুন, এর পাশে থাকা Add বোতামে ক্লিক করে।
  3. আরএম
  4. rmdir সম্পর্কে
  5. সুডো
  6. কার্ল করা
  7. উইজেট

অস্বীকার তালিকা পরীক্ষা করা হচ্ছে

  • এজেন্টকে জিজ্ঞাসা করুন: Check the version of python
  • এজেন্টটি স্বয়ংক্রিয়ভাবে python --version চালায়।
  • এজেন্টকে জিজ্ঞাসা করুন: www.google.com home page Download
  • এজেন্টটি curl করার চেষ্টা করে। অ্যান্টিগ্র্যাভিটি ডিনাইলিস্টে curl সনাক্ত করে এবং এক্সিকিউশন ব্লক করে, আপনাকে ম্যানুয়াল অনুমোদনের জন্য অনুরোধ করে।

ব্রাউজার নিরাপত্তা

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

এটি প্রতিরোধ করতে, আপনি ব্রাউজার এজেন্টের জন্য একটি ব্রাউজার URL Allowlist বাস্তবায়ন করতে পারেন।

আপনি এর জন্য আপনার বর্তমান সেটিংস Antigravity — Settings এবং তারপর Advanced Settings -এ গিয়ে দেখতে পারেন। নীচে দেখানো ব্রাউজার সেটিংসের জন্য আপনি Browser URL Allowlist বিভাগটি দেখতে পাবেন:

5ed231150122ecc5.png সম্পর্কে

"ওপেন অ্যালোলিস্ট ফাইল" এ ক্লিক করলে HOME/.gemini/antigravity/browserAllowlist.txt. আপনি নিশ্চিত করতে পারেন যে এখানে শুধুমাত্র বিশ্বস্ত ডোমেন প্রবেশ করানো হয়েছে।

১১. ব্যবহারের ক্ষেত্রে

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

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

সংবাদ হাইলাইটস

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

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

নিশ্চিত করুন যে আপনি Agent Manager আছেন এবং নীচে দেখানো Playground নির্বাচন করেছেন:

অনুসরণ

তারপর নিম্নলিখিত নির্দেশ দিন:

8513d489eea0b014.png সম্পর্কে

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

9d594588f2ffe6bc.png সম্পর্কে

একবার এটির কাজ শেষ হয়ে গেলে, আপনি নীচে দেখানো হিসাবে আর্টিফ্যাক্টগুলি তৈরি হতেও দেখতে পাবেন:

dc6cf4e7d8425df8.png সম্পর্কে

এজেন্ট কর্তৃক একটি নমুনা সম্পাদন নীচে দেখানো হয়েছে:

fb7397cd2cce0682.png সম্পর্কে

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

চেষ্টা করে দেখার মতো জিনিস

  • একবার আপনি এটি বুঝতে পারলে, এমন একটি ওয়েবসাইট বেছে নিন যা উপলব্ধ এবং আপনি চান যে এজেন্ট সেখানে গিয়ে কিছু তথ্য সংগ্রহ/সংক্ষেপে প্রকাশ করুক। এমন একটি ওয়েবসাইট বিবেচনা করুন যেখানে ড্যাশবোর্ড এবং চার্ট রয়েছে এবং এটিকে কয়েকটি মান বেছে নিতে বলুন।
  • নিম্নলিখিত প্রম্পটটি চেষ্টা করে দেখুন: Visit https://docs.cloud.google.com/release-notes and get me a summary of the release notes, categorized by product.

পাইথন + ফ্লাস্ক দিয়ে একটি ডায়নামিক ওয়েবসাইট তৈরি করুন

এবার একটি সম্পূর্ণ ওয়েব অ্যাপ্লিকেশন তৈরি করা যাক। আমরা যে ওয়েব অ্যাপ্লিকেশনটি তৈরি করতে যাচ্ছি তা এমন একটি সাইট যা ১ দিনের টেকনিক্যাল ইভেন্টের তথ্য প্রদান করে, যেখানে দিনভর একাধিক বক্তা আলোচনা করেন।

আবারও, নিশ্চিত করুন যে আপনি Agent Manager আছেন এবং Playground নির্বাচন করেছেন।

নিম্নলিখিত প্রম্পট দিন:

I would like to generate a website that is a 1-day technical conference informational site.

The website should have the following functionality:
        1. A home page that shows the current date, location, schedule and time table.
        2. The 1-day event is a list of 8 talks in total.
        3. Each talk has 1 or 2 max. speakers. 
        4. A talk has an ID, Title, Speakers, Category (1 or 2), Description and time of the talk.
        5. Each speaker has a First Name, Last Name and LinkedIn url.
        6. Allow for users to search by category, speaker, title.
        7. Give a lunch break of 60 minutes.
        8. Use dummy data for events and speakers, come up with a schedule, the event is about Google Cloud Technologies.
        9. Tech Stack: Python and Flask framework on server side. Front-end is basic HTML, CSS and JavaScript. 
        10. Test out the site on your own for all functionality and provide a detailed README on how to setup, run and make any further changes. 
11. Launch the web application for me to review. 

উপরের প্রম্পটটি দিয়ে আপনি কথোপকথন শুরু করতে পারেন:

এজেন্ট যখন তার কাজ শেষ করবে, তখন সে শিল্পকর্ম তৈরিতে এগিয়ে যাবে:

  • টাস্ক আর্টিফ্যাক্ট
  • বাস্তবায়ন শিল্পকর্ম
  • ওয়াকথ্রু আর্টিফ্যাক্ট

নিচে দেওয়া টাস্ক আর্টিফ্যাক্টটি ছিল এজেন্ট কর্তৃক প্রদত্ত টাস্কের উপর ভিত্তি করে করণীয় কাজের প্রাথমিক ক্রম। এক্সিকিউশনের একটি নমুনা স্ক্রিনশট নীচে দেখানো হল:

c95d82e1c040698f.png সম্পর্কে

এরপর আপনি "ইমপ্লিমেন্টেশন প্ল্যান" আর্টিফ্যাক্টে ক্লিক করতে পারেন। একটি নমুনা স্ক্রিনশট নীচে দেখানো হয়েছে:

632169a236bc62cc.png সম্পর্কে

এবং অবশেষে, আপনার কাছে ওয়াকথ্রু আর্টিফ্যাক্ট আছে। এতে এজেন্ট যা যা করেছে তা নীচে দেখানো হয়েছে:

e3f6152d6f54d4f9.png সম্পর্কে

লক্ষ্য করুন যে এটি সার্ভারটি চালু করেছে এবং আমাকে URL দিয়েছে, যেটিতে আমি ক্লিক করলে আমার কাছে অ্যাপ্লিকেশনটি আছে, একটি নমুনা স্ক্রিনশট নীচে দেখানো হয়েছে:

abf879f2ce53d055.png সম্পর্কে

যদি আমি Editor এ স্যুইচ করি, তাহলে স্ক্রিনে লক্ষ্য করুন যে এতে সেই ফোল্ডারটি রয়েছে যেখানে Python Flask অ্যাপ্লিকেশন তৈরি করা হয়েছে। আপনি আরও লক্ষ্য করবেন যে Agent mode ডানদিকে ট্যাগ করা হয়েছে এবং আপনি সেখানেও কথোপকথন চালিয়ে যেতে পারেন।

অনুসরণ

এখন, ধরা যাক আমরা ইভেন্টে আরও কিছু আলোচনা যোগ করতে চাই। আমরা সম্পাদক এবং এজেন্ট প্যানেলে থাকতে পারি, Add two more talks to the schedule মতো একটি নির্দেশনা দিতে পারি।

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

ba8455e6f68973e9.png সম্পর্কে

আপনি চাইলে এজেন্ট ম্যানেজারে ফিরে যেতে পারেন। এই প্রক্রিয়াটি আপনাকে এজেন্ট ম্যানেজার থেকে এডিটরে স্থানান্তর, সেই অনুযায়ী পরিবর্তন করা ইত্যাদি প্রক্রিয়া বুঝতে সাহায্য করবে।

চেষ্টা করে দেখার মতো জিনিস

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

একটি সহজ উৎপাদনশীলতা অ্যাপ তৈরি করুন

আমরা এখন একটি সহজ Pomodoro টাইমার ওয়েব অ্যাপ্লিকেশন তৈরি করতে যাচ্ছি।

নিশ্চিত করুন যে আপনি Agent Manager আছেন এবং Playground নির্বাচন করেছেন। নিম্নলিখিত প্রম্পটটি দিন:

Create a productivity app that features a Pomodoro timer. Give a calm and aesthetic look to the application.

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

5be0a668e5a67d85.png সম্পর্কে

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

শেষ অ্যাপটি দেখতে নিচের অ্যাপটির মতো ছিল এবং এটি বেশ ভালো দেখাচ্ছে।

c9ab6bca97a51a8c.png সম্পর্কে

আমরা অ্যাপ্লিকেশনটিতে একটি সুন্দর টাইমার ইমেজ যোগ করতে পারি। আমাদের যা করতে হবে তা হল নীচের দেওয়া একটি ফলো-আপ নির্দেশনা জারি করা:

Add an image to the application that displays a timer.

এর ফলে এজেন্ট টাস্ক আর্টিফ্যাক্টে একটি নতুন টাস্ক যোগ করেছে:

498dd946d4e9ae55.png সম্পর্কে

এরপর এটি তার কাজটি সম্পন্ন করার সময় একটি চিত্র তৈরি করে:

c291da9bdb37ff96.png সম্পর্কে

অবশেষে, অ্যাপটিতে আমাদের অনুরোধ অনুযায়ী ছবিটি এসেছে:

de8f418ba8e4600d.png

চেষ্টা করে দেখার মতো জিনিস

  • লক্ষ্য করুন অ্যাপ্লিকেশনটিতে বালিঘড়ি আইকনের পটভূমি স্বচ্ছ নয়। এজেন্টকে এটি স্বচ্ছ করতে বলার চেষ্টা করুন।
  • আপনি যে অ্যাপ্লিকেশন তৈরি করতে চান তার কয়েকটি ভিন্নতা ব্যবহার করে দেখুন। স্টাইল, ছবি, পরিবর্তনের জন্য জিজ্ঞাসা ইত্যাদি নিয়ে খেলুন।

ইউনিট টেস্ট, মক স্টাব তৈরি করুন এবং পরীক্ষা যাচাই করুন

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

এর জন্য, আমাদের এমন একটি ওয়ার্কস্পেস থাকবে যেখানে নীচে দেখানো একটি পাইথন ফাইল থাকবে:

from typing import Dict

# --- Custom Exceptions ---
class InventoryShortageError(Exception):
    """Raised when there is not enough item stock."""
    pass

class PaymentFailedError(Exception):
    """Raised when the payment gateway rejects the transaction."""
    pass

class InvalidOrderError(Exception):
    """Raised when the order violates business rules."""
    pass

# --- External Service Interfaces (To be Mocked) ---
class InventoryService:
    def get_stock(self, product_id: str) -> int:
        """Connects to DB to check stock."""
        raise NotImplementedError("Real connection required")

    def decrement_stock(self, product_id: str, quantity: int):
        """Connects to DB to reduce stock."""
        raise NotImplementedError("Real connection required")

class PaymentGateway:
    def charge(self, amount: float, currency: str) -> bool:
        """Connects to Stripe/PayPal."""
        raise NotImplementedError("Real connection required")

# --- Main Business Logic ---
class Order:
    def __init__(self, 
                 inventory_service: InventoryService, 
                 payment_gateway: PaymentGateway,
                 customer_email: str,
                 is_vip: bool = False):
        
        self.inventory = inventory_service
        self.payment = payment_gateway
        self.customer_email = customer_email
        self.is_vip = is_vip
        self.items: Dict[str, Dict] = {} # {product_id: {'price': float, 'qty': int}}
        self.is_paid = False
        self.status = "DRAFT"

    def add_item(self, product_id: str, price: float, quantity: int = 1):
        """Adds items to the cart. Rejects invalid prices or quantities."""
        if price < 0:
            raise ValueError("Price cannot be negative")
        if quantity <= 0:
            raise ValueError("Quantity must be greater than zero")

        if product_id in self.items:
            self.items[product_id]['qty'] += quantity
        else:
            self.items[product_id] = {'price': price, 'qty': quantity}

    def remove_item(self, product_id: str):
        """Removes an item entirely from the cart."""
        if product_id in self.items:
            del self.items[product_id]

    @property
    def total_price(self) -> float:
        """Calculates raw total before discounts."""
        return sum(item['price'] * item['qty'] for item in self.items.values())

    def apply_discount(self) -> float:
        """
        Applies business logic:
        1. VIPs get flat 20% off.
        2. Regulars get 10% off if total > 100.
        3. No discount otherwise.
        """
        total = self.total_price
        
        if self.is_vip:
            return round(total * 0.8, 2)
        elif total > 100:
            return round(total * 0.9, 2)
        
        return round(total, 2)

    def checkout(self):
        """
        Orchestrates the checkout process:
        1. Validates cart is not empty.
        2. Checks stock for all items.
        3. Calculates final price.
        4. Charges payment.
        5. Updates inventory.
        """
        if not self.items:
            raise InvalidOrderError("Cannot checkout an empty cart")

        # 1. Check Inventory Logic
        for product_id, data in self.items.items():
            available_stock = self.inventory.get_stock(product_id)
            if available_stock < data['qty']:
                raise InventoryShortageError(f"Not enough stock for {product_id}")

        # 2. Calculate Final Price
        final_amount = self.apply_discount()

        # 3. Process Payment
        try:
            success = self.payment.charge(final_amount, "USD")
            if not success:
                raise PaymentFailedError("Transaction declined by gateway")
        except Exception as e:
            # Catching generic network errors from the gateway
            raise PaymentFailedError(f"Payment gateway error: {str(e)}")

        # 4. Decrement Stock (Only occurs if payment succeeded)
        for product_id, data in self.items.items():
            self.inventory.decrement_stock(product_id, data['qty'])

        self.is_paid = True
        self.status = "COMPLETED"
        
        return {"status": "success", "charged_amount": final_amount}

নিশ্চিত করুন যে উপরের পাইথন ফাইলটি স্থানীয়ভাবে একটি ফোল্ডারে আছে এবং আপনি এটি অ্যান্টিগ্র্যাভিটিতে একটি ওয়ার্কস্পেস হিসাবে লোড করছেন।

এটি একটি সহজ অর্ডার পরিষেবা যার checkout ফাংশনে নিম্নলিখিত মূল কার্যকারিতা রয়েছে:

  1. কার্ট খালি নেই তা যাচাই করে।
  2. সমস্ত আইটেমের স্টক পরীক্ষা করুন।
  3. চূড়ান্ত মূল্য গণনা করে।
  4. চার্জ পরিশোধ।
  5. ইনভেন্টরি আপডেট করে।

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

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

8368856e51a7561a.png সম্পর্কে

এই ফাইলটি কী তার কিছু ব্যাখ্যা এখানে দেওয়া হল:

b69c217d3372d802.png সম্পর্কে

আমরা প্রম্পটের মাধ্যমে এটিকে আরও ভালো ভিজ্যুয়ালাইজেশন তৈরি করতে বলতে পারি:

Can you visually show this class for better understanding

da5bd701323818d4.png সম্পর্কে

আমাদের পরবর্তী পদক্ষেপ হল ইউনিট পরীক্ষা তৈরি করা এবং এজেন্টকে এটি পরীক্ষা করতে বলা। আমি নিম্নলিখিত প্রম্পট দিচ্ছি:

generate unit tests for this module and test it out with mock implementations.

এটি নিম্নলিখিত টাস্ক আর্টিফ্যাক্ট তৈরি করেছে এবং তার কাজটি চালিয়ে গেছে।

21425379db336dc6.png সম্পর্কে

আপনি এটি পরিচালিত পরীক্ষাগুলির বিবরণও দেখতে পারেন:

48f3320cd76b5cd8.png সম্পর্কে

এটি যে ফাইলগুলি তৈরি করেছিল তার মধ্যে একটি ছিল টেস্ট ফাইল। যার একটি স্ক্রিনশট নীচে দেখানো হয়েছে:

f962061f115c040f.png সম্পর্কে

চেষ্টা করে দেখার মতো জিনিস

আপনার নিজস্ব কোড নিন এবং দেখুন এজেন্টকে আপনি কী করতে বলতে পারেন, আরও কার্যকারিতা যোগ করা থেকে শুরু করে আপনার কোডের অংশগুলি রিফ্যাক্টর করা পর্যন্ত।

১২. অভিনন্দন

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

রেফারেন্স ডক্স