ഒരു സ്വയംഭരണ ഏജന്റ് ടീമിനെ നിർമ്മിക്കുന്നു
എന്റെ എഞ്ചിനീയറിംഗ് വർക്ക്ഫ്ലോ (engineering workflow) അനുകരിക്കാനായി ഞാൻ ഒരു ചെറിയ ഏജന്റ് ടീമിനെ നിർമ്മിച്ചു. ഒരു ടാസ്ക് വായിക്കുന്നത് മുതൽ റിവ്യൂ ചെയ്യാവുന്ന ഒരു ബ്രാഞ്ച് പുഷ് ചെയ്യുന്നത് വരെയുള്ള കാര്യങ്ങൾ ഇത് കൈകാര്യം ചെയ്യുന്നു.
ഈ വർക്ക്ഫ്ലോ താഴെ പറയുന്ന ഘട്ടങ്ങളിലൂടെയാണ് കടന്നുപോകുന്നത്:
- Clarifier: ടാസ്ക് ആവശ്യത്തിന് വ്യക്തമാണോ എന്ന് പരിശോധിക്കുന്നു.
- Planner: കോഡ്ബേസ് പരിശോധിക്കുകയും ഒരു ഇംപ്ലിമെന്റേഷൻ പ്ലാൻ (implementation plan) തയ്യാറാക്കുകയും ചെയ്യുന്നു.
- Implementer: പ്ലാൻ നടപ്പിലാക്കുകയും കോഡ് ഭാഗങ്ങളായി കമിറ്റ് (commit) ചെയ്യുകയും ചെയ്യുന്നു.
- Reviewer: ബഗുകളും സ്റ്റൈൽ പ്രശ്നങ്ങളും കണ്ടെത്തുന്നു.
- Tester: സ്ഥിരത ഉറപ്പാക്കാൻ ടെസ്റ്റുകളും ലിന്ററുകളും (linters) പ്രവർത്തിപ്പിക്കുന്നു.
ഇതിന്റെ പ്രധാന രഹസ്യം ഘടനാപരമായ ആശയവിനിമയമാണ് (structured communication).
ഏജന്റുകൾ പരസ്പരം ചാറ്റ് ചെയ്യുന്നില്ല. പകരം അവർ PLAN_WRITTEN അല്ലെങ്കിൽ REVIEW_RESULT പോലുള്ള ഘടനാപരമായ ടോക്കണുകൾ (structured tokens) പുറപ്പെടുവിക്കുന്നു. അടുത്ത ഘട്ടം തീരുമാനിക്കാനായി ഓർക്കസ്ട്രേറ്റർ (orchestrator) ഈ ടോക്കണുകൾ വിശകലനം ചെയ്യുന്നു. ഇത് സിസ്റ്റത്തെ വേഗതയുള്ളതും ചിലവ് കുറഞ്ഞതും ആക്കുന്നു, കൂടാതെ ഹാളുസിനേഷനുകൾ (hallucinations) ഒഴിവാക്കാനും സഹായിക്കുന്നു.
ഓരോ ഏജന്റിനും പ്രത്യേക റോളും മോഡലും ഉണ്ട്:
• Planner (Opus): ഫയൽ പാത്തുകളും കൃത്യമായ കോഡ് മാറ്റങ്ങളും നിശ്ചയിക്കുന്നതിനായി ആഴത്തിലുള്ള യുക്തിപരമായ വിശകലനം (deep reasoning) നടത്തുന്നു.
• Implementer (Sonnet): പ്ലാൻ പിന്തുടരുകയോ റിവ്യൂ തടസ്സങ്ങൾ പരിഹരിക്കുകയോ ചെയ്യുന്നു.
• Reviewer (Sonnet): ബേസ് ബ്രാഞ്ചുമായി (base branch) കോഡ് താരതമ്യം ചെയ്യുന്നു. അനാവശ്യമായ വിവരങ്ങൾ ഒഴിവാക്കാൻ ഇത് 80% കോൺഫിഡൻസ് ത്രെഷോൾഡ് (confidence threshold) ഉപയോഗിക്കുന്നു.
• Tester (Haiku): vet, test, lint തുടങ്ങിയ Go കമാൻഡുകൾ പ്രവർത്തിപ്പിക്കുന്നു.
വിശ്വാസ്യതയ്ക്കായുള്ള പ്രധാന ഡിസൈൻ തീരുമാനങ്ങൾ:
- ഓരോ ഏജന്റിനും ഒരു ജോലി മാത്രം: ഇത് ലോജിക് ലളിതമായി നിലനിർത്തുന്നു.
- നിശ്ചിത ഔട്ട്പുട്ട് കോൺട്രാക്റ്റുകൾ (Fixed output contracts): ഉദ്ദേശ്യം മനസ്സിലാക്കാൻ അധികമായി LLM കോളുകൾ ആവശ്യമില്ലാത്ത രീതിയിൽ ഇത് സഹായിക്കുന്നു.
- റിവ്യൂ-റീട്രൈ ലൂപ്പ് (Review-retry loop): തടസ്സങ്ങൾ പരിഹരിക്കുന്നതിനായി സിസ്റ്റം പരമാവധി രണ്ട് ശ്രമങ്ങൾ അനുവദിക്കുന്നു.
- മോഡൽ ഒപ്റ്റിമൈസേഷൻ: ചിലവ് കുറയ്ക്കുന്നതിനായി പ്ലാനിംഗിനായി വിലകൂടിയ മോഡലുകളും ടെസ്റ്റിംഗിനായി കുറഞ്ഞ ചിലവുള്ള മോഡലുകളും ഞാൻ ഉപയോഗിക്കുന്നു.
നിങ്ങളുടെ ആവർത്തന ജോലികൾ (repetitive loops) നിങ്ങൾക്ക് ഓട്ടോമേറ്റ് ചെയ്യാം. അവ കൃത്യമായി എഴുതി തയ്യാറാക്കിയാൽ മാത്രം മതി.
Optional learning community: https://t.me/GyaanSetuAi