স্বয়ংক্রিয় ওয়ার্কফ্লোতে LLM ইমেলগুলোকে আলাদা করা
যখন একটি LLM এজেন্ট ইমেল পাঠানো বা টিকিট অনুমোদন করা শুরু করে, তখন সমস্যাটি বদলে যায়। এটি আর কেবল আপনার প্রম্পট কাজ করছে কি না, তার বিষয় থাকে না। এখন, আপনার সিস্টেম তিনটি স্তরের ওপর নির্ভর করে: সিদ্ধান্ত (decision), সম্পাদন (execution), এবং যাচাইকরণ (verification)।
আপনি যদি এই স্তরগুলোকে মিশ্রিত করেন, তবে এজেন্ট আসলে কী করেছে তা বুঝতে আপনার টিমের হিমশিম খেতে হবে।
ইমেল ধাপটি প্রায়শই একটি ওয়ার্কফ্লোর শেষ অংশ বলে মনে হয়। বাস্তবে, এখানেই ব্যর্থতাগুলো সবার আগে প্রকাশ পায়। একটি এজেন্ট হয়তো একটি অনুরোধ সঠিকভাবে শ্রেণীবদ্ধ করতে পারে কিন্তু সেটি ভুল ব্যক্তির কাছে পাঠাতে পারে বা একটি মেয়াদোত্তীর্ণ লিঙ্ক ব্যবহার করতে পারে। আপনাকে অবশ্যই টেস্ট এবং ট্রেস (traces) গুলোকে আলাদা রাখতে হবে।
একটি স্থিতিশীল ডিজাইন একবারে সমস্ত বুদ্ধিমত্তা পরীক্ষা করার চেষ্টা করে না। পরিবর্তে, আপনার সিস্টেমকে ছোট ছোট চুক্তিতে (contracts) বিভক্ত করুন:
- ইনপুট কন্ট্রাক্ট (Input Contract): এজেন্ট কোন ডেটা ব্যবহার করে এবং এটি কী কী অ্যাকশন অনুরোধ করতে পারে তা নির্ধারণ করুন।
- এক্সিকিউশন কন্ট্রাক্ট (Execution Contract): একটি অ্যাকশন কীভাবে একটি নির্দিষ্ট ইমেলে রূপান্তরিত হয় তা নির্ধারণ করুন।
- অবজারভেবিলিটি কন্ট্রাক্ট (Observability Contract): লগ (logs), প্রাপ্ত মেসেজ এবং সিস্টেমের চূড়ান্ত অবস্থার মধ্যে সংযোগ স্থাপন করুন।
ইমেল লজিককে মুক্ত প্রম্পট (free prompt) থেকে দূরে রাখুন। LLM "send_followup_email"-এর মতো একটি অ্যাকশন প্রস্তাব করতে পারে। তবে, মডেলের হেডার (headers), প্রাপক (recipients) বা রিট্রাই পলিসি (retry policies) নির্ধারণ করা উচিত নয়। এই রূপান্তরের জন্য ডিটারমিনিস্টিক কোড (deterministic code) ব্যবহার করুন।
এই পদ্ধতিটি অপারেশনাল ঝুঁকি কমায়। LLM প্রস্তাব দেয়, সিস্টেম যাচাই করে এবং এক্সিকিউটর পাঠায়।
স্বচ্ছতা বজায় রাখতে, এই চারটি সংকেত (signals) ট্র্যাক করুন:
- এজেন্টের নেওয়া সিদ্ধান্ত এবং ব্যবহৃত কনটেক্সট (context)।
- ইমেল এক্সিকিউটরের কাছে পাঠানো চূড়ান্ত কমান্ড।
- একটি আলাদা ইনবক্সে প্রাপ্ত মেসেজ।
- একটি লিঙ্ক ক্লিক করার বা কোনো অ্যাকশন নিশ্চিত করার পর চূড়ান্ত প্রভাব।
প্রাথমিক ইভেন্ট থেকে চূড়ান্ত ক্লিক পর্যন্ত একটি শেয়ার্ড trace_id ব্যবহার করুন। এটি আপনাকে দ্রুত ত্রুটি খুঁজে পেতে সাহায্য করবে। আপনি জানতে পারবেন ব্যর্থতাটি মডেল, টুল পলিসি নাকি ওয়ার্কারের ক্ষেত্রে ঘটেছে।
আরও উন্নত অটোমেশনের জন্য এই চেকলিস্টটি অনুসরণ করুন:
- প্রতিটি এক্সিকিউশনের নিজস্ব
trace_idআছে। - LLM শুধুমাত্র একটি বৈধ স্কিমার (schema) মধ্যে অ্যাকশন অনুরোধ করে।
- ইমেল এক্সিকিউটর প্রাপক এবং টেমপ্লেট পুনরায় যাচাই করে।
- প্রতিটি টেস্ট সিনারিও তার নিজস্ব আলাদা ইনবক্স ব্যবহার করে।
- চূড়ান্ত ক্লিকটি প্রত্যাশিত স্টেট পরিবর্তন (state change) নিশ্চিত করে।
- লগ আপনাকে অনুমান না করেই কেসটি অনুসরণ করতে সাহায্য করে।
এই ধাপগুলোকে আলাদা করা কিছুটা বাড়তি কাজ যোগ করে। কিন্তু এটি আপনাকে মূল্যবান কিছু দেয়: কেন একটি ইমেল পাঠানো হয়েছে বা কেন এটি ব্যর্থ হয়েছে তা ব্যাখ্যা করার ক্ষমতা।
ঐচ্ছিক লার্নিং কমিউনিটি: https://t.me/GyaanSetuAi
