ইমেইল এজেন্টদের জন্য অবজারভেবিলিটি
আপনি রিয়েল টাইমে একটি ইমেইল এজেন্টকে কাজ করতে দেখতে পারেন না।
কিন্তু মাত্র একটি API কলের মাধ্যমে আপনি গতকাল এটি যা যা করেছে তার সবকিছু দেখতে পারেন।
ইমেইলের ওপর এজেন্ট তৈরি করলে আপনি বিল্ট-ইন অবজারভেবিলিটি (built-in observability) পান। বেশিরভাগ স্বায়ত্তশাসিত (autonomous) সিস্টেমের ট্রেসিং এবং লগ-এর জন্য অতিরিক্ত টুলের প্রয়োজন হয়। একটি ইমেইল এজেন্ট এগুলো বিনামূল্যে পেয়ে যায় কারণ মেইলবক্সই হলো সমস্ত রেকর্ডের উৎস।
আপনার এজেন্টদের মনিটর করতে কীভাবে ইমেইল ব্যবহার করবেন তা নিচে দেওয়া হলো:
ইনপুট মনিটরিং (Input Monitoring) প্রতিটি ইনবাউন্ড মেসেজ একটি
message.createdইভেন্ট ট্রিগার করে। এটি আপনাকে সেই থ্রেড আইডি (thread ID) প্রদান করে যা কথোপকথনটি পুনরায় তৈরি করতে প্রয়োজন। যদি কোনো মেসেজ অনেক বড় হয়, তবেmessage.created.truncatedট্রিগারটি দেখুন। এটি আপনাকে আইডি-র মাধ্যমে সম্পূর্ণ বডি (full body) সংগ্রহ করতে নির্দেশ দেয়।আউটপুট মনিটরিং (Output Monitoring) প্ল্যাটফর্মটি প্রতিটি সেন্ড (send) সম্পর্কে রিপোর্ট দেয়। আপনার ডেলিভারি হেলথ (delivery health) দেখতে এই তিনটি ট্রিগার ট্র্যাক করুন: •
message.send_success: প্রাপকের সার্ভার মেইলটি গ্রহণ করেছে। •message.send_failed: কোনো নিয়ম বা পলিসি আউটবাউন্ড মেইলটিকে ব্লক করেছে। •message.bounce_detected: রিমোট সার্ভার মেইলটি প্রত্যাখ্যান করেছে।
send_failed-এর সংখ্যা বৃদ্ধি পাওয়া হলো সমস্যার প্রথম লক্ষণ। এর মানে হলো কোনো নিয়ম বা কোটা (quota) আপনার এজেন্টকে থ্রটলিং (throttling) করছে।
স্টেট মনিটরিং (State Monitoring) মেইলবক্স ফোল্ডারগুলো একটি স্টেট মেশিন (state machine) হিসেবে কাজ করে। • Junk ফোল্ডার: আপনার স্প্যাম ফিল্টারগুলো কী কী আটকে দিচ্ছে তা এটি দেখায়। • Drafts ফোল্ডার: এটি 'human-in-the-loop' ডিজাইনের জন্য একটি অ্যাপ্রুভাল কিউ (approval queue) হিসেবে কাজ করে। যদি কোনো ড্রাফট সেখানে অনেকক্ষণ পড়ে থাকে, তবে বুঝতে হবে আপনার অ্যাপ্রুভাল প্রসেস থমকে গেছে। • Sent ফোল্ডার: এটি একটি নিখুঁত অডিট লগ (audit log) প্রদান করে। লগ বাস্তবতার সাথে দ্বিমত পোষণ করতে পারে না কারণ ইমেইলই হলো বাস্তবতা।
গভর্নেন্স মনিটরিং (Governance Monitoring) যদি কোনো এজেন্ট কোনো মেসেজ মিস করে, তবে রুল ইভ্যালুয়েশন (rule evaluations) চেক করুন। আপনি SMTP লেয়ারে কেন একটি রুল মেসেজটি প্রত্যাখ্যান করেছে তা কোয়েরি করতে পারেন। এটি অনুমানের পরিবর্তে ডেটা বা তথ্য ব্যবহার নিশ্চিত করে।
মনে রাখার মতো একটি সীমাবদ্ধতা: আপনি ডেলিভারি ট্র্যাক করতে পারেন, কিন্তু এই API-এর মাধ্যমে কোনো মানুষ মেইলটি খুলেছে বা কোনো লিঙ্কে ক্লিক করেছে কি না তা ট্র্যাক করতে পারবেন না। আপনাকে আপনার নিজস্ব রিজনিং (reasoning) বা যুক্তির লগও রাখতে হবে। মেইলবক্স দেখায় এজেন্ট কী করেছে, কিন্তু এজেন্ট কেন এটি করার সিদ্ধান্ত নিল তা আপনাকে লগ করতে হবে।
এই তিনটি ট্র্যাক করার মাধ্যমে শুরু করুন:
message.send_successmessage.send_failedmessage.bounce_detected
ইনপুট ফেইলিওরগুলো (Input failures) স্পষ্ট এবং সহজেই ধরা পড়ে। আউটপুট ফেইলিওরগুলো (Output failures) নিঃশব্দে ঘটে। এই সিগন্যালগুলো ট্র্যাক করলে আপনি কয়েক সপ্তাহের পরিবর্তে কয়েক মিনিটের মধ্যেই ত্রুটি খুঁজে পেতে পারেন।
উৎস: https://dev.to/qasim157/observability-for-email-agents-4egn
ঐচ্ছিক লার্নিং কমিউনিটি: https://t.me/GyaanSetuAi