ai-agents-for-beginners

AI এজেন্টদের জন্য মেমোরি

Agent Memory

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 অ্যাপ্লিকেশনগুলো প্রায়ই স্ট্যাটলেস হয়, অর্থাৎ প্রতিটি সংলাপ নতুন করে শুরু হয়। এতে পুনরাবৃত্তিমূলক এবং বিরক্তিকর ব্যবহারকারীর অভিজ্ঞতা তৈরি হয় যেখানে এজেন্ট পূর্ববর্তী প্রসঙ্গ বা পছন্দ ভুলে যায়।

মেমোরি কেন গুরুত্বপূর্ণ?

একটি এজেন্টের বুদ্ধিমত্তা গভীরভাবে তার পূর্ববর্তী তথ্য স্মরণ এবং ব্যবহার করার ক্ষমতার উপর নির্ভর করে। মেমোরি এজেন্টদের সক্ষম করে:

পর্যালোচনামূলক হওয়া: পূর্ববর্তী কাজ এবং ফলাফল থেকে শেখা।

ইন্টারেক্টিভ হওয়া: চলমান কথোপকথনের প্রসঙ্গ ধরে রাখা।

প্রোঅ্যাকটিভ এবং রিএকটিভ হওয়া: আবশ্যকতা অনুমান করা বা ঐতিহাসিক ডেটার ভিত্তিতে সঠিক সাড়া দেওয়া।

স্বায়ত্তশাসিত হওয়া: সংরক্ষিত জ্ঞান থেকে স্বাধীনভাবে কাজ করা।

মেমোরি বাস্তবায়নের লক্ষ্য হল এজেন্টদের আরও বিশ্বস্ত এবং সক্ষম করে তোলা।

মেমোরির ধরন

কাজের মেমোরি (Working Memory)

এটিকে ভাবুন এক ধরণের স্ক্র্যাচ পেপার হিসেবে যা এজেন্ট একটি চলমান কাজ বা চিন্তার ধারা মধ্যে ব্যবহার করে। এটি পরবর্তী ধাপের জন্য প্রয়োজনীয় অবিলম্বে তথ্য ধরে রাখে।

AI এজেন্টদের জন্য, কাজের মেমোরি কথোপকথনের সর্বাধিক প্রাসঙ্গিক তথ্য ধারণ করে, যদিও পুরো চ্যাট ইতিহাস দীর্ঘ বা সংক্ষিপ্ত হতে পারে। এটি প্রধান উপাদান যেমন প্রয়োজনীয়তা, প্রস্তাব, সিদ্ধান্ত এবং কর্ম সম্পর্কে তথ্য সংগ্রহে মনোযোগী।

কাজের মেমোরির উদাহরণ

একটি ট্রাভেল বুকিং এজেন্টে, কাজের মেমোরি ব্যবহারকারীর বর্তমান অনুরোধ যেমন “আমি প্যারিসে একটি ট্রিপ বুক করতে চাই” ধারণ করতে পারে। এই নির্দিষ্ট প্রয়োজনীয়তা এজেন্টের অবিলম্বে প্রসঙ্গে থাকে যা বর্তমান আলাপচারিতাকে নির্ধারণ করে।

স্বল্পমেয়াদী মেমোরি (Short Term Memory)

এই ধরনের মেমোরি একটি কথোপকথন বা সেশনের সময়কালের জন্য তথ্য ধরে রাখে। এটি বর্তমান কথোপকথনের প্রসঙ্গ, যা এজেন্টকে কথোপকথনের পূর্ববর্তী পর্যায়ে ফিরে যেতে দেয়।

Microsoft Agent Framework পাইথন SDK নমুনাগুলিতে, এটি AgentSession এর সাথে মিলে যায়, যা agent.create_session() দ্বারা তৈরি হয়। সেশন হল ফ্রেমওয়ার্কের নেটিভ স্বল্পমেয়াদী মেমোরি: যখন একই সেশন পুনরায় ব্যবহার হয়, তখন কথোপকথনের প্রসঙ্গ উপলব্ধ থাকে, তবে সেশন শেষ বা অ্যাপ্লিকেশন রিস্টার্ট হলে সেই প্রসঙ্গ সংরক্ষিত থাকে না। সেশন পার হয়ে তথ্য ও পছন্দগুলো সংরক্ষণের জন্য দীর্ঘমেয়াদী মেমোরি ব্যবহার করুন, সাধারণত ডাটাবেস, ভেক্টর ইনডেক্স, বা অন্য কোনো স্থায়ী স্টোরের মাধ্যমে।

স্বল্পমেয়াদী মেমোরির উদাহরণ

যদি একজন ব্যবহারকারী জিজ্ঞেস করেন, “প্যারিসে ফ্লাইটের দাম কত?” এবং পরে অনুসরণ করেন “সেখানে থাকার খরচ কেমন?”, স্বল্পমেয়াদী মেমোরি নিশ্চিত করে যে এজেন্ট জানে এখানে “সেখানে” বলতে একই কথোপকথনের মধ্যে “প্যারিস” বোঝানো হয়েছে।

দীর্ঘমেয়াদী মেমোরি (Long Term Memory)

এটি এমন তথ্য যা একাধিক কথোপকথন বা সেশনের মধ্যে টিকে থাকে। এটি এজেন্টকে ব্যবহারকারীর পছন্দ, ইতিহাসবাহী সংলাপ বা সাধারণ জ্ঞান দীর্ঘ সময় ধরে স্মরণ করতে সক্ষম করে। এটি ব্যক্তিগতকরণের জন্য গুরুত্বপূর্ণ।

দীর্ঘমেয়াদী মেমোরির উদাহরণ

দীর্ঘমেয়াদী মেমোরি সংরক্ষণ করতে পারে যে “বেন স্কিইং এবং বাইরের কার্যকলাপে আনন্দ পায়, পর্বতের দৃশ্য সহ কফি পছন্দ করে, এবং অতীতের আঘাতের জন্য উন্নতস্কি ঢাল এড়াতে চায়”। এই তথ্য পূর্ববর্তী সংলাপ থেকে শেখা, যা ভবিষ্যতের ভ্রমণ পরিকল্পনার সময় highly personal recommendations দেয়।

পারসোনা মেমোরি (Persona Memory)

এই বিশেষায়িত মেমোরি এজেন্টকে একটি ধারাবাহিক “ব্যক্তিত্ব” বা “পারসোনা” বিকশিত করতে সাহায্য করে। এটি এজেন্টকে নিজ বা তার অভিপ্রেত ভূমিকাসংক্রান্ত তথ্য মনে রাখতে দেয়, ফলে আলাপচারিতা আরও স্বাভাবিক এবং কেন্দ্রীভূত হয়।

পারসোনা মেমোরির উদাহরণ

যদি ট্রাভেল এজেন্টকে “বিশেষজ্ঞ স্কি পরিকল্পনাকারী” হিসেবে ডিজাইন করা হয়, পারসোনা মেমোরি এই ভূমিকা জোরদার করবে, যার ফলে এর উত্তরগুলো বিশেষজ্ঞের টোন ও জ্ঞানের সাথে সামঞ্জস্যপূর্ণ হবে।

ওয়ার্কফ্লো / এপিসোডিক মেমোরি (Workflow/Episodic Memory)

এই মেমোরি একটি জটিল কাজের সময় এজেন্ট যে ধাপগুলো অনুসরণ করে সেটি সংরক্ষণ করে, সফলতা এবং ব্যর্থতাসহ। এটি বিশেষ কোনো “পর্ব” বা অতীত অভিজ্ঞতাগুলো মনে রাখার মত, যা থেকে শিক্ষা নেওয়া হয়।

এপিসোডিক মেমোরির উদাহরণ

যদি এজেন্ট কোনো নির্দিষ্ট ফ্লাইট বুক করার চেষ্টা করে এবং সেটি উপলব্ধ না থাকার কারণে ব্যর্থ হয়, এপিসোডিক মেমোরি এই ব্যর্থতা রেকর্ড করতে পারে, যা পরে ঐ এজেন্টকে বিকল্প ফ্লাইট চেষ্টা করতে বা ব্যবহারকারীকে আরও সঠিক তথ্য দিয়ে জানাতে সাহায্য করে।

সত্তার মেমোরি (Entity Memory)

এটি কথোপকথন থেকে নির্দিষ্ট সত্তা (যেমন মানুষ, স্থান, বা বস্তু) এবং ঘটনাগুলো বের করে ধরে রাখে। এটি এজেন্টকে মূল উপাদানগুলোর একটি গঠনমূলক ধারণা তৈরি করতে সাহায্য করে।

সত্তার মেমোরির উদাহরণ

একটি অতীত ভ্রমণের কথোপকথন থেকে এজেন্ট “প্যারিস”, “আইফেল টাওয়ার”, এবং “Le Chat Noir রেস্টুরেন্টে ডিনার” সত্তা হিসেবে বের করতে পারে। ভবিষ্যতের আলাপে, এজেন্ট “Le Chat Noir” স্মরণ করে নতুন একটি সংরক্ষণ করতে প্রস্তাব দিতে পারে।

স্ট্রাকচার্ড RAG (Retrieval Augmented Generation)

RAG একটি বিস্তৃত প্রযুক্তি হলেও, “স্ট্রাকচার্ড RAG” একটি শক্তিশালী মেমোরি প্রযুক্তি হিসাবে হাইলাইট করা হয়েছে। এটি বিভিন্ন উৎস থেকে (কথোপকথন, ইমেইল, ছবি) ঘনবসতিপূর্ণ, গঠনমূলক তথ্য বের করে নিয়ে আসতে এবং সঠিকতা, স্মরণ এবং গতি বাড়াতে ব্যবহার করে। ক্লাসিক RAG যা শুধুমাত্র সেম্যান্টিক সাদৃশ্যের উপর নির্ভর করে তার থেকে পৃথক, স্ট্রাকচার্ড RAG তথ্যের অভ্যন্তরীণ কাঠামোর সাথে কাজ করে।

স্ট্রাকচার্ড RAG উদাহরণ

শব্দের মিল করার পরিবর্তে, স্ট্রাকচার্ড RAG একটি ইমেইল থেকে ফ্লাইটের বিস্তারিত যেমন গন্তব্য, তারিখ, সময়, এয়ারলাইন পার্স করে তা গঠনমূলকভাবে সঞ্চয় করতে পারে। এতে সঠিক প্রশ্ন করা যায় যেমন “আমি মঙ্গলবার কোন ফ্লাইট প্যারিসে বুক করেছিলাম?”

মেমোরি বাস্তবায়ন ও সঞ্চয়

AI এজেন্টদের জন্য মেমোরি বাস্তবায়ন একটি সুসংগঠিত প্রক্রিয়া, যা মেমোরি ব্যবস্থাপনা নামে পরিচিত, এবং এতে অন্তর্ভুক্ত রয়েছে তথ্য তৈরি, সঞ্চয়, উদ্ধার, একত্রীকরণ, আপডেট এবং এমনকি তথ্য “ভুলে যাওয়া” (অথবা মোছা)। এর মধ্যে উদ্ধার একটি বিশেষ গুরুত্বপূর্ণ অংশ।

বিশেষায়িত মেমোরি টুলস

Mem0

এজেন্ট মেমোরি সংরক্ষণ ও পরিচালনার এক উপায় হল Mem0 এর মতো বিশেষায়িত টুল ব্যবহার করা। Mem0 একটি স্থায়ী মেমোরি লেয়ার হিসেবে কাজ করে, যা এজেন্টদের প্রাসঙ্গিক সংলাপ স্মরণ করতে, ব্যবহারকারীর পছন্দ ও তথ্যপূর্ণ প্রসঙ্গ সংরক্ষণ করতে এবং সময়ের সাথে সফলতা ও ব্যর্থতা থেকে শেখার সুযোগ দেয়। মূল ধারণা হল অবস্থা বিহীন এজেন্টদের অবস্থা পূর্ণ এজেন্টে রূপান্তরিত করা।

এটি দুই-পর্বের মেমোরি পাইপলাইন: নিষ্কাশন এবং আপডেট এর মাধ্যমে কাজ করে। প্রথমে, এজেন্টের থ্রেডে যোগ করা বার্তাগুলো Mem0 সার্ভিসে পাঠানো হয়, যা একটি বড় ভাষা মডেল (LLM) ব্যবহার করে কথোপকথনের ইতিহাস সংক্ষেপ করে এবং নতুন মেমোরি নিষ্কাশন করে। পরে, আরেকটি LLM-চালিত আপডেট ধাপে সিদ্ধান্ত নেওয়া হয় এই মেমোরি যোগ, পরিবর্তন, বা মুছে ফেলা হবে কিনা এবং এসব তথ্য একটি হাইব্রিড ডেটা স্টোরে সংরক্ষণ করা হয়, যার মধ্যে ভেক্টর, গ্রাফ, ও কী-ভ্যালু ডাটাবেস অন্তর্ভুক্ত থাকতে পারে। এই সিস্টেম বিভিন্ন ধরনের মেমোরি সমর্থন করে এবং সত্তার মধ্যে সম্পর্ক ব্যবস্থাপনার জন্য গ্রাফ মেমোরিও অন্তর্ভুক্ত করতে পারে।

Cognee

আরেকটি শক্তিশালী পদ্ধতি হল Cognee ব্যবহার করা, যা AI এজেন্টদের জন্য একটি ওপেন-সোর্স সেম্যান্টিক মেমোরি, যা গঠনমূলক এবং অগঠনমূলক ডেটাকে এমবেডিং দ্বারা সমর্থিত ক্যোয়ারযোগ্য জ্ঞান গ্রাফে রূপান্তর করে। Cognee একটি ডুয়াল-স্টোর স্থাপত্য প্রদান করে যা ভেক্টর সাদৃশ্য অনুসন্ধান এবং গ্রাফ সম্পর্ক সংমিশ্রণ করে, ফলে এজেন্টরা শুধু কোন তথ্য সাদৃশ্যপূর্ণ তা নয় কিভাবে ধারণাগুলো একে অপরের সাথে সম্পর্কিত তাও বুঝতে পারে।

এটি হাইব্রিড অনুসন্ধানে দক্ষ, যা ভেক্টর সাদৃশ্য, গ্রাফ কাঠামো, এবং LLM যুক্তি মিলিয়ে কাজ করে — কাঁচা ডেটা থেকে গ্রাফ সচেতন প্রশ্নোত্তর পর্যন্ত। সিস্টেম লাইভ মেমোরি বজায় রাখে যা বিকশিত ও বৃদ্ধি পায় এবং একক সংযুক্ত গ্রাফ হিসেবে ক্যোয়ারযোগ্য থাকে, সংক্ষিপ্ত সেশন প্রসঙ্গ ও দীর্ঘমেয়াদী স্থায়ী মেমোরি উভয় সমর্থন করে।

Cognee নোটবুক টিউটোরিয়াল (13-agent-memory-cognee.ipynb) এই ঐক্যবদ্ধ মেমোরি লেয়ার নির্মাণ প্রদর্শন করে, যার বাস্তব উদাহরণে বিভিন্ন ডেটা উৎস গ্রহণ, জ্ঞান গ্রাফ ভিজ্যুয়ালাইজেশন এবং বিভিন্ন অনুসন্ধান কৌশল ব্যবহার করে ক্যোয়ারিং অন্তর্ভুক্ত।

RAG দিয়ে মেমোরি সঞ্চয়

Mem0-এর মতো বিশেষায়িত মেমোরি টুলসের বাইরেও, আপনি শক্তিশালী অনুসন্ধান সেবা যেমন Azure AI Search-কে মেমোরি সঞ্চয় ও উদ্ধারের ব্যাকএন্ড হিসেবে ব্যবহার করতে পারেন, বিশেষ করে স্ট্রাকচার্ড RAG এর জন্য।

এটি আপনাকে আপনার নিজস্ব ডেটার সঙ্গে এজেন্টের প্রতিক্রিয়া ভিত্তি করতে দেয়, যা আরও প্রাসঙ্গিক ও সঠিক উত্তর নিশ্চিত করে। Azure AI Search ব্যবহারকারীর নির্দিষ্ট ভ্রমণ মেমোরি, পণ্য ক্যাটালগ, অথবা অন্য যেকোন শাখার জ্ঞান সঞ্চয়ে উপযোগী।

Azure AI Search স্ট্রাকচার্ড RAG ক্ষমতা সমর্থন করে, যা বড় ডেটাসেট যেমন কথোপকথন ইতিহাস, ইমেইল, বা ছবি থেকে ঘন, গঠনমূলক তথ্য নিষ্কাশন ও উদ্ধার করতে পারদর্শী। এটি প্রচলিত টেক্সট চাঙ্কিং ও এমবেডিং পদ্ধতির তুলনায় “অসাধারণ সঠিকতা ও স্মরণ” প্রদান করে।

AI এজেন্টদের আত্মউন্নতিমূলক করা

আত্মউন্নতিমূলক এজেন্টদের জন্য একটি প্রচলিত প্যাটার্ন হলো একটি “জ্ঞান এজেন্ট” পরিচয় করানো। এই আলাদা এজেন্ট ব্যবহারকারী ও প্রাথমিক এজেন্টের মধ্যে মূল কথোপকথন পর্যবেক্ষণ করে। এর কাজগুলো:

  1. মূল্যবান তথ্য সনাক্ত করা: কথোপকথনের কোন অংশ সাধারণ জ্ঞান বা নির্দিষ্ট ব্যবহারকারীর পছন্দ হিসেবে সংরক্ষণের উপযোগী কিনা নির্ধারণ করা।

  2. নিষ্কাশন ও সংক্ষিপ্তকরণ: কথোপকথন থেকে অপরিহার্য শেখা বা পছন্দ গুছিয়ে বের করা।

  3. জ্ঞানভান্ডারে সঞ্চয়: এই নিষ্কাশিত তথ্য সংরক্ষণ করা, প্রায়শই ভেক্টর ডাটাবেসে, যাতে পরবর্তীতে উদ্ধৃত করা যায়।

  4. ভবিষ্যতের প্রশ্নোত্তর উন্নতকরণ: যখন ব্যবহারকারী নতুন প্রশ্ন করেন, জ্ঞান এজেন্ট প্রাসঙ্গিক সংরক্ষিত তথ্য উদ্ধার করে ব্যবহারকারীর প্রম্পটে যোগ করে, প্রধান এজেন্টকে গুরুত্বপূর্ণ প্রেক্ষাপট প্রদান করে (RAG এর মতো)।

মেমোরির জন্য অপ্টিমাইজেশন

লেটেন্সি ব্যবস্থাপনা: ব্যবহারকারীর ইন্টারঅ্যাকশন ধীর করা থেকে বিরত থাকতে, দ্রুত ও সস্তা মডেল ব্যবহার করা যেতে পারে প্রাথমিকভাবে তথ্য সঞ্চয় বা উদ্ধার গুরুত্বপূর্ণ কিনা যাচাইয়ের জন্য, এবং শুধুমাত্র প্রয়োজনবোধে জটিল নিষ্কাশন/উদ্ধার প্রক্রিয়া চালানো হয়।

জ্ঞানভান্ডার রক্ষণাবেক্ষণ: একটি ক্রমবর্ধমান জ্ঞানভান্ডারের জন্য, কম ব্যবহৃত তথ্য “কোল্ড স্টোরেজ”-এ সরিয়ে খরচ নিয়ন্ত্রণ করা যেতে পারে।

এজেন্ট মেমোরি সম্পর্কে আরও প্রশ্ন আছে?

Microsoft Foundry Discord-এ যোগ দিন অন্যান্য শিক্ষার্থীদের সাথে মেলামেশা করতে, অফিস আওয়ারে অংশ নিতে এবং আপনার AI এজেন্ট সম্পর্কিত প্রশ্নের উত্তর পেতে।


অস্বীকৃতি: এই নথিটি AI অনুবাদ পরিষেবা Co-op Translator ব্যবহার করে অনূদিত হয়েছে। যদিও আমরা শুদ্ধতার জন্য চেষ্টা করি, অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল নথিটি তার স্বভাষায় কর্তৃত্বপূর্ণ উৎস হিসেবে বিবেচিত হওয়া উচিত। গুরুত্বপূর্ণ তথ্যের জন্য পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদের ব্যবহারে প্রয়োজনীয় ভুল বোঝাবুঝি বা ভুল ব্যাখ্যার জন্য আমরা দায়বদ্ধ নই।