যখন এআই এজেন্ট পরীক্ষামূলক প্রোটোটাইপ থেকে বাস্তব জীবনের অ্যাপ্লিকেশনে রূপান্তরিত হয়, তখন তাদের আচরণ বোঝা, কার্যকারিতা পর্যবেক্ষণ করা এবং তাদের আউটপুট পদ্ধতিগতভাবে মূল্যায়ন করার ক্ষমতা গুরুত্বপূর্ণ হয়ে ওঠে।
এই পাঠ শেষ করার পর, আপনি জানতে পারবেন/বোঝতে পারবেন:
লক্ষ্য হল আপনাকে এমন জ্ঞান দিয়ে সজ্জিত করা যা আপনার “ব্ল্যাক বক্স” এজেন্টকে স্বচ্ছ, পরিচালনাযোগ্য এবং নির্ভরযোগ্য সিস্টেমে রূপান্তরিত করতে সাহায্য করবে।
নোট: নিরাপদ এবং বিশ্বাসযোগ্য এআই এজেন্ট মোতায়েন করা গুরুত্বপূর্ণ। বিশ্বাসযোগ্য এআই এজেন্ট তৈরি পাঠটি দেখুন।
পর্যবেক্ষণযোগ্যতা সরঞ্জাম যেমন Langfuse বা Azure AI Foundry সাধারণত এজেন্ট রানগুলোকে ট্রেস এবং স্প্যান হিসেবে উপস্থাপন করে।
পর্যবেক্ষণযোগ্যতা ছাড়া, একটি এআই এজেন্ট “ব্ল্যাক বক্স” এর মতো মনে হতে পারে - এর অভ্যন্তরীণ অবস্থা এবং যুক্তি অস্বচ্ছ থাকে, যা সমস্যাগুলি নির্ণয় করা বা কার্যকারিতা অপ্টিমাইজ করা কঠিন করে তোলে। পর্যবেক্ষণযোগ্যতার মাধ্যমে, এজেন্টগুলি “গ্লাস বক্স” হয়ে ওঠে, যা স্বচ্ছতা প্রদান করে এবং এটি বিশ্বাস তৈরি এবং সঠিকভাবে কাজ করার নিশ্চয়তার জন্য অত্যন্ত গুরুত্বপূর্ণ।
এআই এজেন্টকে প্রোডাকশন পরিবেশে স্থানান্তরিত করার সময় নতুন চ্যালেঞ্জ এবং প্রয়োজনীয়তা দেখা দেয়। পর্যবেক্ষণযোগ্যতা আর “ভালো থাকলে ভালো” নয়, বরং এটি একটি গুরুত্বপূর্ণ ক্ষমতা:
এজেন্টের আচরণ পর্যবেক্ষণ এবং বোঝার জন্য, বিভিন্ন মেট্রিক এবং সংকেত ট্র্যাক করা উচিত। যদিও নির্দিষ্ট মেট্রিক এজেন্টের উদ্দেশ্যের উপর নির্ভর করে পরিবর্তিত হতে পারে, কিছু মেট্রিক সর্বজনীনভাবে গুরুত্বপূর্ণ।
এখানে পর্যবেক্ষণযোগ্যতা সরঞ্জামগুলির দ্বারা পর্যবেক্ষণ করা সবচেয়ে সাধারণ মেট্রিকগুলির একটি তালিকা দেওয়া হল:
লেটেন্সি: এজেন্ট কত দ্রুত প্রতিক্রিয়া জানায়? দীর্ঘ অপেক্ষার সময় ব্যবহারকারীর অভিজ্ঞতাকে নেতিবাচকভাবে প্রভাবিত করে। এজেন্ট রান ট্রেস করে কাজ এবং পৃথক ধাপগুলির জন্য লেটেন্সি পরিমাপ করা উচিত। উদাহরণস্বরূপ, একটি এজেন্ট যা সমস্ত মডেল কলের জন্য ২০ সেকেন্ড সময় নেয়, সেটিকে দ্রুত মডেল ব্যবহার করে বা মডেল কলগুলি সমান্তরালভাবে চালিয়ে ত্বরান্বিত করা যেতে পারে।
খরচ: প্রতি এজেন্ট রান কত খরচ হয়? এআই এজেন্ট LLM কল বা বহিরাগত API-র উপর নির্ভর করে, যা প্রতি টোকেন অনুযায়ী বিল করা হয়। ঘন ঘন টুল ব্যবহার বা একাধিক প্রম্পট দ্রুত খরচ বাড়িয়ে তুলতে পারে। উদাহরণস্বরূপ, যদি একটি এজেন্ট গুণগত মানের সামান্য উন্নতির জন্য পাঁচবার LLM কল করে, তবে আপনাকে মূল্যায়ন করতে হবে যে খরচটি ন্যায্য কিনা বা কলের সংখ্যা কমানো বা সস্তা মডেল ব্যবহার করা যেতে পারে কিনা। রিয়েল-টাইম পর্যবেক্ষণ অপ্রত্যাশিত স্পাইক (যেমন অতিরিক্ত API লুপের কারণে বাগ) সনাক্ত করতেও সাহায্য করতে পারে।
রিকোয়েস্ট ত্রুটি: এজেন্ট কতটি রিকোয়েস্ট ব্যর্থ করেছে? এর মধ্যে API ত্রুটি বা ব্যর্থ টুল কল অন্তর্ভুক্ত থাকতে পারে। প্রোডাকশনে এজেন্টকে আরও শক্তিশালী করতে, আপনি ফলোব্যাক বা পুনরায় চেষ্টা সেট আপ করতে পারেন। যেমন, যদি LLM প্রদানকারী A ডাউন থাকে, তবে আপনি ব্যাকআপ হিসাবে LLM প্রদানকারী B-তে স্যুইচ করতে পারেন।
ব্যবহারকারীর প্রতিক্রিয়া: সরাসরি ব্যবহারকারীর মূল্যায়ন বাস্তব অন্তর্দৃষ্টি প্রদান করে। এর মধ্যে স্পষ্ট রেটিং (👍থাম্বস-আপ/👎ডাউন, ⭐১-৫ তারকা) বা টেক্সট মন্তব্য অন্তর্ভুক্ত থাকতে পারে। ধারাবাহিক নেতিবাচক প্রতিক্রিয়া আপনাকে সতর্ক করা উচিত কারণ এটি এজেন্ট প্রত্যাশিতভাবে কাজ করছে না এমন একটি চিহ্ন।
অপ্রকাশ্য ব্যবহারকারীর প্রতিক্রিয়া: ব্যবহারকারীর আচরণগুলি এমনকি স্পষ্ট রেটিং ছাড়াই পরোক্ষ প্রতিক্রিয়া প্রদান করে। এর মধ্যে তাৎক্ষণিক প্রশ্ন পুনরায় ফ্রেমিং, পুনরাবৃত্ত প্রশ্ন বা একটি পুনরায় চেষ্টা বোতাম ক্লিক করা অন্তর্ভুক্ত থাকতে পারে। যেমন, যদি আপনি দেখেন যে ব্যবহারকারীরা বারবার একই প্রশ্ন জিজ্ঞাসা করছে, এটি একটি চিহ্ন যে এজেন্ট প্রত্যাশিতভাবে কাজ করছে না।
সঠিকতা: এজেন্ট কত ঘন ঘন সঠিক বা কাঙ্ক্ষিত আউটপুট তৈরি করে? সঠিকতার সংজ্ঞা পরিবর্তিত হয় (যেমন, সমস্যা সমাধানের সঠিকতা, তথ্য পুনরুদ্ধারের সঠিকতা, ব্যবহারকারীর সন্তুষ্টি)। প্রথম পদক্ষেপ হল আপনার এজেন্টের জন্য সাফল্য কেমন হওয়া উচিত তা সংজ্ঞায়িত করা। আপনি স্বয়ংক্রিয় চেক, মূল্যায়ন স্কোর বা টাস্ক সম্পূর্ণ লেবেলের মাধ্যমে সঠিকতা ট্র্যাক করতে পারেন। উদাহরণস্বরূপ, ট্রেসগুলিকে “সফল” বা “ব্যর্থ” হিসাবে চিহ্নিত করা।
স্বয়ংক্রিয় মূল্যায়ন মেট্রিক: আপনি স্বয়ংক্রিয় মূল্যায়নও সেট আপ করতে পারেন। উদাহরণস্বরূপ, আপনি এজেন্টের আউটপুট স্কোর করতে একটি LLM ব্যবহার করতে পারেন, যেমন এটি সহায়ক, সঠিক বা না। এছাড়াও বেশ কয়েকটি ওপেন সোর্স লাইব্রেরি রয়েছে যা আপনাকে এজেন্টের বিভিন্ন দিক স্কোর করতে সাহায্য করে। যেমন, RAG এজেন্টের জন্য RAGAS বা ক্ষতিকারক ভাষা বা প্রম্পট ইনজেকশন সনাক্ত করতে LLM Guard।
বাস্তবে, এই মেট্রিকগুলির একটি সংমিশ্রণ একটি এআই এজেন্টের স্বাস্থ্যের সর্বোত্তম কভারেজ প্রদান করে। এই অধ্যায়ের উদাহরণ নোটবুকে, আমরা দেখাব যে এই মেট্রিকগুলি বাস্তব উদাহরণে কেমন দেখায়, তবে প্রথমে আমরা শিখব একটি সাধারণ মূল্যায়ন কর্মপ্রবাহ কেমন দেখায়।
ট্রেসিং ডেটা সংগ্রহ করতে, আপনাকে আপনার কোড ইনস্ট্রুমেন্ট করতে হবে। লক্ষ্য হল এজেন্ট কোড ইনস্ট্রুমেন্ট করা যাতে এটি ট্রেস এবং মেট্রিক নির্গত করে যা একটি পর্যবেক্ষণযোগ্যতা প্ল্যাটফর্ম দ্বারা ক্যাপচার, প্রক্রিয়াকরণ এবং ভিজ্যুয়ালাইজ করা যায়।
ওপেনটেলিমেট্রি (OTel): ওপেনটেলিমেট্রি LLM পর্যবেক্ষণযোগ্যতার জন্য একটি শিল্প মান হিসাবে আবির্ভূত হয়েছে। এটি টেলিমেট্রি ডেটা তৈরি, সংগ্রহ এবং রপ্তানি করার জন্য একটি API, SDK এবং সরঞ্জামের সেট প্রদান করে।
অনেক ইনস্ট্রুমেন্টেশন লাইব্রেরি রয়েছে যা বিদ্যমান এজেন্ট ফ্রেমওয়ার্কগুলিকে মোড়ানো এবং ওপেনটেলিমেট্রি স্প্যানগুলি একটি পর্যবেক্ষণযোগ্যতা সরঞ্জামে রপ্তানি করা সহজ করে তোলে। নিচে একটি উদাহরণ দেওয়া হল যেখানে OpenLit ইনস্ট্রুমেন্টেশন লাইব্রেরি ব্যবহার করে একটি AutoGen এজেন্ট ইনস্ট্রুমেন্ট করা হয়েছে:
import openlit
openlit.init(tracer = langfuse._otel_tracer, disable_batch = True)
এই অধ্যায়ের উদাহরণ নোটবুক দেখাবে কীভাবে আপনার AutoGen এজেন্ট ইনস্ট্রুমেন্ট করবেন।
ম্যানুয়াল স্প্যান তৈরি: যদিও ইনস্ট্রুমেন্টেশন লাইব্রেরি একটি ভালো বেসলাইন প্রদান করে, প্রায়শই এমন ক্ষেত্রে হয় যেখানে আরও বিস্তারিত বা কাস্টম তথ্য প্রয়োজন। আপনি কাস্টম অ্যাপ্লিকেশন লজিক যোগ করতে ম্যানুয়ালি স্প্যান তৈরি করতে পারেন। আরও গুরুত্বপূর্ণ, তারা স্বয়ংক্রিয় বা ম্যানুয়ালি তৈরি করা স্প্যানগুলিকে কাস্টম অ্যাট্রিবিউট (যা ট্যাগ বা মেটাডেটা নামেও পরিচিত) দিয়ে সমৃদ্ধ করতে পারে। এই অ্যাট্রিবিউটগুলিতে ব্যবসা-নির্দিষ্ট ডেটা, মধ্যবর্তী গণনা বা ডিবাগিং বা বিশ্লেষণের জন্য দরকারী যে কোনও প্রসঙ্গ অন্তর্ভুক্ত থাকতে পারে, যেমন user_id
, session_id
, বা model_version
।
Langfuse Python SDK ব্যবহার করে ম্যানুয়ালি ট্রেস এবং স্প্যান তৈরি করার উদাহরণ:
from langfuse import get_client
langfuse = get_client()
span = langfuse.start_span(name="my-span")
span.end()
পর্যবেক্ষণযোগ্যতা আমাদের মেট্রিক দেয়, কিন্তু মূল্যায়ন হল সেই ডেটা বিশ্লেষণ করার (এবং পরীক্ষা করার) প্রক্রিয়া, যা নির্ধারণ করে যে একটি এআই এজেন্ট কতটা ভালো কাজ করছে এবং এটি কীভাবে উন্নত করা যেতে পারে। অন্য কথায়, একবার আপনি সেই ট্রেস এবং মেট্রিক পেয়ে গেলে, কীভাবে আপনি এজেন্টকে বিচার করবেন এবং সিদ্ধান্ত নেবেন?
নিয়মিত মূল্যায়ন গুরুত্বপূর্ণ কারণ এআই এজেন্ট প্রায়শই অ-নির্ধারক হয় এবং বিকশিত হতে পারে (আপডেট বা মডেল আচরণের পরিবর্তনের মাধ্যমে) – মূল্যায়ন ছাড়া, আপনি জানবেন না যে আপনার “স্মার্ট এজেন্ট” আসলে তার কাজটি ভালোভাবে করছে কিনা বা এটি পিছিয়ে পড়েছে কিনা।
এআই এজেন্টের জন্য দুটি মূল্যায়ন বিভাগ রয়েছে: অফলাইন মূল্যায়ন এবং অনলাইন মূল্যায়ন। উভয়ই মূল্যবান এবং একে অপরকে পরিপূরক করে। আমরা সাধারণত অফলাইন মূল্যায়ন দিয়ে শুরু করি, কারণ এটি কোনও এজেন্ট মোতায়েন করার আগে ন্যূনতম প্রয়োজনীয় পদক্ষেপ।
এটি একটি নিয়ন্ত্রিত সেটিংয়ে এজেন্ট মূল্যায়ন জড়িত, সাধারণত টেস্ট ডেটাসেট ব্যবহার করে, লাইভ ব্যবহারকারীর প্রশ্ন নয়। আপনি কিউরেটেড ডেটাসেট ব্যবহার করেন যেখানে আপনি জানেন প্রত্যাশিত আউটপুট বা সঠিক আচরণ কী, এবং তারপরে সেই ডেটাসেটে আপনার এজেন্ট চালান।
উদাহরণস্বরূপ, আপনি যদি একটি গণিত শব্দ-সমস্যা এজেন্ট তৈরি করেন, তবে আপনার কাছে ১০০টি সমস্যার একটি পরীক্ষার ডেটাসেট থাকতে পারে যার পরিচিত উত্তর রয়েছে। অফলাইন মূল্যায়ন প্রায়শই উন্নয়নের সময় করা হয় (এবং CI/CD পাইপলাইনের অংশ হতে পারে) উন্নতি পরীক্ষা করতে বা রিগ্রেশন প্রতিরোধ করতে। সুবিধাটি হল এটি পুনরাবৃত্তিযোগ্য এবং আপনি স্পষ্ট সঠিকতার মেট্রিক পেতে পারেন কারণ আপনার কাছে গ্রাউন্ড ট্রুথ রয়েছে। আপনি ব্যবহারকারীর প্রশ্নগুলি অনুকরণ করতে পারেন এবং এজেন্টের প্রতিক্রিয়াগুলি আদর্শ উত্তরের সাথে পরিমাপ করতে পারেন বা উপরে বর্ণিত স্বয়ংক্রিয় মেট্রিকগুলি ব্যবহার করতে পারেন।
অফলাইন মূল্যায়নের মূল চ্যালেঞ্জ হল আপনার পরীক্ষার ডেটাসেটটি ব্যাপক এবং প্রাসঙ্গিক থাকে তা নিশ্চিত করা – এজেন্ট একটি নির্দিষ্ট পরীক্ষার সেটে ভাল কাজ করতে পারে তবে প্রোডাকশনে খুব ভিন্ন প্রশ্নের সম্মুখীন হতে পারে। অতএব, আপনাকে নতুন এজ কেস এবং বাস্তব-বিশ্বের দৃশ্য প্রতিফলিত করে উদাহরণ সহ পরীক্ষার সেট আপডেট রাখতে হবে। ছোট “স্মোক টেস্ট” কেস এবং বড় মূল্যায়ন সেটগুলির একটি মিশ্রণ দরকারী: দ্রুত চেকের জন্য ছোট সেট এবং বিস্তৃত কার্যকারিতার মেট্রিকের জন্য বড় সেট।
এটি একটি লাইভ, বাস্তব-জগতের পরিবেশে এজেন্ট মূল্যায়নকে বোঝায়, অর্থাৎ প্রোডাকশনে প্রকৃত ব্যবহারের সময়। অনলাইন মূল্যায়ন এজেন্টের কার্যকারিতা লাইভ ব্যবহারকারীর ইন্টারঅ্যাকশনের উপর পর্যবেক্ষণ এবং ফলাফলগুলি ক্রমাগত বিশ্লেষণ জড়িত।
উদাহরণস্বরূপ, আপনি লাইভ ট্র্যাফিকের উপর সাফল্যের হার, ব্যবহারকারীর সন্তুষ্টি স্কোর বা অন্যান্য মেট্রিক ট্র্যাক করতে পারেন। অনলাইন মূল্যায়নের সুবিধা হল এটি ল্যাব সেটিংয়ে আপনি যা আশা করেন না তা ক্যাপচার করে – আপনি সময়ের সাথে মডেল ড্রিফট পর্যবেক্ষণ করতে পারেন (যদি এজেন্টের কার্যকারিতা ইনপুট প্যাটার্ন পরিবর্তনের সাথে হ্রাস পায়) এবং অপ্রত্যাশিত প্রশ্ন বা পরিস্থিতি ধরতে পারেন যা আপনার পরীক্ষ
এজেন্টিক সিস্টেমে কাজ করার সময় কিছু সাধারণ সমস্যার সম্মুখীন হওয়া স্বাভাবিক। এখানে কিছু সাধারণ সমস্যা এবং তাদের সমাধানের কৌশল উল্লেখ করা হলো:
সমস্যা | সমাধান |
---|---|
এজেন্ট সঠিকভাবে কাজ করছে না | - এজেন্টের জন্য নির্ধারিত প্রম্পট এবং প্যারামিটারগুলো পুনরায় পর্যালোচনা করুন। - এজেন্টের জন্য নির্দিষ্ট এবং স্পষ্ট নির্দেশনা দিন। |
জটিল কাজের জন্য মডেল সঠিকভাবে কাজ করছে না | - জটিল কাজের জন্য বিশেষভাবে দক্ষ বড় মডেল ব্যবহার করুন। |
AI এজেন্ট টুলের আউটপুট সঠিক নয় | - এজেন্ট সিস্টেমের বাইরে টুলের আউটপুট পরীক্ষা এবং যাচাই করুন। - টুলের প্যারামিটার, প্রম্পট এবং নামকরণ উন্নত করুন। |
মাল্টি-এজেন্ট সিস্টেম সঠিকভাবে কাজ করছে না | - প্রতিটি এজেন্টের জন্য নির্দিষ্ট এবং আলাদা প্রম্পট তৈরি করুন। - একটি “রাউটিং” বা কন্ট্রোলার এজেন্ট ব্যবহার করে একটি হায়ারার্কিকাল সিস্টেম তৈরি করুন যা সঠিক এজেন্ট নির্ধারণ করবে। |
এই সমস্যাগুলোর অনেকটাই পর্যবেক্ষণযোগ্যতা (observability) থাকলে আরও কার্যকরভাবে চিহ্নিত করা যায়। আমরা আগে আলোচনা করা ট্রেস এবং মেট্রিকগুলো এজেন্টের ওয়ার্কফ্লোতে ঠিক কোথায় সমস্যা হচ্ছে তা চিহ্নিত করতে সাহায্য করে, যা ডিবাগিং এবং অপ্টিমাইজেশনকে আরও দক্ষ করে তোলে।
প্রোডাকশনে AI এজেন্ট মোতায়েনের খরচ ব্যবস্থাপনার জন্য কিছু কৌশল এখানে উল্লেখ করা হলো:
ছোট মডেল ব্যবহার: ছোট ভাষা মডেল (SLM) নির্দিষ্ট এজেন্টিক কাজের ক্ষেত্রে ভালো পারফর্ম করতে পারে এবং খরচ উল্লেখযোগ্যভাবে কমিয়ে আনতে পারে। আগে উল্লেখ করা হয়েছে, একটি মূল্যায়ন ব্যবস্থা তৈরি করে বড় মডেলের তুলনায় পারফরম্যান্স নির্ধারণ এবং তুলনা করা সবচেয়ে ভালো উপায়। সহজ কাজ যেমন ইন্টেন্ট ক্লাসিফিকেশন বা প্যারামিটার এক্সট্রাকশনের জন্য SLM ব্যবহার করুন, এবং জটিল যুক্তি প্রয়োজন এমন কাজের জন্য বড় মডেল সংরক্ষণ করুন।
রাউটার মডেল ব্যবহার: একটি অনুরূপ কৌশল হলো বিভিন্ন মডেল এবং সাইজ ব্যবহার করা। আপনি একটি LLM/SLM বা সার্ভারলেস ফাংশন ব্যবহার করে অনুরোধগুলো জটিলতার ভিত্তিতে সঠিক মডেলে রাউট করতে পারেন। এটি খরচ কমাতে সাহায্য করবে এবং সঠিক কাজের জন্য পারফরম্যান্স নিশ্চিত করবে। উদাহরণস্বরূপ, সহজ প্রশ্নগুলো ছোট, দ্রুত মডেলে রাউট করুন এবং জটিল যুক্তি প্রয়োজন এমন কাজের জন্য ব্যয়বহুল বড় মডেল ব্যবহার করুন।
রেসপন্স ক্যাশিং: সাধারণ অনুরোধ এবং কাজগুলো চিহ্নিত করে এবং এজেন্টিক সিস্টেমে যাওয়ার আগে তাদের রেসপন্স প্রদান করা একটি ভালো উপায়। আপনি এমনকি একটি ফ্লো তৈরি করতে পারেন যা আরও সাধারণ AI মডেল ব্যবহার করে অনুরোধটি আপনার ক্যাশ করা রেসপন্সের সাথে কতটা মিল রয়েছে তা চিহ্নিত করবে। এই কৌশলটি প্রায়ই জিজ্ঞাসিত প্রশ্ন বা সাধারণ ওয়ার্কফ্লোতে খরচ উল্লেখযোগ্যভাবে কমিয়ে আনতে পারে।
এই অংশের উদাহরণ নোটবুকে, আমরা দেখব কিভাবে পর্যবেক্ষণযোগ্যতা টুল ব্যবহার করে আমাদের এজেন্ট পর্যবেক্ষণ এবং মূল্যায়ন করা যায়।
Azure AI Foundry Discord-এ যোগ দিন, যেখানে আপনি অন্যান্য শিক্ষার্থীদের সাথে দেখা করতে পারবেন, অফিস আওয়ার্সে অংশ নিতে পারবেন এবং আপনার AI এজেন্ট সম্পর্কিত প্রশ্নের উত্তর পেতে পারবেন।
অস্বীকৃতি:
এই নথিটি AI অনুবাদ পরিষেবা Co-op Translator ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। নথিটির মূল ভাষায় লেখা সংস্করণটিকেই প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ ব্যবহার করার পরামর্শ দেওয়া হচ্ছে। এই অনুবাদ ব্যবহারের ফলে সৃষ্ট কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যার জন্য আমরা দায়ী নই।