ai-agents-for-beginners

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

Agent Memory

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

এই পাঠে, আমরা দেখব AI এজেন্টের জন্য মেমোরি কী এবং আমরা কীভাবে এটি পরিচালনা করতে পারি এবং আমাদের অ্যাপ্লিকেশনগুলোর সুবিধার্থে ব্যবহার করতে পারি।

পরিচিতি

এই পাঠে আলোচিত হবে:

AI এজেন্ট মেমোরি বোঝা: মেমোরি কী এবং এজেন্টদের জন্য কেন এটি অপরিহার্য।

মেমোরি প্রয়োগ ও সংরক্ষণ: আপনার AI এজেন্টের জন্য মেমোরি যোগ করার ব্যবহারিক পদ্ধতি, যেখানে সংক্ষিপ্তকালীন এবং দীর্ঘকালীন মেমোরির ওপর ফোকাস থাকবে।

AI এজেন্টকে আত্মউন্নতকারী তৈরি করা: কীভাবে মেমোরি এজেন্টদের পূর্ববর্তী ইন্টারঅ্যাকশন থেকে শিখতে এবং সময়ের সাথে উন্নতি করতে সক্ষম করে।

উপলব্ধ ইমপ্লিমেন্টেশনসমূহ

এই পাঠে দুইটি ব্যাপক নোটবুক টিউটোরিয়াল অন্তর্ভুক্ত:

13-agent-memory.ipynb: Mem0 ও Azure AI Search ব্যবহার করে Semantic Kernel ফ্রেমওয়ার্কের মাধ্যমে মেমোরি ইমপ্লিমেন্ট করা হয়েছে

13-agent-memory-cognee.ipynb: Cognee ব্যবহার করে স্ট্রাকচার্ড মেমোরি বাস্তবায়ন, যা এমবেডিংসম্বলিত একটি স্বয়ংক্রিয় নলেজ গ্রাফ গঠন করে, নলেজ গ্রাফ ভিজ্যুয়ালাইজ করে, এবং বুদ্ধিমান রিটারিভাল করে

শেখার লক্ষ্য

এই পাঠ শেষ করার পর, আপনি জানতে সক্ষম হবেন:

AI এজেন্ট মেমোরির বিভিন্ন ধরন পার্থক্য করা, যার মধ্যে রয়েছে ওয়ার্কিং, সংক্ষিপ্তকালীন, এবং দীর্ঘকালীন মেমোরি, পাশাপাশি বিশেষায়িত ফর্ম যেমন পার্সোনা ও এপিসোডিক মেমোরি।

Semantic Kernel ফ্রেমওয়ার্ক ব্যবহার করে AI এজেন্টদের জন্য সংক্ষিপ্তকালীন ও দীর্ঘকালীন মেমোরি বাস্তবায়ন ও পরিচালনা করা, Mem0, Cognee, Whiteboard memory সহ বিভিন্ন টুল ব্যবহার ও Azure AI Search এর সাথে ইন্টিগ্রেশন সহ।

আত্মউন্নতকারী AI এজেন্টের মূলনীতি বোঝা এবং কীভাবে শক্তিশালী মেমোরি ব্যবস্থাপনা সিস্টেম ধারাবাহিক শেখা ও অভিযোজনকে সহায়তা করে।

AI এজেন্ট মেমোরি বোঝা

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

মেমোরি ছাড়া AI অ্যাপ্লিকেশনগুলো সাধারণত স্টেটলেস হয়, অর্থাৎ প্রতিটি ইন্টারঅ্যাকশন নতুন করে শুরু হয়। এর ফলে এমন একধরনের পুনরাবৃত্তিমূলক ও হতাশাজনক ব্যবহারকারীর অভিজ্ঞতা হয় যেখানে এজেন্ট পূর্ববর্তী প্রসঙ্গ বা পছন্দ ভুলে যায়।

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

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

প্রতিফলিত হতে: অতীত কর্ম ও ফলাফল থেকে শেখা।

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

প্রোঅ্যাকটিভ ও রিয়েক্টিভ হতে: প্রয়োজন পূর্বানুমান করা অথবা ঐতিহাসিক ডেটার ওপর ভিত্তি করে সঠিকভাবে প্রতিক্রিয়া দেখানো।

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

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

মেমোরির ধরনসমূহ

ওয়ার্কিং মেমোরি

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

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

ওয়ার্কিং মেমোরির উদাহরণ

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

সংক্ষিপ্তকালীন মেমোরি

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

সংক্ষিপ্তকালীন মেমোরির উদাহরণ

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

দীর্ঘকালীন মেমোরি

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

দীর্ঘকালীন মেমোরির উদাহরণ

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

পার্সোনা মেমোরি

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

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

ওয়ার্কফ্লো/এপিসোডিক মেমোরি

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

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

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

এন্টিটি মেমোরি

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

এন্টিটি মেমোরির উদাহরণ

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

স্ট্রাকচার্ড RAG (রিট্রিভাল অগমেন্টেড জেনারেশন)

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

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

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

মেমোরি প্রয়োগ ও সংরক্ষণ

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

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

Mem0

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

এটি একটি দ্বি-ধাপের মেমোরি পাইপলাইন: এক্সট্রাকশন ও আপডেট প্রক্রিয়ার মাধ্যমে কাজ করে। প্রথমে, এজেন্টের থ্রেডে যোগ হওয়া মেসেজগুলি Mem0 সার্ভিসে পাঠানো হয়, যা একটি লার্জ ল্যাঙ্গুয়েজ মডেল ব্যবহার করে কথোপকথনের ইতিহাস সারসংক্ষেপ করে নতুন মেমোরি বের করে। পরে, একটি 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 এর অনুরূপ)।

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

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

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

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

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


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