Mac Mini ನಲ್ಲಿ ಲೋಕಲ್ ಕೋಡಿಂಗ್ ಏಜೆಂಟ್ ಅನ್ನು ರನ್ ಮಾಡುವುದು
ನಾನು ಕಡಿಮೆ ಪ್ರಾಮುಖ್ಯತೆಯ (low-stakes) ಕೆಲಸಗಳಿಗಾಗಿ ಲೋಕಲ್ ಕೋಡಿಂಗ್ ಏಜೆಂಟ್ ಅನ್ನು ಬಳಸುತ್ತೇನೆ. ಇದು ಫೈಲ್ ಎಡಿಟ್ಗಳು, ಟೆಸ್ಟ್ ಫಿಕ್ಸ್ಗಳು ಮತ್ತು ಬಿಲ್ಡ್ ವೆರಿಫಿಕೇಶನ್ ಅನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ. ಇದು Playwright ಟೆಸ್ಟ್ಗಳನ್ನು ಬರೆಯುತ್ತದೆ, ಕೋಡ್ ಅನ್ನು ರಿವ್ಯೂ ಮಾಡುತ್ತದೆ ಮತ್ತು ಡಿಪ್ಲಾಯ್ಗಳನ್ನು ರನ್ ಮಾಡುತ್ತದೆ.
ಈ ಸೆಟಪ್ 24 GB RAM ಹೊಂದಿರುವ Mac Mini M4 ನಲ್ಲಿ ಚಲಿಸುತ್ತದೆ. ಕೋಡಿಂಗ್ ಕೆಲಸಕ್ಕಾಗಿ ನಾನು ಕ್ಲೌಡ್ APIಗಳನ್ನು ಬಳಸುವುದಿಲ್ಲ. ಪ್ಲಾನಿಂಗ್ ಮತ್ತು ರೂಟಿಂಗ್ಗಾಗಿ ಮಾತ್ರ ನಾನು ಅಗ್ಗದ ಕ್ಲೌಡ್ ಮಾಡೆಲ್ ಅನ್ನು ಬಳಸುತ್ತೇನೆ. Pi ಎಂಬ ಕೋಡಿಂಗ್ ಏಜೆಂಟ್ ನಿಜವಾದ ಫೈಲ್ ಎಡಿಟಿಂಗ್ ಅನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ. ಇದು ಲೋಕಲ್ LLM ಸರ್ವರ್ ಆಗಿರುವ oMLX ಗೆ ಕನೆಕ್ಟ್ ಆಗುತ್ತದೆ.
ಈ ಸೆಟಪ್ OpenAI-compatible API ಬಳಸುವ ಯಾವುದೇ ಏಜೆಂಟ್ನೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ. ನೀವು ಇದೇ oMLX ಸರ್ವರ್ನೊಂದಿಗೆ Claude Code ಅಥವಾ Codex ಅನ್ನು ಬಳಸಬಹುದು.
ನಾನು ಎರಡು ಮಾಡೆಲ್ಗಳನ್ನು ಬಳಸುತ್ತೇನೆ ಮತ್ತು ಕೆಲಸದ ಆಧಾರದ ಮೇಲೆ ಅವುಗಳನ್ನು ಬದಲಾಯಿಸುತ್ತೇನೆ (swap). 24 GB RAM ಮಿತಿಯು ಎರಡನ್ನೂ ಏಕಕಾಲದಲ್ಲಿ ರನ್ ಮಾಡಲು ನನಗೆ ಅನುಮತಿಸುವುದಿಲ್ಲ.
- ಪ್ರೈಮರಿ ಕೋಡಿಂಗ್ ಮಾಡೆಲ್: 20 tokens per second ವೇಗದಲ್ಲಿ 9B ಕ್ಲಾಸ್ ಮಾಡೆಲ್.
- ಫಾಸ್ಟ್ ಮಾಡೆಲ್: ಕ್ವಿಕ್ ಫಿಕ್ಸ್ಗಳಿಗಾಗಿ 27 tokens per second ವೇಗದಲ್ಲಿ 4B ಕ್ಲಾಸ್ ಮಾಡೆಲ್.
ಒಂದು ಸ್ವಾಪ್ ಸ್ಕ್ರಿಪ್ಟ್ ಒಂದು ಮಾಡೆಲ್ ಅನ್ನು ಹೊರಗೆ ತೆಗೆದು ಮತ್ತೊಂದನ್ನು ಒಳಗೆ ತರುತ್ತದೆ. ಈ ಪ್ರಕ್ರಿಯೆಗೆ 5 ಸೆಕೆಂಡುಗಳು ಬೇಕಾಗುತ್ತದೆ.
ಏಜೆಂಟ್ ಈ ಕೆಲಸಗಳನ್ನು ಮಾಡುತ್ತದೆ:
- ಫೈಲ್ ಎಡಿಟ್ಗಳು ಮತ್ತು ರಿಫ್ಯಾಕ್ಟರಿಂಗ್ (refactoring)
- ಟೆಸ್ಟ್ಗಳನ್ನು ಬರೆಯುವುದು ಮತ್ತು ಸರಿಪಡಿಸುವುದು
- ಬಿಲ್ಡ್ ವೆರಿಫಿಕೇಶನ್
- ಕೋಡ್ ರಿವ್ಯೂಗಳು
- ಡಾಕ್ಯುಮೆಂಟೇಶನ್ ಅಪ್ಡೇಟ್ಗಳು
- ಡಿಪ್ಲಾಯ್ಗಳನ್ನು ರನ್ ಮಾಡುವುದು
ಒಂದೇ ಸಾಲಿನ ಕೋಡ್ಗಿಂತ ಹೆಚ್ಚು ಸಂಕೀರ್ಣವಾದ ಯಾವುದೇ ಕೆಲಸಕ್ಕಾಗಿ ನಾನು RPC mode ಬಳಸುತ್ತೇನೆ. ಆರ್ಕೆಸ್ಟ್ರೇಶನ್ ಲೇಯರ್ (orchestration layer) ಒಂದು ಪ್ರಾಂಪ್ಟ್ ಬರೆಯುತ್ತದೆ ಮತ್ತು Pi ಅದನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ.
ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಸುಧಾರಿಸಲು ನಾನು ಈ ಪರಿಕರಗಳನ್ನು ಬಳಸುತ್ತೇನೆ:
- pix-optimizer: ಟೋಕನ್ಗಳನ್ನು ಕಂಪ್ರೆಸ್ ಮಾಡುತ್ತದೆ ಮತ್ತು ಬಾಯ್ಲರ್ ಪ್ಲೇಟ್ (boilerplate) ಅನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ.
- context-mode: ವರ್ಕ್ಸ್ಪೇಸ್ ಕಾರ್ಯಗಳನ್ನು ರೂಟ್ ಮಾಡುತ್ತದೆ ಮತ್ತು ಟೂಲ್ ಕಾಲ್ಗಳನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ.
- pi-subagents: ಕಾರ್ಯಗಳನ್ನು ಸಮಾಂತರವಾಗಿ (parallel) ರನ್ ಮಾಡುತ್ತದೆ.
- pi-workflow-engine: ಮಲ್ಟಿ-ಸ್ಟೆಪ್ ಕಾರ್ಯಗಳ ಸರಣಿಯನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ.
- pi-mcp-adapter: MCP ಮೂಲಕ ಬಾಹ್ಯ ಪರಿಕರಗಳಿಗೆ ಕನೆಕ್ಟ್ ಮಾಡುತ್ತದೆ.
ಈ ಸೆಟಪ್ಗಾಗಿ ಪ್ರಮುಖ ನಿಯಮಗಳು:
- ಮೆಮೊರಿ ದೋಷಗಳನ್ನು ತಪ್ಪಿಸಲು ಏಕಕಾಲದಲ್ಲಿ ಒಂದು ಮಾಡೆಲ್ ಅನ್ನು ಮಾತ್ರ ಲೋಡ್ ಮಾಡಿ.
- ವೇಗವನ್ನು ಕಾಯ್ದುಕೊಳ್ಳಲು ಥಿಂಕಿಂಗ್ ಮೋಡ್ (thinking mode) ಅನ್ನು ರದ್ದುಗೊಳಿಸಿ.
- ಪ್ರಾಂಪ್ಟ್ಗಳಲ್ಲಿ ಪೂರ್ಣ ಚಾಟ್ ಇತಿಹಾಸವನ್ನು ಕಳುಹಿಸಬೇಡಿ, ಇಲ್ಲದಿದ್ದರೆ ಮಾಡೆಲ್ ಕ್ರ್ಯಾಶ್ ಆಗಬಹುದು.
- ಸೇಫ್ಟಿ ಕಂಟ್ರೋಲ್ಗಳನ್ನು ತಪ್ಪಿಸಲು ಅತಿ ಸರಳವಲ್ಲದ (non-trivial) ಕಾರ್ಯಗಳಿಗಾಗಿ RPC mode ಬಳಸಿ.
- ಮಾಡೆಲ್ ಸ್ವಾಪ್ ಮಾಡಿದ ನಂತರ ಮೊದಲ ವಿನಂತಿಯು ಟೈಮ್ ಔಟ್ ಆದರೆ ಅದನ್ನು ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ.
ಸೆಟಪ್ ಸ್ಕ್ರಿಪ್ಟ್:
curl -fsSL https://workswithagents.dev/static/setup-local-llm-pi.sh | sh
ಮೂಲ (Source): https://dev.to/vystartasv/running-a-local-coding-agent-on-a-mac-mini-the-actual-setup-47bo
ಐಚ್ಛಿಕ ಕಲಿಕಾ ಸಮುದಾಯ (Optional learning community): https://t.me/GyaanSetuAi