ജൂലൈ 15-ന് Microsoft പൈത്തണിനായി (Python) ഒരു സ്റ്റേബിൾ Agent Skills ഫ്രെയിംവർക്ക് പുറത്തിറക്കി. ഒരു LLM-ഡ്രൈവൻ ഏജന്റിന് (agent) ആവശ്യമുള്ളപ്പോൾ മാത്രം ആവശ്യമായ കഴിവുകൾ (capabilities) ഉൾപ്പെടുത്താൻ ഇത് ഡെവലപ്പർമാരെ അനുവദിക്കുന്നു. എപ്പോഴും വലുതായിക്കൊണ്ടിരിക്കുന്ന ഒരു സിസ്റ്റം പ്രോംപ്റ്റിന് (system prompt) പകരം ആവശ്യാനുസരണം സ്കില്ലുകൾ ലോഡ് ചെയ്യുന്ന രീതി സ്വീകരിക്കുന്നതിലൂടെ, പ്രോംപ്റ്റ് വലുപ്പം കുറയ്ക്കാനും ടോക്കൺ ചിലവ് ലാഭിക്കാനും ഏജന്റിന്റെ റീസണിംഗ് (reasoning) കൂടുതൽ വ്യക്തമാക്കാനും സാധിക്കുന്നു.
പ്രോംപ്റ്റുകൾ എന്തിനാണ് വലുതാകുന്നത്, അത് എന്തുകൊണ്ട് പ്രധാനമാണ്
ഓരോ തവണയും മോഡൽ കാണേണ്ട പോളിസികൾ (policies), റൺബുക്കുകൾ (runbooks), റഫറൻസ് മെറ്റീരിയലുകൾ എന്നിവ ഉൾക്കൊള്ളുന്ന ഒരു "സിസ്റ്റം പ്രോംപ്റ്റിലാണ്" (system prompt) LLM ഏജന്റുകൾ ആശ്രയിക്കുന്നത്. ഏതാനും പോളിസി ഡോക്യുമെന്റുകൾ കൂടി ചേർത്താൽ പ്രോംപ്റ്റ് ആയിരക്കണക്കിന് ടോക്കണുകളായി വളരും. വലിയ പ്രോംപ്റ്റുകൾ ഇൻഫറൻസ് ചിലവ് (inference costs) വർദ്ധിപ്പിക്കുന്നു—മോഡൽ പ്രോസസ്സ് ചെയ്യുന്ന ഓരോ ടോക്കണിനും പണം നൽകേണ്ടി വരും—കൂടാതെ അവ നിർദ്ദേശങ്ങളുടെ വ്യക്തത കുറയ്ക്കുകയും ഏജന്റിന്റെ ഔട്ട്പുട്ട് അവ്യക്തമാക്കുകയും ചെയ്യുന്നു. ഇൻസിഡന്റ് ട്രയാജിലോ (incident triage) കംപ്ലയൻസ് ചെക്കിംഗിലോ (compliance checking), അവ്യക്തമായ ഒരു പ്രോംപ്റ്റ് ഒരു സഹായകരമായ അസിസ്റ്റന്റിനെ തെറ്റായ വിവരങ്ങൾ നൽകുന്ന ഒന്നാക്കി മാറ്റിയേക്കാം.
Agent Skills പാറ്റേൺ: പ്രോഗ്രസീവ് ഡിസ്ക്ലോഷർ (progressive disclosure)
പുതിയ ഫ്രെയിംവർക്ക് വലിയൊരു പ്രോംപ്റ്റിന് പകരം നാല് ഘട്ടങ്ങളുള്ള ഒരു വർക്ക്ഫ്ലോ (workflow) ഉപയോഗിക്കുന്നു:
- സ്കില്ലിനെ പരസ്യം ചെയ്യുക (Advertise the skill) – റൂട്ടിംഗ് ലെയറിന് (routing layer) സ്കില്ലിന്റെ പേര് അറിയിക്കുന്ന ലഘുവായ ഒരു മെറ്റാഡാറ്റ എൻട്രി.
- നിർദ്ദേശങ്ങൾ ലോഡ് ചെയ്യുക (Load instructions) – സ്കിൽ ആവശ്യപ്പെട്ട കാര്യവുമായി യോജിക്കുന്നുണ്ടോ എന്ന് തീരുമാനിക്കാൻ ഏജന്റ് വായിക്കുന്ന സംക്ഷിപ്ത വിവരണം.
- റിസോഴ്സുകൾ വായിക്കുക (Read resources) – ഏജന്റ് സ്കിൽ തിരഞ്ഞെടുത്തതിന് ശേഷം മാത്രം എടുക്കുന്ന ഓപ്ഷണൽ പോളിസി അല്ലെങ്കിൽ റഫറൻസ് ഫയലുകൾ.
- സ്ക്രിപ്റ്റുകൾ പ്രവർത്തിപ്പിക്കുക (Run scripts) – വ്യക്തമായ അനുമതിക്ക് ശേഷം മാത്രം പ്രവർത്തിക്കുന്ന കോഡ് എക്സിക്യൂഷൻ.
ചെറിയ SKILL.md ഫയൽ മാത്രമാണ് കോർ പ്രോംപ്റ്റിൽ ഉള്ളത്. വലിയ ഡോക്യുമെന്റുകളും സ്ക്രിപ്റ്റുകളും ഒരു ഫയൽ അധിഷ്ഠിത സ്കിൽ പാക്കേജിലാണ് (skill package) ഇരിക്കുന്നത്, ഇത് റൺടൈം ആവശ്യാനുസരണം എടുക്കുന്നു. ഡയറക്ടറി ലേഔട്ട് ലളിതമായി നിലനിർത്താം:
SKILL.md– മനുഷ്യർക്ക് വായിക്കാവുന്ന ലഘുവായ വിവരണം.references/– പോളിസി അല്ലെങ്കിൽ ഗൈഡൻസ് ഫയലുകൾ.scripts/– എക്സിക്യൂട്ടബിൾ കോഡ്.
സ്കിൽ അനുയോജ്യമാണെന്ന് തീരുമാനിക്കുന്നത് വരെ ഏജന്റ് references/ അല്ലെങ്കിൽ scripts/-ലെ പൂർണ്ണമായ ഉള്ളടക്കം കാണുന്നില്ല എന്നതിനാൽ, എത്ര സ്കില്ലുകൾ രജിസ്റ്റർ ചെയ്താലും പ്രധാന പ്രോംപ്റ്റ് ലളിതമായി നിലനിൽക്കുന്നു.
ഫ്രെയിംവർക്കിൽ ഉൾപ്പെടുത്തിയിട്ടുള്ള സുരക്ഷാ സംവിധാനങ്ങൾ (Safety guards)
ഒരു സ്കിൽ ലോഡ് ചെയ്യുന്നത് അപകടകരമായേക്കാം എന്ന് ഈ ഫ്രെയിംവർക്ക് കരുതുന്നു, അതിനാൽ ഡെവലപ്പർമാർ പാലിക്കേണ്ട ചില നിയമങ്ങൾ ഇത് ഏർപ്പെടുത്തുന്നു:
- സ്കിൽ പേര് പരസ്യം ചെയ്യുക (Skill name advertisement) – ഓട്ടോമാറ്റിക് ആണ്, റൂട്ടിംഗിന് വേണ്ടി മാത്രം ഉപയോഗിക്കുന്നു.
- നിർദ്ദേശങ്ങൾ ലോഡ് ചെയ്യുക (Instruction loading) – ക്യൂറേറ്റഡ് ലിസ്റ്റുകൾക്ക് (curated lists) ഇത് ഓട്ടോമാറ്റിക് ആണ്; പരിശോധിക്കപ്പെടാത്ത നിർദ്ദേശങ്ങൾ അറിഞ്ഞോ അറിയാതെയോ പെരുമാറ്റത്തിൽ മാറ്റം വരുത്തിയേക്കാം.
- പോളിസി വായിക്കുക (Policy reading) – ഡാറ്റ സെൻസിറ്റീവ് അല്ലാത്തപ്പോൾ ഇത് ഓട്ടോമാറ്റിക് ആണ്; സെൻസിറ്റീവ് ആയ വിവരങ്ങൾ അധിക ആക്സസ് കൺട്രോളുകൾക്ക് (access controls) ഉള്ളിൽ സൂക്ഷിക്കുക.
- സ്ക്രിപ്റ്റ് എക്സിക്യൂഷൻ (Script execution) – എപ്പോഴും വ്യക്തമായ അനുമതി ആവശ്യമാണ്. ഒരു സ്ക്രിപ്റ്റ് ഏജന്റിനെ "നിർദ്ദേശ" (suggestion) എന്ന അവസ്ഥയിൽ നിന്ന് "പ്രവൃത്തി" (action) എന്ന അവസ്ഥയിലേക്ക് മാറ്റുന്നു, അതിനാൽ ഒരു മനുഷ്യന്റെയോ പോളിസിയുടെയോ പരിശോധന ആവശ്യമാണ്.
- എക്സ്റ്റേണൽ സിസ്റ്റം കോളുകൾ (External system calls) – പരിമിതമായ അനുമതികളുള്ള പ്രത്യേക ടൂളുകൾ വഴി മാത്രമേ ഇവ നടപ്പിലാക്കാവൂ; ഒരു സ്കിൽ എന്നത് ഒരു ഓതറൈസേഷൻ മെക്കാനിസം (authorization mechanism) അല്ല.
ഡാറ്റാബേസ് അപ്ഡേറ്റുകൾ അല്ലെങ്കിൽ കോഡ് ഡിപ്ലോയ്മെന്റുകൾ പോലുള്ള റൈറ്റ്-ഓറിയന്റഡ് (write-oriented) പ്രവർത്തനങ്ങൾ പരീക്ഷിക്കുന്നതിന് മുമ്പ്, ഇൻസിഡന്റ് ട്രയാജ്, പോളിസി ലുക്കപ്പ്, സ്റ്റാറ്റസ് ക്വറികൾ തുടങ്ങിയ റീഡ്-ഓൺലി (read-only) വർക്ക്ഫ്ലോകളിൽ നിന്ന് തുടങ്ങാൻ ഈ നിയമങ്ങൾ ഡെവലപ്പർമാരെ പ്രേരിപ്പിക്കുന്നു.
ഓപ്പറേഷണൽ ഹൈജീൻ (Operational hygiene): ലോഗിംഗും വേർഷനിംഗും
ഒരു സ്കിൽ പ്രവർത്തിക്കുമ്പോൾ, താഴെ പറയുന്നവ ലോഗ് ചെയ്യാൻ ഫ്രെയിംവർക്ക് പ്രോത്സാഹിപ്പിക്കുന്നു (പലപ്പോഴും ഇത് നിർബന്ധമായും ചെയ്യേണ്ടതുണ്ട്):
- യഥാർത്ഥ റിക്വസ്റ്റും തിരഞ്ഞെടുത്ത സ്കിൽ ഐഡിയും (skill ID).
- ഉപയോഗിച്ച സ്കിൽ പാക്കേജിന്റെ വേർഷൻ.
- ഏജന്റ് വിവരണമോ (description) മാത്രമാണോ അതോ ഒരു റിസോഴ്സ് ഫയലും കൂടി എടുക്കുകയാണോ ചെയ്തത് എന്നത്.
- സ്ക്രിപ്റ്റ് എക്സിക്യൂഷനുള്ള അനുമതി തീരുമാനം.
- നൽകിയ എല്ലാ ടൂൾ ആർഗ്യുമെന്റുകളും (tool arguments) ലഭിച്ച ഫലങ്ങളും.
ഏജന്റ് തെറ്റായ സ്കിൽ ആണ് തിരഞ്ഞെടുക്കുന്നതെങ്കിൽ, ആ തെറ്റ് ഒരു ടെസ്റ്റ് കേസ് ആയി മാറ്റുക. ഇത് സ്കിൽ പ്രൊഡക്ഷനിൽ എത്തുന്നതിന് മുമ്പ് ഒരു റഗ്രഷൻ ചെക്ക് (regression check) നൽകുന്നു.
ഓരോ സ്കില്ലും പ്രോംപ്റ്റുകളുടെ ഒരു ഫോൾഡർ ആയി കാണാതെ, വ്യക്തമായ അതിർവരമ്പുകളുള്ള ഒരു വേർഷൻ ചെയ്ത ഡിപെൻഡൻസി (versioned dependency) ആയി പരിഗണിക്കുക. വേർഷനിംഗ് ഉപയോഗിക്കുന്നതിലൂടെ ഏജന്റിന്റെ മറ്റ് അറിവുകളെ ബാധിക്കാതെ തന്നെ ഒരു തകരാറുള്ള സ്ക്രിപ്റ്റ് റോളബാക്ക് (roll back) ചെയ്യാൻ നിങ്ങൾക്ക് സാധിക്കും.
തുടങ്ങാൻ: ഒരു പ്രായോഗിക ചെക്ക്ലിസ്റ്റ് (checklist)
- ഒരു റീഡ്-ഓൺലി വർക്ക്ഫ്ലോ തിരഞ്ഞെടുക്കുക – ഉദാഹരണത്തിന്, "ഏറ്റവും പുതിയ സെക്യൂരിറ്റി ഇൻസിഡന്റ് ഗൈഡ്ലൈനുകൾ പരിശോധിക്കുക".
- നിർദ്ദേശങ്ങളും സ്ക്രിപ്റ്റുകളും പ്രത്യേകം പാക്കേജ് ചെയ്യുക –
SKILL.mdചെറുതായി സൂക്ഷിക്കുക; വലിയ പോളിസി ഫയലുകൾreferences/-ൽ സൂക്ഷിക്കുക. - ഒരു കാറ്റലോഗ് തയ്യാറാക്കുക – അംഗീകരിച്ച സ്കില്ലുകളുടെ ഒരു പട്ടിക സൂക്ഷിക്കുകയും ഏതൊരു സ്ക്രിപ്റ്റിനും നിർബന്ധമായും അനുമതി വാങ്ങുന്നുണ്ടെന്ന് ഉറപ്പാക്കുകയും ചെയ്യുക.
- സാൻഡ്ബോക്സ് പരിധികൾ (sandbox limits) നിശ്ചയിക്കുക – സ്ക്രിപ്റ്റ് എക്സിക്യൂഷനായി CPU, മെമ്മറി, നെറ്റ്വർക്ക് പരിധികൾ നിശ്ചയിക്കുക; ഓരോ റണ്ണും ലോഗ് ചെയ്യുക.
- പഴയ മെഗാ-പ്രോംപ്റ്റുമായി താരതമ്യം ചെയ്യുക – ചിലവ് കുറഞ്ഞുവെന്ന് ഉറപ്പാക്കാൻ ടോക്കൺ ഉപയോഗം, ലേറ്റൻസി (latency), വിജയ നിരക്ക് എന്നിവ താരതമ്യം ചെയ്യുക.
അടുത്തതായി ശ്രദ്ധ
Agent Skills, LLM അധിഷ്ഠിത അസിസ്റ്റന്റുകൾക്ക് വളർന്നുവരുന്ന പോളിസികളുടെയും സ്ക്രിപ്റ്റുകളുടെയും ലൈബ്രറി ഉപയോഗിക്കാൻ സാധിക്കുമ്പോഴും അവയുടെ ഭാരം കുറഞ്ഞ അവസ്ഥ നിലനിർത്താൻ സഹായിക്കുന്നു. വിവരണങ്ങൾ മാത്രം മുൻകൂട്ടി ലോഡ് ചെയ്യുകയും ആവശ്യമുള്ളപ്പോൾ മാത്രം വലിയ റിസോഴ്സുകൾ ലഭ്യമാക്കുകയും ചെയ്യുന്നതിലൂടെ, പ്രോംപ്റ്റുകൾ ചെറുതായി നിലനിൽക്കുന്നു, ഇൻഫറൻസ് ചിലവ് കുറയുന്നു, ഏജന്റിന്റെ റീസണിംഗ് കൂടുതൽ കേന്ദ്രീകൃതമായി നിലനിൽക്കുന്നു.
