AI এজেন্টস তৈরির অনন্য সুবিধা আলোচনা করার সময় দুইটি বিষয় প্রধানত আলোচনা করা হয়: টাস্ক সম্পন্ন করার জন্য টুল কল করার ক্ষমতা এবং সময়ের সাথে উন্নতি করার ক্ষমতা। মেমোরি হল একটি স্বয়ং-উন্নত এজেন্ট তৈরির ভিত্তি যা আমাদের ব্যবহারকারীদের জন্য উন্নত অভিজ্ঞতা তৈরি করতে পারে।
এই পাঠে, আমরা দেখব AI এজেন্টসের জন্য মেমোরি কী এবং আমরা কীভাবে এটি পরিচালনা করে আমাদের অ্যাপ্লিকেশনগুলোর জন্য ব্যবহার করতে পারি।
এই পাঠে আলোচনা হবে:
• AI এজেন্ট মেমোরি বোঝা: মেমোরি কী এবং কেন এটি এজেন্টদের জন্য অপরিহার্য।
• মেমোরি বাস্তবায়ন এবং সংরক্ষণ: আপনার AI এজেন্টে মেমোরি যোগ করার ব্যবহারিক পদ্ধতি, বিশেষ করে স্বল্প-মেয়াদ এবং দীর্ঘ-মেয়াদী মেমোরি।
• AI এজেন্টদের স্ব-উন্নত করা: কীভাবে মেমোরি অতীত ইন্টারঅ্যাকশন থেকে শেখার ও সময়ের সাথে উন্নতি করার সুযোগ দেয়।
এই পাঠে দুটি বিস্তৃত নোটবুক টিউটোরিয়াল অন্তর্ভুক্ত:
• 13-agent-memory.ipynb: Microsoft Agent Framework সহ Mem0 এবং Azure AI Search ব্যবহার করে মেমোরি বাস্তবায়ন
• 13-agent-memory-cognee.ipynb: Cognee ব্যবহার করে গঠনমূলক মেমোরি বাস্তবায়ন, যা এমবেডিংয়ের মাধ্যমে স্বয়ংক্রিয়ভাবে জ্ঞান গ্রাফ তৈরি করে, গ্রাফ ভিজ্যুয়ালাইজ করে এবং বুদ্ধিমান পুনরুদ্ধার সক্ষম করে
এই পাঠ শেষ করার পরে, আপনি পারবেন:
• বিভিন্ন ধরনের AI এজেন্ট মেমোরির মধ্যে পার্থক্য করা, যার মধ্যে রয়েছে ওয়ার্কিং, স্বল্প-মেয়াদি, দীর্ঘ-মেয়াদি মেমোরি এবং বিশেষায়িত ফর্ম যেমন পার্সোনা ও এপিসোডিক মেমোরি।
• স্বল্প-মেয়াদি ও দীর্ঘ-মেয়াদি মেমোরি বাস্তবায়ন এবং পরিচালনা করা Microsoft Agent Framework ব্যবহার করে, Mem0, Cognee, Whiteboard মেমোরি ও Azure AI Search এর মতো টুলগুলি কাজে লাগিয়ে।
• স্ব-উন্নত AI এজেন্টের নীতিমালা বোঝা এবং কীভাবে শক্তিশালী মেমোরি ব্যবস্থাপনা পদ্ধতি অবিচ্ছিন্ন শিক্ষা ও অভিযোজন নিশ্চিত করে।
মূলত, AI এজেন্টের মেমোরি বলতে বোঝায় সেই যন্ত্রগুলো যা তাদের তথ্য সংরক্ষণ এবং পুনরুদ্ধার সক্ষম করে। এই তথ্য হতে পারে কথোপকথনের নির্দিষ্ট বিশদ, ব্যবহারকারীর পছন্দ, পূর্ববর্তী কাজ বা শেখা প্যাটার্ন।
মেমোরি ছাড়া, AI অ্যাপ্লিকেশনগুলি সাধারণত স্টেটলেস হয়, যার মানে প্রতিটি ইন্টারঅ্যাকশন নতুন করে শুরু হয়। এটি ব্যবহারকারীর জন্য বারবার এবং হতাশাজনক অভিজ্ঞতা সৃষ্টি করে যেখানে এজেন্ট পূর্বের প্রসঙ্গ বা পছন্দ “ভুলে” যায়।
একটি এজেন্টের বুদ্ধিমত্তা তার অতীত তথ্য স্মরণ ও ব্যবহার করার ক্ষমতার সাথে গভীরভাবে সম্পর্কিত। মেমোরি এজেন্টদের করে তোলে:
• প্রতিফলিত: অতীত কাজ ও ফলাফল থেকে শেখা।
• ইন্টারঅ্যাকটিভ: চলমান কথোপকথনের প্রসঙ্গ বজায় রাখা।
• প্রোঅ্যাকটিভ এবং রিয়্যাকটিভ: ঐতিহাসিক তথ্যের ভিত্তিতে প্রয়োজন পূর্বাভাস বা যথাযথ প্রতিক্রিয়া প্রদান।
• স্বায়ত্তশাসিত: সংরক্ষিত জ্ঞান ব্যবহার করে স্বাধীনভাবে পরিচালিত।
মেমোরি বাস্তবায়নের লক্ষ্য হল এজেন্টকে আরও বিশ্বাসযোগ্য এবং সক্ষম করা।
এটা এমন একটি নোটপ্যাডের মতো যেটা এজেন্ট একটি চলমান টাস্ক বা চিন্তাভাবনার সময় ব্যবহার করে। এটি পরবর্তী পদক্ষেপ গণনার জন্য প্রয়োজনীয় তাত্ক্ষণিক তথ্য ধরে রাখে।
AI এজেন্টদের জন্য, ওয়ার্কিং মেমোরি সাধারণত কথোপকথনের সবচেয়ে প্রাসঙ্গিক তথ্য ধরে রাখে, যদিও পূর্ণ চ্যাট ইতিহাস দীর্ঘ বা সংক্ষিপ্ত হলেও। এটি চাবিকাঠির মত উপাদান যেমন প্রয়োজনীয়তা, প্রস্তাব, সিদ্ধান্ত ও কার্যক্রম আলাদা করতে ফোকাস করে।
ওয়ার্কিং মেমোরির উদাহরণ
একটি ভ্রমণ বুকিং এজেন্টে, ওয়ার্কিং মেমোরি হয়তো ব্যবহারকারীর বর্তমান অনুরোধ “আমি প্যারিসে একটি ট্রিপ বুক করতে চাই” ধারণা করে। এই নির্দিষ্ট প্রয়োজনীয়তা এজেন্টের তাত্ক্ষণিক প্রসঙ্গে থাকে যা বর্তমান ইন্টারঅ্যাকশন পরিচালনা করে।
এই ধরনের মেমোরি একটি একক কথোপকথন বা সেশনের সময়কালীন তথ্য সংরক্ষণ করে। এটি বর্তমান চ্যাটের প্রসঙ্গ, যা এজেন্টকে সংলাপের পূর্ববর্তী টার্নগুলি পুনরায় উল্লেখ করতে দেয়।
Microsoft Agent Framework Python SDK নমুনাগুলোতে, এটি AgentSession এর সাথে মানানসই, যা agent.create_session() দিয়ে তৈরি হয়। সেশন ফ্রেমওয়ার্কের বিল্ট-ইন স্বল্প-মেয়াদী মেমোরি: এটি একই সেশন ব্যবহৃত হওয়া পর্যন্ত কথোপকথনের প্রসঙ্গ ধরে রাখে, কিন্তু যখন সেশন শেষ হয় বা অ্যাপ্লিকেশন রিস্টার্ট হয় তখন প্রসঙ্গ সংরক্ষিত থাকে না। তথ্য ও পছন্দ দীর্ঘমেয়াদে টেকসই রাখার জন্য ডাটাবেস, ভেক্টর ইনডেক্স বা অন্য টেকসই স্টোর ব্যবহার করে দীর্ঘ-মেয়াদী মেমোরি ব্যবহার করুন।
স্বল্প-মেয়াদি মেমোরির উদাহরণ
ব্যবহারকারী যদি প্রশ্ন করেন, “প্যারিসের ফ্লাইটের দাম কত?” এবং পরে “সেখানে থাকার ব্যবস্থা কেমন?” জিজ্ঞাসা করেন, তাহলে স্বল্প-মেয়াদি মেমোরি নিশ্চিত করে যে এজেন্ট জানে “সেখানে” মানে একই কথোপকথনের মধ্যে “প্যারিস”।
এটা এমন তথ্য যা একাধিক কথোপকথন বা সেশনের মধ্যে টিকে থাকে। এটি এজেন্টদের ব্যবহারকারীর পছন্দ, ঐতিহাসিক ইন্টারঅ্যাকশন বা ব্যাপক জ্ঞান দীর্ঘমেয়াদে মনে রাখতে সক্ষম করে। এটি ব্যক্তিগতকরণের জন্য গুরুত্বপূর্ণ।
দীর্ঘ-মেয়াদি মেমোরির উদাহরণ
একটি দীর্ঘমেয়াদি মেমোরি সংরক্ষণ করতে পারে যে “বেন স্কিইং এবং বহিরঙ্গন কার্যকলাপে আগ্রহী, পাহাড়ি দৃশ্যসহ কফি পছন্দ করে এবং পূর্বের আহতির কারণে উন্নত স্কি স্লোপ এড়াতে চায়”। এই তথ্য, পূর্ববর্তী ইন্টারঅ্যাকশন থেকে শেখা, ভবিষ্যৎ ভ্রমণ পরিকল্পনাতে প্রস্তাবনাকে খুব ব্যক্তিগতকৃত করে তোলে।
এই বিশেষায়িত মেমোরি একটি এজেন্টকে নির্দিষ্ট “ব্যক্তিত্ব” বা “পার্সোনা” গড়ে তুলতে সাহায্য করে। এটি এজেন্টকে নিজে বা তার নির্ধারিত ভূমিকাটি সম্পর্কে বিশদ তথ্য মনে রাখার সুযোগ দেয়, যা ইন্টারঅ্যাকশনকে আরও গতিশীল ও কেন্দ্রীভূত করে।
পার্সোনা মেমোরির উদাহরণ
যদি ভ্রমণ এজেন্টটি “বিশেষজ্ঞ স্কি প্ল্যানার” হিসেবে ডিজাইন করা হয়, পার্সোনা মেমোরি এই ভূমিকাটি শক্তিশালী করে তার প্রতিক্রিয়াকে বিশারদের স্বর এবং জ্ঞানের সাথে সামঞ্জস্যপূর্ণ করে তোলে।
এই মেমোরি একটি জটিল কাজের সময় এজেন্ট যে ধাপগুলো গ্রহণ করে তার ক্রম সংরক্ষণ করে, যার মধ্যে সফলতা ও ব্যর্থতাও থাকে। এটা যেমন নির্দিষ্ট “এপিসোড” বা অতীত অভিজ্ঞতা মনে রাখার মত, যাতে থেকে শেখা যায়।
এপিসোডিক মেমোরির উদাহরণ
যদি এজেন্ট একটি নির্দিষ্ট ফ্লাইট বুক করার চেষ্টা করে কিন্তু তা অযোগ্যতার কারণে ব্যর্থ হয়, তাহলে এপিসোডিক মেমোরি এই ব্যর্থতাটি রেকর্ড করতে পারে, যা এজেন্টকে বিকল্প ফ্লাইট চেষ্টা করা বা ব্যবহারকারীকে সমস্যার বিষয়ে আরও তথ্যসহ জানাতে সাহায্য করে পরবর্তী চেষ্টায়।
এই মেমোরি কথোপকথন থেকে নির্দিষ্ট এন্টিটি (মানুষ, স্থান বা বস্তু) এবং ইভেন্ট গুলো আলাদা করে এবং স্মরণ করে রাখে। এটি এজেন্টকে আলোচিত মূল উপাদানগুলি গঠনমূলকভাবে বুঝতে সাহায্য করে।
এন্টিটি মেমোরির উদাহরণ
অতীত ভ্রমণ সম্পর্কে কথোপকথন থেকে, এজেন্ট “প্যারিস,” “আইফেল টাওয়ার,” এবং “লে চ্যাট নোয়ার রেস্টুরেন্টে ডিনার” এর মতো এন্টিটি আলাদা করতে পারে। ভবিষ্যতে এজেন্ট “লে চ্যাট নোয়ার” স্মরণ করে সেখানে নতুন রিজার্ভেশন করার প্রস্তাব রাখতে পারে।
যদিও RAG একটি ব্যাপক পদ্ধতি, “স্ট্রাকচার্ড RAG” হিসেবে উল্লেখ করা হয় একটি শক্তিশালী মেমোরি প্রযুক্তি হিসেবে। এটি বিভিন্ন উৎস (কথোপকথন, ইমেইল, ছবি) থেকে ঘন এবং গঠিত তথ্য বের করে নিয়ে আসে এবং এটি সঠিকতা, রিকল এবং প্রতিক্রিয়ার গতিবেগ বাড়াতে ব্যবহার করে। ক্লাসিক RAG যেখানে শুধুমাত্র সেমান্টিক সাদৃশ্যের ওপর নির্ভর করে, স্ট্রাকচার্ড RAG তথ্যের স্বভাবগত গঠন ব্যবহার করে।
স্ট্রাকচার্ড RAG এর উদাহরণ
শুধু কীওয়ার্ড ম্যাচ করার পরিবর্তে, স্ট্রাকচার্ড RAG একটি ইমেইল থেকে ফ্লাইটের বিবরণ (গন্তব্য, তারিখ, সময়, এয়ারলাইন) বিশ্লেষণ করে এবং সেগুলো গঠিত ভাবে সংরক্ষণ করতে পারে। এটি নির্দিষ্ট প্রশ্ন যেমন “আমি মঙ্গলবার প্যারিসে কোন ফ্লাইট বুক করেছিলাম?” এর সঠিক উত্তর দিতে সক্ষম।
AI এজেন্টসের জন্য মেমোরি বাস্তবায়ন একটি সুশৃঙ্খল প্রক্রিয়া যা অন্তর্ভুক্ত করে মেমোরি ব্যবস্থাপনা, যার মধ্যে তথ্য তৈরি, সংরক্ষণ, পুনরুদ্ধার, ইন্টিগ্রেশন, আপডেট এবং এমনকি “ভোলা” (অথবা মুছে ফেলা) অন্তর্ভুক্ত। পুনরুদ্ধার একটি অত্যন্ত গুরুত্বপূর্ণ অংশ।
একটি উপায় হল Mem0 এর মতো বিশেষায়িত টুল ব্যবহার করে এজেন্ট মেমোরি সংরক্ষণ ও পরিচালনা করা। Mem0 একটি স্থায়ী মেমোরি স্তর হিসেবে কাজ করে, যা এজেন্টদের প্রাসঙ্গিক ইন্টারঅ্যাকশন স্মরণ করতে, ব্যবহারকারীর পছন্দ ও তথ্য সংরক্ষণ করতে এবং সময়ের সাথে সফলতা-বিফলতা থেকে শেখার অনুমতি দেয়। ধারণাটি হল যে স্টেটলেস এজেন্টরাও স্টেটফুল এজেন্টে রূপান্তরিত হয়।
এটি দ্বি-পর্ব মেমোরি পাইপলাইন: এক্সট্রাকশন এবং আপডেট পদ্ধতিতে কাজ করে। প্রথমে, এজেন্টের থ্রেডে যোগ করা মেসেজগুলো Mem0 সার্ভিসে পাঠানো হয়, যা একটি বড় ভাষা মডেল (LLM) ব্যবহার করে কথোপকথন ইতিহাস সংক্ষিপ্ত করে এবং নতুন মেমোরি বের করে। পরে, LLM-চালিত আপডেট পর্ব সিদ্ধান্ত নেয় কোন মেমোরি যোগ, পরিবর্তন বা মুছে ফেলা হবে, এবং সেগুলো একটি হাইব্রিড ডাটাবেসে সংরক্ষণ করে যেটি ভেক্টর, গ্রাফ, এবং কী-ভ্যালু ডাটাবেস অন্তর্ভুক্ত করতে পারে। এই সিস্টেম বিভিন্ন মেমোরি ধরনও সমর্থন করে এবং এন্টিটির মধ্যে সম্পর্ক ব্যবস্থাপনার জন্য গ্রাফ মেমোরি অন্তর্ভুক্ত করতে পারে।
আরেকটি শক্তিশালী পদ্ধতি হল Cognee, যা AI এজেন্টসের জন্য একটি ওপেন-সোর্স সেমান্টিক মেমোরি, যা গঠিত ও অগঠিত তথ্যকে এমবেডিং দ্বারা ব্যাকড কোয়েরেবল জ্ঞান গ্রাফে রূপান্তর করে। Cognee একটি ডুয়াল-স্টোর আর্কিটেকচার প্রদান করে যা ভেক্টর সাদৃশ্য অনুসন্ধান ও গ্রাফ সম্পর্ক একত্র করে, যার ফলে এজেন্ট কেবল তথ্য সাদৃশ্য নয়, ধারণাগুলোর সম্পর্কও বুঝতে পারে।
এটি হাইব্রিড পুনরুদ্ধারে দক্ষ, যা ভেক্টর সাদৃশ্য, গ্রাফ গঠন এবং LLM যুক্তি মিশ্রিত করে - কাঁচা চাঙ্ক লুকআপ থেকে গ্রাফ-সচেতন প্রশ্নোত্তর পর্যন্ত। সিস্টেম একটি জীবন্ত মেমোরি বজায় রাখে যা বিকাশ ও বৃদ্ধি পায় এবং একই সাথে একত্রিত গ্রাফ হিসেবে অনুসন্ধানযোগ্য থাকে, স্বল্প-মেয়াদি সেশন প্রসঙ্গ ও দীর্ঘমেয়াদি স্থায়ী মেমোরি সমর্থন করে।
Cognee নোটবুক টিউটোরিয়াল (13-agent-memory-cognee.ipynb) এই এককৃত মেমোরি স্তর তৈরির প্রদর্শনী দেয়, বিভিন্ন তথ্য উৎস গ্রহণ, জ্ঞান গ্রাফ ভিজ্যুয়ালাইজেশন, এবং নির্দিষ্ট এজেন্ট প্রয়োজন অনুযায়ী বিভিন্ন অনুসন্ধান কৌশল নিয়ে প্রশ্ন করার ব্যবহারিক উদাহরণসহ।
Mem0-এর মত বিশেষায়িত মেমোরি টুলস ছাড়াও, আপনি শক্তিশালী অনুসন্ধান সেবাগুলি যেমন Azure AI Search মেমোরি সংরক্ষণ ও পুনরুদ্ধারের ব্যাকএন্ড হিসেবে ব্যবহার করতে পারেন, বিশেষত গঠিত RAG-এর জন্য।
এটি আপনার এজেন্টের উত্তরগুলো আপনার নিজের ডেটার সাথে ভিত্তি স্থাপন করতে দেয়, যাতে আরও প্রাসঙ্গিক ও সঠিক উত্তর নিশ্চিত হয়। Azure AI Search ব্যবহার করা যায় ব্যবহারকারী-নির্দিষ্ট ট্রাভেল মেমোরি, পণ্য ক্যাটালগ বা যেকোনো ডোমেইন-বিশেষ জ্ঞান সংরক্ষণের জন্য।
Azure AI Search স্ট্রাকচার্ড RAG-এর মত ক্ষমতাগুলো সমর্থন করে, যা বড় ডেটাসেট যেমন কথোপকথন ইতিহাস, ইমেইল বা ছবি থেকে ঘন এবং গঠিত তথ্য বের করে নিয়ে আসতে ও পুনরুদ্ধার করতে পারদর্শী। এটি ঐতিহ্যগত টেক্সট চাঙ্কিং ও এমবেডিং পদ্ধতির তুলনায় “সুপারহিউম্যান সঠিকতা এবং পুনরুদ্ধার” প্রদান করে।
স্ব-উন্নত এজেন্টদের জন্য একটি সাধারণ প্যাটার্ন হল একটি “জ্ঞান এজেন্ট” পরিচয় করানো। এই পৃথক এজেন্ট ব্যবহারকারী ও প্রধান এজেন্টের মধ্যকার মূল কথোপকথন পর্যবেক্ষণ করে। এর ভূমিকা হল:
মূল্যবান তথ্য সনাক্ত করা: কথোপকথনের কোন অংশ সাধারণ জ্ঞান বা নির্দিষ্ট ব্যবহারকারী পছন্দ হিসেবে সংরক্ষণযোগ্য কিনা নির্ধারণ করা।
নির্গত ও সারাংশ তৈরি করা: কথা থেকে গুরুত্বপূর্ণ শেখার বা পছন্দ গুরুত্বপূর্ণ অংশ নির্যাস করা।
জ্ঞানভাণ্ডারে সংরক্ষণ করা: এই তথ্যটি একটি ভেক্টর ডাটাবেসে সংরক্ষণ করা হয় যাতে পরে প্রয়োজনমত পুনরুদ্ধার করা যায়।
ভবিষ্যৎ অনুসন্ধান সমৃদ্ধ করা: ব্যবহারকারী যখন নতুন প্রশ্ন শুরু করে, তখন জ্ঞান এজেন্ট প্রাসঙ্গিক সংরক্ষিত তথ্য উদ্ধার করে ব্যবহারকারীর প্রম্পটের সাথে যুক্ত করে, যা প্রধান এজেন্টকে গুরুত্বপূর্ণ প্রসঙ্গ প্রদান করে (RAG এর মত)।
• অপেক্ষাসীমা ব্যবস্থাপনা: ব্যবহারকারীর ইন্টারঅ্যাকশন ধীর গতির হাত থেকে রক্ষা করতে, প্রাথমিক দ্রুত ও সস্তা মডেল ব্যবহার করা যেতে পারে যাতে দ্রুত নির্ণয় করা যায় তথ্য সংরক্ষণ বা পুনরুদ্ধার করার যোগ্য কিনা, আর প্রয়োজনে জটিল এক্সট্রাকশন/রিট্রিভাল ব্যবস্থা চালু করা হয়।
• জ্ঞানভাণ্ডার রক্ষণাবেক্ষণ: একটি বাড়তে থাকা জ্ঞানভাণ্ডারের জন্য কম ব্যবহৃত তথ্য “ঠান্ডা স্টোরেজ” এ স্থানান্তর করে খরচ নিয়ন্ত্রণ করা যেতে পারে।
Microsoft Foundry Discord এ যুক্ত হয়ে অন্যান্য শিক্ষার্থীদের সাথে মেলামেশা করুন, অফিস আওয়ারসে অংশ নিন এবং আপনার AI এজেন্ট সম্পর্কিত প্রশ্নের উত্তর পান।
AI এজেন্টদের জন্য প্রসঙ্গ প্রকৌশল
Microsoft Agent Framework অন্বেষণ
অস্বীকৃতি: এই নথিটি AI অনুবাদ পরিষেবা Co-op Translator ব্যবহার করে অনূদিত হয়েছে। যদিও আমরা শুদ্ধতার জন্য চেষ্টা করি, অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল নথিটি তার স্বভাষায় কর্তৃত্বপূর্ণ উৎস হিসেবে বিবেচিত হওয়া উচিত। গুরুত্বপূর্ণ তথ্যের জন্য পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদের ব্যবহারে প্রয়োজনীয় ভুল বোঝাবুঝি বা ভুল ব্যাখ্যার জন্য আমরা দায়বদ্ধ নই।