ഓരോ സെഷനിലേക്കും എല്ലാ നിർദ്ദേശങ്ങളും ലോഡ് ചെയ്യുന്നത് നിർത്തുക
മിക്ക ആളുകളും മികച്ച പ്രോംപ്റ്റുകളിൽ (prompts) ആണ് ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്നത്. എന്നാൽ പ്രോംപ്റ്റ് തുടങ്ങുന്നതിന് മുമ്പ് എന്ത് സംഭവിക്കുന്നു എന്ന് അവർ അവഗണിക്കുന്നു. അവർ അസിസ്റ്റന്റ് കോൺടെക്സ്റ്റിലേക്ക് (assistant context) അമിതമായ നിർദ്ദേശങ്ങൾ ലോഡ് ചെയ്യുന്നു.
ഇത് മൂന്ന് പ്രശ്നങ്ങൾക്ക് കാരണമാകുന്നു:
- ഉയർന്ന ടോക്കൺ ചിലവ് (High token costs).
- ഉയർന്ന ലേറ്റൻസി (High latency).
- കുറഞ്ഞ സിഗ്നൽ-ടു-നോയിസ് റേഷ്യോ (Low signal-to-noise ratio).
ഓരോ ചെറിയ ചോദ്യത്തിനും നിങ്ങൾ ഒരു വലിയ ഇൻസ്ട്രക്ഷൻ ഫയൽ ലോഡ് ചെയ്യുമ്പോൾ, അത് ഒരു ലളിതമായ ചോദ്യം ചോദിക്കുന്നതിന് മുമ്പ് ഒരു ജീവനക്കാരന്റെ ഹാൻഡ്ബുക്ക് മുഴുവൻ വായിക്കുന്നത് പോലെയാണ്. ആ വിവരങ്ങളിൽ ഭൂരിഭാഗവും നിലവിലെ ദൗത്യത്തിന് ഉപയോഗശൂന്യമാണ്.
നിങ്ങൾ കൂടുതൽ നിയമങ്ങൾ ചേർക്കുന്തോറും, പ്രസക്തമായ ഭാഗങ്ങളുടെ മൂല്യം കുറയുന്നു. കൂടുതൽ കോൺടെക്സ്റ്റ് (context) എന്നാൽ കൂടുതൽ കാര്യക്ഷമത എന്നല്ല അർത്ഥമാക്കുന്നത്.
ഒരു സിംഗിൾ ഫയലിൽ നിന്ന് മോഡുലാർ സിസ്റ്റത്തിലേക്ക് (modular system) മാറിക്കൊണ്ട് ഞാൻ ഇതിന് പരിഹാരം കണ്ടെത്തി. ഞാൻ എന്റെ നിർദ്ദേശങ്ങളെ പ്രത്യേക മോഡ്യൂളുകളായി വിഭജിച്ചു:
• instructions.md: എപ്പോഴും ലോഡ് ചെയ്യപ്പെടുന്ന ഒരു ചെറിയ എൻട്രി പോയിന്റ്. • persona.md: വ്യക്തിത്വവും ശൈലിയും (Personality and tone). • structure.md: നാവിഗേഷൻ ജോലികൾക്കായുള്ള സിസ്റ്റം ഘടന. • workflows.md: സെഷനുകൾ അവസാനിപ്പിക്കുന്നതിനുള്ള പ്രത്യേക നിയമങ്ങൾ.
ഇപ്പോൾ, പ്രധാന ഫയൽ ഒരു റൂട്ടറായി (router) പ്രവർത്തിക്കുന്നു. ദൗത്യത്തിന് ആവശ്യമുള്ളപ്പോൾ മാത്രം അത് മറ്റ് മോഡ്യൂളുകളെ വിളിക്കുന്നു.
ഉദാഹരണത്തിന്:
- ഒരു പ്രോജക്റ്റ് നാവിഗേറ്റ് ചെയ്യണമെങ്കിൽ, structure.md ലോഡ് ചെയ്യുക.
- ഒരു സെഷൻ അവസാനിപ്പിക്കണമെങ്കിൽ, workflows.md ലോഡ് ചെയ്യുക.
- നിങ്ങൾക്ക് ഒരു ചെറിയ ചോദ്യമുണ്ടെങ്കിൽ, മറ്റൊന്നും ലോഡ് ചെയ്യേണ്ടതില്ല.
ഫലങ്ങൾ വ്യക്തമായിരുന്നു. എന്റെ ബേസ്ലൈൻ ടോക്കൺ ലോഡ് (baseline token load) 4,800 ടോക്കണുകളിൽ നിന്ന് 1,450 ടോക്കണുകളായി കുറഞ്ഞു. അതായത് 70% കുറവ്.
നിർദ്ദേശങ്ങൾ ചെറുതാക്കുക എന്നതല്ല ലക്ഷ്യം. ബേസ്ലൈൻ ലോഡിനെ (baseline load) ഓൺ-ഡിമാൻഡ് ലോഡിൽ (on-demand load) നിന്ന് വേർതിരിക്കുക എന്നതാണ് ലക്ഷ്യം.
ഓരോ തവണയും നിങ്ങൾ നൽകേണ്ടി വരുന്നതാണ് ബേസ്ലൈൻ ലോഡ്. ഇത് വളരെ കുറഞ്ഞ അളവിൽ തന്നെ സൂക്ഷിക്കണം. ആവശ്യമുള്ളപ്പോൾ മാത്രം ലോഡ് ചെയ്യുന്നതാണ് ഓൺ-ഡിമാൻഡ് ലോഡ്. ഇത് വലുതും വിശദവുമാകാം.
ഈ രീതിക്ക് ചില പോരായ്മകളുണ്ട് (trade-offs). നിങ്ങൾക്ക് കാര്യക്ഷമത ലഭിക്കുന്നുണ്ടെങ്കിലും നിർദ്ദേശങ്ങൾ റൂട്ട് ചെയ്യുന്ന രീതിയിൽ സങ്കീർണ്ണത വർദ്ധിക്കുന്നു. അസിസ്റ്റന്റിന് മോഡ്യൂളുകൾ വിശ്വസനീയമായി ആക്സസ് ചെയ്യാൻ കഴിയുന്നുണ്ടെന്ന് നിങ്ങൾ ഉറപ്പാക്കണം.
നിങ്ങളുടെ നിർദ്ദേശങ്ങൾ കുറവാണെങ്കിൽ, ഇത് ചെയ്യരുത്. അത് സമയനഷ്ടമാണ്. നിങ്ങളുടെ നിർദ്ദേശങ്ങൾ വളരെ വലുതും വർദ്ധിച്ചുകൊണ്ടിരിക്കുന്നതുമാണെങ്കിൽ, ഇത് ഉടൻ തന്നെ ചെയ്യുക.
അനാവശ്യമായ ഭാരം ചുമക്കാൻ അസിസ്റ്റന്റിനെ നിർബന്ധിക്കുന്നത് നിർത്തുക. അപ്രസക്തമായ നിർദ്ദേശങ്ങൾ ഒഴിവാക്കി കാര്യങ്ങൾ ലളിതമാക്കുക.
Optional learning community: https://t.me/GyaanSetuAi