Foreman, large-language-model (LLM) ഏജന്റുകളെ നേറ്റീവ് Kubernetes റിസോഴ്സുകളാക്കി മാറ്റുന്നു. ഇത് ചിലവുകളും സുരക്ഷയും കർശനമായി നിയന്ത്രിച്ചുകൊണ്ട്, AI നിർമ്മിച്ച കോഡുകൾ പ്രൊഡക്ഷനിൽ പ്രവർത്തിപ്പിക്കാൻ ടീമുകളെ അനുവദിക്കുന്നു.
ഇന്നത്തെ ഡെവലപ്മെന്റ് വർക്ക്ഫ്ലോയിൽ ഈ ആശയം എങ്ങനെ ഇണങ്ങിച്ചേരുന്നു
കോഡ് എഴുതാൻ കഴിയുന്ന LLM-കളിൽ പരീക്ഷണങ്ങൾ നടക്കുന്നുണ്ടെങ്കിലും, മിക്ക പ്രായോഗിക രീതികളും മോഡലിനെ വിശ്വസിക്കാവുന്ന ഒരു 'ബ്ലാക്ക് ബോക്സ്' ആയിട്ടാണ് കാണുന്നത്. മോഡലിൽ നിന്നുള്ള ഒരു ഒറ്റ “done” സിഗ്നൽ പോലും പരിശോധിക്കപ്പെടാത്ത മാറ്റങ്ങൾ നേരിട്ട് ഒരു റെപ്പോസിറ്ററിയിലേക്ക് എത്തിച്ചേക്കാം, ഇത് സുരക്ഷാപരവും വിശ്വാസ്യതയുമായ ആശങ്കകൾ ഉയർത്തുന്നു. അതേസമയം, ക്ലൗഡിൽ AI സേവനങ്ങൾ പ്രവർത്തിപ്പിക്കുന്നത് ചിലവേറിയതാകാം, പ്രത്യേകിച്ച് ഒരേ മോഡൽ തന്നെ CI പൈപ്പ്ലൈനുകളിൽ നിന്ന് ആവർത്തിച്ച് വിളിക്കുമ്പോൾ.
കോഡിംഗ് ലൂപ്പ് മുഴുവനായി ഒരു Kubernetes ക്ലസ്റ്ററിനുള്ളിൽ ഉൾപ്പെടുത്തുക എന്നതാണ് Foreman നൽകുന്ന പരിഹാരം. Foreman ഒരു Kubernetes റിസോഴ്സ് ആയിട്ടാണ് പ്രവർത്തിക്കുന്നത്.
ഇത് സാധ്യമാക്കുന്ന നാല് പ്രധാന ഒബ്ജക്റ്റുകൾ
- Agent – ഒരു വർക്കറെ നിർവചിക്കുന്നു. ഏത് LLM ആണ് വിളിക്കേണ്ടതെന്നും, മോഡൽ ഉപയോഗിക്കാവുന്ന ടൂളുകൾ (ഉദാഹരണത്തിന്: file-write അല്ലെങ്കിൽ git-push) ഏതൊക്കെയാണെന്നും ഇത് വ്യക്തമാക്കുന്നു, കൂടാതെ മോഡൽ കോളുകളുടെ എണ്ണം പരിമിതപ്പെടുത്തുന്ന ഒരു ബജറ്റും നിശ്ചയിക്കുന്നു. ഇവിടെയാണ് റോളുകൾ (Roles) ചേർക്കുന്നത്; ഒരു coder agent കോഡ് എഴുതുന്നു, ഒരു verifier agent അത് പരിശോധിക്കുന്നു.
- Workload – ഉപയോക്താവ് നിർവചിക്കുന്ന ജോലിയുടെ യൂണിറ്റ്. ഇതിൽ ഉയർന്ന തലത്തിലുള്ള ലക്ഷ്യങ്ങളും (ഉദാഹരണത്തിന്: “add unit tests for module X”), ടാർഗെറ്റ് റെപ്പോസിറ്ററിയുടെ റഫറൻസും, ജോലി കൈകാര്യം ചെയ്യേണ്ട ഏജന്റുകളുടെ പട്ടികയും അടങ്ങിയിരിക്കുന്നു.
- AgenticTask – ഒരു Workload സൃഷ്ടിക്കുന്ന കൃത്യമായ ടാസ്ക്. ജോലി പുരോഗമിക്കുമ്പോൾ, ഓരോ AgenticTask-ഉം സ്റ്റാറ്റസ് അപ്ഡേറ്റുകൾ രേഖപ്പെടുത്തുന്നു, ഇത് ഓപ്പറേറ്റർമാർക്ക് പൈപ്പ്ലൈൻ തത്സമയം നിരീക്ഷിക്കാൻ സഹായിക്കുന്നു.
- FleetNode – ടാസ്ക്കുകൾ യഥാർത്ഥത്തിൽ പ്രവർത്തിപ്പിക്കുന്ന ഒരു Kubernetes നോഡ്. ഇൻബിൽറ്റ് ഷെഡ്യൂളർ (scheduler), നിലവിലുള്ള AgenticTasks-കളെ ആവശ്യമായ റോളും റിസോഴ്സുകളും ഉള്ള FleetNodes-ലേക്ക് മാച്ച് ചെയ്യുന്നു.
അന്ധമായ വിശ്വാസത്തിന് പകരം വെരിഫിക്കേഷൻ (Verification)
മോഡലിന്റെ ഔട്ട്പുട്ട് ശരിയാണെന്ന് Foreman അനുമാനിക്കുന്നില്ല. ഒരു coder agent അതിന്റെ ജോലി പൂർത്തിയാക്കുമ്പോൾ, അത് ഫൈനൽ റിസൾട്ടിന് പകരം ഒരു റിക്വസ്റ്റ് അയക്കുന്നു. ഒരു verifier—സാധാരണയായി മറ്റൊരു LLM അല്ല, മറിച്ച് ഒരു ഡെറ്റർമിനിസ്റ്റിക് സ്ക്രിപ്റ്റ് (deterministic script)—ലിന്ററുകൾ (linters), യൂണിറ്റ് ടെസ്റ്റുകൾ അല്ലെങ്കിൽ ഫുൾ ബിൽഡുകൾ എന്നിവയിലൂടെ കോഡ് പരിശോധിക്കുന്നു. ഈ പരിശോധനകൾ വിജയിച്ചാൽ മാത്രമേ Foreman പുതിയ ബ്രാഞ്ച് റെപ്പോസിറ്ററിയിലേക്ക് എഴുതുകയുള്ളൂ.
വെരിഫിക്കേഷൻ പരാജയപ്പെട്ടാൽ, ടാസ്ക് നിരസിക്കപ്പെട്ടതായി അടയാളപ്പെടുത്തുകയും മാറ്റങ്ങൾ റെപ്പോസിറ്ററിയിൽ സേവ് ചെയ്യപ്പെടാതിരിക്കുകയും ചെയ്യുന്നു. ഈ വേർതിരിവ് മോഡലിന് സർഗ്ഗാത്മകമായി പ്രവർത്തിക്കാൻ അനുവദിക്കുമ്പോൾ തന്നെ സുരക്ഷാ സംവിധാനം മനുഷ്യന്റെ പൂർണ്ണ നിയന്ത്രണത്തിൽ നിലനിർത്തുന്നു.
ഒരു ക്ലസ്റ്ററിൽ സ്റ്റാക്ക് ഇൻസ്റ്റാൾ ചെയ്യുക
- Helm ഉപയോഗിച്ച് LLMKube core chart ഡെപ്ലോയ് ചെയ്യുക.
- Foreman chart-ഉം Helm വഴി ഡെപ്ലോയ് ചെയ്യുക.
- ഏജന്റ് മോഡ് “native” എന്നതിലേക്ക് മാറ്റുക, അങ്ങനെ യഥാർത്ഥ റിക്വസ്റ്റ്-റെസ്പോൺസ് ലൂപ്പ് സജീവമാകും.
- ജോലി കൈകാര്യം ചെയ്യുന്ന FleetNodes-ലേക്ക് റോളുകൾ (coder, verifier) നൽകുക.
രണ്ട് ക്രെഡൻഷ്യൽ സെറ്റുകൾ ആവശ്യമാണ്: ഇഷ്യൂകൾ വായിക്കുന്നതിനും ബ്രാഞ്ചുകൾ പുഷ് ചെയ്യുന്നതിനുമുള്ള git ക്രെഡൻഷ്യലുകളും, ഹോസ്റ്റഡ് API അല്ലെങ്കിൽ സെൽഫ്-ഹോസ്റ്റഡ് ഇൻഫറൻസ് സർവീസ് വിളിക്കുന്നതിനുമുള്ള മോഡൽ ക്രെഡൻഷ്യലുകളും.
നിങ്ങൾക്ക് നിയന്ത്രിക്കാവുന്ന ചിലവ്, സുരക്ഷാ ക്രമീകരണങ്ങൾ
ഏജന്റ് ഡെഫനിഷനിൽ നിന്ന് ടൂളുകൾ ഒഴിവാക്കുന്നതിലൂടെ മോഡലിന്റെ അധികാരം പരിമിതപ്പെടുത്താൻ Foreman ഓപ്പറേറ്റർമാരെ അനുവദിക്കുന്നു. “bash” അല്ലെങ്കിൽ “write_file” ഒഴിവാക്കുന്നത് വഴി മോഡലിന് ഇഷ്ടാനുസരണം ഷെൽ കമാൻഡുകൾ പ്രവർത്തിപ്പിക്കാനോ നിശ്ചിത വർക്ക്സ്പേസിന് പുറത്ത് ഫയലുകൾ എഴുതാനോ കഴിയില്ല.
ഒരു ടാസ്ക്കിന് എത്ര തവണ മോഡലിനെ വിളിക്കാമെന്നതിനെ ഒരു പരിധിയിൽ (turn limit) നിർത്തുന്നതിലൂടെ ചിലവ് നേരിട്ട് നിയന്ത്രിക്കാം. പ്രോംപ്റ്റിൽ മോഡൽ കാണുന്ന അളവ് അഥവാ കോൺടെക്സ്റ്റ് വിൻഡോ (context window) ക്രമീകരിക്കുന്നത് ടോക്കൺ ഉപയോഗം കുറയ്ക്കാൻ സഹായിക്കും. മോഡൽ ഓൺ-പ്രെമിസ് ഹാർഡ്വെയറിൽ ലോക്കലായി പ്രവർത്തിക്കുമ്പോൾ, ഡാറ്റാ പ്രൈവസി പോളിസികൾ പാലിച്ചുകൊണ്ട് ഒരു ഡാറ്റയും സ്ഥാപനത്തിന് പുറത്തേക്ക് പോകുന്നില്ലെന്ന് ഉറപ്പാക്കാം.
ഈ പ്ലാറ്റ്ഫോം മികച്ച രീതിയിൽ പ്രവർത്തിക്കുന്ന ഇടങ്ങളും ഇനിയും വെല്ലുവിളികൾ നേരിടുന്ന ഇടങ്ങളും
കൃത്യമായ ലക്ഷ്യങ്ങളുള്ള മെക്കാനിക്കൽ ജോലികളിൽ Foreman മികവ് പുലർത്തുന്നു:
- രേഖപ്പെടുത്തിയ ഒരു ബഗ് പരിഹരിക്കുക.
- വിട്ടുപോയ ടെസ്റ്റ് കേസുകൾ ചേർക്കുക.
- വ്യക്തതയ്ക്കോ ശൈലിക്കോ വേണ്ടി ഡോക്യുമെന്റേഷൻ പുതുക്കുക.
ഈ ജോലികൾക്ക് വ്യക്തമായ വിജയ മാനദണ്ഡങ്ങളുണ്ട്, അവ ഒരു വെരിഫിക്കറിന് സ്വയമേവ പരിശോധിക്കാൻ കഴിയും. എന്നാൽ ഉയർന്ന തലത്തിലുള്ള ആർക്കിടെക്ചറൽ റീഡിസൈനുകൾക്കോ (architectural redesigns), "ശരിയാണോ" എന്നത് മനുഷ്യന്റെ വിധിനിർണ്ണയത്തെ ആശ്രയിച്ചിരിക്കുന്ന അവ്യക്തമായ ഫീച്ചർ ജോലികൾക്കോ ഈ സിസ്റ്റം ഇനിയും ബുദ്ധിമുട്ടുന്നുണ്ട്.
ചുരുക്കത്തിൽ
LLM ഉപയോഗിച്ച് പ്രവർത്തിക്കുന്ന കോഡർമാരെ ഫസ്റ്റ് ക്ലാസ് Kubernetes റിസോഴ്സുകളായി പരിഗണിക്കുന്നതിലൂടെയും, കൃത്യമായ വെരിഫിക്കേഷൻ ഘട്ടം നടപ്പിലാക്കുന്നതിലൂടെയും, ചിലവ് സുതാര്യമാക്കാനും സുരക്ഷ നിയന്ത്രിക്കാനും സാധിക്കുന്ന പ്രായോഗികമായ ഒരു AI കോഡ് ജനറേഷൻ രീതി Foreman വാഗ്ദാനം ചെയ്യുന്നു. ഇത് എല്ലാ ഡെവലപ്മെന്റ് ജോലികൾക്കും ഒരു മാന്ത്രിക പരിഹാരമല്ല, എന്നാൽ ആവർത്തിക്കാവുന്നതും പരിശോധിക്കാവുന്നതുമായ ജോലികൾക്കായി നിലവിലുള്ള ക്ലൗഡ്-നേറ്റീവ് പ്രവർത്തനങ്ങളുമായി സ്വാഭാവികമായി ഇണങ്ങിച്ചേരുന്ന ഒരു വർക്ക്ഫ്ലോ ഇത് നൽകുന്നു.
