Vercel-ന്റെ Eve Framework ഉപയോഗിച്ചുള്ള Agent
Vercel, Eve ഓപ്പൺ സോഴ്സ് ചെയ്തിരിക്കുകയാണ്. ദീർഘകാലം നിലനിൽക്കുന്ന (durable) AI ഏജന്റുകളെ നിർമ്മിക്കാനുള്ള ഒരു ഫ്രെയിംവർക്കാണിത്.
മോഡൽ ലൂപ്പുകൾക്കോ ടൂൾ ഡിസ്പാച്ചിനോ വേണ്ടി സങ്കീർണ്ണമായ കോഡ് എഴുതുന്നതിന് പകരം, ഒരു ഡയറക്ടറിയിൽ ഫയലുകൾ എഴുതിയാൽ മതി. ബാക്കി കാര്യങ്ങൾ Eve കൈകാര്യം ചെയ്യും.
ഞാൻ Eve ഉപയോഗിച്ച് ഒരു ഷോപ്പിംഗ് അസിസ്റ്റന്റ് നിർമ്മിച്ചു. ഇത് ഉൽപ്പന്നങ്ങൾ തിരയുകയും, സ്റ്റോക്ക് പരിശോധിക്കുകയും, വില താരതമ്യം ചെയ്യുകയും, ഓർഡറുകൾ നൽകുകയും ചെയ്യുന്നു.
ഞാൻ പഠിച്ച കാര്യങ്ങൾ ഇതാ:
പ്രധാന ആശയം (The Core Concept) Eve ഏജന്റിനെയും കമ്മ്യൂണിക്കേഷൻ ചാനലിനെയും വേർതിരിക്കുന്നു.
- ഏജന്റ് എന്നത് റീസണിംഗ് കോർ (reasoning core) ആണ്. ഇതിൽ മോഡൽ, ടൂളുകൾ, നിർദ്ദേശങ്ങൾ എന്നിവ അടങ്ങിയിരിക്കുന്നു.
- ചാനൽ എന്നത് ഡെലിവറി രീതിയാണ്. ഇത് ഓതന്റിക്കേഷൻ (auth), മെസ്സേജ് ഫോർമാറ്റുകൾ, പ്ലാറ്റ്ഫോമുകൾ എന്നിവ കൈകാര്യം ചെയ്യുന്നു.
ഈ ഡിസൈൻ ഉപയോഗിച്ച് ഒരു ഏജന്റിന് ഒരേസമയം പല പ്ലാറ്റ്ഫോമുകളിൽ (surfaces) സേവനം നൽകാൻ കഴിയും. വെബ് ചാറ്റ്, Slack, ഒരു CLI അല്ലെങ്കിൽ ഒരു webhook എന്നിവയ്ക്കായി ഒരേ ഏജന്റ് തന്നെ ഉപയോഗിക്കാം. ഏജന്റ് കോഡ് മാറ്റുന്നതിന് പകരം പുതിയ ചാനൽ ഫയലുകൾ ചേർക്കുന്നതിലൂടെ പുതിയ പ്ലാറ്റ്ഫോമുകൾ കൂട്ടിച്ചേർക്കാം.
ദീർഘകാലം നിലനിൽക്കുന്ന സെഷനുകൾ (Durable Sessions) സംഭാഷണങ്ങൾ തടസ്സമില്ലാതെ മുന്നോട്ട് കൊണ്ടുപോകാൻ Eve ഒരു വർക്ക്ഫ്ലോ എൻജിൻ ഉപയോഗിക്കുന്നു.
- സെർവർ റീസ്റ്റാർട്ട് ചെയ്താലും സെഷനുകൾ നിലനിൽക്കും.
- ഒരു പ്രോസസ്സ് ഇടയ്ക്ക് തകരാറിലായാൽ (crash), അവസാനമായി പൂർത്തിയാക്കിയ ഘട്ടത്തിൽ നിന്ന് Eve വീണ്ടും തുടങ്ങും.
- നിങ്ങൾക്ക് സെർവർ നിർത്താനും വീണ്ടും തുടങ്ങാനും അതുപോലെ തന്നെ സംഭാഷണം തുടരാനും സാധിക്കും.
ലോക്കൽ ഡെവലപ്മെന്റിനായി, Eve എല്ലാം നിങ്ങളുടെ ഫയൽസിസ്റ്റത്തിലെ .workflow-data എന്ന ഡയറക്ടറിയിൽ സേവ് ചെയ്യുന്നു. പ്രൊഡക്ഷന് വേണ്ടി PostgreSQL, Redis അല്ലെങ്കിൽ MongoDB പോലുള്ള വിവിധ ബാക്കെൻഡുകൾ ഉപയോഗിക്കാം.
സീറോ ഓർക്കസ്ട്രേഷൻ (Zero Orchestration) ഞാൻ റൂട്ടിംഗിനോ സ്ട്രീമിംഗിനോ വേണ്ടി പ്രത്യേകം ലോജിക് ഒന്നും എഴുതിയില്ല.
- ഫയൽസിസ്റ്റം തന്നെ സെറ്റപ്പ് കൈകാര്യം ചെയ്യുന്നു. ഒരു പുതിയ കഴിവ് (capability) ചേർക്കാൻ ഒരു ഫയൽ മാത്രം നിർമ്മിച്ചാൽ മതി.
- ഏജന്റ് സ്വാഭാവികമായി തന്നെ മൾട്ടി-സ്റ്റെപ്പ് റീസണിംഗ് കൈകാര്യം ചെയ്യുന്നു.
- ടൂൾ കോളുകളും സ്ട്രീമിംഗ് ടെക്സ്റ്റും കാണുന്നതിനായി ഡെവലപ്പർ ടൂൾ ഒരു റിയൽ-ടൈം ടെർമിനൽ UI നൽകുന്നു.
നിങ്ങൾ ഒരു കസ്റ്റം മോഡൽ പ്രൊവൈഡർ ആണ് ഉപയോഗിക്കുന്നതെങ്കിൽ, നിങ്ങളുടെ modelContextWindowTokens നിർവചിക്കാൻ മറക്കരുത്. പഴയ സന്ദേശങ്ങൾ സംഗ്രഹിക്കാൻ (summarize) Eve ഇത് ഉപയോഗിക്കുന്നു, അതിനാൽ നിങ്ങളുടെ സംഭാഷണം ഒരിക്കലും പരിധിയിൽ (limit) എത്തില്ല.
പ്രധാന കാര്യങ്ങൾ (Key Takeaways):
- ടൂൾ ഡിസ്പാച്ചിനായി ബോയ്ലർപ്ലേറ്റ് കോഡുകൾ ആവശ്യമില്ല.
- ഇൻ-ബിൽറ്റ് സെഷൻ പെർസിസ്റ്റൻസ് (session persistence).
- ചാനൽ ഫയലുകളിലൂടെ എളുപ്പത്തിൽ മൾട്ടി-പ്ലാറ്റ്ഫോം സപ്പോർട്ട് നൽകാം.
- റിയൽ-ടൈം TUI ഉപയോഗിച്ച് വേഗത്തിലുള്ള ഡെവലപ്മെന്റ്.
ഉറവിടം: https://dev.to/stormhub/agent-with-vercels-eve-framework-3c2l
ഓപ്ഷണൽ ലേണിംഗ് കമ്മ്യൂണിറ്റി: https://t.me/GyaanSetuAi