একটি সাম্প্রতিক বেঞ্চমার্ক দেখায় যে একটি দ্বি-স্তরীয় মেমরি ডিজাইন—RAM-ভিত্তিক স্ক্র্যাচপ্যাড এবং একটি লোকাল SQLite-vec ভল্ট—১০০ ms-এর কম মিডিয়ান কুয়েরি টাইম প্রদান করে, যা একটি জনপ্রিয় ক্লাউড ভেক্টর স্টোরের সাথে যুক্ত মাসিক ১৩৫ ডলারের বিলটি দূর করে। স্বায়ত্তশাসিত AI agents তৈরি করা ডেভেলপাররা সম্পূর্ণ অন-প্রিমিস সেটআপ চালাতে পারেন যা বেঞ্চমার্কে দ্রুততর ছিল এবং এতে কোনো মাসিক খরচও হয়নি।
কেন বিদ্যমান মেমরি পদ্ধতিগুলো যথেষ্ট নয়
AI agents-এর প্রায়শই একটি সীমিত রেসপন্স উইন্ডিনের মধ্যে হাজার হাজার পূর্ববর্তী ইন্টারঅ্যাকশন, তথ্য বা টুল-কল (tool-call) ফলাফল মনে রাখার প্রয়োজন হয়। বেশিরভাগ টিম প্রতিটি এমবেডিং একটি ম্যানেজড ভেক্টর ডেটাবেসে পুশ করে এবং প্রতিটি লুকআপের জন্য রিমোট ভেক্টর সার্চের ওপর নির্ভর করে। সেই মডেলটি স্কেল করতে পারে, কিন্তু এটি প্রতিটি কুয়েরিকে নেটওয়ার্কের মাধ্যমে পাঠাতে বাধ্য করে, যা রাউন্ড-ট্রিপ টাইম এবং মাসিক খরচ বাড়িয়ে দেয়। বেঞ্চমার্কে, ক্লাউড সার্ভিসের মিডিয়ান ল্যাটেন্সি ছিল ১২৭ ms এবং মাসিক বিল ছিল ১৩৫ ডলারের বেশি; টেস্ট পিরিয়ডে একটি আউটেজও (outage) রেকর্ড করা হয়েছে।
মেমরিকে দুটি স্তরে বিভক্ত করা
এই ডুয়াল-টিয়ার আর্কিটেকচার "ওয়ার্কিং মেমরি" এবং "লং-টার্ম স্টোরেজ"-কে আলাদা করে:
L1 Scratchpad (RAM)
- সম্পূর্ণভাবে প্রসেস মেমরিতে থাকে।
- বর্তমান টাস্ক কনটেক্সট এবং সাম্প্রতিকতম টুল কলগুলো ধরে রাখে।
- র (raw) স্ট্রিং সংরক্ষণ করে; কোনো এমবেডিং তৈরি করা হয় না।
- ৩ ms-এর কম সময়ে ফলাফল প্রদান করে, যা একটি CPU ক্যাশের সমতুল্য।
L2 Vault (SQLite-vec)
- ভেক্টর সার্চ সক্ষমতা দ্বারা বর্ধিত একটি লোকাল SQLite ডেটাবেসে অন্যান্য সমস্ত এমবেডিং সংরক্ষণ করে।
- বেঞ্চমার্কে ব্যবহৃত ১৪,৭২৬টি মেমরির সম্পূর্ণ সেট পরিচালনা করে।
- প্রায় ৯৪ ms-এ ম্যাচগুলো প্রদান করে, যা অনেক রিয়েল-টাইম এজেন্টদের জন্য ১০০ ms-এর লক্ষ্যের চেয়ে অনেক কম।
- হোস্ট মেশিনের স্টোরেজ ছাড়া আর কোনো খরচ নেই।
SQLite-vec হলো একটি ওপেন-সোর্স এক্সটেনশন যা একটি স্ট্যান্ডার্ড রিলেশনাল ফাইলের সাথে approximate nearest-neighbor সার্চ যোগ করে। যেহেতু ডেটাবেসটি এজেন্টের সাথে একই মেশিনে থাকে, তাই কোনো নেটওয়ার্ক হপ (network hop) প্রয়োজন হয় না এবং ইঞ্জিনটি দ্রুত লুকআপ বজায় রাখতে বিদ্যমান SQLite ইনডেক্সিং কৌশলগুলো পুনরায় ব্যবহার করে।
গুরুত্বপূর্ণ সংখ্যাসমূহ
| সিস্টেম | মিডিয়ান ল্যাটেন্সি | মাসিক খরচ | রিপোর্ট করা নির্ভরযোগ্যতা |
|---|---|---|---|
| ক্লাউড ভেক্টর স্টোর (Pinecone) | 127 ms | ~$135 | আউটেজ লক্ষ্য করা গেছে |
| লোকাল SQLite-vec ভল্ট | 94 ms | $0 | 100% আপটাইম |
খরচের পার্থক্য হলো মাসে $০ বনাম প্রায় $১৩৫।
ভল্ট পরিচ্ছন্ন রাখা
সমস্ত এমবেডিংয়ের একটি র (raw) ডাম্প প্রাসঙ্গিকতা কমিয়ে দিতে পারে। বেঞ্চমার্কের লেখক একটি ডিক্যে সিস্টেম (decay system) প্রবর্তন করেছেন যা মেমরিগুলোকে সাম্প্রতিকতা (recency) এবং ফ্রিকোয়েন্সি (frequency) অনুযায়ী স্কোর করে:
- নতুন বা ঘন ঘন অ্যাক্সেস করা আইটেমগুলো উচ্চতর ওয়েট (weight) পায়।
- যে আইটেমগুলো অনেকক্ষণ ধরে ব্যবহার করা হয়নি সেগুলো ধীরে ধীরে ওয়েট হারায়।
- এই ওয়েটেড ডিক্যে (weighted decay) "রিট্রিভাল নয়েজ" (retrieval noise)—অর্থাৎ অপ্রাসঙ্গিক ম্যাচ—৩৪% কমিয়ে দেয়।
লো-স্কোর এন্ট্রিগুলো ছেঁটে ফেলে বা ইনডেক্সে সেগুলোর গুরুত্ব কমিয়ে দিয়ে, এজেন্টটি ভল্টটিকে ধারাবাহিক পারফরম্যান্সের জন্য যথেষ্ট হালকা রেখে পুরনো ডেটা এড়িয়ে চলে।
সারসংক্ষেপ
যে সমস্ত AI agents-কে একটি কঠোর ডেডলাইনের মধ্যে হাজার হাজার মেমরি সামলাতে হয়, তাদের জন্য একটি RAM-ফার্স্ট স্ক্র্যাচপ্যাড এবং একটি লোকাল SQLite-vec ভল্টের সমন্বয় সম্পূর্ণ ক্লাউড-ভিত্তিক ভেক্টর স্টোরের একটি বাস্তবসম্মত বিকল্প প্রদান করে। এই পদ্ধতিটি রেসপন্স টাইম কমায়, পুনরাবৃত্ত ক্লাউড ফি দূর করে এবং নিরবচ্ছিন্ন পরিষেবা প্রদান করে, আর সেই সাথে অপ্রাসঙ্গিক ডেটা ছেঁটে ফেলার ক্ষমতাও বজায় রাখে। তাই এই দ্বি-স্তরীয় মডেলটি গ্রহণ করলে এজেন্টগুলোকে আরও দ্রুত, সাশ্রয়ী এবং নির্ভরযোগ্য করা সম্ভব।
