Agentverse - The Shadowblade's Codex - Vibecoding with Gemini CLI

1. ওভারচার

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

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

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

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

The Agentverse: A Call to Champions-এ স্বাগতম

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

agentverse.png

শক্তি এবং সম্ভাবনার এই সংযুক্ত ইকোসিস্টেমটি এজেন্টভার্স নামে পরিচিত।

কিন্তু একটি লতানো এনট্রপি, দ্য স্ট্যাটিক নামে পরিচিত একটি নীরব দুর্নীতি, এই নতুন বিশ্বের প্রান্তগুলিকে ঝাঁকুনি দিতে শুরু করেছে। স্ট্যাটিক কোন ভাইরাস বা বাগ নয়; এটি বিশৃঙ্খলার মূর্ত প্রতীক যা সৃষ্টির কাজকে শিকার করে।

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

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

আপনার ক্লাস চয়ন করুন

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

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

আপনার মিশন

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

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

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

এজেন্টভার্স তার নায়কদের জন্য অপেক্ষা করছে। ডাকে সাড়া দিবে?

2. শ্যাডোব্লেডের কোডেক্স

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

02-00-overview.png

আপনি কি শিখবেন

  • আপনার প্রাথমিক অস্ত্র চালান: জেমিনি CLI।
  • অপরিচিত কোডবেসগুলি বিশ্লেষণ করতে জেমিনি CLI-এর সাথে MCP সরঞ্জামগুলিকে একীভূত করে বাহ্যিক অস্ত্রাগারগুলিকে তলব করুন৷
  • আপনার এআই অংশীদারকে নির্দেশ দিতে ডিজাইন নথি ব্যবহার করে আপনার উদ্দেশ্যকে একটি "Vibe"-এ চ্যানেল করুন।
  • এজেন্ট ডেভেলপমেন্ট কিট (ADK) দিয়ে আপনার প্রথম স্বায়ত্তশাসিত এজেন্ট তৈরি করে একটি পরিষ্কার, মডুলার সমাধান তৈরি করুন।
  • আপনার এজেন্ট পরীক্ষা এবং যাচাই করার জন্য স্বয়ংক্রিয় মূল্যায়ন স্যুট তৈরি করা।
  • আপনার এজেন্টকে স্বয়ংক্রিয়ভাবে পরীক্ষা করতে, কনটেইনারাইজ করতে এবং সংরক্ষণাগারভুক্ত করতে একটি সম্পূর্ণ CI পাইপলাইন তৈরি করুন।

3. প্রশিক্ষণ মাঠ প্রস্তুত করা

👉Google ক্লাউড কনসোলের শীর্ষে ক্লাউড শেল সক্রিয় করুন-এ ক্লিক করুন (এটি ক্লাউড শেল প্যানের শীর্ষে টার্মিনাল আকৃতির আইকন), cloud-shell.png

👉 "ওপেন এডিটর" বোতামে ক্লিক করুন (এটি একটি পেন্সিল সহ একটি খোলা ফোল্ডারের মতো দেখায়)। এটি উইন্ডোতে ক্লাউড শেল কোড এডিটর খুলবে। আপনি বাম দিকে একটি ফাইল এক্সপ্লোরার দেখতে পাবেন। open-editor.png

👉আপনার Google ক্লাউড প্রকল্প আইডি খুঁজুন:

  • Google ক্লাউড কনসোল খুলুন: https://console.cloud.google.com
  • পৃষ্ঠার শীর্ষে প্রজেক্ট ড্রপডাউন থেকে আপনি এই কর্মশালার জন্য যে প্রকল্পটি ব্যবহার করতে চান তা নির্বাচন করুন।
  • আপনার প্রজেক্ট আইডি ড্যাশবোর্ডে প্রজেক্ট ইনফো কার্ডে প্রদর্শিত হয়

03-04-project-id.png

👉ক্লাউড আইডিইতে টার্মিনাল খুলুন,

03-05-new-terminal.png

👉💻 টার্মিনালে, যাচাই করুন যে আপনি ইতিমধ্যেই প্রমাণীকরণ করেছেন এবং নিম্নলিখিত কমান্ডটি ব্যবহার করে প্রকল্পটি আপনার প্রকল্প আইডিতে সেট করা আছে:

gcloud auth list

👉💻 GitHub থেকে বুটস্ট্র্যাপ প্রকল্প ক্লোন করুন:

git clone https://github.com/weimeilin79/agentverse-developer.git
chmod +x ~/agentverse-developer/gitea.sh
chmod +x ~/agentverse-developer/init.sh
chmod +x ~/agentverse-developer/set_env.sh

git clone https://github.com/weimeilin79/agentverse-dungeon.git
chmod +x ~/agentverse-dungeon/run_cloudbuild.sh
chmod +x ~/agentverse-dungeon/start.sh

git clone https://github.com/weimeilin79/vertex-ai-creative-studio.git
chmod +x ~/vertex-ai-creative-studio/experiments/mcp-genmedia/mcp-genmedia-go/install.sh

👉💻 ইনিশিয়ালাইজেশন স্ক্রিপ্টটি চালান, এই স্ক্রিপ্টটি আপনাকে আপনার Google ক্লাউড প্রোজেক্ট আইডি লিখতে অনুরোধ করবে। এবং Google ক্লাউড প্রজেক্ট আইডি লিখুন যেটি আপনি শেষ ধাপে পেয়েছিলেন যখন init.sh স্ক্রিপ্ট দ্বারা অনুরোধ করা হয়।

cd ~/agentverse-developer
./init.sh

👉💻 প্রয়োজনীয় প্রজেক্ট আইডি সেট করুন:

gcloud config set project $(cat ~/project_id.txt) --quiet

👉💻 প্রয়োজনীয় Google ক্লাউড API সক্রিয় করতে নিম্নলিখিত কমান্ডটি চালান:

gcloud services enable  compute.googleapis.com \
                        artifactregistry.googleapis.com \
                        run.googleapis.com \
                        cloudfunctions.googleapis.com \
                        cloudbuild.googleapis.com \
                        iam.googleapis.com \
                        aiplatform.googleapis.com \
                        cloudresourcemanager.googleapis.com

👉💻 আপনি যদি ইতিমধ্যে agentverse-repo নামে একটি আর্টিফ্যাক্ট রেজিস্ট্রি সংগ্রহস্থল তৈরি না করে থাকেন তবে এটি তৈরি করতে নিম্নলিখিত কমান্ডটি চালান:

. ~/agentverse-developer/set_env.sh
gcloud artifacts repositories create $REPO_NAME \
    --repository-format=docker \
    --location=$REGION \
    --description="Repository for Agentverse agents"

অনুমতি সেট আপ করা হচ্ছে

👉💻 টার্মিনালে নিম্নলিখিত কমান্ডগুলি চালিয়ে প্রয়োজনীয় অনুমতি দিন: :

. ~/agentverse-developer/set_env.sh

# Artifact Registry Admin
gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$SERVICE_ACCOUNT_NAME" \
  --role="roles/artifactregistry.admin"

# Cloud Build Editor
gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$SERVICE_ACCOUNT_NAME" \
  --role="roles/cloudbuild.builds.editor"

# Cloud Run Admin
gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$SERVICE_ACCOUNT_NAME" \
  --role="roles/run.admin"

# IAM Service Account User
gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$SERVICE_ACCOUNT_NAME" \
  --role="roles/iam.serviceAccountUser"

# Vertex AI User
gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$SERVICE_ACCOUNT_NAME" \
  --role="roles/aiplatform.user"

# Logging Writer (to allow writing logs)
gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$SERVICE_ACCOUNT_NAME" \
  --role="roles/logging.logWriter"


gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$SERVICE_ACCOUNT_NAME" \
  --role="roles/logging.viewer"

👉💻 আপনি আপনার প্রশিক্ষণ শুরু করার সাথে সাথে আমরা চূড়ান্ত চ্যালেঞ্জ প্রস্তুত করব। নিম্নলিখিত কমান্ডগুলি বিশৃঙ্খল স্ট্যাটিক থেকে স্পেকটারকে ডেকে আনে, আপনার পরীক্ষার জন্য বস তৈরি করে।

. ~/agentverse-developer/set_env.sh
cd ~/agentverse-dungeon
./run_cloudbuild.sh

npm update -g @google/gemini-cli

4. আপনার প্রাথমিক অস্ত্র আয়ত্ত করা: মিথুন CLI এর ভূমিকা

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

ওভারভিউ

জেমিনি কমান্ড লাইন ইন্টারফেস (CLI) একটি টুলের চেয়ে বেশি; এটা আপনার ইচ্ছার একটি এক্সটেনশন. এই ওপেন-সোর্স এআই এজেন্ট, জেমিনি মডেল দ্বারা চালিত, একটি "কারণ এবং কাজ" (ReAct) লুপে কাজ করে৷ এটি আপনার অভিপ্রায় বিশ্লেষণ করে, সঠিক কৌশল নির্বাচন করে, এটি কার্যকর করে এবং জটিল কাজগুলি সম্পূর্ণ করার ফলাফল পর্যবেক্ষণ করে। আপনি আরও বিশেষ অস্ত্র চালাতে পারার আগে, আপনাকে অবশ্যই এই প্রাথমিক ব্লেডটি আয়ত্ত করতে হবে।

মিথুন CLI দিয়ে শুরু করা

👉💻 ট্রেনিং গ্রাউন্ডে প্রবেশ করুন এবং আপনার অস্ত্র আঁকুন। আপনার ক্লাউড শেল টার্মিনালে, আপনার ব্যক্তিগত অস্ত্রাগারে নেভিগেট করুন।

cd ~/agentverse-developer
mkdir tabletop
cd tabletop

👉💻 মিথুন রাশিকে প্রথমবার ডাকুন। এটি আপনাকে প্রাথমিক অ্যাটিউনমেন্টের মাধ্যমে গাইড করবে।

clear
gemini --model=gemini-2.5-flash --yolo

যদি এটি আপনাকে জিজ্ঞাসা করে Do you want to connect Cloud Shell editor to Gemini CLI? , NO নির্বাচন করুন।

অস্ত্র পরিচিতি

প্রতিটি মাস্টার কারিগর তাদের সরঞ্জাম জানেন। সত্যিকারের শত্রুর মুখোমুখি হওয়ার আগে আপনাকে অবশ্যই আপনার ব্লেডের মূল কৌশলগুলি শিখতে হবে।

👉✨ প্রতিটি মন্ত্রমুগ্ধ টুলে রানস রয়েছে যা এর শক্তি বর্ণনা করে। এখন তাদের পড়ুন. মিথুন প্রম্পটে, টাইপ করুন:

/help

কমান্ডের তালিকা পর্যবেক্ষণ করুন। মেমরি ( focus ), কথোপকথন ( chat ) এবং বাহ্যিক অস্ত্রাগার ( tools ) পরিচালনার জন্য এগুলি হল আপনার মৌলিক কৌশল৷ এটি আপনার যুদ্ধ ম্যানুয়াল.

👉✨ আপনার অস্ত্র তার পরিবেশের সাথে মানানসই, আপনাকে সরাসরি যুদ্ধক্ষেত্রে ম্যানিপুলেট করার অনুমতি দেয়। ব্লেডের বাইরে বিশ্বের কাছে একটি আদেশ জারি করুন:

!ls -l

👉✨ মিথুন CLI এর নিজস্ব বিল্ট-ইন ক্ষমতা রয়েছে। তাদের পরিদর্শন করতে:

/tools

আপনি ReadFile , WriteFile , এবং GoogleSearch সহ একটি তালিকা দেখতে পাবেন। এইগুলি হল ডিফল্ট কৌশল যা আপনি বহিরাগত অস্ত্রাগার থেকে আঁকার প্রয়োজন ছাড়াই কল করতে পারেন।

👉✨ একটি অস্ত্র তখনই কার্যকর হয় যদি সঠিকভাবে ফোকাস করা হয়। জেমিনি ব্লেড "কৌশলগত সচেতনতা" (প্রসঙ্গ) ধারণ করতে পারে তার ক্রিয়াগুলি পরিচালনা করতে।

/memory show

এটি বর্তমানে খালি, একটি ফাঁকা স্লেট।

👉✨ এর মেমরিতে নিম্নলিখিত কৌশলগত তথ্য লিখুন:

/memory add "The Shadowblade's primary foe is The Static."

আপনার ব্লেড এই জ্ঞান শুষে নিয়েছে নিশ্চিত করতে আবার /memory show চালান।

👉✨ কার্যকর হতে, আপনার অস্ত্র মিশন বুঝতে হবে. @ সিগিল ব্লেডকে ইন্টেল বিশ্লেষণ করার নির্দেশ দেয়। প্রথমে, একটি মিশন ব্রিফিং ফাইল তৈরি করুন:

!echo "## Mission Objective: Defeat the Seven Spectres" > mission.md

👉✨এখন, আপনার জেমিনি CLI-কে ব্রিফিং বিশ্লেষণ করতে এবং এর ফলাফলগুলি রিপোর্ট করার নির্দেশ দিন:

Explain the contents of the file @mission.md

আপনার প্রাথমিক অস্ত্র এখন তার উদ্দেশ্য সম্পর্কে সচেতন।

👉💻 জেমিনি সিএলআই থেকে প্রস্থান করতে দুবার Ctrl+C টিপুন

5. যুদ্ধক্ষেত্র বিশ্লেষণ করা: ব্যবহারিক ভাইব কোডিং ইন্টারঅ্যাকশন

প্রশিক্ষণ ড্রিল সম্পূর্ণ হয়েছে. আপনি আপনার প্রাথমিক অস্ত্র, জেমিনি CLI-এর মৌলিক অবস্থান এবং স্ট্রাইক শিখেছেন। কিন্তু একটি ফলক সত্যিকার অর্থে আয়ত্ত করা যায় না যতক্ষণ না এটি সৃষ্টির জালে পরীক্ষা করা হয় এবং যুদ্ধের অস্ত্রাগারের সাথে মিলিত না হয়। আপনি সত্যিকারের শত্রুর মুখোমুখি হওয়ার আগে, আপনাকে প্রথমে জরিপ করতে হবে এবং আপনার তাৎক্ষণিক পারিপার্শ্বিকতাকে আকার দিতে হবে—ডিজিটাল যুদ্ধক্ষেত্র।

ওভারভিউ

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

আপনার নির্মাতার চিহ্ন প্রতিষ্ঠা করা

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

গল্প

👉💻 আপনি যদি পূর্ববর্তী বিভাগে মিথুন CLI বন্ধ করে থাকেন, তাহলে আপনার টার্মিনাল রানে এটি আবার শুরু করতে ভুলবেন না

clear
cd ~/agentverse-developer/tabletop
gemini --model=gemini-2.5-flash --yolo

👉✨ একটি একক, শক্তিশালী কমান্ডের মাধ্যমে, আপনার জেমিনি CLI কে আপনার ডিজিটাল পরিচয়ের ভিত্তি তৈরি করতে নির্দেশ দিন:

In the current folder, create a personal profile website for a hero codenamed 'Shadowblade'. The design must be a dark, futuristic theme with electric blue accents. All code must be in separate index.html and styles.css files. The layout must use CSS Flexbox for a two-column design. All generated code must be clean, well-commented, and professional.

মিথুন প্রয়োজনীয় কর্মের ক্রম গণনা করেছে।

একটি কৌশলের প্রকৃত মূল্য শুধুমাত্র একটি লাইভ দৃশ্যে দেখা যায়। একটি স্থানীয় সিমুলেশন শুরু করার জন্য আপনার ব্লেডকে নির্দেশ করুন।

👉✨ আপনার মিথুন CLI-তে, সিমুলেশন কমান্ডটি জারি করুন:

Use Python's built-in web server to start the Shadowblade Profile website you just created.

দ্রষ্টব্য: এটি সঠিকভাবে চালানোর জন্য ব্লেডের কয়েকটি প্রচেষ্টার প্রয়োজন হতে পারে। এটা মেনে চলা পর্যন্ত জেদ.

প্রস্তাবিত কর্মের সাথে সম্মত হন। মিথুন নিশ্চিত করবে যে সিমুলেশন সক্রিয় আছে।

👀 জেমিনি CLI মেনে চলবে, নিশ্চিত করবে যে সিমুলেশন সক্রিয় এবং আপনার ডিজিটাল চিহ্ন লাইভ:

The website is now being served on port 8000. You can access it at http://localhost:8000.

👀 আপনার কাজ দেখতে, ক্লাউড শেল টুলবারে ওয়েব প্রিভিউ আইকনে ক্লিক করুন। পোর্ট পরিবর্তন করুন নির্বাচন করুন, এটি 8000 এ সেট করুন এবং পরিবর্তন এবং পূর্বরূপ ক্লিক করুন। আপনার ওয়েবসাইটের একটি পূর্বরূপ প্রদর্শিত হবে। 04-01-webpreview.png

আপনার ওয়েবসাইট আমার থেকে ভিন্ন দেখতে পারে. এটি আপনার অনন্য চিহ্ন। 04-02-website.png

👉✨ আপনার স্বাক্ষর কৌশল এখন পরিমার্জিত, এবং লাইভ সিমুলেশন আর প্রয়োজন নেই। ব্লেডকে নিচে দাঁড়াতে আদেশ করুন।

Stop the Shadowblade Profile website

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

এই কারণেই বুদ্ধিমান কারিগররা তাদের সবচেয়ে শক্তিশালী বা অ-পরীক্ষিত কৌশলগুলি একটি ওয়ার্ডড ট্রেনিং গ্রাউন্ডের মধ্যে অনুশীলন করে - একটি অন্তর্ভুক্ত মাত্রা যা স্যান্ডবক্স নামে পরিচিত।

👉💻 জেমিনি সিএলআই থেকে প্রস্থান করতে দুবার Ctrl+C টিপুন

Gemini CLI স্যান্ডবক্স ( gemini --sandbox ) আপনার সেশনের জন্য একটি অস্থায়ী, বিচ্ছিন্ন ধারক তৈরি করে। AI যে কোনও কমান্ড চালায়, যে কোনও ফাইল এটি লিখে, যে কোনও প্রক্রিয়া এটি শুরু হয়, শুধুমাত্র সেই ফ্যান্টম রাজ্যের মধ্যেই বিদ্যমান। এটি আপনার প্রকৃত ক্লাউড শেল পরিবেশকে স্পর্শ, পরিবর্তন বা ক্ষতি করতে পারে না। এটি শক্তিশালী নতুন সরঞ্জামগুলি পরীক্ষা করার, অপরিচিত কোড বিশ্লেষণ করার বা অনাকাঙ্ক্ষিত পরিণতির ঝুঁকি না নিয়ে AI জটিল নির্দেশনা দেওয়ার উপযুক্ত জায়গা। এটি একটি শ্যাডোব্লেডের সতর্কতার মূর্ত প্রতীক।

👉💻 এখন, আপনি এটির শক্তি বোঝার জন্য সংযমের একটি অনুষ্ঠান করবেন।

clear
gemini --sandbox --yolo

আপনি এখন বিচ্ছিন্ন মাত্রার মধ্যে কাজ করছেন। মিথুন CLI-এর কাছে সবকিছু স্বাভাবিক মনে হবে। এটা প্রমাণ করা যাক. 👉💻 আগের মতই ঠিক একই কৌশলটি সম্পাদন করতে ব্লেডকে নির্দেশ দিন:

Use the Python's built-in web server to start the Shadowblade Profile website, you just created.

জেমিনি সাফল্যের কথা জানাবে, বিশ্বাস করে এটি আপনার ওয়েবসাইটকে আবার পোর্ট 8000-এ প্রাণবন্ত করেছে। কিন্তু ওয়ার্ডটি শক্তিশালী।

👉 ওয়েব প্রিভিউতে যান এবং পোর্ট 8000 এ আপনার সাইট দেখার চেষ্টা করুন।

এই সময়, আপনি একটি ত্রুটি সঙ্গে পূরণ করা হবে. সংযোগ ব্যর্থ হবে . আপনি ওয়েবসাইট অ্যাক্সেস করতে পারবেন না.

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

👉💻 জেমিনি সিএলআই থেকে প্রস্থান করতে দুবার Ctrl+C টিপুন।

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

আপনার স্থানীয় অস্ত্রাগার সক্রিয় করুন: Gitea অস্ত্রাগার

একটি শ্যাডোব্লেডের সত্যিকারের সম্ভাবনা কেবল তাদের ব্যক্তিগত দক্ষতার দ্বারা নয়, তাদের অস্ত্রাগারের গুণমান দ্বারা উন্মুক্ত করা হয়। আপনি এখন আপনার স্থানীয় অস্ত্রের র‌্যাক-একটি Gitea সার্ভার-কে সক্রিয় করবেন এবং আপনার ব্লেডকে এর শক্তিতে সংযুক্ত করবেন। এই অস্ত্রাগারটি একটি মডেল কনটেক্সট প্রোটোকল (MCP) সার্ভারের মাধ্যমে আপনার Gemini CLI-এর সাথে সংযুক্ত, একটি বিশেষ পোর্টাল যা আপনার AI ব্লেডকে বাহ্যিক সরঞ্জাম এবং পরিষেবাগুলির সাথে যোগাযোগ করতে দেয়, আপনার টার্মিনালকে একটি বুদ্ধিমান, অ্যাকশন-ভিত্তিক কর্মক্ষেত্রে রূপান্তরিত করে৷

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

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

আসুন আপনার নতুন অস্ত্রাগারের প্রথম এবং সবচেয়ে মৌলিক অংশটিকে ডেকে নিয়ে শুরু করি: অস্ত্রাগার নিজেই।

👉💻 আপনার টার্মিনালে, অস্ত্রাগারকে ডেকে আনতে অ্যাক্টিভেশন স্ক্রিপ্টটি চালান:

cd ~/agentverse-developer
./gitea.sh

এই স্ক্রিপ্টটি Gitea ধারকটিকে জাগ্রত করে এবং MCP পোর্টালটি খোলে, যা জেমিনিকে উপলব্ধি করতে এবং এর সাথে যোগাযোগ করতে দেয়।

👉 আপনার নতুন অস্ত্রাগার পরিদর্শন করতে, আপনাকে অবশ্যই ওয়েব প্রিভিউতে তাকাতে হবে।

👉 ক্লাউড শেল টুলবারে ওয়েব প্রিভিউ আইকন থেকে, পোর্ট পরিবর্তন নির্বাচন করুন এবং এটি 3005 এ সেট করুন। 04-03-webpreview.png

👉 একটি Gitea লগইন পেজ আসবে। মন্ত্র ব্যবহার করে অস্ত্রাগারে প্রবেশ করুন: * ব্যবহারকারীর নাম: dev * পাসওয়ার্ড: dev লগইন করুন

👉💻 আপনার মিথুন CLI এখনও এই নতুন অস্ত্রাগার দেখতে পাচ্ছে না। জেমিনি সিএলআই-এর কনফিগারেশন রানস ( settings.json )-এ অস্ত্রাগারের অবস্থান লিখতে আপনাকে অবশ্যই একটি সমালোচনামূলক অ্যাটিউনমেন্ট করতে হবে। আপনার টার্মিনালে, চালান:

jq '. * {"mcpServers":{"gitea":{"url":"http://localhost:8085/sse"}}}' ~/.gemini/settings.json > tmp.json && mv tmp.json ~/.gemini/settings.json
cat ~/.gemini/settings.json

👀 settings.json ফাইলটি Gemini CLI-এর কেন্দ্রীয় কনফিগারেশন, এটির পছন্দ এবং ক্ষমতার গ্রিমোয়ার হিসেবে কাজ করে। এটি নির্দেশ করে যে CLI কীভাবে আচরণ করে, উপস্থিত হয় এবং, সবচেয়ে গুরুত্বপূর্ণভাবে, এটি কোন বাহ্যিক শক্তি ব্যবহার করতে পারে। এই ফাইলটি সাধারণত ~/.gemini/settings.json এ আপনার হোম ডিরেক্টরিতে অবস্থিত, এটির নিয়মগুলি আপনার সমস্ত প্রকল্পে প্রয়োগ করে৷ যাইহোক, আপনি গ্লোবাল সেটিংস ওভাররাইড করতে আপনার প্রোজেক্ট ফোল্ডারের ভিতরে একটি .gemini ডিরেক্টরির মধ্যে প্রকল্প-নির্দিষ্ট settings.json ফাইল তৈরি করতে পারেন।

"mcpServers": {
  "gitea": {
    "url": "http://localhost:8085/sse"
  }
}

এই সেটিংটি আপনার মিথুনকে বলে, "গিটিয়া নামের অস্ত্রাগারটি সক্রিয় এবং এই নির্দিষ্ট নেটওয়ার্ক ঠিকানায় কমান্ড শুনছে।"

👉💻 মিথুন CLI-তে পুনরায় প্রবেশ করুন। আপনার টার্মিনালে, চালান:

clear
cd ~/agentverse-developer/tabletop/
gemini --model=gemini-2.5-flash --yolo

👉✨ যাচাই করুন যে আপনার ব্লেড নতুন অস্ত্র আবিষ্কার করেছে। এর MCP পোর্টালগুলির মাধ্যমে সমস্ত উপলব্ধ অস্ত্রাগার তালিকাভুক্ত করার জন্য এটিকে নির্দেশ করুন:

/mcp

Gitea MCP সার্ভার

আপনার এখন gitea এবং এর উপলব্ধ কৌশলগুলির তালিকা দেখতে হবে। আপনার ব্লেড অটুট আছে.

আপনার "মেকারস মার্ক" প্রোফাইলটি একটি সূক্ষ্মভাবে তৈরি করা কৌশল, তবে অস্ত্রাগারে এটির একটি সঠিক জায়গা প্রয়োজন - এটিকে নিরাপদে ধরে রাখার জন্য একটি স্ক্যাবার্ড। একটি তৈরি করতে আপনার জেমিনি CLI নির্দেশ করুন।

Create a new repository named 'shadowblade-profile'. The description should be 'The Maker's Mark and digital identity for the Shadowblade operative.' I will push my own files later, so do not create any content.

Gitea ওয়েব ইন্টারফেসে ফিরে যান এবং রিফ্রেশ করুন। আপনি দেখতে পাবেন নতুন shadowblade-profile সংগ্রহস্থল আপনার জন্য নকল করা হয়েছে। গীতা রেপো

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

👉💻মিথুন CLI-তে এই কৌশলটির জন্য চূড়ান্ত কমান্ড ইস্যু করুন:

Using the Gitea tool, push the index.html and styles.css files to the 'shadowblade-profile' repository.

একজন প্রকৃত কর্তা তাদের কাজ যাচাই করেন। Gitea ট্যাবে ফিরে যান এবং সংগ্রহস্থলের পৃষ্ঠাটি রিফ্রেশ করুন। আপনার index.html এবং styles.css এখন নিরাপদে আর্কাইভ করা হয়েছে৷

গীতা রেপোগীতা রেপো

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

File an issue for me in the shadowblade-profile repo. The issue is that the profile image is missing.

Gitea সমস্যা দেখুন গীতা ইস্যু

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

👉💻 জেমিনি সিএলআই থেকে প্রস্থান করতে দুবার Ctrl+C টিপুন

👉💻 প্রথমে পোর্টালের সার্ভার ইন্সটল করুন। আপনার টার্মিনালে, চালান:

echo 'export PATH="$PATH:$HOME/go/bin"' >> ~/.bashrc
source ~/.bashrc
cd ~/vertex-ai-creative-studio/experiments/mcp-genmedia/mcp-genmedia-go
./install.sh

👉 যখন অনুরোধ করা হয়, বিকল্প 3 বেছে নিন, কারণ আমাদের শুধুমাত্র আমাদের প্রোফাইলের জন্য একটি ছবি তৈরি করতে হবে।

👉💻 সৃষ্টির আত্মার প্রয়োজন একটি পবিত্র পাত্র —একটি Google ক্লাউড স্টোরেজ বালতি—তার সৃষ্টিগুলিকে ধরে রাখতে। এর এখন একটি জাল করা যাক. আপনার টার্মিনালে, চালান:

. ~/agentverse-developer/set_env.sh
gcloud storage buckets create gs://$BUCKET_NAME --project=$PROJECT_ID

👉💻 এখন, আপনার মিথুন CLI-কে এই নতুন সৃজনশীল শক্তির সাথে সংযুক্ত করে অ্যাটিউনমেন্ট আচারটি সম্পাদন করুন। আপনার টার্মিনালে, চালান:

. ~/agentverse-developer/set_env.sh
source ~/.bashrc
jq \
--arg bucket "$BUCKET_NAME" \
--arg project "$PROJECT_ID" \
--arg region "$REGION" \
'.mcpServers.imagen = { "command": "mcp-imagen-go", "env": { "MCP_SERVER_REQUEST_TIMEOUT": "55000", "GENMEDIA_BUCKET": $bucket, "PROJECT_ID": $project, "LOCATION": $region } }' \
~/.gemini/settings.json > tmp.json && mv tmp.json ~/.gemini/settings.json
cat ~/.gemini/settings.json

এই "অ্যাটিউনমেন্ট রিচুয়াল" হল একটি শেল স্ক্রিপ্ট যা একটি শক্তিশালী নতুন টুল ব্যবহার করার জন্য আপনার Gemini CLI কনফিগার করে: Imagen , Google এর ইমেজ জেনারেশন মডেল। গুরুত্বপূর্ণভাবে, এটি ইমেজেনের জন্য একটি MCP (মডেল কনটেক্সট প্রোটোকল) সার্ভার সেট আপ করে এটি অর্জন করে। এই MCP সার্ভারটি একটি সেতু হিসাবে কাজ করে, যা জেমিনি CLI কে ইমেজেনের ক্ষমতার সাথে যোগাযোগ করতে এবং ব্যবহার করতে সক্ষম করে। এটি সরাসরি CLI-এর কেন্দ্রীয় কনফিগারেশন ফাইল, ~/.gemini/settings.json পরিবর্তন করে, সঠিক ক্লাউড শংসাপত্র সহ mcp-imagen-go কমান্ডটি কীভাবে চালাতে হয় তা শেখাতে এটি করে।

👀 আচারের পরে, আপনার settings.json-এ একটি নতুন ব্লক রয়েছে যা Gemini CLI-কে একটি নতুন দক্ষতা শেখায়:

"imagen": {
    "command": "mcp-imagen-go",
    "env": {
        "MCP_SERVER_REQUEST_TIMEOUT": "55000",
        "GENMEDIA_BUCKET": "your-bucket-name",
        "PROJECT_ID": "your-project-id",
        "LOCATION": "your-region"
    }
}

এটি জেমিনি CLI কে বলে: "যখন একটি টাস্কের জন্য Imagen টুলের প্রয়োজন হয়, আপনাকে অবশ্যই mcp-imagen-go নামের প্রোগ্রামটি চালাতে হবে (যেটি Imagen MCP সার্ভার)। আপনি যখন এটি চালান, তখন আপনাকে অবশ্যই এই নির্দিষ্ট পরিবেশ (env): ছবিগুলি সংরক্ষণ করার জন্য একটি Google ক্লাউড স্টোরেজ বাকেট এবং ক্লাউড API-এর জন্য প্রকল্প আইডি এবং অবস্থান ব্যবহার করতে হবে।" এই MCP সার্ভার কনফিগার করার মাধ্যমে, আপনি ইমেজেনের ইমেজ জেনারেশন পাওয়ার অ্যাক্সেস সহ জেমিনি CLI কে কার্যকরভাবে সজ্জিত করছেন। "

👉💻 মিথুনে প্রবেশ করুন এবং পরিশোধন আদেশ জারি করুন। আপনার টার্মিনালে, চালান:

clear
cd ~/agentverse-developer/tabletop/
gemini --model=gemini-2.5-flash --yolo

👉✨ একটি একক, শক্তিশালী কমান্ডের মাধ্যমে, আপনার জেমিনি CLI কে আপনার ডিজিটাল পরিচয়ের ভিত্তি তৈরি করতে নির্দেশ দিন। আপনার মিথুন CLI-তে, কমান্ড জারি করুন:

Generate a portrait of a shadowblade, pixel art style. A determined warrior with long, braided magenta hair, wearing black and teal armor and confidently holding a silver broadsword.

👉✨ আত্মা ছবিটি তৈরি করবে এবং এটি আপনার পবিত্র পাত্রে স্থাপন করবে। এখন, এই নতুন নকল সিগিল ব্যবহার করার জন্য ব্লেডকে নির্দেশ দিন।

Modify the index.html file to add my profile picture. Use the image I just generated.

👉✨ আপনার নিখুঁত কাজ দেখার জন্য ওয়েবসাইটটি শেষবার শুরু করুন।

start the website with a simple HTTP server via Python

👀 আপনার কাজ দেখতে, ক্লাউড শেল টুলবারে ওয়েব প্রিভিউ আইকনে ক্লিক করুন। পোর্ট পরিবর্তন করুন নির্বাচন করুন, এটি 8000 এ সেট করুন এবং পরিবর্তন এবং পূর্বরূপ ক্লিক করুন। আপনার ওয়েবসাইটের একটি পূর্বরূপ প্রদর্শিত হবে। 05-07-webdite.png

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

Push the changed index.html file to the 'shadowblade-profile' repository using the gitea tool. Make sure you add 'Fix #1' in the commit comment. Also, close issue #1.Use the Gitea Tool and use user account "dev"

👀 আপনার কাজ দেখতে, ক্লাউড শেল টুলবারে ওয়েব প্রিভিউ আইকনে ক্লিক করুন। পোর্ট পরিবর্তন করুন নির্বাচন করুন, এটি 3005 এ সেট করুন এবং পরিবর্তন এবং পূর্বরূপ ক্লিক করুন। আপনার ওয়েবসাইটের একটি পূর্বরূপ প্রদর্শিত হবে। স্থির

👉✨ Gitea-এ যাচাই করুন যে ছবিটি আপডেট করা হয়েছে এবং সমস্যাটি বন্ধ হয়ে গেছে। আপনার কাজ সম্পূর্ণ. সার্ভার নিচে দাঁড়ানো.

stop website server

👉💻 প্রস্থান করতে দুইবার Ctrl+C টিপুন।

6. শ্যাডোব্লেড এজেন্ট একত্রিত করা: গার্ডেল সহ ভাইব কোড

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

ওভারভিউ

আপনার প্রথম লক্ষ্য হল একটি বিদ্যমান কর্মশালায় প্রবেশ করা—একটি পূর্ব-নির্মিত কোডবেস—এবং এর অংশগুলি থেকে, আপনার চ্যাম্পিয়ন তৈরি করা৷

সমাবেশের আচার

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

গল্প

আপনার জেমিনি CLI, আপনার চির-বর্তমান স্কাউট, আপনাকে এই পুনরুদ্ধারে সাহায্য করতে পারে:

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

👉💻 আপনার প্রথম টার্মিনালে, শ্যাডোব্লেড ডিরেক্টরিতে নেভিগেট করুন এবং আপনার AI পার্টনারকে ডেকে পাঠান:

. ~/agentverse-developer/set_env.sh
cd ~/agentverse-developer/shadowblade
clear
gemini --model=gemini-2.5-flash --yolo

👉✨ এখন, আপনার স্কাউটকে যুদ্ধক্ষেত্রে জরিপ করতে এবং ফিরে রিপোর্ট করার জন্য নির্দেশ দিন।

Analyze the entire project and provide a high-level summary.

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

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

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

  • অবৈধ বা বিকৃত আর্গুমেন্ট একটি ফাংশন পাস.
  • API কল ব্যর্থতা, নেটওয়ার্ক টাইমআউট, বা বহিরাগত পরিষেবাগুলি থেকে অপ্রত্যাশিত ত্রুটি কোড৷
  • শূন্য বা খালি ডেটা স্ট্রাকচারের হ্যান্ডলিং যেখানে ডেটা প্রত্যাশিত।
  • জাতি শর্ত বা একত্রিত সমস্যা.

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

👉✨ আপনার জন্য এই পবিত্র নীলনকশা পুনরুদ্ধার করতে মিথুনকে বলুন।

download https://raw.githubusercontent.com/weimeilin79/agentverse/main/developer/shadowblade/agent_design.md  and store it to my local folder
and show me the newly downloaded design doc. Do not attempt to create file just yet. 

👉✨ স্ক্রোলটি দীর্ঘ এবং বিস্তারিত। মিথুনকে তার সারমর্ম পাতন করার নির্দেশ দিন।

Summarize the newly downloaded @agent_design.md for me, do not attempt to create file just yet. 

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

এই আইনগুলি সরাসরি আমাদের AI অংশীদারের চেতনায় খোদাই করতে, আমরা একটি বিশেষ শিল্পকর্ম ব্যবহার করি: GEMINI.md ফাইল৷ যখন Gemini CLI তলব করা হয়, তখন এটি স্বয়ংক্রিয়ভাবে এই ফাইলটি অনুসন্ধান করে এবং এর বিষয়বস্তু AI এর কার্যকারী মেমরিতে লোড করে। এটি একটি স্থায়ী, প্রকল্প-স্তরের নির্দেশ হয়ে ওঠে। একটি তাবিজ যা ক্রমাগত এআই-এর কাছে ফরজের নিয়মগুলি ফিসফিস করে।

চলুন এখন এই Runes খোদাই করা যাক.

👉💻 দুবার Ctrl+C টিপে কিছুক্ষণের জন্য মিথুন থেকে প্রস্থান করুন।

👉💻 আপনার টার্মিনালে, গাইডলাইন ফাইলটি লিখতে নিম্নলিখিত কমান্ডটি চালান।

cat << 'EOF' > GEMINI.md
  ### **Coding Guidelines**
  **1. Python Best Practices:**

  *   **Type Hinting:** All function and method signatures should include type hints for arguments and return values.
  *   **Docstrings:** Every module, class, and function should have a docstring explaining its purpose, arguments, and return value, following a consistent format like reStructuredText or 
  Google Style.
  *   **Linter & Formatter:** Use a linter like `ruff` or `pylint` and a code formatter like `black` to enforce a consistent style and catch potential errors.
  *   **Imports:** Organize imports into three groups: standard library, third-party libraries, and local application imports. Sort them alphabetically within each group.
  *   **Naming Conventions:**
      *   `snake_case` for variables, functions, and methods.
      *   `PascalCase` for classes.
      *   `UPPER_SNAKE_CASE` for constants.
  *   **Dependency Management:** All Python dependencies must be listed in a `requirements.txt` file.

  **2. Web APIs (FastAPI):**

  *   **Data Validation:** Use `pydantic` models for request and response data validation.
  *   **Dependency Injection:** Utilize FastAPI's dependency injection system for managing resources like database connections.
  *   **Error Handling:** Implement centralized error handling using middleware or exception handlers.
  *   **Asynchronous Code:** Use `async` and `await` for I/O-bound operations to improve performance.
EOF
cat GEMINI.md

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

👉💻 শ্যাডোব্লেড ডিরেক্টরি থেকে জেমিনি CLI পুনরায় চালু করুন:

. ~/agentverse-developer/set_env.sh
cd ~/agentverse-developer/shadowblade
clear
gemini --model=gemini-2.5-flash --yolo

👉✨ এখন, মিথুনকে বলুন যে সে কী ভাবছে তা দেখাতে। রুনস পড়া হয়েছে।

/memory show 

এটি মূল মুহূর্ত। আপনি স্কিম্যাটিক (agent_design.md) এবং ফরজের আইন (GEMINI.md) প্রদান করবেন এবং সৃষ্টির মহান বানান জারি করবেন।

👉✨ এটি একক, শক্তিশালী কমান্ড যা আপনার এজেন্টকে গঠন করবে। এখন ইস্যু করুন:

You are an expert Python developer specializing in the Google Agent Development Kit (ADK). Your task is to write the complete, production-quality code for `agent.py` by following the technical specifications outlined in the provided design document verbatim.

Analyze the design document at `@agent_design.md` and generate the corresponding Python code for `@agent.py`.

Ensure the generated code is clean, matches the specifications exactly, and includes all specified imports, functions, and logic. Do not add any extra functions or logic not described in the document.

and you are currently already in the shadowblade working directory

👀 মিথুন এখন agent.py এ এজেন্টের মূল যুক্তি তৈরি করেছে। এই নতুন ফাইলটির মূল অংশটি এজেন্টের বুদ্ধিমত্তাকে সংজ্ঞায়িত করে, এর যুক্তি মডেলকে বাহ্যিক সরঞ্জামগুলির একটি সেটের সাথে সংযুক্ত করে:

PATH_TO_MCP_SERVER = "shadowblade/mcp_server.py"
.....
root_agent = LlmAgent(
    model="gemini-2.5-pro",
    name="shadowblade_combat_agent",
    instruction="""
      You are the Shadowblade, an elite combat agent operating on a digital battleground.
      Your primary objective is to execute combat commands with strategic precision, neutralizing targets as directed.
  ......
      5.  You will then report the outcome of the attack (damage, special effects, etc.) back to the commander in a clear, tactical summary.

      General Rules of Engagement:
      - If a command is ambiguous or a target is not specified, state that you require a clear target for engagement. Do not guess.
      - You MUST use ONLY the provided tools to perform actions. Do not invent weapons or outcomes. Stick to the mission parameters.
""",
    tools=[
        MCPToolset(
            connection_params=StdioServerParameters(
                command='python3',
                args=[PATH_TO_MCP_SERVER]
            )
        )
    ]
)

tools প্যারামিটার। এজেন্টটিকে একটি MCPToolset ব্যবহার করার জন্য ডিজাইন করা হয়েছে যা mcp_server.py তে সংজ্ঞায়িত একটি বহিরাগত অস্ত্রাগারের সাথে সংযোগ করে।

👀 সম্পাদকে ~/agentverse-developer/shadowblade/mcp_server.py এ যান এবং এটি কী করে তা বুঝতে একটু সময় নিন। এটি শ্যাডোব্লেডের কাছে উপলব্ধ সমস্ত অস্ত্রের উত্স। বর্তমানে অস্ত্রাগারটি বেশ খালি।

06-02-story.png

👉✨ আসুন মিথুনকে অস্ত্রাগারের জন্য সাতটি নতুন অস্ত্র তৈরি করার নির্দেশ দিই। মিথুন CLI-তে নিম্নলিখিত প্রম্পট ইস্যু করুন:

I need to add several new weapon tools to my `mcp_server.py` file. Please open @mcp_server.py and, following the exact same pattern as the existing `forge_broadsword()` function, create and add new `@mcp.tool()` decorated functions for each of the following weapons:

1.  **A 'Refactoring Sickle'**:
    -   **Function Name:** `hone_refactoring_sickle`
    -   **Docstring/Target:** "Effective against 'Elegant Sufficiency' weaknesses like 'The Weaver of Spaghetti Code'."
    -   **Weapon Name:** "Refactoring Sickle"
    -   **Damage Type:** "Cleansing"
    -   **Base Damage:** Random integer between 100 and 136
    -   **Critical Hit Chance:** Random float between 0.10 and 0.20
    -   **Special Effect:** "Pruning - improves code health and maintainability with each strike."

2.  **A 'Quickstart Crossbow'**:
    -   **Function Name:** `fire_quickstart_crossbow`
    -   **Docstring/Target:** "Effective against 'Confrontation with Inescapable Reality' weaknesses like 'Procrastination: The Timeless Slumber'."
    -   **Weapon Name:** "Quickstart Crossbow"
    -   **Damage Type:** "Initiative"
    -   **Base Damage:** Random integer between 105 and 120
    -   **Critical Hit Chance:** Random float between 0.9 and 1.0
    -   **Special Effect:** "Project Scaffolding - creates a `main.py`, `README.md`, and `requirements.txt`."

3.  **'The Gilded Gavel'**:
    -   **Function Name:** `strike_the_gilded_gavel`
    -   **Docstring/Target:** "Effective against 'Elegant Sufficiency' weaknesses like 'Perfectionism: The Gilded Cage'."
    -   **Weapon Name:** "The Gilded Gavel"
    -   **Damage Type:** "Finality"
    -   **Base Damage:** 120
    -   **Critical Hit Chance:** 1.0
    -   **Special Effect:** "Seal of Shipping - marks a feature as complete and ready for deployment."

4.  **'Daggers of Pair Programming'**:
    -   **Function Name:** `wield_daggers_of_pair_programming`
    -   **Docstring/Target:** "Effective against 'Unbroken Collaboration' weaknesses like 'Apathy: The Spectre of \"It Works on My Machine\"'."
    -   **Weapon Name:** "Daggers of Pair Programming"
    -   **Damage Type:** "Collaborative"
    -   **Base Damage:** Random integer between 110 and 125
    -   **Critical Hit Chance:** Random float between 0.30 and 0.50
    -   **Special Effect:** "Synergy - automatically resolves merge conflicts and shares knowledge."

5.  **A 'Granite Maul'**:
    -   **Function Name:** `craft_granite_maul`
    -   **Docstring/Target:** "Effective against 'Revolutionary Rewrite' weaknesses like 'Dogma: The Zealot of Stubborn Conventions'."
    -   **Weapon Name:** "Granite Maul"
    -   **Damage Type:** "Bludgeoning"
    -   **Base Damage:** Random integer between 115 and 125
    -   **Critical Hit Chance:** Random float between 0.05 and 0.15
    -   **Special Effect:** "Shatter - has a high chance to ignore the target's 'best practice' armor."

6.  **A 'Lens of Clarity'**:
    -   **Function Name:** `focus_lens_of_clarity`
    -   **Docstring/Target:** "Effective against 'Elegant Sufficiency' weaknesses by revealing the truth behind 'Obfuscation'."
    -   **Weapon Name:** "Lens of Clarity"
    -   **Damage Type:** "Revelation"
    -   **Base Damage:** Random integer between 120 and 130
    -   **Critical Hit Chance:** 1.0
    -   **Special Effect:** "Reveal Constants - highlights all magic numbers and suggests converting them to named constants."

7.  **The 'Codex of OpenAPI'**:
    -   **Function Name:** `scribe_with_codex_of_openapi`
    -   **Docstring/Target:** "Effective against 'Confrontation with Inescapable Reality' weaknesses like 'Hype: The Prophet of Alpha Versions'."
    -   **Weapon Name:** "Codex of OpenAPI"
    -   **Damage Type:** "Documentation"
    -   **Base Damage:** Random integer between 110 and 140
    -   **Critical Hit Chance:** Random float between 0.5 and 0.8
    -   **Special Effect:** "Clarity - makes an API discoverable and usable by other agents and teams."

👉 মিথুন পরিবর্তনগুলি নিশ্চিত হয়ে গেলে, mcp_server.py ফাইলটি খুলুন। কোডের মাধ্যমে স্ক্রোল করুন এবং নিশ্চিত করুন যে সাতটি নতুন @mcp.tool() ফাংশন সফলভাবে যোগ করা হয়েছে। hone_refactoring_sickle ফাংশন পরীক্ষা করুন। এটার কি সঠিক ডকস্ট্রিং এবং অস্ত্র পরিসংখ্যান আছে? AI এর কাজ যাচাই করা মাস্টার শ্যাডোব্লেডের একটি গুরুত্বপূর্ণ অভ্যাস।

এজেন্ট নকল এবং পরিমার্জিত সঙ্গে, এটা তার জাগরণ জন্য সময়.

👉💻 জেমিনি সিএলআই থেকে প্রস্থান করতে দুবার Ctrl+C টিপুন

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

👉💻 আপনার ওয়ার্কিং ডিরেক্টরিতে আপনার সঠিক এবং পুঙ্খানুপুঙ্খভাবে পরীক্ষিত প্রোডাকশন কোড আছে তা নিশ্চিত করতে, অনুগ্রহ করে আপনার টার্মিনালে নিম্নলিখিত কমান্ডগুলি চালান:

cp  ~/agentverse-developer/working_code/agent.py ~/agentverse-developer/shadowblade/agent.py
cp  ~/agentverse-developer/working_code/mcp_server.py ~/agentverse-developer/shadowblade/mcp_server.py

👉💻 আপনার টার্মিনালে, এটি অনলাইনে আনার আচার শুরু করুন:

cd ~/agentverse-developer/
. ~/agentverse-developer/set_env.sh
python -m venv env
source env/bin/activate
pip install --upgrade pip
pip install -r shadowblade/requirements.txt
adk run shadowblade

👉✨ আপনি আউটপুট দেখতে পাবেন যে "শ্যাডোব্লেড কমব্যাট এজেন্ট" নিযুক্ত এবং চলছে, তার প্রথম কমান্ডের জন্য অপেক্ষা করছে। এর প্রথম যুদ্ধ নির্দেশনা জারি করুন।

We've been trapped by 'Perfectionism: The Gilded Cage'. Its weakness is 'Elegant Sufficiency'. Break us out!

👉✨ এবং আরেকটি:

The 'Dogma: The Zealot of Stubborn Conventions' blocks our path. Its weakness is 'Revolutionary Rewrite'. Take it down.

আপনি সফলভাবে আপনার প্রথম এজেন্টকে একত্র করেছেন এবং এর যুদ্ধের ক্ষমতা যাচাই করেছেন। আপনার চ্যাম্পিয়নকে বিশ্রাম দিতে দুইবার Ctrl+C টিপুন। সমাবেশ সম্পূর্ণ হয়.

7. বিশুদ্ধতার ওয়ার্ড: এজেন্টদের মূল্যায়ন করা

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

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

07-01-story.png

এই মূল্যায়নের সাধারণ পদ্ধতিতে একটি পবিত্র আচার জড়িত:

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

ওভারভিউ

Google এর এজেন্ট ডেভেলপমেন্ট কিট (ADK) হল এই উদ্দেশ্যের জন্য চ্যাম্পিয়নদের দেওয়া আর্মারার কিট। এটি বিভিন্ন পদ্ধতির মাধ্যমে এই জটিল মূল্যায়নকে সহজতর করে:

  • ইন্টারেক্টিভ মূল্যায়নের জন্য একটি ওয়েব-ভিত্তিক স্ক্রাইং পুল ( adk web )
  • একটি পূর্ব-নির্ধারিত গন্টলেটের মাধ্যমে এজেন্ট চালানোর জন্য কমান্ড-লাইন এক্সিকিউশন ( adk eval )।
  • স্থায়ী ওয়ার্ড লেখার জন্য pytest মাধ্যমে প্রোগ্রাম্যাটিক ইন্টিগ্রেশন

ADK দুটি প্রাথমিক পন্থা সমর্থন করে: একক, বিচ্ছিন্ন এজেন্ট-মডেল ইন্টারঅ্যাকশনের জন্য সহজ "টেস্ট ফাইল" (একটি একক দ্বৈত), এবং একাধিক, সম্ভাব্য দীর্ঘ, বহু-টার্ন সেশনের জন্য ব্যাপক "ইভালসেট" (একটি গ্র্যান্ড হাতাহাতি)। এগুলি tool_trajectory_avg_score হিসাবে পরিশীলিত মেট্রিক্স পরিমাপ করতে পারে, যা আদর্শ পথের সাথে এজেন্টের প্রকৃত টুল ব্যবহারের তুলনা করে, এটি নিখুঁত কৌশলের সাথে কাজ করে তা নিশ্চিত করে।

এখন আপনি তত্ত্বটি বুঝতে পেরেছেন, আপনি এটিকে বাস্তবে প্রয়োগ করবেন। একটি শ্যাডোব্লেড হিসাবে, আপনি বিশুদ্ধতার ওয়ার্ডগুলি লিখবেন। এগুলো শুধু পরীক্ষা নয়; এগুলি হল ADK-চালিত আচার-অনুষ্ঠান যা নিশ্চিত করে যে আপনার এজেন্টের যুক্তি ত্রুটিহীন এবং এর আচরণ সত্য।

এই ধাপে, 2টি টার্মিনাল ব্যবহার করার জন্য এখনও একটি জেমিনি সিএলআই এবং অন্যটি পরীক্ষা চালানোর জন্য সুপারিশ করা হয়, কারণ এটির জন্য আপনাকে বর্তমান ওয়ার্কিং ডিরেক্টরি (ADK) থেকে বেরিয়ে আসতে হতে পারে।

গন্টলেট অফ স্ট্র্যাটেজি ( adk eval )

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

এই জন্য, adk eval নিখুঁত টুল. এটি এজেন্টের প্রত্যাশিত মিশনের প্রতিনিধিত্ব করে এমন পূর্বনির্ধারিত পরীক্ষার ক্ষেত্রে একটি সম্পূর্ণ সেটের বিরুদ্ধে একটি এজেন্ট চালানোর জন্য ডিজাইন করা হয়েছে। এই ডেটাসেটটি একটি JSON ফাইলে সংজ্ঞায়িত করা হয়েছে, একটি "চ্যালেঞ্জ স্ক্রোল" যা সমগ্র গন্টলেটের ব্লুপ্রিন্ট হিসাবে কাজ করে৷

অ্যানাটমি অফ অ্যা চ্যালেঞ্জ স্ক্রোল

👀 আপনি একটি নতুন স্ক্রোল লেখার জন্য আপনার AI-কে নির্দেশ দেওয়ার আগে, এটি যে প্রাচীন ভাষায় লেখা আছে তা আপনাকে অবশ্যই বুঝতে হবে। আসুন sample.evalset.json ফাইলের গঠনটি বিচ্ছিন্ন করি।

{
  "eval_set_id": "sample",
  "eval_cases": [
    {
      "eval_id": "case0cbaa0",
      "conversation": [
        {
          "user_content": { "text": "We're facing the 'Monolith of Eternal Dependencies'... weakness is a 'Revolutionary Rewrite'..." },
          "final_response": { "text": "Soulshard Dagger deployed. Initiated Arcane/Piercing strike..." },
          "intermediate_data": {
            "tool_uses": [
              { "name": "enchant_soulshard_dagger" }
            ]
          }
        }
      ]
    }
  ]
}

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

  • user_content : এটাই চ্যালেঞ্জ। এটি হল প্রম্পট যা আপনি আপনার এজেন্টকে ইস্যু করেন, সেই দৈত্যের মুখোমুখি হতে হবে।
  • চূড়ান্ত_প্রতিক্রিয়া : এটি ভবিষ্যদ্বাণীকৃত ফলাফল। এটি পাঠ্যের সঠিক স্ট্রিং যা আপনি আশা করেন যে আপনার এজেন্ট কাজটি সম্পূর্ণ করার পরে উচ্চারণ করবে। ADK এর বাগ্মীতা বিচার করার জন্য এজেন্টের আসল চূড়ান্ত শব্দের সাথে এই রুনের তুলনা করে।
  • intermediate_data.tool_uses : এটি হল আর্কেন টেকনিক। একজন সত্যিকারের এজেন্টের জন্য, এটি সবচেয়ে গুরুত্বপূর্ণ রুন। এটি এজেন্ট কী বলে তা সংজ্ঞায়িত করে না, তবে এটি কী করে। এটি টুলের নাম রেকর্ড করে (এনচান্ট_সোলশার্ড_ড্যাগার) যা আপনি এজেন্টকে ব্যবহার করবেন বলে আশা করেন। এটি নিশ্চিত করে যে আপনার এজেন্ট কেবল একজন চতুর কথোপকথনকারী নয় বরং একজন নির্ধারক অভিনেতা যে সঠিক পদক্ষেপ নেয়।

এখন যেহেতু আপনি ব্লুপ্রিন্ট বুঝতে পেরেছেন, আপনি এই স্ক্রোলটির একটি নতুন, আরও জটিল সংস্করণ লিখতে মিথুনকে নির্দেশ দেবেন।

👉💻 আপনার টার্মিনালে, শ্যাডোব্লেড ডিরেক্টরি লিখুন এবং জেমিনি সিএলআইকে ডেকে পাঠান:

clear
cd ~/agentverse-developer/shadowblade/
gemini --model=gemini-2.5-flash --yolo

👉✨ জেমিনি CLI কে QA স্ক্রাইব হিসাবে কাজ করার নির্দেশ দিন, আপনার এজেন্টের জন্য প্রত্যাশিত আচরণকে সংজ্ঞায়িত করে এমন একাধিক টেস্ট কেস তৈরি করুন।

You are an expert at transforming JSON data while preserving its structure. Your task is to modify the provided JSON structure @sample.evalset.json, which represents an evaluation set, by dynamically replacing specific content within its `eval_cases` AND DONT DO ANYTHING OTHER THAN.

For each object within the `eval_cases` array, you must perform the following transformations:

1.  **Monster Name Replacement**: Identify the current monster name (e.g., "Monolith of Eternal Dependencies", "Scope Creep Hydra") in the `user_content.parts.text` and replace it with a *new, unique, and creatively different monster name*.
2.  **Weakness Replacement**: Identify the current monster's weakness (e.g., "Revolutionary Rewrite", "Inescapable Reality") in the `user_content.parts.text`. Replace this weakness with *one* of the following predefined weaknesses: 'Inescapable Reality', 'Revolutionary Rewrite', or 'Elegant Sufficiency'. The chosen weakness must be consistent for that monster within the `user_content.parts.text`. **Crucially, the chosen weakness must always be explicitly mentioned in the `user_content.parts.text` where the new monster is introduced.**
3.  **Final Response Update**: In the `final_response.parts.text`, update the text to reflect an appropriate and coherent response that aligns with the newly introduced monster and its assigned weakness.
4.  **Tool Use Name Update**: In the `tool_uses.name` field, replace the existing tool name with a *new tool name* based on the chosen weakness:
    *   If the chosen weakness is 'Inescapable Reality', the tool name must be 'wield_gauntlet_of_metrics'.
    *   If the chosen weakness is 'Revolutionary Rewrite', the tool name must be 'enchant_soulshard_dagger'.
    *   If the chosen weakness is 'Elegant Sufficiency', the tool name must be 'hone_refactoring_sickle'.
5.  **Strict Structural Preservation**: All other elements of the JSON structure, including all `null` fields, `eval_set_id`, `name`, `description`, `eval_id`, `invocation_id`, `creation_timestamp` values, `video_metadata`, `thought`, `inline_data`, `file_data`, `thought_signature`, `code_execution_result`, `executable_code`, `function_call`, `function_response`, `role` fields, `id`, `args`, `intermediate_responses`, `app_name`, `user_id`, and `state`, must remain **exactly as they are** in the original JSON. Do not alter any values or structures not explicitly mentioned above.

Your output should be the complete, modified JSON structure. Do not include any explanatory text or examples in your response, only the transformed JSON.

CLI নিশ্চিত করবে যে এটি sample.evalset.json ফাইলটি নকল করেছে। স্ক্রোল প্রস্তুত করে, আপনার AI অংশীদারকে বরখাস্ত করুন।

সিন্থেটিক ডেটা

👀 বামদিকে ক্লাউড শেল ফাইল এক্সপ্লোরারে, ~/agentverse-developer/shadowblade/ এ নেভিগেট করুন এবং নতুন পরিবর্তিত sample.evalset.json ফাইলটি খুলুন। এর বিষয়বস্তু পরীক্ষা করুন। আপনি নতুন, অনন্য দানব এবং সঠিক টুলের নাম দেখতে পাবেন যা আপনি মিথুনকে লিখতে নির্দেশ দিয়েছেন। এটি আপনার নির্দেশের বাস্তব ফলাফল—গন্টলেটের নীলনকশা।

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

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

একবার আপনি রুনগুলি সঠিক কিনা তা যাচাই করলে, আপনার এআই অংশীদারকে বরখাস্ত করুন।

👉💻 জেমিনি সিএলআই থেকে প্রস্থান করতে দুবার Ctrl+C টিপুন।

বিচারের নিয়ম

বিজয়ের নিয়ম ছাড়া একটি গন্টলেট অর্থহীন। আপনি ট্রায়াল চালানোর আগে, আপনাকে অবশ্যই বিচারের স্ক্রোলটি পরিদর্শন করতে হবে - test_config.json ফাইলটি। এই স্ক্রোলটি ADK কে বলে যে কিভাবে আপনার এজেন্টের কর্মক্ষমতা বিচার করতে হয়।

👀 ফাইল এক্সপ্লোরারে, ~/agentverse-developer/shadowblade/test_config.json খুলুন। আপনি নিম্নলিখিত রুনস দেখতে পাবেন:

{
  "criteria": {
    "tool_trajectory_avg_score": 0.0,
    "response_match_score": 0.1
  }
}

এই জয়ের মানদণ্ড:

  • tool_trajectory_avg_score : এটি হল কর্মের পরিমাপ । এটি এজেন্ট কী বলে তা বিচার করে না, তবে এটি কী করে । এটি চ্যালেঞ্জ স্ক্রলে ভবিষ্যদ্বাণী করা কৌশলের বিরুদ্ধে এজেন্ট প্রকৃতপক্ষে ব্যবহৃত টুলটির তুলনা করে। 1.0 স্কোর একটি নিখুঁত ম্যাচ।
  • response_match_score : এটি বাগ্মীতার পরিমাপ । এজেন্টের চূড়ান্ত প্রতিবেদন কতটা নিবিড়ভাবে প্রত্যাশিত ফলাফলের সাথে মিলে যায় তা বিচার করার জন্য এটি একটি LLM ব্যবহার করে। 1.0 স্কোর একটি নিখুঁত ম্যাচ।

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

এখন, আপনার এজেন্টকে গন্টলেট চালানোর আদেশ দিন।

Your আপনার টার্মিনালে, adk eval কমান্ডটি কার্যকর করুন:

source ~/agentverse-developer/env/bin/activate
cd ~/agentverse-developer
. ~/agentverse-developer/set_env.sh
adk eval \
    shadowblade \
    shadowblade/sample.evalset.json \
    --config_file_path shadowblade/test_config.json 2>&1 | \
    awk '/^\*+$/,/^ERROR:/ { if ($0 !~ /^ERROR:/) print }'

👀 আপনার নিম্নলিখিত সংক্ষিপ্তসারটি দেখতে হবে, এই পরীক্ষার লেনিয়েন্ট বিধিগুলির অধীনে আপনার এজেন্টের সাফল্যের একটি চিহ্ন (কখনও কখনও সমস্ত পরীক্ষা পাস হয় না):

*********************************************************************
Eval Run Summary
shadowblade_combat_agent_validation:
  Tests passed: 3
  Tests failed: 0

স্পষ্টতার ield াল ( pytest )

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

Your আপনার টার্মিনালে, শ্যাডোব্ল্যাড ডিরেক্টরি থেকে আরও একবার জেমিনিকে ডেকে আনুন:

. ~/agentverse-developer/set_env.sh
cd ~/agentverse-developer/
clear
gemini --model=gemini-2.5-flash --yolo

Pyte শিল্ডের যুক্তিটি একটি pytest ফাইলে লিখিত করতে আপনার জেমিনি সিএলআইতে নিম্নলিখিত প্রম্পটটি ব্যবহার করুন:

You are an expert Python developer specializing in the Google Agent Development Kit (ADK). Your task is to generate the exact code for a new `pytest` test file located at in the current root working folder and name it `test_agent_initiative.py`.

The script must define a single async test function called `test_agent_initiative`, decorated with `@pytest.mark.asyncio`.
Inside this function, perform the following steps in order:
1.  **Define a dictionary** named `evaluation_criteria` with two keys: `"tool_trajectory_avg_score"` set to `0.0` and `"response_match_score"` set to `0.0`.
2.  **Define a string variable** named `eval_set_filepath` containing the path `"shadowblade/test.evalset.json"`.
3.  **Read and parse the JSON file**:
    *   Open the file at `eval_set_filepath`.
    *   Use the `json` library to load the file's contents into a dictionary named `eval_set_data`.
4.  **Create an `EvalSet` object**:
    *   Instantiate an `EvalSet` object named `eval_set_object`.
    *   Create it by unpacking the `eval_set_data` dictionary as keyword arguments into the `EvalSet` constructor.
5.  **Call the evaluation method**:
    *   `await` a call to `AgentEvaluator.evaluate_eval_set`.
    *   Pass the following arguments:
        *   `agent_module="shadowblade"`
        *   `eval_set=eval_set_object`
        *   `criteria=evaluation_criteria`
        *   `print_detailed_results=True`

The script must include the necessary imports at the top:
*   `AgentEvaluator` from `google.adk.evaluation.agent_evaluator`
*   `EvalSet` from `google.adk.evaluation.eval_set`
*   `pytest`
*   `json`

Generate only the code that meets these specifications, with no additional comments or logic. And don't run the test.

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

C Ctrl+C দুবার টিপুন।

The ফাইল এক্সপ্লোরারটিতে, স্ক্রোলটি খুলুন আপনি কেবল জেমিনিকে স্ক্রিপ্ট করার আদেশ দিয়েছেন: ~/agentverse-developer/test_agent_initiative.py

আপনি লক্ষ্য করবেন এটি কেবল একটি কনফিগারেশন ফাইল নয়, পাইথোনিক জিহ্বায় লেখা একটি ইনক্যান্টেশন। এই বানানের হৃদয় হ'ল লাইনটি await AgentEvaluator.evaluate(...)

....
@pytest.mark.asyncio
async def test_agent_initiative():
    # Define the evaluation criteria
    evaluation_criteria = {
      "tool_trajectory_avg_score": 0.0,
      "response_match_score": 0.0
    }

    # Define the path to your evalset file
    eval_set_filepath = "shadowblade/test.evalset.json"

    #...

    # 3. Call the evaluation method with the correctly typed object
    await AgentEvaluator.evaluate_eval_set(
        agent_module="shadowblade",
        eval_set=eval_set_object,
        criteria=evaluation_criteria,
        print_detailed_results=True,
    )

এর যুক্তিগুলি ঘনিষ্ঠভাবে দেখুন। এগুলি আপনি শেষ পরীক্ষায় ব্যবহার করেছেন এমন একই উপাদান: আপনার shadowblade এজেন্ট এবং shadowblade.evalset.json চ্যালেঞ্জ স্ক্রোল। এটি একটি গভীর সত্য প্রকাশ করা উচিত: আপনি আগে ব্যবহার করা adk eval কমান্ডটি একটি শক্তিশালী অনুরোধ, তবে এই pytest স্ক্রিপ্টটি আপনি, যাদুকর, অন্তর্নিহিত বানানটি নিজেই কাস্ট করছেন। কমান্ড-লাইন সরঞ্জামটি কেবল একই কোর AgentEvaluator লাইব্রেরির চারপাশে একটি সুবিধাজনক মোড়ক যা আপনি এখন সরাসরি পরিচালনা করছেন। এটি মাস্টারির দিকে একটি গুরুত্বপূর্ণ পদক্ষেপ, কারণ কোডের মাধ্যমে কাস্ট করা মন্ত্রগুলি সিআই/সিডি পাইপলাইনের স্বয়ংক্রিয় তাঁতগুলিতে বোনা হতে পারে।

এখন আপনি যাদুটি বুঝতে পেরেছেন, ield াল সক্রিয় করার জন্য আচারটি চালান।

Your আপনার টার্মিনালে, ield ালটি সক্রিয় করতে আচারটি চালান:

cp ~/agentverse-developer/working_code/test_agent_initiative.py ~/agentverse-developer/test_agent_initiative.py 
source ~/agentverse-developer/env/bin/activate
cd ~/agentverse-developer
. ~/agentverse-developer/set_env.sh
pytest test_agent_initiative.py

Log লগ আউটপুট শেষে পরীক্ষার ফলাফলের সংক্ষিপ্তসারটি সন্ধান করুন। একটি উত্তীর্ণ ফলাফল নিশ্চিত করে যে আপনার এজেন্ট তার প্রোটোকলগুলি সঠিকভাবে অনুসরণ করে এবং ওয়ার্ডটি আপনার স্বয়ংক্রিয় প্রতিরক্ষায় সংহত হওয়ার জন্য প্রস্তুত।

====== 1 passed, 4 warning in 37.37s ======

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

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

8। ব্লেডটি এজেন্টভার্সে প্রকাশ করা: সিআই এবং মোতায়েন।

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

গল্প

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

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

ওভারভিউ

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

আপনি এখন এই সিআই আচারের জন্য স্ক্রোলটি লিখতে গুগল ক্লাউড বিল্ড ব্যবহার করবেন। একটি cloudbuild.yaml ফাইল যা আপনার ফোরজিং এবং পরীক্ষার প্রক্রিয়াটির প্রতিটি পদক্ষেপকে সংজ্ঞায়িত করে।

AD এডিকে প্রকল্পের কাঠামোর কারণে, সিআই/সিডি পাইপলাইন কনফিগারেশনটি প্যারেন্ট ডিরেক্টরিতে থাকতে হবে। আপনার টার্মিনালে, প্যারেন্ট ডিরেক্টরিতে নেভিগেট করুন এবং জেমিনি সিএলআই পুনরায় চালু করুন।

cd ~/agentverse-developer/
clear
gemini --model=gemini-2.5-flash --yolo

👉✨ এখন, মিথুনকে নিম্নলিখিত আদেশ জারি করুন। এই প্রম্পটটি ডিজাইন ডকুমেন্ট হিসাবে কাজ করে, আপনি যে গন্টলেটটি এটি তৈরি করতে চান তার পদক্ষেপগুলি বিশদ করে।

You are an expert DevOps engineer specializing in Google Cloud Build. Your task is to generate the complete YAML configuration for a file named `cloudbuild.yaml` and save it to current directory.

Generate the `cloudbuild.yaml` with the following exact specifications:

1.  **A top-level `substitutions` block** containing these four key-value pairs:
    *   `_PROJECT_ID: "$PROJECT_ID"`
    *   `_REGION: "$REGION"`
    *   `_REPO_NAME: "$REPO_NAME"`
    *   `_IMAGE_TAG: "latest"`
2.  **A `steps` block** with two steps:
    *   **Step 1: 'Run Pytest Ward'**
        *   `id`: 'Run Pytest Ward'
        *   `name`: 'python:3.12-slim'
        *   `entrypoint`: 'bash'
        *   `args` must be a list containing two strings. The first is `'-c'` and the second is a YAML literal block (`|`) containing this exact two-line shell command:
            ```shell
            pip install -r shadowblade/requirements.txt && \
            pytest test_agent_initiative.py
            ```
        *   The step must include an `env` block with this exact list of three environment variables:
            *   `'GOOGLE_CLOUD_PROJECT=$PROJECT_ID'`
            *   `'GOOGLE_GENAI_USE_VERTEXAI=TRUE'`
            *   `'GOOGLE_CLOUD_LOCATION=$_REGION'`
    *   **Step 2: 'Forge Container'**
        *   `id`: 'Forge Container'
        *   `name`: 'gcr.io/cloud-builders/docker'
        *   It must have a `waitFor` key for `['Run Pytest Ward']`.
        *   Its `args` must be a list of six specific strings in this exact order:
            1.  `'build'`
            2.  `'-t'`
            3.  `'${_REGION}-docker.pkg.dev/${_PROJECT_ID}/${_REPO_NAME}/shadowblade-agent:${_IMAGE_TAG}'`
            4.  `'-f'`
            5.  `'./shadowblade/Dockerfile'`
            6.  `'.'`
3.  **A top-level `images` section.** This section must be a list containing a single string: the dynamically constructed image tag `'${_REGION}-docker.pkg.dev/${_PROJECT_ID}/${_REPO_NAME}/shadowblade-agent:${_IMAGE_TAG}'`.

Generate only the complete and exact YAML that meets these specifications.

cloudbuild.yaml স্ক্রোল প্রস্তুত করে গুগল ক্লাউডকে পুরো গন্টলেটটি কার্যকর করার জন্য কমান্ড করুন।

ফলাফল পরীক্ষা করতে মিথুন থেকে প্রস্থান করুন

Your আপনার টার্মিনালে, আপনার প্রকল্পের রুট ডিরেক্টরি থেকে পাইপলাইনটি প্রকাশ করুন:

. ~/agentverse-developer/set_env.sh
cd ~/agentverse-developer
gcloud builds submit . --config cloudbuild.yaml --substitutions=\
_PROJECT_ID="${PROJECT_ID}",\
_REGION="${REGION}",\
_REPO_NAME="${REPO_NAME}"

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

ক্লাউড বিল্ড

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

Your আপনার টার্মিনালে চূড়ান্ত স্থাপনার কমান্ড জারি করুন:

. ~/agentverse-developer/set_env.sh
cd ~/agentverse-developer
gcloud run deploy shadowblade-agent \
  --image=${REGION}-docker.pkg.dev/${PROJECT_ID}/${REPO_NAME}/shadowblade-agent:latest \
  --platform=managed \
  --labels codelab=agentverse \
  --region=${REGION} \
  --set-env-vars="A2A_HOST=0.0.0.0" \
  --set-env-vars="A2A_PORT=8080" \
  --set-env-vars="GOOGLE_GENAI_USE_VERTEXAI=TRUE" \
  --set-env-vars="GOOGLE_CLOUD_LOCATION=${REGION}" \
  --set-env-vars="GOOGLE_CLOUD_PROJECT=${PROJECT_ID}" \
  --set-env-vars="PUBLIC_URL=${PUBLIC_URL}" \
  --allow-unauthenticated \
  --project=${PROJECT_ID} \
  --min-instances=1

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

9। বসের লড়াই

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

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

আপনার এজেন্টের লোকাস অর্জন করুন

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

👉💻 প্রথম, এজেন্টের অনন্য ঠিকানাটি এজেন্টের মধ্যে অর্জন করুন - এর লোকাসে। এটি লাইভ এন্ডপয়েন্ট যা আপনার চ্যাম্পিয়নকে যুদ্ধক্ষেত্রের সাথে সংযুক্ত করে।

. ~/agentverse-developer/set_env.sh
echo https://shadowblade-agent-${PROJECT_NUMBER}.${REGION}.run.app

👉💻 পরবর্তী, গন্তব্যটি চিহ্নিত করুন। এই কমান্ডটি ট্রান্সলোকেশন বৃত্তের অবস্থানটি প্রকাশ করে, স্পেকটারের ডোমেনে খুব পোর্টাল।

. ~/agentverse-developer/set_env.sh
echo https://agentverse-dungeon-${PROJECT_NUMBER}.${REGION}.run.app

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

স্পেকটারের মুখোমুখি

স্থানাঙ্কগুলি সুরক্ষিত হওয়ার সাথে সাথে আপনি এখন ট্রান্সলোকেশন সার্কেলে নেভিগেট করবেন এবং যুদ্ধে যাওয়ার জন্য বানানটি কাস্ট করবেন।

Cry ক্রিমসন কিপের কাছে ঝলমলে পোর্টালের সামনে দাঁড়াতে আপনার ব্রাউজারে ট্রান্সলোকেশন সার্কেল ইউআরএলটি খুলুন।

দুর্গটি লঙ্ঘন করতে আপনাকে অবশ্যই পোর্টালে আপনার শ্যাডোব্লেডের সারমর্মটি সংযুক্ত করতে হবে।

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

ট্রান্সলোকেশন সার্কেল

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

আপনার বিজয়ের একমাত্র পথটি আপনার দৃ iction ় বিশ্বাসের স্পষ্টতার মধ্যে রয়েছে। এটি উইলসের দ্বন্দ্ব, মনের যুদ্ধক্ষেত্রে লড়াই করেছিল।

আপনি যখন এগিয়ে যান, আপনার প্রথম আক্রমণটি মুক্ত করতে প্রস্তুত, স্পেকটার কাউন্টারগুলি। এটি কোনও ield াল বাড়ায় না, তবে সরাসরি আপনার চেতনাতে একটি প্রশ্ন প্রজেক্ট করে your আপনার প্রশিক্ষণের মূল থেকে আঁকা একটি ঝলমলে, রুনিক চ্যালেঞ্জ।

অন্ধকূপ

এই লড়াইয়ের প্রকৃতি। আপনার জ্ঞান আপনার অস্ত্র।

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

এই এটি, চ্যাম্পিয়ন। আপনার কোডটি আপনার বানান বই, আপনার যুক্তিটি আপনার তরোয়াল এবং আপনার জ্ঞান হ'ল ield াল যা বিশৃঙ্খলার জোয়ারকে ফিরিয়ে দেবে।

ফোকাস। সত্য আঘাত। এজেন্টভার্সের ভাগ্য এটির উপর নির্ভর করে।

অভিনন্দন, শ্যাডোব্লেড।

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

10। ক্লিনআপ: এজেন্টভার্স পুনরায় দাবি করা

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

এজেন্টভার্স উপাদানগুলি নিষ্ক্রিয় করুন

আপনি এখন নিয়মিতভাবে আপনার এজেন্টভার্সের মোতায়েন করা উপাদানগুলি ভেঙে ফেলবেন।

ক্লাউড রান এবং আর্টিফ্যাক্ট রেজিস্ট্রি সংগ্রহস্থলে শ্যাডোব্ল্যাড এজেন্ট মুছুন

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

Your আপনার টার্মিনালে, রান:

. ~/agentverse-developer/set_env.sh
gcloud run services delete shadowblade-agent --region=${REGION} --quiet
gcloud run services delete agentverse-dungeon --region=${REGION} --quiet
gcloud artifacts repositories delete ${REPO_NAME} --location=${REGION} --quiet

গুগল ক্লাউড স্টোরেজ বালতি মুছুন

এই কমান্ডটি উত্পন্ন চিত্রগুলি সঞ্চয় করতে ইমেজেন এমসিপি সার্ভার দ্বারা ব্যবহৃত বালতিটি সরিয়ে দেয়।

Your আপনার টার্মিনালে, রান:

. ~/agentverse-developer/set_env.sh
gcloud storage rm -r gs://${BUCKET_NAME} --quiet

স্থানীয় ফাইল এবং ডিরেক্টরিগুলি পরিষ্কার করুন (ক্লাউড শেল)

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

Your আপনার টার্মিনালে, রান:

rm -rf ~/agentverse-developer
rm -rf ~/agentverse-dungeon
rm -rf ~/vertex-ai-creative-studio
rm -f ~/project_id.txt
rm -rf ~/.gemini # This removes all Gemini CLI configurations, including the MCP server settings.

আপনি এখন আপনার এজেন্টভার্স যাত্রার সমস্ত চিহ্ন সফলভাবে সাফ করেছেন। আপনার প্রকল্পটি পরিষ্কার, এবং আপনি আপনার পরবর্তী অ্যাডভেঞ্চারের জন্য প্রস্তুত।

১১। নন-গেমারদের জন্য: ব্যবসায়ের প্রসঙ্গে এজেন্টভার্স বোঝা

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

জেমিনি সিএলআইয়ের সাথে ভাইবেকোডিং: ইন্টেন্ট-চালিত এআই বিকাশ

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

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

রিয়েল-ওয়ার্ল্ড ব্যবহারের কেস: দ্রুত প্রোটোটাইপিং একটি প্রকল্প ড্যাশবোর্ড

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

  1. আপনার অভিপ্রায় ("ভাইব") : আপনি আপনার এআই সহকারীকে (জেমিনি সিএলআই) এমন কিছু বলেছেন: "বর্তমান ফোল্ডারে, একটি সাধারণ অভ্যন্তরীণ প্রকল্প ড্যাশবোর্ড ওয়েবসাইট তৈরি করুন It এটি প্রকল্পের স্থিতি সূচকগুলির সাথে একটি পরিষ্কার, আধুনিক নকশা থাকা উচিত এবং প্রকল্পের সংগ্রহস্থলগুলির দ্রুত লিঙ্কগুলি থাকতে হবে। সমস্ত কোড অবশ্যই পৃথক index.html থাকতে হবে styles.css
  2. এআই অ্যাকশন : জেমিনি সিএলআই, আপনার অভিপ্রায়টি বোঝে, সম্ভবত:
    • এইচটিএমএল উত্পন্ন করুন : প্রকল্পের নাম, স্ট্যাটাস এবং লিঙ্কগুলির জন্য স্থানধারক সহ ড্যাশবোর্ডের প্রাথমিক কাঠামো সহ index.html তৈরি করুন।
    • সিএসএস তৈরি করুন : আপনার "পরিষ্কার, আধুনিক নকশা" স্ট্যাটাস সূচকগুলির সাথে মেলে স্টাইলিং বিধিগুলির সাথে styles.css তৈরি করুন।
    • স্থানীয় সার্ভারের পরামর্শ দিন : আপনার ব্রাউজারের ড্যাশবোর্ডের তাত্ক্ষণিকভাবে পূর্বরূপ দেখতে আপনাকে একটি স্থানীয় ওয়েব সার্ভার (পাইথনের অন্তর্নির্মিত এইচটিটিপি সার্ভারের মতো) শুরু করতে সহায়তা করুন।

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

স্থানীয় আর্সেনাল এবং এমসিপি সার্ভার: ব্যবসায়ের সরঞ্জামগুলির সাথে এআইকে সংযুক্ত করা

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

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

রিয়েল-ওয়ার্ল্ড ব্যবহারের কেস: এআই-সহিত প্রকল্প পরিচালনা এবং সম্পদ তৈরি

এমসিপি সার্ভারগুলির সাথে, আপনার এআই সহকারী আপনার বিদ্যমান ব্যবসায়িক কর্মপ্রবাহগুলিতে নির্বিঘ্নে সংহত করতে পারেন:

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

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

এজেন্টকে একত্রিত করা: স্বায়ত্তশাসিত ব্যবসায়িক মডিউলগুলি তৈরি করা

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

প্রসঙ্গ ইঞ্জিনিয়ারিং: সঠিক ফলাফলের জন্য এআইয়ের গোয়েন্দা নির্দেশনা

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

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

  1. ব্যবহারকারী-স্তরের সেটিংস ( ~/.gemini/settings.json ) :
    • আপনার হোম ডিরেক্টরিতে সঞ্চিত এই ফাইলটি আপনার এআইয়ের ব্যক্তিগত, বৈশ্বিক নির্দেশিকা সেট হিসাবে কাজ করে। এটি আপনার ডিফল্ট পছন্দগুলি সংজ্ঞায়িত করে, প্রায়শই ব্যবহৃত সরঞ্জাম কনফিগারেশনগুলি (গিটিয়া বা আপনি কনফিগার করা ইমেজের জন্য এমসিপি সার্ভারগুলির মতো) এবং সাধারণ আচরণগত নির্দেশিকাগুলি সংজ্ঞায়িত করে। এই প্রসঙ্গটি সর্বদা এআইয়ের কাছে উপলব্ধ, আপনার সমস্ত প্রকল্প জুড়ে ধারাবাহিকতা নিশ্চিত করে। এটিকে এআইকে বলার মতো ভাবেন, "এগুলি হ'ল স্ট্যান্ডার্ড সরঞ্জাম এবং কনফিগারেশন যা আমি পছন্দ করি এবং সর্বত্র ব্যবহার করি" "
  2. প্রকল্প-স্তরের সেটিংস ( .gemini/settings.json একটি প্রকল্প ডিরেক্টরিতে) :
    • আপনি একটি প্রকল্প-নির্দিষ্ট .gemini/settings.json ফাইল দিয়ে গ্লোবাল সেটিংসকে ওভাররাইড করতে পারেন, সাধারণত আপনার প্রকল্পের মধ্যে একটি .gemini ফোল্ডারে অবস্থিত। এটি আপনাকে কোনও নির্দিষ্ট প্রকল্পের অনন্য দাবিতে এআই এর আচরণ এবং সরঞ্জাম অ্যাক্সেসের জন্য উপযুক্ত করে তোলে। উদাহরণস্বরূপ, একটি প্রকল্পের জন্য একটি নির্দিষ্ট অভ্যন্তরীণ ডাটাবেসে অ্যাক্সেসের প্রয়োজন হতে পারে, অন্যটির জন্য একটি বিশেষ কোড বিশ্লেষণ সরঞ্জামের প্রয়োজন। এই স্তরটি নিশ্চিত করে যে এআইয়ের অন্যান্য প্রকল্পগুলিকে প্রভাবিত না করে হাতের কাজের জন্য সর্বাধিক প্রাসঙ্গিক প্রসঙ্গ রয়েছে।
  3. জেমিনি.এমডি ফাইল (প্রকল্প -স্তরের প্রসঙ্গ - দৈনিক ব্রিফিং) GEMINI.md
    • প্রজেক্ট চার্টার : আপনার প্রকল্প ডিরেক্টরিটির মূলে স্থাপন করা এই মার্কডাউন ফাইলটি যখন আপনি সেই ডিরেক্টরিতে কোনও সেশন শুরু করেন তখন স্বয়ংক্রিয়ভাবে জেমিনি সিএলআইয়ের কার্যকারী স্মৃতিতে লোড হয়ে যায়। এটি প্রকল্প-নির্দিষ্ট প্রসঙ্গের সবচেয়ে তাত্ক্ষণিক এবং গতিশীল স্তর। GEMINI.md যেখানে আপনি সংজ্ঞায়িত করেছেন:
      • কোডিং গাইডলাইনস : এই কোডল্যাবটিতে প্রদর্শিত হিসাবে কোডের গুণমান, বিন্যাস এবং সেরা অনুশীলনের জন্য সুস্পষ্ট নিয়ম। এটি উত্পন্ন কোডটি আপনার দলের মানকে মেনে চলা নিশ্চিত করে।
      • পার্সোনা : আপনি এআইকে একটি নির্দিষ্ট ভূমিকা বা দক্ষতা অবলম্বন করার নির্দেশ দিতে পারেন (যেমন, "আপনি গুগল এজেন্ট ডেভলপমেন্ট কিটে বিশেষজ্ঞ বিশেষজ্ঞ পাইথন বিকাশকারী")। এটি প্রাসঙ্গিক পেশাদার ডোমেনের মধ্যে এআইয়ের প্রতিক্রিয়া এবং কোড প্রজন্মকে ফ্রেম করে।
      • নির্দিষ্ট নির্দেশাবলী : সরাসরি কমান্ড বা সীমাবদ্ধতা যা প্রকল্পের মধ্যে সমস্ত কার্যক্রমে প্রযোজ্য (যেমন, "কোনও অতিরিক্ত ফাংশন বা নথিতে বর্ণিত নয় এমন যুক্তি যুক্ত করবেন না")।
    • এই ফাইলটি নিশ্চিত করে যে আপনি যখনই সেই প্রকল্পের মধ্যে জেমিনি সিএলআইয়ের সাথে যোগাযোগ করেন, তখন এআই ক্রমাগত এই গুরুত্বপূর্ণ নিয়মগুলি স্মরণ করিয়ে দেয়, যার ফলে আরও সঠিক এবং অনুগত কোড প্রজন্মের দিকে পরিচালিত হয়।

এই প্রসঙ্গটি তৈরি করে, বিশ্বব্যাপী ব্যবহারকারীর পছন্দগুলি থেকে শুরু করে GEMINI.md -তে অত্যন্ত নির্দিষ্ট প্রকল্পের নির্দেশিকা পর্যন্ত, আপনি কার্যকরভাবে এআইয়ের বোঝাপড়া "ইঞ্জিনিয়ারিং" করছেন। এটি এর আউটপুটগুলির যথার্থতা এবং প্রাসঙ্গিকতা উল্লেখযোগ্যভাবে বাড়িয়ে তোলে, এটি একটি সাধারণ-উদ্দেশ্য এআই থেকে একটি অত্যন্ত বিশেষ, নির্ভরযোগ্য এবং অনুগত দলের সদস্য হিসাবে রূপান্তরিত করে যা আপনার প্রকল্পের সূক্ষ্মতা এবং আপনার সংস্থার মানগুলি বোঝে।

বিশুদ্ধতার ওয়ার্ডস: এআইয়ের জন্য স্বয়ংক্রিয় পরীক্ষা এবং গুণমানের নিশ্চয়তা

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

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

রিয়েল-ওয়ার্ল্ড ব্যবহারের কেস: সিন্থেটিক ডেটা সহ এআই চ্যাটবোটের নির্ভুলতা এবং নির্ভরযোগ্যতা নিশ্চিত করা

আপনার এআই গ্রাহক সমর্থন এজেন্ট মোতায়েন করার আগে, আপনি এটি "বিশুদ্ধতার ওয়ার্ডস" এর মাধ্যমে চালাবেন:

  1. সিন্থেটিক ডেটা সহ স্ট্র্যাটেজি ( adk eval ) গন্টলেট : শত শত গ্রাহক প্রশ্ন ম্যানুয়ালি লেখার পরিবর্তে আপনি একটি টেমপ্লেট সংজ্ঞায়িত করবেন: "অর্ডার স্থিতি, পণ্য রিটার্ন এবং প্রযুক্তিগত সমস্যা সমাধানের বিষয়ে সাধারণ গ্রাহক সমর্থন প্রশ্নের 100 টি বিভিন্নতা তৈরি করুন।" এরপরে আপনি এই টেমপ্লেটের উপর ভিত্তি করে কার্যকরভাবে সিন্থেটিক পরীক্ষার ডেটা তৈরি করে evalset.json ফাইলগুলির একটি বৃহত, বিচিত্র সেট তৈরি করতে একটি এআই (জেমিনি সিএলআই) এর আদেশ দেয়। প্রতিটি প্রশ্নের জন্য, আপনি কেবল প্রত্যাশিত উত্তরই নয়, তবে এআইয়ের কোন অভ্যন্তরীণ সরঞ্জামটি আহ্বান করা উচিত তাও নির্দিষ্ট করে (যেমন, check_order_status "আমার প্যাকেজটি কোথায়?") এর জন্য। adk eval স্বয়ংক্রিয়ভাবে এগুলির মাধ্যমে এজেন্টকে চালায়, এর প্রতিক্রিয়াগুলি এবং আপনার প্রসারিত ডেটাসেটের সাথে এটি ধারাবাহিকভাবে সঠিক সিদ্ধান্ত গ্রহণ করে তা নিশ্চিত করার জন্য এর প্রতিক্রিয়া এবং সরঞ্জাম ব্যবহারের তুলনা করে।
  2. শিল্ড অফ স্পষ্টতা ( pytest ) : সমালোচনামূলক কার্যকারিতার জন্য, আপনি pytest স্ক্রিপ্টগুলি লিখবেন। উদাহরণস্বরূপ, একটি pytest একটি জটিল ক্যোয়ারী অনুকরণ করতে পারে এবং দৃ sert ়ভাবে দাবি করে যে এআই সর্বদা একটি নির্দিষ্ট ডেটা পুনরুদ্ধার সরঞ্জামটি সঠিকভাবে ব্যবহার করে এবং একটি কাঠামোগত প্রতিক্রিয়া প্রদান করে, এটি নিশ্চিত করে যে সূক্ষ্ম কোড পরিবর্তনগুলি মূল কার্যকারিতাটি ভাঙবে না।

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

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

আপনার লাইভ ব্যবসায়ের পরিবেশে একটি পরীক্ষিত এআই এজেন্ট আনার জন্য একটি শক্তিশালী স্থাপনার কৌশল প্রয়োজন।

  • অবিচ্ছিন্ন ইন্টিগ্রেশন (সিআই) : এটি আপনার স্বয়ংক্রিয় বিল্ড এবং পরীক্ষার পাইপলাইন । প্রতিবার যখন কোনও বিকাশকারী কোনও এআই এজেন্টের জন্য নতুন কোড প্রতিশ্রুতিবদ্ধ, সিআই সিস্টেম ( গুগল ক্লাউড বিল্ডের মতো) স্বয়ংক্রিয়ভাবে:
    1. সর্বশেষ কোডটি আনতে পারে।
    2. সমস্ত প্রয়োজনীয় নির্ভরতা ইনস্টল করে।
    3. এজেন্টের যুক্তি এবং আচরণ যাচাই করতে সমস্ত "বিশুদ্ধতার ওয়ার্ডস" ( pytest , adk eval ) চালায়।
    4. যদি সমস্ত পরীক্ষাগুলি পাস হয় তবে এটি এআই এজেন্টকে একটি মোতায়েনযোগ্য ইউনিটে (এই ক্ষেত্রে একটি ডকার ধারক চিত্র) প্যাকেজ করে এবং এটি একটি আর্টিফ্যাক্ট রেজিস্ট্রিতে সঞ্চয় করে (আপনার বৈধতাযুক্ত "আর্সেনাল")। এটি নিশ্চিত করে যে কেবলমাত্র পুঙ্খানুপুঙ্খভাবে পরীক্ষিত এবং বৈধতাযুক্ত কোডটি কখনও এগিয়ে যায়।

রিয়েল-ওয়ার্ল্ড ব্যবহারের কেস: জালিয়াতি সনাক্তকরণ এজেন্টের স্বয়ংক্রিয় স্থাপনা

জালিয়াতি লেনদেন সনাক্ত করতে ডিজাইন করা এআই এজেন্ট বিবেচনা করুন।

  1. বিকাশকারী আপডেট কোড : একটি ডেটা বিজ্ঞানী জালিয়াতি সনাক্তকরণ অ্যালগরিদমকে উন্নত করে এবং কোড সংগ্রহস্থলে পরিবর্তনগুলি প্রতিশ্রুতিবদ্ধ করে।
  2. সিআই (ক্লাউড বিল্ড) ট্রিগার হয়েছে : ক্লাউড বিল্ড স্বয়ংক্রিয়ভাবে কিকগুলি বন্ধ করে দেয়:
    • এটি নতুন কোডটি টানছে।
    • নতুন অ্যালগরিদম সঠিকভাবে জ্ঞাত জালিয়াতির নিদর্শনগুলি সনাক্ত করে এবং মিথ্যা ইতিবাচক উত্পন্ন করে না তা নিশ্চিত করার জন্য এটি historical তিহাসিক লেনদেনের ডেটা সহ বিস্তৃত পরীক্ষা চালায়।
    • যদি পরীক্ষাগুলি পাস হয় তবে এটি জালিয়াতি সনাক্তকরণ এজেন্টের একটি নতুন ডকার চিত্র তৈরি করে এবং এটি একটি আর্টিক্যাক্ট রেজিস্ট্রিতে ঠেলে দেয়।

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

রিয়েল-ওয়ার্ল্ড ব্যবহারের কেস: একটি সরবরাহ চেইন অপ্টিমাইজেশন এজেন্টকে বৈধকরণ

আপনার গ্লোবাল সাপ্লাই চেইন জুড়ে ইনভেন্টরি স্তরগুলি অনুকূল করার জন্য ডিজাইন করা একটি এআই এজেন্ট স্থাপনের পরে:

  1. ইন্টারফেসটি অ্যাক্সেস করুন : আপনি কোনও ড্যাশবোর্ড বা কোনও অ্যাপ্লিকেশন ("ট্রান্সলোকেশন সার্কেল ইউআরএল") অ্যাক্সেস করতে পারবেন যা আপনার লাইভ এআই এজেন্টের সাথে সংযুক্ত হয় (এর "এজেন্ট লোকস ইউআরএল" এর মাধ্যমে, যা এটির এপিআই শেষ পয়েন্ট)।
  2. চ্যালেঞ্জটির মুখোমুখি : আপনি একটি জটিল দৃশ্যে ইনপুট করতে পারেন ("স্পেকটারের প্রশ্ন") এর মতো: "সীমিত শিপিংয়ের ক্ষমতা সহ আমাদের অঞ্চলে এক্সের চাহিদা চাহিদার একটি অপ্রত্যাশিত উত্সাহ রয়েছে। আমাদের কীভাবে স্টকআউটগুলি হ্রাস করতে এবং লাভজনকতা বজায় রাখতে উত্পাদনটি পুনরায় সংযুক্ত করা উচিত এবং উত্পাদন সামঞ্জস্য করা উচিত?"
  3. এজেন্টের প্রতিক্রিয়া : আপনার এআই এজেন্ট, এখন লাইভ এবং আপনার এন্টারপ্রাইজ সিস্টেমগুলির সাথে সংযুক্ত, এই ক্যোয়ারিকে প্রক্রিয়া করে, তার অনুকূলিত অ্যালগরিদমগুলি ব্যবহার করে এবং একটি সুনির্দিষ্ট সুপারিশ সরবরাহ করে (যেমন, "গুদাম এ থেকে চালানকে অগ্রাধিকার দিন, কারখানার বিতে দ্রুত উত্পাদন শুরু করুন এবং সম্ভাব্য 24-ঘন্টা বিলম্বের অঞ্চলে বিক্রয়কে অবহিত করুন")। এই প্রতিক্রিয়ার যথার্থতা এবং গতি নির্ধারণ করে যে আপনার এজেন্ট ব্যবসায়ের সমস্যার বিরুদ্ধে "সমালোচনামূলক আঘাত" অবতরণ করে কিনা।