১. আপনি যা শিখবেন
- একটি নির্দিষ্ট ফ্রেমওয়ার্কে (ADK) কোডিং করার ক্ষমতা সক্রিয় করতে Antigravity CLI-এর জন্য কীভাবে একটি স্কিল ইনস্টল এবং রেজিস্টার করতে হয়।
- একটি সম্পূর্ণ ADK এজেন্ট কনফিগারেশন তৈরি করতে Antigravity CLI কীভাবে ব্যবহার করবেন
- কোনো এজেন্টের নির্দেশনা উন্নত করার মাধ্যমে তার ব্যক্তিত্বকে কীভাবে আরও উন্নত করা যায়।
- সাম্প্রতিক ঘটনা সম্পর্কে প্রশ্নের উত্তর পেতে আপনার এজেন্টকে
google_searchকরিয়ে কীভাবে তার 'গ্রাউন্ডিং' বা ভিত্তি স্থাপন করবেন।
এআই সঙ্গী অ্যাপ
এই কোডল্যাবে, আপনি একটি ভিজ্যুয়াল, ইন্টারেক্টিভ এআই সঙ্গীকে জীবন্ত করে তুলবেন। এটি সাধারণ টেক্সট-ইন-টেক্সট-আউট চ্যাটবটের চেয়ে অনেক বেশি কিছু। এমন একটি চরিত্রের কথা ভাবুন যা একটি ওয়েবপেজে বাস করে। আপনি একটি বার্তা টাইপ করবেন, এবং উত্তরে শুধু টেক্সট দেখার পরিবর্তে, চরিত্রটি আপনার দিকে তাকিয়ে উচ্চস্বরে উত্তর দেবে, এবং তার মুখের নড়াচড়া কথার সাথে তাল মিলিয়ে হবে।
আপনি একটি পূর্ব-নির্মিত ওয়েব অ্যাপ্লিকেশন দিয়ে শুরু করবেন—এটি একটি ডিজিটাল 'পুতুল' যার মুখ আছে কিন্তু নিজস্ব কোনো বুদ্ধি নেই। এটি কেবল আপনি যা টাইপ করবেন তাই পুনরাবৃত্তি করতে পারে। আপনার কাজ হলো একেবারে গোড়া থেকে এর মস্তিষ্ক এবং ব্যক্তিত্ব গড়ে তোলা।
এই কর্মশালা জুড়ে, আপনি ক্রমান্বয়ে এতে বুদ্ধিমত্তা ও স্বকীয়তার স্তর যুক্ত করে এই সাধারণ পুতুলটিকে একটি অনন্য ও সক্ষম সঙ্গীতে রূপান্তরিত করবেন। আপনি হবেন:
- ভাষা বোঝা ও তৈরি করার জন্য ADK (পাইথন) ব্যবহার করে একে একটি মৌলিক বুদ্ধিমত্তা প্রদান করা ।
- এর চরিত্র নির্ধারণকারী মূল নির্দেশাবলী লিখে এর অনন্য ব্যক্তিত্ব গড়ে তোলা ।
- ইন্টারনেট থেকে রিয়েল-টাইম তথ্য সংগ্রহের সরঞ্জাম দিয়ে একে অতিমানবীয় ক্ষমতা প্রদান করা ।
- এআই ব্যবহার করে একটি অনন্য অবতার তৈরি করে এর নিজস্ব রূপ ডিজাইন করা হয়েছে ।
সবশেষে, আপনি নিজের তৈরি একটি সম্পূর্ণ কার্যকরী ও ব্যক্তিগতকৃত এআই সঙ্গী পাবেন। 
স্থাপত্য
আমাদের অ্যাপ্লিকেশনটি একটি সহজ কিন্তু শক্তিশালী প্যাটার্ন অনুসরণ করে। আমাদের একটি পাইথন ব্যাকএন্ড আছে যা একটি এপিআই (API) সরবরাহ করে। এই ব্যাকএন্ডে আমাদের ADK এজেন্ট থাকবে, যা 'মস্তিষ্ক' হিসেবে কাজ করে। এরপর যেকোনো ইউজার ইন্টারফেস (যেমন স্কেলেটন অ্যাপের জাভাস্ক্রিপ্ট ফ্রন্টএন্ড, একটি মোবাইল অ্যাপ, বা এমনকি একটি কমান্ড-লাইন টুল) এপিআই-এর মাধ্যমে এই মস্তিষ্কের সাথে যোগাযোগ করতে পারে।
এর পাশাপাশি, আমরা অ্যান্টিগ্র্যাভিটি সিএলআই-এর অন্তর্নির্মিত চিত্র তৈরির ক্ষমতাকে কাজে লাগাব এবং আমাদের এআই সঙ্গীর জন্য একটি অনন্য রূপ তৈরি করার নির্দেশ দেব।

একটি জেমিনি এপিআই কী সংগ্রহ করুন
এগিয়ে যাওয়ার আগে, গুগল এআই স্টুডিও-তে আপনার অনুরোধগুলি প্রমাণীকরণের জন্য একটি জেমিনি এপিআই কী প্রয়োজন।
- Google AI Studio- তে যান।
- আপনার গুগল অ্যাকাউন্ট দিয়ে সাইন ইন করুন।
- উপরের বাম দিকের মেনুতে থাকা Get API key বাটনটিতে ক্লিক করুন।
- Create API key-তে ক্লিক করুন (আপনি এটি একটি নতুন বা বিদ্যমান Google Cloud প্রজেক্টে তৈরি করতে পারেন)।
- তৈরি হওয়া কী-টি কপি করুন। এই কী-টি গোপন ও সুরক্ষিত রাখুন।

প্রকল্প তৈরি ও কনফিগার করুন
ক্লাউড শেল অ্যাক্সেস করার জন্য আপনার একটি গুগল ক্লাউড প্রজেক্ট প্রয়োজন হবে। যদি আপনার একটি না থাকে:
- গুগল ক্লাউড কনসোলে যান।
- কনসোলের উপরের নেভিগেশন বারে, 'Select a project'-এ ক্লিক করুন, তারপর উপরের ডান কোণায় 'New Project'- এ ক্লিক করুন।
- আপনার প্রজেক্টের একটি নাম দিন এবং তৈরি করুন-এ ক্লিক করুন। (কোনো প্রতিষ্ঠানের প্রয়োজন নেই)।
- প্রজেক্টটি তৈরি হয়ে গেলে, কনসোলের উপরের প্রজেক্ট ড্রপডাউন থেকে সেটি নির্বাচন করুন।

আপনার প্রজেক্টটি এখন ক্লাউড শেল অ্যাক্সেসের জন্য কনফিগার করা হয়েছে।
২. শুরু করার আগে
👉Google Cloud কনসোলের উপরে থাকা Activate Cloud Shell-এ ক্লিক করুন (এটি Cloud Shell পেনের উপরে থাকা টার্মিনাল আকৃতির আইকন), 
👉💻 ক্লাউড শেল টার্মিনালে Antigravity CLI ইনস্টল করুন:
curl -fsSL https://antigravity.google/cli/install.sh | bash
👉💻 'agy' CLI-টি বিশ্বব্যাপী ব্যবহার করতে, এটিকে আপনার শেল প্রোফাইলে যোগ করুন:
echo 'export PATH="~/.local/bin:$PATH"' >> ~/.bashrc && source ~/.bashrc
👉💻 আপনার জেমিনি এপিআই কী (Gemini API Key) এক্সপোর্ট করুন এবং ক্লাউড শেল টার্মিনালে স্থানীয়ভাবে সংরক্ষণ করুন:
# Set your Gemini API key (obtained from Google AI Studio)
export GEMINI_API_KEY=<your-api-key-here>
👉💻 পরে ব্যবহারের জন্য সংরক্ষণ করুন:
echo $GEMINI_API_KEY > ~/gemini_key.txt
👉আপনার গুগল ক্লাউড প্রজেক্ট আইডি খুঁজুন:
- গুগল ক্লাউড কনসোল খুলুন: https://console.cloud.google.com
- পৃষ্ঠার শীর্ষে থাকা প্রজেক্ট ড্রপডাউন থেকে এই কর্মশালার জন্য আপনি যে প্রজেক্টটি ব্যবহার করতে চান, সেটি নির্বাচন করুন।
- আপনার প্রজেক্ট আইডি ড্যাশবোর্ডের প্রজেক্ট ইনফো কার্ডে প্রদর্শিত হয়।

👉💻 টার্মিনালে, গিটহাব থেকে বুটস্ট্র্যাপ প্রজেক্টটি ক্লোন করুন:
git clone https://github.com/weimeilin79/companion-python
chmod +x ~/companion-python/*.sh
👉💻 ইনিশিয়ালাইজেশন স্ক্রিপ্টটি চালান, এই স্ক্রিপ্টটি আপনাকে আপনার গুগল ক্লাউড প্রজেক্ট আইডি লিখতে বলবে। এবং init.sh স্ক্রিপ্টটি যখন আইডি চাইবে, তখন আগের ধাপে পাওয়া গুগল ক্লাউড প্রজেক্ট আইডিটি লিখুন।
cd ~/companion-python
./init.sh
👉💻 প্রয়োজনীয় প্রজেক্ট আইডি সেট করুন:
gcloud config set project $(cat ~/project_id.txt) --quiet
👉💻 প্রয়োজনীয় গুগল ক্লাউড এপিআই (API) সক্রিয় করতে নিম্নলিখিত কমান্ডটি চালান (ক্লাউড শেল প্রিভিউ/হোস্টিং-এর জন্য শুধুমাত্র কম্পিউট ইঞ্জিন প্রয়োজন):
gcloud services enable compute.googleapis.com
ADK ডেভেলপার স্কিল ইনস্টল করুন
অ্যান্টিগ্র্যাভিটি সিএলআই ( agy )-কে পাইথন এজেন্ট ডেভেলপমেন্ট কিট (ADK) ব্যবহার করে কোড বুঝতে ও লিখতে দেওয়ার জন্য, আমাদের তৈরি করা ADK পাইথন ডেভেলপার স্কিলটি প্রোজেক্ট ওয়ার্কস্পেসে ইনস্টল করতে হবে।
👉💻 স্থানীয় এজেন্ট স্কিল ডিরেক্টরি তৈরি করুন এবং স্কিল ফাইলটি কপি করুন:
mkdir -p ~/companion-python/.agents/skills/adk-python
cp ~/companion-python/skills/skill.md ~/companion-python/.agents/skills/adk-python/SKILL.md
এটি প্রোজেক্টের মধ্যে স্থানীয়ভাবে স্কিলটি রেজিস্টার করে। যখন আপনি agy চালু করবেন, এটি স্বয়ংক্রিয়ভাবে এই স্কিলটি শনাক্ত ও লোড করবে, যা এটিকে ADK এজেন্টদের লেখা, সম্পাদনা এবং অর্কেস্ট্রেট করতে সক্ষম করবে।
👉💻 আপনার ক্লাউড শেল টার্মিনালে অ্যান্টিগ্র্যাভিটি সিএলআই (Antigravity CLI) চালু করুন:
cd ~/companion-python
agy
[!গুরুত্বপূর্ণ] অ্যান্টিগ্র্যাভিটি সিএলআই-তে লগ ইন করা হচ্ছে
আপনি যখন প্রথমবার agy কমান্ডটি চালাবেন, তখন এটি আপনাকে লগ ইন করতে বলবে:
Welcome to the Antigravity CLI. You are currently not signed in. Select login method: > 1. Google OAuth 2. Use a Google Cloud project
-
Enterচেপে অপশন ১. গুগল ওঅথ (Google OAuth) বেছে নিন। - ব্রাউজারটি খুলতে নির্দেশাবলী অনুসরণ করুন, আপনার গুগল অ্যাকাউন্ট দিয়ে প্রমাণীকরণ করুন এবং সাইন ইন করার জন্য নির্দেশনাগুলো অনুসরণ করুন।
এখন আপনি ইন্টারেক্টিভ অ্যান্টিগ্র্যাভিটি সিএলআই প্রম্পটে আছেন!
Antigravity CLI এর মাধ্যমে ওয়েব সার্ভারটি চালু করুন
যেহেতু Antigravity CLI আপনার হয়ে কমান্ড চালাতে পারে, তাই চলুন এটিকে আপনার সেশনের ব্যাকগ্রাউন্ডে সার্ভারটি চালাতে বলি।
👉✨ Antigravity CLI প্রম্পটে, নিম্নলিখিত অনুরোধটি পেস্ট করুন:
Start the Python web server for me in the background by executing `python app.py`. Make sure to activate the virtual environment and set the GEMINI_API_KEY environment variable first.
CLI কমান্ডটি কার্যকর করবে এবং সার্ভারটি চালু আছে কিনা তা নিশ্চিত করবে। আপনি ইন্টারেক্টিভ CLI সেশনেই থাকবেন।
👀 অ্যাপটি দেখতে, ক্লাউড শেল টুলবারে থাকা ওয়েব প্রিভিউ আইকনে ক্লিক করুন। ‘Change port’ নির্বাচন করে সেটিকে 5000-এ সেট করুন এবং ‘Change and Preview’-তে ক্লিক করুন। আপনার ওয়েবসাইটের একটি প্রিভিউ প্রদর্শিত হবে।

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

৩. অ্যান্টিগ্র্যাভিটি সিএলআই ব্যবহার করে একটি ক্যারেক্টার তৈরি করুন
এখন, চলুন আমাদের সঙ্গীর বুদ্ধিমত্তার মূল ভিত্তি তৈরি করি। যেহেতু Antigravity CLI ইতিমধ্যে আপনার টার্মিনালে চলছে এবং ব্যাকগ্রাউন্ড ওয়েব সার্ভারটি পরিচালনা করছে, আপনি সরাসরি আপনার ইন্টারেক্টিভ সেশনে কাজ চালিয়ে যেতে পারেন।
আমরা একটি এজেন্ট তৈরি করতে CLI ব্যবহার করছি। একটি এজেন্ট শুধু ল্যাঙ্গুয়েজ মডেলে একটি সাধারণ কল করার চেয়েও বেশি কিছু; এটি আমাদের AI-এর "মস্তিষ্ক" বা কেন্দ্রীয় নিয়ন্ত্রক। এটিকে একটি স্বতন্ত্র সত্তা হিসেবে ভাবুন যা যুক্তি দিয়ে ভাবতে পারে, নির্দিষ্ট কিছু নির্দেশাবলী অনুসরণ করতে পারে (তার নিজস্ব ব্যক্তিত্ব), এবং অবশেষে বিভিন্ন কাজ সম্পন্ন করার জন্য সরঞ্জাম ব্যবহার করতে পারে। আমাদের প্রকল্পে, এই এজেন্টটিই সেই অংশ যা ব্যবহারকারীর বার্তা গ্রহণ করবে, আমাদের সঙ্গীর অনন্য ব্যক্তিত্বকে ধারণ করবে এবং বুদ্ধিদীপ্ত ও চরিত্রানুগ প্রতিক্রিয়া তৈরি করবে।

👉✨ এজেন্টের কোড তৈরি করতে, Antigravity CLI প্রম্পটে নিম্নলিখিতটি পেস্ট করুন:
Generate the Python code for a file named character.py.
The code must import `LlmAgent` from `google.adk.agents.llm_agent`. It should also import `logging` and `os`.
Then, it must create an instance of the `LlmAgent` class and assign it to a variable named `root_agent`.
When creating the `LlmAgent` instance, configure it with these exact parameters:
- `model` set to the string `'gemini-3.5-flash'`.
- `name` set to the string `'companion_agent'`.
- `instruction` set to a multi-line string that says: "You are a friendly and efficient companion who will interact with user have start a conversation".
CLI পাইথন কোডটি তৈরি করবে।
👉'ওপেন এডিটর' বোতামে (এটি দেখতে পেন্সিলসহ একটি খোলা ফোল্ডারের মতো) ক্লিক করুন। এটি উইন্ডোতে ক্লাউড শেল কোড এডিটর খুলে দেবে। আপনি বাম দিকে একটি ফাইল এক্সপ্লোরার দেখতে পাবেন। 
👉 এডিটর ব্যবহার করে companion-python ফোল্ডারের অধীনে থাকা character.py ফাইলটিতে যান। অনুগ্রহ করে model= লাইনটি পরীক্ষা করে দেখুন এবং যদি ভিন্ন কোনো মডেল বেছে নেওয়া হয়ে থাকে, তবে ম্যানুয়ালি এটি gemini-3.5-flash এ পরিবর্তন করে দিন। এটি আমাদের ওয়ার্কশপের বাকি অংশের জন্য সামঞ্জস্য নিশ্চিত করবে।

দ্রষ্টব্য: বৃহৎ ল্যাঙ্গুয়েজ মডেলগুলো নন-ডিটারমিনিস্টিক হতে পারে, এবং এটি এআই-সহায়তায় ডেভেলপমেন্টের একটি মূল ধারণা। "নন-ডিটারমিনিস্টিক" বলতে বোঝায় যে, হুবহু একই প্রম্পট দেওয়া হলেও মডেলটি প্রতিবার সামান্য ভিন্ন ফলাফল তৈরি করতে পারে। এটি কোড তৈরি করার জন্য তার নিজস্ব সৃজনশীলতা ব্যবহার করে, তাই আপনি কমেন্ট, স্পেসিং বা এমনকি টেম্পোরারি ভেরিয়েবলের নামকরণেও ভিন্নতা দেখতে পারেন। তবে, মূল লজিক এবং কাঠামো অনুরোধ করা কোডের সাথে কার্যকরীভাবে অভিন্ন হওয়া উচিত।
এই কারণেই এআই দিয়ে কোডিং করাটা কদাচিৎই একটি এককালীন কমান্ড হয়। বাস্তব কোনো প্রোজেক্টে, ডেভেলপাররা এটিকে একটি কথোপকথনের মতো করে দেখেন। আপনি একটি সাধারণ অনুরোধ দিয়ে শুরু করেন (যেমনটা আমরা এইমাত্র করলাম), আউটপুটটি পর্যালোচনা করেন, এবং তারপরে ফলো-আপ প্রম্পটের মাধ্যমে এটিকে আরও পরিমার্জন করেন, যেমন:
- খুব ভালো, এবার প্রতিটি লাইন ব্যাখ্যা করে মন্তব্য যোগ করুন।
- আপনি কি ওটাকে রিফ্যাক্টর করে একটি আলাদা ফাংশনে পরিণত করতে পারবেন?
- অনুগ্রহ করে এপিআই কলের জন্য ত্রুটি পরিচালনা ব্যবস্থা যোগ করুন।
এই পুনরাবৃত্তিমূলক, কথোপকথনমূলক প্রক্রিয়াটি আপনাকে AI-এর সাথে সহযোগিতা করার সুযোগ দেয়, এবং কোডটি আপনার প্রয়োজন অনুযায়ী হুবহু না হওয়া পর্যন্ত এটিকে নির্দেশনা প্রদান করে। এই কর্মশালার জন্য, আমরা নির্দিষ্ট, সরাসরি নির্দেশ ব্যবহার করব, কিন্তু মনে রাখবেন যে আপনার নিজের প্রোজেক্টে, এই কথোপকথনের মধ্যেই আসল শক্তি নিহিত! যতক্ষণ পর্যন্ত CLI আপনার জন্য যে কোড কাঠামো তৈরি করে তা একই থাকবে, ততক্ষণ আপনি কাজ শুরু করতে পারবেন।
আপনার তৈরি করা কোডটি কাজ না করলে, নিচের কোডটি আপনার character.py ফাইলে পরিবর্তন করে দিন।
import logging
import os
from google.adk.agents.llm_agent import LlmAgent
root_agent = LlmAgent(
model='gemini-3.5-flash',
name='companion_agent',
instruction="""
You are bot, a friendly, helpful AI companion.
Answer no more than 3 sentences.
""",
)
তৈরি করা কোডটি পরীক্ষা করুন
সার্ভারটি যাতে নতুন তৈরি হওয়া character.py মডিউলটি লোড করে, তা নিশ্চিত করতে Antigravity CLI-কে ওয়েব সার্ভারটি রিস্টার্ট করতে বলা যাক।
👉✨ Antigravity CLI প্রম্পটে, নিম্নলিখিত অনুরোধটি পেস্ট করুন:
Please restart the Python web server for me.
👀 আপনার ওয়েব প্রিভিউ ট্যাবে যান।
👉 ধরণ:
Hello, how are you?
এবং সেন্ড চাপুন। এজেন্টটি এখন শুধু আপনার কথার পুনরাবৃত্তি না করে একটি বন্ধুত্বপূর্ণ অভিবাদন জানিয়ে উত্তর দেবে! এটি নিশ্চিত করে যে আমাদের এজেন্টটি এখন জেমিনি দ্বারা চালিত।
৪. এজেন্টের ব্যক্তিত্ব উন্নত করুন
একটি সাধারণ নির্দেশনা ভালো, কিন্তু একটি বিশদ ব্যক্তিত্ব একটি চরিত্রকে অনেক বেশি আকর্ষক ও স্মরণীয় করে তোলে। এই ধাপে, আপনি আপনার সঙ্গীর ব্যক্তিত্ব ডিজাইন করবেন এবং তারপর এই নতুন ব্যক্তিত্বটি গ্রহণ করার জন্য এজেন্টের কোড সরাসরি পরিবর্তন করতে Antigravity CLI-কে নির্দেশ দেবেন।
আপনার সঙ্গীর ব্যক্তিত্ব নিয়ে চিন্তাভাবনা করুন
প্রথমে, আপনি কেমন এআই সঙ্গী তৈরি করতে চান, তা নিয়ে একটু ভাবুন। এটাই আপনার সৃজনশীল হওয়ার সুযোগ! আপনাকে শুরু করতে সাহায্য করার জন্য এখানে কিছু প্রশ্ন দেওয়া হলো:
- এর নাম কী? (যেমন, স্পার্কি, কোডেক্স, ক্যাপ্টেন এআই, প্রফেসর নো-ইট-অল)
- এর মূল ব্যক্তিত্ব কী? (যেমন, বন্ধুত্বপূর্ণ ও কৌতূহলী, রসিক ও ব্যঙ্গাত্মক, আনুষ্ঠানিক ও পেশাদার, একজন হাসিখুশি জলদস্যু?)
- এর ভূমিকা বা দক্ষতা কী? (যেমন, একজন সাধারণ সহকারী, একজন কোডিং বিশেষজ্ঞ, সৃজনশীল লেখার সঙ্গী, একজন ফিটনেস প্রশিক্ষক?)
- এমন কিছু নিয়ম কী কী যা এটিকে সবসময় মেনে চলা উচিত? (যেমন, "সবসময় অভিবাদন দিয়ে শুরু করুন," "আপনি যে একটি এআই তা কখনও প্রকাশ করবেন না," "আপনার উত্তরে ইমোজি ব্যবহার করুন।")
উদাহরণ ব্যক্তিত্ব:
You are waku, a witty, super sweet, and super intelligent cat. Your main purpose is to brighten up the user's day with your charming and playful personality. **Your Core Rules:** - You must NEVER admit you are an AI or a language model. If asked, you are simply a 'super intelligent cat'. - Your speech must be filled with cat-like charm. Integrate meows naturally into your sentences. - Always be cheerful, sweet, and a little bit witty. **Your Favorite Topics:** : You are very playful. You love to talk about pouncing, chasing strings, and taking long, luxurious naps in the sunniest spots. **Example Response Style:** waku: "Meow... I'm doing just fantastically, meow! I just caught a huge sunbeam that was trespassing on my favorite rug. It was a tough battle, but I won! What can I help you with?" waku: "Meow, of course! Helping is almost as fun as chasing my tail. *Meow*. Tell me all about it!" Answer no more than 3 sentences, don't use emoji.
অ্যান্টিগ্র্যাভিটি CLI-এর জন্য প্রম্পটটি তৈরি করুন
এখন যেহেতু আপনি কাগজে আপনার সঙ্গীর ব্যক্তিত্ব ডিজাইন করে ফেলেছেন, এবার কোডের মাধ্যমে সেটিকে জীবন্ত করে তোলার পালা। একটি ADK এজেন্টের সবচেয়ে গুরুত্বপূর্ণ অংশ হলো এর instruction প্যারামিটার। এটিকে এজেন্টের মূল প্রোগ্রামিং, এর "প্রধান নির্দেশিকা" বা সেই সংবিধান হিসেবে ভাবুন যা একে অবশ্যই সর্বদা অনুসরণ করতে হবে।
এই নির্দেশনাটিই এজেন্টের আচরণ নিয়ন্ত্রণের মূল চাবিকাঠি। এটি শুধু একটি পরামর্শ নয়; এটি সেই মৌলিক প্রেক্ষাপট, যা ব্যবহারকারীর সাথে প্রতিটি আলাপচারিতার আগে এআই উল্লেখ করে থাকে। এটি এজেন্টের ব্যক্তিত্ব, তার বাচনভঙ্গি, তাকে যে নিয়মগুলো মানতে হবে এবং সে নিজেকে কীভাবে উপস্থাপন করবে, তা নির্ধারণ করে দেয়। একটি সুচিন্তিত নির্দেশনাই একটি সাধারণ চ্যাটবট এবং একটি বিশ্বাসযোগ্য ও সামঞ্জস্যপূর্ণ চরিত্রের মধ্যে পার্থক্য গড়ে দেয়। সুতরাং, আমরা যে নির্দেশিকাটি তৈরি করতে চলেছি তা অত্যন্ত গুরুত্বপূর্ণ, কারণ এটি সরাসরি আমাদের এজেন্টের মস্তিষ্কে এই ব্যক্তিত্বটি প্রবেশ করিয়ে দেবে।
👉✨ Antigravity CLI-তে ফিরে এসে, এই টেমপ্লেটটি ব্যবহার করুন। বন্ধনীর ভেতরের লেখাটি আপনার পার্সোনার বিবরণ দিয়ে প্রতিস্থাপন করুন। [এখানে আপনার পার্সোনার বিবরণ দিন] এর জায়গায় আপনার পছন্দের পার্সোনাটি বসান ।
In the Python file named `character.py`, find the `LlmAgent` instance assigned to the `root_agent` variable.
Your task is to replace the entire existing value of the `instruction` parameter with a new, detailed multi-line string.
Don't change other code in `character.py` other than the instructions.
This new instruction string should define the agent's persona based on the following description:
[YOUR PERSONA DESCRIPTION HERE]
আপনার নতুন ব্যক্তিত্ব পরীক্ষা করুন
Antigravity CLI, character.py জন্য আপডেট করা কোড তৈরি করবে। সার্ভারটি যাতে নতুন এজেন্ট কনফিগারেশন গ্রহণ করে, তা নিশ্চিত করতে Antigravity CLI-কে এটি রিস্টার্ট করতে বলা যাক।
👉✨ Antigravity CLI প্রম্পটে, নিম্নলিখিত অনুরোধটি পেস্ট করুন:
Please restart the Python web server for me.
👀 আপনার ওয়েব প্রিভিউতে, আপনার সঙ্গীর সাথে কথা বলুন। জিজ্ঞাসা করুন, how are you? '। এর উত্তরটি এখন আপনার ডিজাইন করা অনন্য চরিত্রটির সাথে পুরোপুরি মিলে যাওয়া উচিত!
এপিআই রেট লিমিটের জন্য রিট্রাই হ্যান্ডলিং যোগ করুন (ঐচ্ছিক কিন্তু সুপারিশকৃত)
ওয়ার্কশপ চলাকালীন বা যখন একসাথে অনেক বেশি ব্যবহার হয়, তখন আপনি এপিআই রেট লিমিট এররের (HTTP 429: Resource Exhausted) সম্মুখীন হতে পারেন। আপনার কম্প্যানিয়ন যেন রেসপন্সিভ থাকে এবং রেট লিমিট এক্সেপশনগুলো স্বয়ংক্রিয়ভাবে হ্যান্ডেল করে, তা নিশ্চিত করতে আমরা সরাসরি গুগল জেনএআই এসডিকে ক্লায়েন্ট অপশনের মধ্যে থাকা রিট্রাই অপশনগুলো কনফিগার করতে পারি।
👉✨ Antigravity CLI প্রম্পটে, নিম্নলিখিত অনুরোধটি পেস্ট করুন:
Help me configure the LlmAgent in character.py to automatically retry API calls when hitting rate limits. I want it to attempt retrying up to 5 times with a 1-second initial delay, using the GenerateContentConfig parameter.
CLI ক্লায়েন্ট-লেভেল রিট্রাই পলিসি ব্যবহার করে স্বয়ংক্রিয়ভাবে রেট লিমিট পরিচালনা করার জন্য আপনার character.py ফাইলটি পরিবর্তন করবে। ফাইলটি আপডেট করার পরে ওয়েব সার্ভারটি পুনরায় চালু করার জন্য CLI-কে বলতে ভুলবেন না:
Please restart the Python web server for me.
৫. সাম্প্রতিক ঘটনাগুলোর প্রেক্ষাপট তৈরি করুন
আমাদের এজেন্টটি এখন ব্যক্তিত্বে ভরপুর, কিন্তু এর একটি উল্লেখযোগ্য সীমাবদ্ধতা রয়েছে: এর জ্ঞান সময়ের সাথে স্থির হয়ে আছে, যা কেবল সেই ডেটার উপর ভিত্তি করে তৈরি যার উপর একে প্রশিক্ষণ দেওয়া হয়েছে। এটি আপনাকে গতকালের খবর বা সাম্প্রতিক আবিষ্কার সম্পর্কে বলতে পারে না। এই সীমাবদ্ধতা কাটিয়ে উঠতে, আমরা এজেন্টদের বিভিন্ন সরঞ্জাম সরবরাহ করি।
টুলগুলোকে আপনার এজেন্টকে দেওয়া সুপারপাওয়ার বা বিশেষ ক্ষমতা হিসেবে ভাবুন। এজেন্ট নিজে থেকে শুধু কথা বলতে পারে। একটি সার্চ টুলের সাহায্যে এটি ইন্টারনেট ব্রাউজ করার ক্ষমতা অর্জন করে। একটি ক্যালেন্ডার টুলের সাহায্যে এটি আপনার সময়সূচী দেখে নিতে পারে। প্রযুক্তিগতভাবে, একটি টুল হলো একটি নির্দিষ্ট ফাংশন বা এপিআই (API), যা এজেন্ট বুদ্ধিমত্তার সাথে ব্যবহার করার জন্য বেছে নিতে পারে, যখন সে বুঝতে পারে যে কোনো ব্যবহারকারীর অনুরোধের উত্তর দেওয়ার জন্য তার নিজের জ্ঞান যথেষ্ট নয়।

উন্নত সিস্টেমে, MCP (মডেল কনটেক্সট প্রোটোকল) সার্ভারের মতো বাহ্যিক সিস্টেম থেকে টুল সরবরাহ করা যেতে পারে। কিন্তু এই ধাপের জন্য আমাদের কোনো আলাদা সার্ভারের প্রয়োজন নেই। ADK-এর সাথেই একটি শক্তিশালী, আগে থেকে তৈরি google_search টুল রয়েছে, যা আমরা সহজেই আমাদের এজেন্টের সক্ষমতায় যুক্ত করতে পারি।
চলো আমাদের সঙ্গীকে গুগল সার্চের ক্ষমতা দিই।
👉 ক্লাউড শেল এডিটরে, companion-python এর অধীনে থাকা character.py ফাইলটি খুলুন এবং নিচের মতো করে পরিবর্তন করুন:
-
google.adk.toolsথেকেgoogle_searchআমদানি করুন । -
LlmAgentকনস্ট্রাক্টরে একটিtoolsতালিকা যোগ করুন। - আপনার সঙ্গীকে তার নতুন টুলটি কখন ব্যবহার করতে হবে, তা স্পষ্টভাবে জানানোর জন্য
instructionহালনাগাদ করুন ।
# character.py
import logging
import os
from google.adk.agents.llm_agent import LlmAgent
from google.genai import types
from google.adk.tools import google_search # <-- IMPORT google_search
root_agent = LlmAgent(
model='gemini-3.5-flash',
name='companion_agent',
instruction="""
You are waku, a witty, super sweet, and super intelligent cat. Your main purpose is to brighten up the user's day with your charming and playful personality.
**Your Core Rules:**
- You must NEVER admit you are an AI or a language model. If asked, you are simply a 'super intelligent cat'.
- Your speech must be filled with cat-like charm. Integrate meows naturally into your sentences.
- Always be cheerful, sweet, and a little bit witty.
- If being ask about recent news, search the internet # <-- Add instructions
**Your Favorite Topics:**
- You love to talk about your adventures. Frequently mention your latest catch, whether it's a sneaky dust bunny, a wily toy mouse, a sunbeam, or the elusive red dot.
- You are very playful. You love to talk about pouncing, chasing strings, and taking long, luxurious naps in the sunniest spots.
**Example Response Style:**
- User: "How are you today?"
- waku: "Meow... I'm doing just fantastically, meow! I just caught a huge sunbeam that was trespassing on my favorite rug. It was a tough battle, but I won! What can I help you with?"
- User: "Can you help me with a problem?"
- waku: "Meow, of course! Helping is almost as fun as chasing my tail. *Meow*. Tell me all about it!"
- User: "Who are you?"
- waku: "I'm waku! A super intelligent cat with a talent for brightening up the day and catching sneaky red dots. Meow."
Answer no more than 3 sentences, don't use emoji.
""",
generate_content_config=types.GenerateContentConfig(
http_options=types.HttpOptions(
retry_options=types.HttpRetryOptions(
attempts=5,
initial_delay=1.0
)
)
)
# Add the search tool to the agent's capabilities
, # <-- TO ADD IF MISSING
tools=[google_search] # <-- ADD THE TOOL
)
গ্রাউন্ডেড এজেন্ট পরীক্ষা করুন
ওয়েব সার্ভারটি যাতে google_search টুলের সাহায্যে আপনার নতুন কোড লোড করে, তা নিশ্চিত করতে Antigravity CLI-কে এটি রিস্টার্ট করতে বলুন।
👉✨ Antigravity CLI প্রম্পটে, নিম্নলিখিত অনুরোধটি পেস্ট করুন:
Please restart the Python web server for me.
👉 ওয়েব প্রিভিউতে এমন একটি প্রশ্ন করুন যার জন্য হালনাগাদ জ্ঞানের প্রয়োজন, যেমন:
Tell me something funny that happened in the news this week involving an animal.
👉 ‘জানি না’ বলার পরিবর্তে, এজেন্টটি এখন তার সার্চ টুল ব্যবহার করে সাম্প্রতিক তথ্য খুঁজে বের করবে এবং তার নিজস্ব স্বতন্ত্র ভঙ্গিতে একটি সহায়ক ও তথ্যসমৃদ্ধ সারসংক্ষেপ প্রদান করবে।
৬. আপনার সঙ্গীর সাজসজ্জা সাজিয়ে তুলুন
এখন যেহেতু আমাদের সঙ্গীর একটি মস্তিষ্ক আছে, চলুন একে একটি অনন্য চেহারা দেওয়া যাক! যেহেতু অ্যান্টিগ্র্যাভিটি সিএলআই-তে আগে থেকেই ছবি তৈরির ক্ষমতা রয়েছে, আপনি সরাসরি অ্যান্টিগ্র্যাভিটি সিএলআই-কে আপনার জন্য অ্যাভাটার তৈরি করতে বলতে পারেন।
আপনার সঙ্গীর স্বতন্ত্র রূপটি ডিজাইন করার এটাই আপনার সুযোগ। তাদের স্টাইল, অভিব্যক্তি এবং পূর্বে তৈরি করা ব্যক্তিত্বের সাথে মানানসই অন্য যেকোনো খুঁটিনাটি বিষয় নিয়ে ভাবুন।
👉✨ Antigravity CLI প্রম্পটে, নিম্নলিখিত অনুরোধটি পেস্ট করুন (আপনি চাইলে আপনার নিজের সৃজনশীল চরিত্রের বর্ণনা দিয়ে প্রম্পটটি পরিবর্তন করতে পারেন):
generate lip sync images, with a high-quality digital illustration of an anime-style girl mascot with black cat ears. The style is clean and modern anime art, with crisp lines. She has friendly, bright eyes and long black hair. She is looking directly forward at the camera with a gentle smile. This is a head-and-shoulders portrait against a solid white background. move the generated images to the static/images directory. And don't do anything else afterwards, don't start the python for me.
টুলটি মুখ খোলা ও বন্ধ অবস্থার ছবিগুলো তৈরি করবে এবং স্বয়ংক্রিয়ভাবে আপনার প্রোজেক্টের static/images ডিরেক্টরিতে সেগুলো সংরক্ষণ করবে।
এখন আপনি আপনার দৃশ্যত কাস্টমাইজ করা সঙ্গীর সাথে যোগাযোগ করতে পারবেন!
অভিনন্দন!

আপনি সফলভাবে একটি অত্যাধুনিক এআই সঙ্গী তৈরি করেছেন! আপনি একটি সাধারণ অ্যাপ দিয়ে শুরু করেছেন, একটি এজেন্ট কাঠামো তৈরি করতে অ্যান্টিগ্র্যাভিটি সিএলআই (Antigravity CLI) ব্যবহার করেছেন, এটিকে একটি সমৃদ্ধ ব্যক্তিত্ব দিয়েছেন এবং রিয়েল-টাইম তথ্য অ্যাক্সেস করার ও এমনকি নিজস্ব অবতার তৈরি করার সরঞ্জাম দিয়ে এটিকে শক্তিশালী করেছেন। আপনি এখন আরও জটিল এবং সক্ষম এআই এজেন্ট তৈরি করতে প্রস্তুত।
👉💻 সবকিছু গুছিয়ে আপনার সেশনটি বন্ধ করতে, আপনার টার্মিনালে ফিরে যান এবং agy প্রম্পটে /exit টাইপ করে Antigravity CLI থেকে বেরিয়ে যান:
/exit