കോറിയോഗ്രാഫ് ചെയ്ത Claude ഡൈനാമിക് വർക്ക്ഫ്ലോകൾ

മിക്ക AI വർക്ക്ഫ്ലോകളും ഓർക്കസ്ട്രേഷൻ (orchestration) രീതിയാണ് ഉപയോഗിക്കുന്നത്. ഒരു കേന്ദ്ര നിയന്ത്രണ സംവിധാനം (central controller) ഓരോ ഘട്ടവും തീരുമാനിക്കുന്നു. അത് ഉപകരണം തിരഞ്ഞെടുക്കുന്നു, ടാസ്ക് പ്രവർത്തിപ്പിക്കുന്നു, ഫലങ്ങൾ സംയോജിപ്പിക്കുന്നു. ഇത് നിയന്ത്രണവും വ്യക്തമായ ഒരു പാതയും നൽകുന്നു.

എന്റെ ആർക്കിടെക്ചർ പകരം കോറിയോഗ്രാഫി (choreography) ആണ് ഉപയോഗിക്കുന്നത്.

ഒരു കോറിയോഗ്രാഫ് ചെയ്ത വർക്ക്ഫ്ലോയിൽ, ഒരു ഒറ്റ നിയന്ത്രണ സംവിധാനവും എല്ലാം ഭരിക്കാറില്ല. പകരം, ഓരോ പ്രവർത്തനവും സംഭവങ്ങളോട് (events) പ്രതികരിക്കുന്നു. ഓരോ ഘടകവും (component) മൂന്ന് കാര്യങ്ങൾ മാത്രം മനസ്സിലാക്കിയാൽ മതി:

  • അത് പരിശോധിക്കുന്ന കരാർ (contract).
  • അത് പിന്തുടരുന്ന ഇവന്റ് (event).
  • അത് അയക്കുന്ന ഇവന്റ് (event).

ഇത് ഒരു ഹൈബ്രിഡ് മോഡൽ സൃഷ്ടിക്കുന്നു. ഉയർന്ന തലത്തിലുള്ള ഉദ്ദേശ്യങ്ങൾക്കായി (high-level intent) നിങ്ങൾ ഓർക്കസ്ട്രേഷനും, എന്നാൽ നിർവ്വഹണത്തിനായി (execution) കോറിയോഗ്രാഫിയും ഉപയോഗിക്കുന്നു.

പ്രധാനപ്പെട്ട പാറ്റേണുകൾ താഴെ പറയുന്നവയാണ്:

Classify and Act പരമ്പരാഗത ഫ്ലോകൾ ഒരു ഫംഗ്ഷൻ വിളിക്കാൻ ഒരു റൂട്ടർ ഉപയോഗിക്കുന്നു. എന്നാൽ കോറിയോഗ്രാഫ് ചെയ്ത ഫ്ലോകൾ ഇവന്റുകൾ പുറപ്പെടുവിക്കുന്നു (emit). ഒരു സന്ദേശം തരംതിരിക്കപ്പെട്ട ഒരു ഉദ്ദേശ്യമായി (classified intent) മാറുന്നു. ആ ഉദ്ദേശ്യം ഒരു പ്രവർത്തനം ആരംഭിക്കുന്നു. ഓരോ ഘട്ടവും പുതിയൊരു ഇവന്റ് പുറപ്പെടുവിക്കുന്നു. ഇത് സിസ്റ്റത്തെ മോഡുലാർ (modular) ആക്കുന്നു. ഫ്ലോ തടസ്സപ്പെടാതെ തന്നെ നിങ്ങൾക്ക് ഏത് ഘട്ടവും മാറ്റാനോ നിരീക്ഷിക്കാനോ കഴിയും.

Fanout and Synthesize ഒരു ഏജന്റ് ടാസ്ക്കുകൾ വിഭജിക്കുന്നതിന് പകരം, ഇവന്റ് സബ്‌സ്‌ക്രിപ്ഷനുകൾ (event subscriptions) ഉപയോഗിക്കുക. ഒരു പേലോഡ് (payload) ഒരേസമയം ഒന്നിലധികം സ്വതന്ത്രമായ പ്രവർത്തനങ്ങളെ പ്രേരിപ്പിക്കാൻ കഴിയും. ഒരു ഏജന്റ് ടൈപ്പുകൾ പരിശോധിക്കുമ്പോൾ, മറ്റൊന്ന് സ്കീമകൾ (schemas) പരിശോധിക്കുകയും മൂന്നാമത്തേത് ബെഞ്ച്മാർക്കുകൾ (benchmarks) നടത്തുകയും ചെയ്യാം. സിന്തസിസ് (Synthesis) എന്നത് വെറും ടെക്സ്റ്റ് സംയോജിപ്പിക്കൽ മാത്രമല്ല. ഏത് പാതയാണ് വിജയിച്ചതെന്ന് കണ്ടെത്താനുള്ള ഒരു സെമാന്റിക് റിഡക്ഷൻ (semantic reduction) കൂടിയാണത്.

Adversarial Verification ആദ്യത്തെ ഉത്തരം മാത്രം വിശ്വസിക്കരുത്. ഒരു ജനറേറ്റർ ഒരു കാൻഡിഡേറ്റ് (candidate) പ്രസിദ്ധീകരിക്കുന്നു. വെരിഫയർമാർ (verifiers) ആ കാൻഡിഡേറ്റിനെ പരിശോധിക്കാനായി (attack) സബ്‌സ്‌ക്രൈബ് ചെയ്യുന്നു. അവർ കമ്പൈലർമാരായോ, സെക്യൂരിറ്റി ടെസ്റ്റർമാരായോ, അല്ലെങ്കിൽ ദുരുദ്ദേശ്യമുള്ള ഉപയോക്താക്കളായോ പ്രവർത്തിക്കുന്നു. അവർക്ക് എന്തെങ്കിലും പിശക് കണ്ടാൽ, അവർ ഒരു കൗണ്ടർ എക്സാമ്പിൾ (counterexample) പുറപ്പെടുവിക്കുന്നു. ഈ കൗണ്ടർ എക്സാമ്പിൾ ഒരു സെൽഫ്-ഹീലിംഗ് പൈപ്പ്‌ലൈൻ (self-healing pipeline) പ്രവർത്തിപ്പിക്കുന്നു.

Generate and Filter ജനറേഷൻ (Generation) ചിലവ് കുറഞ്ഞതാണ്. എന്നാൽ സ്വീകാര്യത കർശനമായിരിക്കണം. സിസ്റ്റം വേഗതയേറിയതോ, സുരക്ഷിതമായതോ, അല്ലെങ്കിൽ മിനിമൽ പതിപ്പുകളോ ആയ ഒന്നിലധികം കാൻഡിഡേറ്റുകൾ നിർമ്മിക്കുന്നു. യൂണിറ്റ് ടെസ്റ്റുകൾ, സെക്യൂരിറ്റി പോളിസികൾ തുടങ്ങിയ ഡെറ്റമിനിസ്റ്റിക് ഗേറ്റുകൾ (deterministic gates) അവയെ ഫിൽട്ടർ ചെയ്യുന്നു. വിജയികൾ മാത്രം മുന്നോട്ട് പോകുന്നു.

Tournament ഏറ്റവും മികച്ച ഉത്തരം ഏതാണെന്ന് വ്യക്തമല്ലാത്തപ്പോൾ, ഒരു ടൂർണമെന്റ് നടത്തുക. മത്സരിക്കുന്ന കാൻഡിഡേറ്റുകളെ നിർമ്മിക്കുകയും ഒരു റൂബ്രിക് (rubric) അനുസരിച്ച് അവയ്ക്ക് സ്കോർ നൽകുകയും ചെയ്യുക. CPU ചിലവ്, മെമ്മറി, വിജയ നിരക്ക് എന്നിവ അളക്കുക. ഇത് അഭിപ്രായങ്ങളെ അളവുകോലുകളാക്കി മാറ്റുന്നു.

Loop until Done മിക്ക സിസ്റ്റങ്ങളിലും ഒരു പിശക് (error) ഫ്ലോ അവസാനിപ്പിക്കുന്നു. എന്നാൽ ഈ മോഡലിൽ, ഒരു പിശക് എന്നത് മറ്റൊരു ഇവന്റ് മാത്രമാണ്. വ്യത്യസ്ത ഹീലിംഗ് ഘട്ടങ്ങൾ (healing steps) പരീക്ഷിക്കാൻ സിസ്റ്റം ആ എറർ കോൺടെക്സ്റ്റ് ഉപയോഗിക്കുന്നു. അത് ആദ്യം ടൈപ്പ് കൺവേർഷൻ (type conversion), തുടർന്ന് സെമാന്റിക് റിപ്പയർ (semantic repair), പിന്നെ ഉപയോക്താവിന്റെ സഹായം എന്നിവ പരീക്ഷിക്കുന്നു. ഇത് വെറുതെ വീണ്ടും ശ്രമിക്കുന്നതല്ല (blind retry). ലൂപ്പിന് മെമ്മറി ഉള്ളതിനാൽ ഇത് ഉദ്ദേശ്യത്തെ അടിസ്ഥാനമാക്കിയുള്ള ഹീലിംഗ് (intent-based healing) ആണ്.

കൊറിയോഗ്രാഫി സിസ്റ്റങ്ങളെ വികസിപ്പിക്കാനും പരിശോധിക്കാനും പരിഹരിക്കാനും എളുപ്പമാക്കുന്നു. നിലവിലുള്ള ഒരു event-ൽ സബ്‌സ്‌ക്രൈബ് ചെയ്യുന്നതിലൂടെ മാത്രം നിങ്ങൾക്ക് ഒരു പുതിയ verifier അല്ലെങ്കിൽ ഒരു പുതിയ filter ചേർക്കാൻ സാധിക്കും. ഗ്രാഫ് മാറ്റമില്ലാതെ നിലനിൽക്കുന്നു.

സ്രോതസ്സ്: https://dev.to/fullagenticstack/choreographed-claude-dynamic-workflows-3mgi

ഓപ്ഷണൽ ലേണിംഗ് കമ്മ്യൂണിറ്റി: https://t.me/GyaanSetuAi