AI एजेंट में स्मृति: क्या रखें, क्या संपीड़ित करें, क्या फेंकें
भाषा मॉडल कॉल में स्मृति नहीं होती। हर मोड़ एक नया अनुरोध है और मॉडल केवल वही जानता है जो आपने इस बार जोड़ा। जिसे लोग "एजेंट भूल गया" या "लंबे रन में बिगड़ गया" कहते हैं, वह आपके कोड का लिया गया निर्णय है कि क्या साथ ले जाना है।
यह मान लेने पर स्मृति डिज़ाइन एक परिचित इंजीनियरिंग समस्या बन जाती है: क्या हमेशा प्रासंगिक है, क्या हाल में प्रासंगिक है, क्या संक्षेप हो सकता है और क्या संग्रह करने के बजाय ताज़ा लाना चाहिए।
चार परतें#
| परत | सामग्री | छँटती है? | सामान्य आकार |
|---|---|---|---|
| स्थिर | लक्ष्य, शर्तें, उपयोगकर्ता पहचान, नीति | कभी नहीं | 200–500 टोकन |
| हालिया | अंतिम मोड़ ज्यों के त्यों, नतीजों सहित | चलती खिड़की | 2–5 मोड़ |
| संपीड़ित | पुराने मोड़ छोटी तथ्य-नोट में | बढ़ने पर दोबारा लिखी | 500 टोकन से कम |
| लाया गया | इस कदम के लिए खींचे दस्तावेज़ | उपयोग के बाद हटाए | प्रति कदम |
गद्य नहीं, तथ्य संपीड़ित कीजिए#
आम ग़लती पुराने मोड़ों को कहानी की तरह संक्षेप करना है — ग्राहक ने ऑर्डर पूछा और एजेंट ने देखा। यह पढ़ने में अच्छा है और किसी काम का नहीं। उन तथ्यों तक संपीड़ित कीजिए जो आगे चाहिए हो सकते हैं: ऑर्डर 4471, स्थिति भेजा गया, रिफ़ंड माँगा गया, नीति 30 दिन, अभी रिफ़ंड नहीं।
हर मोड़ पर नहीं, एक सीमा पर संपीड़ित कीजिए। संक्षेप का संक्षेप करने से ब्यौरे चुपचाप ग़ायब होते हैं।
लाना स्मृति नहीं है#
ज्ञान-आधार से खींचे दस्तावेज़ उसी कदम के हैं जिसे उनकी ज़रूरत थी। उसके बाद उन्हें संदर्भ में रखना फूले हुए, महँगे और भटके रन तक का सबसे तेज़ रास्ता है। लाइए, इस्तेमाल कीजिए, स्रोत दीजिए, हटाइए।
सत्रों के बीच टिकाऊ स्मृति#
लंबे चलने वाले एजेंट किसी उपयोगकर्ता या खाते के बारे में सचमुच उपयोगी तथ्य जमा करते हैं: पसंद, पिछले निर्णय, न बदलने वाली शर्तें। इन्हें जान-बूझकर, एक छोटे संरचित रिकॉर्ड में स्पष्ट लेखन-कदम के साथ रखिए। तीन नियम इसे स्वस्थ रखते हैं: केवल वे तथ्य लिखिए जिन पर भविष्य का रन अमल करेगा, स्रोत दर्ज कीजिए और हर तथ्य को समाप्ति तिथि दीजिए।
- जान-बूझकर लिखिए — टूल कॉल के रूप में, दुष्प्रभाव के रूप में नहीं।
- हर तथ्य के साथ स्रोत और तारीख रखिए।
- आकार सीमित कीजिए और अप्रयुक्त को समाप्त कीजिए।
- उपयोगकर्ता को दिखाइए और सुधारने दीजिए।
लक्षण और कारण#
| लक्षण | सामान्य कारण |
|---|---|
| शुरुआती शर्त भूलता है | शर्त स्थिर नहीं थी, इतिहास के साथ छँट गई |
| कुछ कदम बाद गुणवत्ता गिरती है | संदर्भ पुराने आउटपुट से पतला |
| पूरा हुआ कदम दोहराता है | नतीजा बिना समापन-चिह्न संपीड़ित |
| रन लंबा होते ही लागत बढ़ती है | लाए दस्तावेज़ जमा हो रहे हैं |
| पुरानी बात आत्मविश्वास से कहता है | टिकाऊ स्मृति में समाप्ति और स्रोत नहीं |
अक्सर पूछे जाने वाले प्रश्न
कितना इतिहास ज्यों का त्यों रखें?
तीन से पाँच मोड़ अधिकांश तर्क ढँक लेते हैं और संदर्भ पर हावी नहीं होते। नतीजे उनकी कॉल से जुड़े रहें और पुराना संरचित तथ्यों में संपीड़ित हो।
क्या स्मृति के लिए वेक्टर डेटाबेस चाहिए?
दस्तावेज़ लाने के लिए अक्सर हाँ। एक रन की चालू स्थिति के लिए नहीं — वह आपके भंडार में एक छोटा संरचित वस्तु है।
टिकाऊ स्मृति बासी होने से कैसे रोकें?
हर तथ्य को स्रोत, तारीख और समाप्ति दीजिए और ताज़ा लाए डेटा को प्राथमिकता दिलाइए। रिकॉर्ड उपयोगकर्ता को दिखाइए।
ai एजेंट स्मृतिसंदर्भ प्रबंधनबातचीत संक्षेपटिकाऊ स्मृतिllm संदर्भ खिड़की