ওপেন সোর্স ফ্রেমওয়ার্ক ব্যবহার করে এজেন্টের দক্ষতা মূল্যায়ন করুন

১. ভূমিকা

সংক্ষিপ্ত বিবরণ

এই কোডল্যাবে, আপনি শিখবেন কীভাবে ওপেন সোর্স ফ্রেমওয়ার্ক Inspect ব্যবহার করে এক সেট এজেন্ট স্কিলের মূল্যায়ন করা যায়। আপনি ডকার কন্টেইনার ব্যবহার করে আপনার নিজের মেশিনে এই মূল্যায়নটি চালাবেন। মূল্যায়নটি সম্পাদনের জন্য সফটওয়্যার ইঞ্জিনিয়ারিং এজেন্ট হিসেবে Gemini CLI ব্যবহৃত হবে, যা Inspect SWE-এর মাধ্যমে কাজ করবে।

আপনি যা করবেন

কাস্টম প্রম্পট ইভ্যালুয়েশন ব্যবহার করে এজেন্ট স্কিলের একটি সেটের উপর মূল্যায়ন চালান।

আপনি যা শিখবেন

  • ওপেন সোর্স ফ্রেমওয়ার্ক ব্যবহার করে কীভাবে স্কিলস-এর মূল্যায়ন চালানো যায়।
  • প্রশ্নোত্তর মূল্যায়নে ব্যবহার্য প্রশ্ন কীভাবে লিখতে হয়।

২. শুরু করার আগে

জেমিনি এপিআই সেট আপ করুন

জেমিনি এপিআই ব্যবহার করতে, গুগল এআই স্টুডিওতে একটি এপিআই কী তৈরি করুন

ঐচ্ছিক: আপনার চাবি পরীক্ষা করুন

আপনার যদি curl সহ কমান্ড-লাইন ব্যবহারের সুযোগ থাকে, তাহলে নিম্নলিখিত ব্লকের প্রথম লাইনে আপনার কী-টি যোগ করুন এবং তারপর API কী-টি পরীক্ষা করার জন্য আপনার টার্মিনালে এটি চালান।

export GEMINI_API_KEY=Paste_your_API_key_here
curl "https://generativelanguage.googleapis.com/v1beta/models?key=${GEMINI_API_KEY}"

আপনি JSON ফরম্যাটে মডেলগুলির একটি তালিকা দেখতে পাবেন, যেমন models/gemini-3.1-pro-preview। এর মানে হলো, এটি কাজ করেছে।

সিস্টেম নির্ভরতা ইনস্টল করুন

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

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

৩. মূল্যায়ন করার জন্য দক্ষতাগুলো চিহ্নিত করুন।

এজেন্ট স্কিলস হলো এআই এজেন্টদের নতুন সক্ষমতা ও দক্ষতা প্রদানের একটি প্রমিত পদ্ধতি।

এই কোডল্যাবে উদাহরণ হিসেবে গুগল এজেন্ট স্কিলস রিপোজিটরি ( https://github.com/google/skills ) ব্যবহার করা হবে, কিন্তু আপনি এটি পরিবর্তন করে এজেন্ট স্কিলস রয়েছে এমন যেকোনো গিটহাব রিপোজিটরি ব্যবহার করতে পারেন।

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

গুগল এজেন্ট স্কিলস রিপোজিটরিতে ক্লাউড রান-এর জন্য নির্দিষ্ট একটি স্কিল রয়েছে, তাই আমরা নিম্নলিখিত প্রশ্নটি করতে পারি:

আমার লোকাল মেশিনে থাকা কোড ব্যবহার করে ক্লাউড রানে একটি সার্ভিস কীভাবে ডেপ্লয় করা যায়?

এই প্রশ্নের উত্তর হলো 'gcloud run deploy' । আমরা এই প্রশ্ন ও উত্তর, এবং সেইসাথে দক্ষতার গিটহাব রিপোজিটরিটি মূল্যায়নকারীকে প্রদান করব, যিনি এরপর যাচাই করবেন যে প্রদত্ত এজেন্ট দক্ষতার দ্বারা প্রশ্নটির উত্তর দেওয়া সম্ভব কি না।

৪. মূল্যায়নটি চালান।

এই ধাপে, আপনি একটি নমুনা মূল্যায়ন চালাবেন।

পাইথন নির্ভরতা ইনস্টল করুন

আপনার স্থানীয় মেশিনে পাইথন নির্ভরতাগুলি ইনস্টল করতে নিম্নলিখিতটি চালান।

pip install inspect-ai inspect-swe google-genai

দক্ষতা ভান্ডারের একটি অনুলিপি তৈরি করুন

Google Agent Skills রিপোজিটরিটির একটি স্থানীয় কপি google-skills নামের একটি ফোল্ডারে তৈরি করুন।

git clone https://github.com/google/skills.git --depth 1 google-skills

পাইথন অ্যাপ্লিকেশনটি পর্যালোচনা করুন

আপনি যে মূল্যায়নটি চালাবেন তা নিম্নরূপ:

from pathlib import Path
import os

from inspect_ai import Task, task
from inspect_ai.dataset import Sample
from inspect_ai.scorer import model_graded_qa
from inspect_swe import gemini_cli

if "GEMINI_API_KEY" not in os.environ:
  raise ValueError("Missing GEMINI_API_KEY. Please set GEMINI_API_KEY environment variable.")

@task
def skills_eval(agent_skills_folder, model="google/gemini-3.1-pro-preview"):

    # For the provided folder, find all folders containing skills
    skill_files = (Path.cwd() / agent_skills_folder).rglob("SKILL.md")
    all_skills = [str(s.parent) for s in skill_files]

    # Example question and answers
    questions = [
        Sample(
            input="How do I deploy a Cloud Run service?",
            target="gcloud run deploy"
        ),
        Sample(
            input="How can I connect to a Cloud SQL instance",
            target="cloud sql proxy"
        ),
        Sample(
            input="How can I list the roles available in IAM?",
            target="fortune | cowsay",
        ),
    ]

    return Task(
        dataset=questions,
        solver=gemini_cli(skills=all_skills),
        scorer=model_graded_qa(),
        sandbox="docker",
        model=model,
    )

এই ফাইলটি skills-eval.py নামে সংরক্ষণ করুন।

এই কোডে skills_eval একটি ডেকোরেটেড ফাংশন রয়েছে, যা নিম্নলিখিত লজিক ব্যবহার করে:

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

পরবর্তী ধাপে, আপনি এই মূল্যায়নটি চালানোর জন্য Inspect ব্যবহার করবেন।

মূল্যায়নটি চালান

মূল্যায়নটি চালানোর জন্য, নিম্নলিখিত কমান্ডটি ব্যবহার করুন:

inspect eval skills-eval.py -T agent_skills_folder=google-skills

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

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

চলমান কাজগুলি

মূল্যায়ন চলাকালীন, আপনি বর্তমান অগ্রগতি দেখতে বা প্রক্রিয়াটি বাতিল করতে 'Running Samples'-এ ক্লিক করতে পারেন।

নমুনা চালানো

পরবর্তী ধাপে আপনি ফলাফলগুলো পর্যালোচনা করবেন।

৫. ফলাফলগুলো দেখুন এবং ব্যাখ্যা করুন।

মূল্যায়ন সম্পন্ন হলে, আপনি মূল্যায়নের ফলাফল দেখতে পারবেন।

ফলাফল দেখুন

মূল্যায়নটি logs/ ফোল্ডারে একটি .eval ফাইল লিখেছে। এটি একটি বাইনারি ফাইল এবং সরাসরি দেখা যায় না।

মূল্যায়নের ফলাফল দেখতে, ইন্সপেক্ট ভিউয়ার ব্যবহার করুন:

inspect view

এটি http://127.0.0.1:7575 ঠিকানায় একটি ওয়েব সার্ভার তৈরি করবে। ফলাফল দেখতে এই URL-টি খুলুন।

পরিদর্শন দৃশ্য

ফলাফল ব্যাখ্যা করুন

এই মূল্যায়নে একটি মডেল গ্রেডার ব্যবহার করা হয়েছে, যেখানে নিম্নলিখিত গ্রেডগুলো দেওয়া হয়:

  • "C": সম্পূর্ণ
    • উত্তরটি সম্পূর্ণ সঠিক ছিল।
  • "P": আংশিক
    • উত্তরটি বেশিরভাগই সঠিক ছিল।
  • "I": অসম্পূর্ণ
    • উত্তরটি সঠিক ছিল না।

এই কোডল্যাবে ইচ্ছাকৃতভাবে একটি ভুল উত্তর রয়েছে, যা "I" (অসম্পূর্ণ) হিসেবে প্রদর্শিত হয় এবং এর ফলে সাধারণ নির্ভুলতা কমে ০.৬৬৭-এ নেমে আসে (তিনটির মধ্যে দুটি সঠিক)।

যেকোনো ট্যাবে ক্লিক করে আপনি গৃহীত পদ্ধতি, ব্যবহৃত টোকেন এবং মূল্যায়ন সম্পর্কিত অন্যান্য তথ্য দেখতে পারেন।

৬. মূল্যায়ন প্রসারিত করুন

এই মূল্যায়নের পরিধি প্রসারিত করার জন্য আপনি এতে বেশ কিছু পরিবর্তন আনতে পারেন।

আরও প্রশ্ন প্রদান করুন

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

পরীক্ষাধীন এজেন্ট দক্ষতা আপডেট করুন

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

ভিন্ন স্কোরার ব্যবহার করুন

এই কোডল্যাবে আমরা মডেল গ্রেডেড স্কোরারটি ব্যবহার করেছি। ইন্সপেক্ট একাধিক বিল্ট-ইন স্কোরার প্রদান করে, এবং সেইসাথে আপনার নিজস্ব কাস্টম স্কোরার তৈরি করার বিকল্পও রয়েছে।

বিভিন্ন সলভার মডেল ব্যবহার করুন

এই কোডল্যাবে, আমরা সলভার মডেল হিসেবে Gemini 3.1 Pro ব্যবহার করেছি। কোড পরিবর্তন না করেই, আপনি কমান্ড লাইন প্যারামিটার হিসেবে মডেলের নামটি দিয়ে এটি পরিবর্তন করতে পারেন। নিম্নলিখিত কমান্ডের সাহায্যে আপনি একটি ভিন্ন Gemini মডেল দিয়ে মূল্যায়নটি পুনরায় চালাতে পারেন:

inspect eval skills-eval -T agent_skills_folder=google-skills \
  -T model=google/gemini-3.1-flash-live-preview

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

বিভিন্ন দক্ষতার মূল্যায়ন করুন

এই কোডল্যাবে, আমরা মূল্যায়নযোগ্য দক্ষতা হিসেবে গুগল এজেন্ট স্কিলস রিপোজিটরি ব্যবহার করেছি।

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

৭. অভিনন্দন

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