ഒരു Mac Mini-യിൽ ഒരു ലോക്കൽ കോഡിംഗ് ഏജന്റ് പ്രവർത്തിപ്പിക്കുന്നു

കുറഞ്ഞ പ്രാധാന്യമുള്ള ജോലികൾക്കായി (low-stakes tasks) ഞാൻ ഒരു ലോക്കൽ കോഡിംഗ് ഏജന്റ് ഉപയോഗിക്കുന്നു. ഫയൽ എഡിറ്റിംഗ്, ടെസ്റ്റ് ഫിക്സുകൾ, ബിൽഡ് വെരിഫിക്കേഷൻ എന്നിവ ഇത് കൈകാര്യം ചെയ്യുന്നു. കൂടാതെ ഇത് Playwright ടെസ്റ്റുകൾ എഴുതുകയും, കോഡ് റിവ്യൂ ചെയ്യുകയും, ഡിപ്ലോയ്‌മെന്റുകൾ നടത്തുകയും ചെയ്യുന്നു.

24 GB റാം ഉള്ള ഒരു Mac Mini M4-ലാണ് ഈ സെറ്റപ്പ് പ്രവർത്തിക്കുന്നത്. കോഡിംഗ് ജോലികൾക്കായി ഞാൻ ക്ലൗഡ് API-കൾ ഉപയോഗിക്കാറില്ല. പ്ലാനിംഗിനും റൂട്ടിംഗിനും വേണ്ടി മാത്രം ഞാൻ ഒരു കുറഞ്ഞ ചിലവുള്ള ക്ലൗഡ് മോഡൽ ഉപയോഗിക്കുന്നു. Pi എന്ന പേരുള്ള ഒരു കോഡിംഗ് ഏജന്റാണ് യഥാർത്ഥ ഫയൽ എഡിറ്റിംഗ് നടത്തുന്നത്. ഇത് ഒരു ലോക്കൽ LLM സെർവറായ oMLX-മായി ബന്ധിപ്പിച്ചിരിക്കുന്നു.

OpenAI-യുമായി പൊരുത്തപ്പെടുന്ന (compatible) ഏത് API ഉപയോഗിക്കുന്ന ഏജന്റുമായും ഈ സെറ്റപ്പ് പ്രവർത്തിക്കും. ഇതേ oMLX സെർവർ ഉപയോഗിച്ച് നിങ്ങൾക്ക് Claude Code അല്ലെങ്കിൽ Codex ഉപയോഗിക്കാം.

ഞാൻ രണ്ട് മോഡലുകൾ ഉപയോഗിക്കുകയും ജോലികൾക്ക് അനുസരിച്ച് അവ മാറ്റിക്കൊണ്ടിരിക്കുകയും (swap) ചെയ്യുന്നു. 24 GB റാം പരിധി ഉള്ളതിനാൽ ഒരേസമയം രണ്ട് മോഡലുകളും പ്രവർത്തിപ്പിക്കാൻ എനിക്ക് കഴിയില്ല.

  • പ്രൈമറി കോഡിംഗ് മോഡൽ: 9B ക്ലാസ്, സെക്കൻഡിൽ 20 ടോക്കണുകൾ വേഗതയിൽ.
  • ഫാസ്റ്റ് മോഡൽ: വേഗത്തിലുള്ള ഫിക്സുകൾക്കായി 4B ക്ലാസ്, സെക്കൻഡിൽ 27 ടോക്കണുകൾ വേഗതയിൽ.

ഒരു സ്വാപ്പ് സ്ക്രിപ്റ്റ് ഉപയോഗിച്ച് ഒരു മോഡലിനെ ഒഴിവാക്കി മറ്റൊന്നിനെ കൊണ്ടുവരുന്നു. ഈ പ്രക്രിയയ്ക്ക് 5 സെക്കൻഡ് മതിയാകും.

ഏജന്റ് ഈ ജോലികൾ ചെയ്യുന്നു:

  • ഫയൽ എഡിറ്റിംഗും റീഫാക്‌റ്ററിംഗും (refactoring)
  • ടെസ്റ്റുകൾ എഴുതുന്നതും ശരിയാക്കുന്നതും
  • ബിൽഡ് വെരിഫിക്കേഷൻ
  • കോഡ് റിവ്യൂകൾ
  • ഡോക്യുമെന്റേഷൻ അപ്‌ഡേറ്റുകൾ
  • ഡിപ്ലോയ്‌മെന്റുകൾ നടത്തുന്നു

ഒരു വരി കോഡിനേക്കാൾ സങ്കീർണ്ണമായ കാര്യങ്ങൾക്കായി ഞാൻ RPC മോഡ് ഉപയോഗിക്കുന്നു. ഓർക്കസ്ട്രേഷൻ ലെയർ (orchestration layer) ഒരു പ്രോംപ്റ്റ് എഴുതുകയും Pi അത് നടപ്പിലാക്കുകയും ചെയ്യുന്നു.

പ്രവർത്തനക്ഷമത വർദ്ധിപ്പിക്കുന്നതിനായി ഞാൻ ഈ ടൂളുകൾ ഉപയോഗിക്കുന്നു:

  • pix-optimizer: ടോക്കണുകൾ കംപ്രസ് ചെയ്യുകയും ബോയ്‌ലർപ്ലേറ്റ് (boilerplate) ഒഴിവാക്കുകയും ചെയ്യുന്നു.
  • context-mode: വർക്ക്‌സ്‌പേസ് ടാസ്‌ക്കുകൾ റൂട്ട് ചെയ്യുകയും ടൂൾ കോളുകൾ നിയന്ത്രിക്കുകയും ചെയ്യുന്നു.
  • pi-subagents: ജോലികൾ സമാന്തരമായി (parallel) നടത്തുന്നു.
  • pi-workflow-engine: മൾട്ടി-സ്റ്റെപ്പ് ടാസ്‌ക് സീക്വൻസുകൾ കൈകാര്യം ചെയ്യുന്നു.
  • pi-mcp-adapter: MCP വഴി ബാഹ്യ ടൂളുകളുമായി ബന്ധിപ്പിക്കുന്നു.

ഈ സെറ്റപ്പിനായുള്ള പ്രധാന നിയമങ്ങൾ:

  • മെമ്മറി എററുകൾ ഒഴിവാക്കാൻ ഒരേസമയം ഒരു മോഡൽ മാത്രം ലോഡ് ചെയ്യുക.
  • വേഗത നിലനിർത്താൻ തിങ്കിംഗ് മോഡ് (thinking mode) ഡിസേബിൾ ചെയ്യുക.
  • പ്രോംപ്റ്റുകളിൽ മുഴുവൻ ചാറ്റ് ഹിസ്റ്ററിയും അയക്കരുത്, അല്ലെങ്കിൽ മോഡൽ ക്രാഷ് ആയേക്കാം.
  • സുരക്ഷാ നിയന്ത്രണങ്ങൾ ഒഴിവാക്കാൻ സങ്കീർണ്ണമായ ജോലികൾക്കായി RPC മോഡ് ഉപയോഗിക്കുക.
  • മോഡൽ സ്വാപ്പിന് ശേഷം ആദ്യത്തെ റിക്വസ്റ്റ് ടൈം ഔട്ട് ആയാൽ അത് വീണ്ടും ശ്രമിക്കുക.

സെറ്റപ്പ് സ്ക്രിപ്റ്റ്: curl -fsSL https://workswithagents.dev/static/setup-local-llm-pi.sh | sh

ഉറവിടം: https://dev.to/vystartasv/running-a-local-coding-agent-on-a-mac-mini-the-actual-setup-47bo

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