ഒരു ഡെവലപ്പറുടെ “dreaming” പൈപ്പ്ലൈൻ ദിവസത്തിൽ രണ്ടുതവണ പ്രവർത്തിക്കുന്നു. ഇത് ഒരു LLM-ഏജന്റിന്റെ റോ (raw) ഇവന്റ് ലോഗുകളെ ഒരു കോംപാക്ട് ആയ, പരിശോധിച്ചുറപ്പുവരുത്തിയ മെമ്മറി സ്റ്റോറിലേക്ക് ചുരുക്കുകയും ടോക്കൺ ചിലവ് ഗണ്യമായി കുറയ്ക്കുകയും ചെയ്യുന്നു. ഈ രീതി വളരെ പ്രധാനമാണ്, കാരണം മിക്ക ഏജന്റ് സിസ്റ്റങ്ങളും തങ്ങൾ കാണുന്ന ഓരോ ചെറിയ കാര്യവും അവരുടെ വർക്കിംഗ് മെമ്മറിയിൽ നിറയ്ക്കുന്നു, ഇത് വൈകാതെ വൈരുദ്ധ്യങ്ങൾക്കും (contradictions), വിസ്മൃതിക്കും (forgotten context), വർദ്ധിച്ചുവരുന്ന API ചിലവുകൾക്കും കാരണമാകുന്നു.
LLM ഏജന്റുകൾക്ക് മെമ്മറി എന്തിനാണ് പ്രസക്തമാകുന്നത്
LLM ഏജന്റുകൾ ഓരോ ഉപയോക്താവിന്റെ അഭ്യർത്ഥനയെയും, ടൂൾ കോളിനെയും, അല്ലെങ്കിൽ ആന്തരിക നിരീക്ഷണത്തെയും ഒരു പുതിയ “ഇവന്റ്” (event) ആയി പരിഗണിക്കുന്നു. സാധാരണ രീതിയിൽ, അടുത്ത തീരുമാനത്തിനായി ഉപയോഗിക്കുന്ന പ്രോംപ്റ്റിലേക്ക് (prompt) ഓരോ ഇവന്റും കൂട്ടിച്ചേർക്കുന്നു. പ്രായോഗികമായി ഇത് പ്രോംപ്റ്റിൽ അനാവശ്യ വിവരങ്ങൾ (noise) നിറയ്ക്കുകയും, പഴയ വിവരങ്ങൾ വീണ്ടും വിലയിരുത്താൻ മോഡലിനെ നിർബന്ധിക്കുകയും, ടോക്കൺ ഉപയോഗം ഉയർന്ന നിരക്കിലേക്ക് എത്തിക്കുകയും ചെയ്യുന്നു. ഇതിന്റെ ഫലം: കൂടുതൽ പിശകുകളും, ഓരോ ഇടപാടിലും വർദ്ധിച്ചുവരുന്ന മറഞ്ഞിരിക്കുന്ന ബില്ലുകളും.
രാത്രികാല "dreaming" എങ്ങനെ പ്രവർത്തിക്കുന്നു
ഈ സിസ്റ്റം write path-നെ (ഏജന്റിന്റെ ലൈവ് ലോഗ്) work path-ൽ (മോഡലിന്റെ തീരുമാനമെടുക്കൽ പ്രക്രിയ) നിന്ന് വേർതിരിക്കുന്നു. ദിവസത്തിൽ രണ്ടുതവണ "dream" എന്ന് വിളിക്കപ്പെടുന്ന ഒരു ബാക്ക്ഗ്രൗണ്ട് ജോബ്, ശേഖരിച്ച ഇവന്റുകളെ മൂന്ന് ഘട്ടങ്ങളിലൂടെ പ്രോസസ്സ് ചെയ്യുന്നു:
- Reflect – ഒരു LLM ബന്ധപ്പെട്ട ഇവന്റുകളുടെ കൂട്ടങ്ങളെ പരിശോധിക്കുകയും, സംക്ഷിപ്തമായ വസ്തുതകൾ (facts) നിർദ്ദേശിക്കുകയും, ഏതെല്ലാം ഇവന്റുകളാണ് ആ നിർദ്ദേശങ്ങളെ പിന്തുണയ്ക്കുന്നത് എന്ന് രേഖപ്പെടുത്തുകയും ചെയ്യുന്നു.
- Score – ഒരു വസ്തുതയ്ക്ക് ആവശ്യമായ പിന്തുണ നൽകുന്ന ഇവന്റുകൾ ഉണ്ടോ എന്നും, ആ ഇവന്റുകൾ വിശ്വസനീയമായ രീതിയിൽ കൃത്യമായ ഇടവേളകളിൽ ഉണ്ടോ എന്നും പൈപ്പ്ലൈൻ പരിശോധിക്കുന്നു.
- Judge – പുതിയ വസ്തുത നിലവിലുള്ള മെമ്മറിയുമായി വൈരുദ്ധ്യത്തിലല്ലെന്നും അത് ഡ്യൂപ്ലിക്കേറ്റ് അല്ലെന്നും ഉറപ്പാക്കാൻ രണ്ട് പരിശോധനകൾ (sanity checks) നടത്തുന്നു.
എല്ലാ പരിശോധനകളും വിജയിക്കുന്ന വസ്തുതകൾ permanent memory-ലേക്ക് മാറ്റപ്പെടുന്നു. പരാജയപ്പെടുന്നവ ഒരു review queue-ൽ എത്തുന്നു, അവിടെ ഒരു മനുഷ്യ ഓപ്പറേറ്റർക്ക് ഒരു കീസ്ട്രോക്കിലൂടെ അവ അംഗീകരിക്കാനോ നിരസിക്കാനോ കഴിയും. ഓരോ അംഗീകാരവും ഒരു git-style commit സൃഷ്ടിക്കുന്നു, ഇത് ഏത് മെമ്മറിയാണ് എപ്പോൾ മാറിയതെന്നതിന്റെ പൂർണ്ണമായ ഓഡിറ്റ് ട്രയൽ നൽകുന്നു.
പ്രധാനപ്പെട്ട എഞ്ചിനീയറിംഗ് പാഠങ്ങൾ
- Write-നെ work-ൽ നിന്ന് വേർതിരിക്കുക. ഏജന്റുകളെ എല്ലാ നിരീക്ഷണങ്ങളും ഒരു ലോഗിലേക്ക് ഇടാൻ അനുവദിക്കുക; എന്താണ് നിലനിർത്തേണ്ടതെന്ന് തീരുമാനിക്കാൻ ഒരു പ്രത്യേക പ്രക്രിയയെ ഏൽപ്പിക്കുക.
- ജനറേഷനിൽ അല്ല, റിഫ്യൂസലിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കുക. ആശയങ്ങൾ ഉത്പാദിപ്പിക്കുന്നത് ലാഭകരമാണ്; എന്നാൽ മെമ്മറി മലിനീകരണം (memory pollution) തടയുന്നതാണ് പ്രയാസകരമായ കാര്യം.
- ഏറ്റവും കുറഞ്ഞ ചെലവുള്ള ചെക്ക്പോയിന്റിൽ മനുഷ്യ ഇടപെടൽ ഉറപ്പാക്കുക. ഓട്ടോമാറ്റിക് ഡ്രാഫ്റ്റിംഗും അതിനുശേഷം വേഗത്തിലുള്ള മാനുവൽ അംഗീകാരവും നൽകുന്നത് പൂർണ്ണമായ സ്വയംഭരണത്തേക്കാൾ (autonomy) ചെലവ് കുറയ്ക്കാനും സുരക്ഷ വർദ്ധിപ്പിക്കാനും സഹായിക്കും.
- ഓരോ സൈക്കിളിലും ടോക്കൺ ചിലവ് പരിമിതപ്പെടുത്തുക. ഓരോ ഡ്രീമിംഗ് റണ്ണിലും ടോക്കണുകൾക്ക് ഒരു പരിധി നിശ്ചയിക്കുന്നത് അമിത ചിലവ് ഒഴിവാക്കാൻ സഹായിക്കും.
- നിശബ്ദമായ പരാജയങ്ങൾക്കായി ഓഡിറ്റ് ചെയ്യുക. ഒരു ഘട്ടം അടുത്ത ഘട്ടത്തേക്കാൾ വ്യത്യസ്തമായ നിയമങ്ങളാണ് പ്രയോഗിക്കുന്നതെങ്കിൽ, വിവരങ്ങൾ ശ്രദ്ധിക്കപ്പെടാതെ നഷ്ടപ്പെട്ടേക്കാം; വ്യക്തമായ പരിശോധനകൾ ഇത്തരം പൊരുത്തക്കേടുകൾ കണ്ടെത്താൻ സഹായിക്കും.
സാധ്യമായ പോരായ്മകൾ
ഈ ഏകീകരണം (consolidation) ഓഫ്ലൈനായി പ്രവർത്തിപ്പിക്കുന്നത് ഒരു കാലതാമസത്തിന് (lag) കാരണമാകുന്നു: അടുത്ത ഡ്രീം സൈക്കിൾ വരുന്നത് വരെ ഏജന്റിന് പുതുതായി പരിശോധിച്ച വസ്തുതകൾ കാണാൻ കഴിയില്ല. പെട്ടെന്നുള്ള പഠനം ആവശ്യമായ വേഗതയേറിയ ആപ്ലിക്കേഷനുകളിൽ ഈ താമസം ഒരു പോരായ്മയാകാം. ഈ സിസ്റ്റം ഒരു മനുഷ്യ റിവ്യൂവർ എന്ന വ്യക്തിയെ ആശ്രയിച്ചിരിക്കുന്നു; തൊഴിൽ ചിലവ് വർദ്ധിപ്പിക്കാതെ റിവ്യൂ ക്യൂ വിപുലീകരിക്കുക എന്നത് ഇപ്പോഴും ഒരു വെല്ലുവിളിയാണ്.
അടുത്തതായി ശ്രദ്ധിക്കേണ്ട കാര്യങ്ങൾ
LLM ഏജന്റുകളുമായി പരീക്ഷണം നടത്തുന്ന ഡെവലപ്പർമാർ ടോക്കൺ ബില്ലുകളും എറർ ലോഗുകളും നിരീക്ഷിക്കണം. "മെമ്മറി പൊല്യൂഷൻ" (memory pollution) – അതായത് റോ ഇവന്റുകളുടെ ശേഖരം കാരണം ഉണ്ടാകുന്ന ആവർത്തിച്ചുള്ളതോ വൈരുദ്ധ്യമുള്ളതോ ആയ പ്രസ്താവനകൾ – ഇതിന്റെ ലക്ഷണങ്ങളാണോ എന്ന് പരിശോധിക്കുക. ഒരു ഡ്രീമിംഗ് പൈപ്പ്ലൈൻ ചേർക്കുന്നത് ചെലവ് കുറയ്ക്കാനും ഓഡിറ്റ് ചെയ്യാവുന്ന മെമ്മറി ഹിസ്റ്ററി നേടാനും സഹായിക്കുന്നു. കൂടുതൽ ടീമുകൾ ഈ സ്പ്ലിറ്റ്-ലോഗ് മോഡൽ സ്വീകരിക്കുന്നതോടെ, reflect-score-judge ഘട്ടങ്ങൾ ഓട്ടോമേറ്റ് ചെയ്യുന്നതും വെർഷൻ കൺട്രോൾ രീതിയിലുള്ള റിവ്യൂവിനോട് സംയോജിപ്പിക്കുന്നതുമായ ടൂളുകൾ വരാൻ സാധ്യതയുണ്ട്. ഇത് ഈ രീതിയെ കൂടുതൽ എളുപ്പത്തിൽ ഉപയോഗപ്രദമാക്കും. പെട്ടെന്നുള്ള പ്രവർത്തനവും (immediacy) കൃത്യതയും (cleanliness) തമ്മിലുള്ള സന്തുലിതാവസ്ഥയായിരിക്കും ഈ ഡ്രീമിംഗ് രീതി LLM-ഏജന്റ് ആർക്കിടെക്ചറിലെ ഒരു സ്റ്റാൻഡേർഡ് ഭാഗമായി മാറുമോ എന്ന് തീരുമാനിക്കുന്നത്.
