এআই এজেন্ট তৈরি করার অনন্য সুবিধাগুলি আলোচনা করলে মূলত দুইটি বিষয় প্রধানভাবে উঠে আসে: কাজ সম্পন্ন করতে টুল কল করার ক্ষমতা এবং সময়ের সাথে উন্নতি করার সক্ষমতা। একটি স্ব-মেরামতকারী এজেন্ট তৈরি করার ভিত্তি হচ্ছে মেমরি, যা আমাদের ব্যবহারকারীদের জন্য আরও ভালো অভিজ্ঞতা তৈরি করতে সহায়ক।
এই পাঠে আমরা দেখব এআই এজেন্টদের জন্য মেমরি কী এবং কীভাবে আমরা এটি পরিচালনা করে আমাদের অ্যাপ্লিকেশনগুলোর সুবিধার্থে ব্যবহার করতে পারি।
এই পাঠে কভার করা হবে:
• AI Agent Memory বোঝা: মেমরি কী এবং এটি এজেন্টদের জন্য কেন অপরিহার্য।
• মেমরি বাস্তবায়ন ও সংরক্ষণ: আপনার AI এজেন্টগুলিতে মেমরি সক্ষমতা যোগ করার বাস্তবিক পদ্ধতি, বিশেষ করে স্বল্পমেয়াদী এবং দীর্ঘমেয়াদী মেমরির ওপর ফোকাস করে।
• AI এজেন্টকে স্ব-মেরামতকারী করা: কীভাবে মেমরি এজেন্টদের অতীত ইন্টারঅ্যাকশন থেকে শেখার এবং সময়ের সাথে উন্নতি করার সক্ষমতা দেয়।
এই পাঠে দুইটি ব্যাপক নোটবুক টিউটোরিয়াল অন্তর্ভুক্ত:
• 13-agent-memory.ipynb: Mem0 এবং Azure AI Search ব্যবহার করে Microsoft Agent Framework-এর সাথে মেমরি বাস্তবায়ন করে
• 13-agent-memory-cognee.ipynb: Cognee ব্যবহার করে কাঠামোবদ্ধ মেমরি বাস্তবায়ন করে, স্বয়ংক্রিয়ভাবে এমবেডিং-সমর্থিত জ্ঞান গ্রাফ নির্মাণ করে, গ্রাফ ভিজ্যুয়ালাইজ করে এবং বুদ্ধিমান রিট্রিভাল করে
এই পাঠ শেষ করার পরে, আপনি জানবেন কীভাবে:
• বিভিন্ন ধরনের AI এজেন্ট মেমরির মধ্যে পার্থক্য করা যায়, যার মধ্যে ওয়ার্কিং, স্বল্পমেয়াদী, এবং দীর্ঘমেয়াদী মেমরি, পাশাপাশি পার্সোনা এবং এপিসোডিক মেমরির মতো বিশেষায়িত ফর্মগুলো অন্তর্ভুক্ত।
• Microsoft Agent Framework ব্যবহার করে AI এজেন্টদের জন্য স্বল্পমেয়াদী এবং দীর্ঘমেয়াদী মেমরি বাস্তবায়ন ও পরিচালনা করা, Mem0, Cognee, Whiteboard memory-এর মতো টুলগুলি কাজে লাগিয়ে এবং Azure AI Search-এর সাথে ইন্টিগ্রেট করে।
• স্ব-মেরামতকারী AI এজেন্টের নীতিগুলো বোঝা এবং কিভাবে শক্তিশালী মেমরি ব্যবস্থাপনা সিস্টেমগুলি ধারাবাহিক শেখা ও অভিযোজনকে সহায়তা করে।
মূলত, AI এজেন্টদের জন্য মেমরি বলতে সেই সব প্রক্রিয়াগুলোকে বোঝায় যা তাদের তথ্য ধরে রাখার এবং পুনরুদ্ধার করার ক্ষমতা দেয়। এই তথ্যটি কোনো কথোপকথনের নির্দিষ্ট বিবরণ, ব্যবহারকারীর পছন্দ, অতীত কর্ম বা এমনকি শেখা প্যাটার্ন হতে পারে।
মেমরি ছাড়া, AI অ্যাপ্লিকেশনগুলো প্রায়ই স্টেটলেস হয়, অর্থাৎ প্রতিটি ইন্টারঅ্যাকশন নূতনভাবে শুরু হয়। এর ফলে ব্যবহারকারীর জন্য একটি পুনরাবৃত্তিমূলক এবং হতাশাজনক অভিজ্ঞতা তৈরি হয় যেখানে এজেন্ট পূর্বের প্রাসঙ্গিকতা বা পছন্দ “ভুলে” যায়।
একটি এজেন্টের বুদ্ধিমত্তা গভীরভাবে তার অতীত তথ্য পুনরুদ্ধার এবং ব্যবহার করার ক্ষমতার সাথে জড়িত। মেমরি এজেন্টকে সক্ষম করে:
• প্রতিফলিত (Reflective): অতীতের কাজ ও ফলাফল থেকে শেখা।
• ইন্টারঅ্যাকটিভ (Interactive): চলমান কথোপকথনের ওপর প্রাসঙ্গিকতা বজায় রাখা।
• প্রোঅ্যাকটিভ ও রিয়্যাকটিভ (Proactive and Reactive): ঐতিহাসিক ডেটার ভিত্তিতে প্রয়োজনগুলো পূর্বাভাস করা বা উপযুক্তভাবে সাড়া দেওয়া।
• স্বায়ত্তশাসিত (Autonomous): সংরক্ষিত জ্ঞানের ওপর নির্ভর করে আরও স্বাধীনভাবে কাজ করা।
মেমরি বাস্তবায়নের লক্ষ্য হচ্ছে এজেন্টকে আরও নির্ভরযোগ্য এবং সক্ষম করে তোলা।
এটি ভাবুন যেন এক টুকরো স্ক্র্যাচ পেপার, যা একটি এজেন্ট একটি একক, চলমান কাজ বা চিন্তাপ্রক্রিয়ার সময় ব্যবহার করে। এটি পরবর্তী ধাপ গণনা করার জন্য প্রয়োজনীয় তাৎক্ষণিক তথ্য ধারণ করে।
AI এজেন্টদের ক্ষেত্রে, ওয়ার্কিং মেমরি প্রায়ই কথোপকথন থেকে সবচেয়ে প্রাসঙ্গিক তথ্য ক্যাপচার করে, এমনকি পুরো চ্যাট ইতিহাস দীর্ঘ বা কাটা-ছেঁড়া হলেও। এটি প্রয়োজনীয় উপাদানগুলি যেমন দাবি, প্রস্তাবনা, সিদ্ধান্ত এবং কর্মগুলো নির্ধারণে ফোকাস করে।
ওয়ার্কিং মেমরির উদাহরণ
একটি ট্রাভেল বুকিং এজেন্টে, ওয়ার্কিং মেমরি ব্যবহারকারীর বর্তমান অনুরোধটি ধরতে পারে, যেমন “I want to book a trip to Paris”। এই নির্দিষ্ট দাবিটি এজেন্টের তাৎক্ষণিক প্রসঙ্গে রাখা হয় যাতে বর্তমান ইন্টারঅ্যাকশন পরিচালিত হতে পারে।
এই ধরনের মেমরি একটি একক কথোপকথন বা সেশনের সময়কাল ধরে তথ্য ধারণ করে। এটি চলমান চ্যাটের প্রসঙ্গ, যা এজেন্টকে ডায়ালগের পূর্বের টার্নগুলোর দিকে ফিরে দেখার সুযোগ দেয়।
স্বল্পমেয়াদী মেমরির উদাহরণ
যদি ব্যবহারকারী জিজ্ঞেস করে, “How much would a flight to Paris cost?” এবং পরে অনুসরণে বলে “What about accommodation there?”, স্বল্পমেয়াদী মেমরি নিশ্চিত করে যে এজেন্ট জানে “there” একই কথোপকথনের মধ্যে “Paris” বোঝায়।
এটি এমন তথ্য যা একাধিক কথোপকথন বা সেশন জুড়ে টিকে থাকে। এটি এজেন্টকে ব্যবহারকারীর পছন্দ, ঐতিহাসিক ইন্টারঅ্যাকশন বা বিস্তৃত সময়কালের সাধারণ জ্ঞান মনে রাখতে সাহায্য করে। এটি ব্যক্তিকরণে গুরুত্বপূর্ণ।
দীর্ঘমেয়াদী মেমরির উদাহরণ
একটি দীর্ঘমেয়াদী মেমরি সংরক্ষণ করতে পারে যে “Ben enjoys skiing and outdoor activities, likes coffee with a mountain view, and wants to avoid advanced ski slopes due to a past injury”। পূর্বের ইন্টারঅ্যাকশন থেকে শেখা এই তথ্য ভবিষ্যতের ট্রাভেল পরিকল্পনার সময় সুপারিশকে প্রভাবিত করে, ফলে তা অত্যন্ত ব্যক্তিকৃত হয়।
এই বিশেষায়িত মেমরি টাইপটি একটি এজেন্টকে একটি সুসংগত “ব্যক্তিত্ব” বা “পার্সোনা” উন্নয়নে সহায়তা করে। এটি এজেন্টকে নিজের বা তার নির্ধারিত ভূম সম্পর্কে বিবরণ মনে রাখতে দেয়, ফলে ইন্টারঅ্যাকশনগুলো আরো প্রবাহময় এবং ফোকাসড হয়।
পার্সোনা মেমরির উদাহরণ যদি ট্রাভেল এজেন্টটি একটি “expert ski planner” হিসেবে ডিজাইন করা হয়, পার্সোনা মেমরি এই ভূমিকাকে জোরদার করতে পারে, এবং এর উত্তরগুলোকে একজন বিশেষজ্ঞের টোন ও জ্ঞানের সাথে মেলে।
এই মেমরি একটি জটিল কাজের সময় এজেন্ট যে ধাপগুলো গ্রহণ করে সেগুলোর সিকোয়েন্স সংরক্ষণ করে, যাতে সফলতা ও ব্যর্থতা অন্তর্ভুক্ত থাকে। এটি নির্দিষ্ট “এপিসোড” বা অতীত অভিজ্ঞতাগুলো মনে রাখার মত, যাতে সেখান থেকে শেখা যায়।
এপিসোডিক মেমরির উদাহরণ
যদি এজেন্ট একটি নির্দিষ্ট ফ্লাইট বুক করার চেষ্টা করেছিল কিন্তু অনুপলব্ধতার কারণে ব্যর্থ হয়েছিল, এপিসোডিক মেমরি এই ব্যর্থতাটি রেকর্ড করতে পারে, ফলে পরবর্তী প্রচেষ্টায় এজেন্ট বিকল্প ফ্লাইট চেষ্টা করতে পারে বা ব্যবহারকারীকে আরও জানানো অবস্থায় সমস্যার বিষয়ে অবহিত করতে পারে।
এটি কথোপকথন থেকে নির্দিষ্ট এনটিটি (যেমন মানুষ, স্থান বা জিনিস) এবং ঘটনাগুলি বের করে মনে রাখার সঙ্গে সম্পর্কিত। এটি এজেন্টকে আলোচিত মূল উপাদানগুলোর একটি কাঠামোবদ্ধ বোঝাপড়া গঠন করতে দেয়।
এনটিটি মেমরির উদাহরণ
একটি অতীত যাত্রা সম্পর্কে কথোপকথন থেকে, এজেন্ট “Paris,” “Eiffel Tower,” এবং “dinner at Le Chat Noir restaurant”কে এনটিটি হিসাবে বের করে নিতে পারে। ভবিষ্যতে একটি ইন্টারঅ্যাকশনে, এজেন্ট “Le Chat Noir” মনে রেখে সেখানে একটি নতুন রিজার্ভেশন করার প্রস্তাব দিতে পারে।
যদিও RAG একটি বিস্তৃত কৌশল, “Structured RAG” একটি শক্তিশালী মেমরি প্রযুক্তি হিসেবে হাইলাইট করা হয়েছে। এটি বিভিন্ন উৎস (কথোপকথন, ইমেইল, ছবি) থেকে ঘন, কাঠামোবদ্ধ তথ্য বের করে তা ব্যবহার করে উত্তরগুলোর নির্ভুলতা, রিকল ও গতি বাড়ায়। ক্লাসিক RAG যা কেবলমাত্র সেম্যানটিক সাদৃশ্যের ওপর নির্ভর করে তার থেকে এটির পার্থক্য হচ্ছে Structured RAG তথ্যের অন্তর্নিহিত কাঠামোর সাথে কাজ করে।
Structured RAG উদাহরণ
কেবল কীওয়ার্ড মেলানোর বদলে, Structured RAG একটি ইমেইল থেকে ফ্লাইটের বিবরণ (গন্তব্য, তারিখ, সময়, এয়ারলাইন) পার্স করে এবং সেগুলোকে কাঠামোবদ্ধভাবে সংরক্ষণ করতে পারে। এর ফলে “What flight did I book to Paris on Tuesday?” মতো সুনির্দিষ্ট প্রশ্নের উত্তর দেয়া সহজ হয়।
AI এজেন্টদের জন্য মেমরি বাস্তবায়ন করতে হলে একটি পদ্ধতিগত প্রক্রিয়া অনুসরণ করতে হয় যা মেমরি ম্যানেজমেন্ট হিসেবে পরিচিত, এতে মেমরি উত্পাদন, সংরক্ষণ, পুনরুদ্ধার, একত্রীকরণ, আপডেট এবং এমনকি “ভুলে যাওয়া” (অথবা মুছে ফেলা) অন্তর্ভুক্ত। পুনরুদ্ধার একটি বিশেষভাবে গুরুত্বপূর্ণ দিক।
এজেন্ট মেমরি সংরক্ষণ ও পরিচালনার একটি উপায় হচ্ছে Mem0-এর মতো বিশেষায়িত টুল ব্যবহার করা। Mem0 একটি স্থায়ী মেমরি লেয়ার হিসেবে কাজ করে, যা এজেন্টদের প্রাসঙ্গিক ইন্টারঅ্যাকশনগুলো মনে রাখতে, ব্যবহারকারীর পছন্দ এবং সত্যিকারের প্রাসঙ্গিক কনটেক্সট সংরক্ষণ করতে এবং সময়ের সঙ্গে সফলতা ও ব্যর্থতা থেকে শেখার সুযোগ দেয়। ধারণাটি হচ্ছে স্টেটলেস এজেন্টগুলোকে স্টেটফুলে পরিণত করা।
এটি একটি দ্বি-ফেজ মেমরি পাইপলাইন: extraction এবং update এর মাধ্যমে কাজ করে। প্রথমে, একটি এজেন্টের থ্রেডে যোগ করা মেসেজগুলো Mem0 সার্ভিসে পাঠানো হয়, যা একটি LLM ব্যবহার করে কথোপকথন ইতিহাসকে সংক্ষিপ্ত করে এবং নতুন মেমরি বের করে। পরবর্তীতে, একটি LLM-চালিত আপডেট ফেজ নির্ধারণ করে যে এগুলো যোগ করা উচিত, পরিবর্তন করা উচিত, না মুছে ফেলা উচিত কিনা, এবং সেগুলোকে এমন একটি হাইব্রিড ডেটা স্টোরে সংরক্ষণ করে যা ভেক্টর, গ্রাফ এবং কী-ভ্যালু ডাটাবেস অন্তর্ভুক্ত করতে পারে। এই সিস্টেম বিভিন্ন মেমরি টাইপ সমর্থন করে এবং এনটিটিগুলোর সম্পর্ক পরিচালনার জন্য গ্রাফ মেমরি অন্তর্ভুক্ত করতে পারে।
অন্য একটি শক্তিশালী পন্থা হল Cognee ব্যবহার করা, যা একটি ওপেন-সোর্স সেম্যান্টিক মেমরি সিস্টেম যা কাঠামোবদ্ধ ও অ-কাঠামোবদ্ধ ডেটাকে এমবেডিং দ্বারা সমর্থিত কোয়েরি করার যোগ্য জ্ঞান গ্রাফে রূপান্তর করে। Cognee একটি ডুয়াল-স্টোর আর্কিটেকচার প্রদান করে যা ভেক্টর সাদৃশ্য অনুসন্ধানকে গ্রাফ সম্পর্কের সাথে মিলায়, ফলে এজেন্টরা কেবল কোন তথ্য সাদৃশ্যপূর্ণ তা নয়, কীভাবে ধারণাগুলো একে অপরের সাথে সম্পর্কিত তা বুঝতে পারে।
এটি হাইব্রিড রিট্রিভাল-এ উত্তম, যা ভেক্টর সাদৃশ্য, গ্রাফ কাঠামো এবং LLM যুক্ত যুক্তিবোধের মিশ্রণ করে - কাঁচা চাঙ্ক অনুসন্ধান থেকে গ্রাফ-জ্ঞানভিত্তিক প্রশ্নোত্তর পর্যন্ত। সিস্টেমটি একটি জীবন্ত মেমরি বজায় রাখে যা বিবর্তিত হয় এবং বৃদ্ধি পায় তবে এক যুক্ত গ্রাফ হিসাবে কোয়েরি করা যায়, যা স্বল্পমেয়াদী সেশন প্রসঙ্গ এবং দীর্ঘমেয়াদী স্থায়ী মেমরি উভয়কেই সমর্থন করে।
Cognee নোটবুক টিউটোরিয়াল (13-agent-memory-cognee.ipynb) এই একীভূত মেমরি লেয়ার তৈরির প্রদর্শনী দেয়, বিভিন্ন ডেটা সোর্স ইঞ্জেস্ট করা, জ্ঞান গ্রাফ ভিজ্যুয়ালাইজ করা, এবং নির্দিষ্ট এজেন্ট চাহিদা অনুযায়ী বিভিন্ন সার্চ কৌশল নিয়ে কোয়েরি করার ব্যবহারিক উদাহরণ দেখায়।
Mem0-এর মতো বিশেষায়িত মেমরি টুল ছাড়াও, আপনি শক্তিশালী সার্চ সার্ভিসগুলোকে মেমরি সংরক্ষণ ও পুনরুদ্ধারের ব্যাকএন্ড হিসেবে ব্যবহার করতে পারেন, বিশেষ করে Structured RAG-এর জন্য Azure AI Search খুবই উপযোগী।
এটি আপনার এজেন্টের উত্তরগুলোকে আপনার নিজস্ব ডেটার সাথে গ্রাউন্ড করতে দেয়, ফলে আরও প্রাসঙ্গিক এবং সঠিক উত্তর নিশ্চিত করা যায়। Azure AI Search ব্যবহার করে আপনি ব্যবহারকারী-নির্দিষ্ট ট্র্যাভেল মেমরি, প্রোডাক্ট ক্যাটালগ বা যেকোনো ডোমেইন-নির্দিষ্ট জ্ঞান সংরক্ষণ করতে পারেন।
Azure AI Search এমন ক্ষমতাসম্পন্ন বৈশিষ্ট্য সমর্থন করে যেমন Structured RAG, যা বড় ডেটাসেটে যেমন কথোপকথনের ইতিহাস, ইমেইল বা এমনকি ছবির কাছ থেকে ঘন, কাঠামোবদ্ধ তথ্য বের করা এবং পুনরুদ্ধার করতে দক্ষ। এটি ঐতিহ্যবাহী টেক্সট চাঙ্কিং এবং এমবেডিং পদ্ধতির তুলনায় “অতিমানবীয় নির্ভুলতা ও রিকল” প্রদান করে।
স্ব-মেরামতকারী এজেন্টের একটি সাধারণ প্যাটার্ন হল একটি “নলেজ এজেন্ট” পরিচয় করানো। এই আলাদা এজেন্টটি ব্যবহারকারী এবং প্রাথমিক এজেন্টের মধ্যে মূল কথোপকথন পর্যবেক্ষণ করে। এর ভূমিকা হলো:
মূল্যবান তথ্য সনাক্ত করা: নির্ধারণ করা যে কথোপকথনের কোনো অংশ সাধারণ জ্ঞান বা নির্দিষ্ট ব্যবহারকারীর পছন্দ হিসেবে সংরক্ষণ করার মতো কি না।
抽出 ও সংক্ষিপ্ত করা: কথোপকথন থেকে মৌলিক শিক্ষা বা পছন্দটি সংক্ষিপ্ত করা।
জ্ঞানভিত্তিক ডাটাবেসে সংরক্ষণ করা: এই抽出কৃত তথ্যকে সংরক্ষণ করা, প্রায়শই একটি ভেক্টর ডাটাবেসে, যাতে পরে তা পুনরুদ্ধার করা যায়।
ভবিষ্যত কোয়েরিগুলোকে পরিপুষ্ট করা: যখন ব্যবহারকারী একটি নতুন কোয়েরি শুরু করে, নলেজ এজেন্ট প্রাসঙ্গিক সংরক্ষিত তথ্যটি পুনরুদ্ধার করে এবং ব্যবহারকারীর প্রম্পটে যুক্ত করে, প্রধান এজেন্টকে প্রয়োজনীয় প্রসঙ্গ প্রদান করে (RAG-এর অনুরূপ)।
• লেনসী ম্যানেজমেন্ট (Latency Management): ব্যবহারকারীর ইন্টারঅ্যাকশন ধীর না করার জন্য, প্রথমে একটি সস্তা, দ্রুত মডেল ব্যবহার করে দ্রুত পরীক্ষা করা যেতে পারে যে কোনো তথ্য সংরক্ষণ বা পুনরুদ্ধারের যোগ্য কি না, এবং শুধুমাত্র প্রয়োজনে আরও জটিল extraction/retrieval প্রক্রিয়া আহ্বান করা যায়।
• জ্ঞানভান্ডারের রক্ষণাবেক্ষণ (Knowledge Base Maintenance): বৃদ্ধি পাচ্ছি জ্ঞানভান্ডারের জন্য, কম ঘন ঘন ব্যবহৃত তথ্যকে “কোল্ড স্টোরেজ”-এ সরিয়ে খরচ নিয়ন্ত্রণ করা যেতে পারে।
যোগ দিন Microsoft Foundry Discord এ অন্য শিক্ষার্থীদের সাথে মিলে, অফিস আওয়ারস এ অংশ গ্রহণ করুন এবং আপনার AI Agents সম্পর্কিত প্রশ্নগুলোর উত্তর পেতে।
অস্বীকৃতি: এই নথিটি AI অনুবাদ সেবা Co-op Translator (https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসাধ্য সঠিকতা নিশ্চিত করার চেষ্টা করি, তবু অনুগ্রহ করে লক্ষ্য করুন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। স্থানীয় ভাষায় থাকা মূল নথিটিকেই কর্তৃত্বপূর্ণ উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য পেশাদার মানব অনুবাদ পরামর্শ করা হয়। এই অনুবাদ ব্যবহারের ফলে হওয়া কোনো বিভ্রান্তি বা ভুল ব্যাখ্যার জন্য আমরা দায়ী নই।