Bir Mac Mini Üzerinde Yerel Bir Kodlama Ajanı Çalıştırmak

Düşük riskli görevler için yerel bir kodlama ajanı kullanıyorum. Dosya düzenlemelerini, test düzeltmelerini ve derleme doğrulamasını gerçekleştiriyor. Ayrıca Playwright testleri yazıyor, kodları inceliyor ve dağıtımları (deploy) gerçekleştiriyor.

Kurulum, 24 GB RAM'e sahip bir Mac Mini M4 üzerinde çalışıyor. Kodlama işleri için bulut API'leri kullanmıyorum. Ucuz bir bulut modelini yalnızca planlama ve yönlendirme için kullanıyorum. Gerçek dosya düzenleme işlemlerini Pi adlı bir kodlama ajanı hallediyor. Pi, yerel bir LLM sunucusu olan oMLX'e bağlanıyor.

Bu kurulum, OpenAI uyumlu bir API kullanan her ajanla çalışır. Aynı oMLX sunucusuyla Claude Code veya Codex kullanabilirsiniz.

İki model kullanıyorum ve göreve göre bunları değiştiriyorum. 24 GB RAM sınırı, her ikisini aynı anda çalıştırmamı engelliyor.

  • Birincil kodlama modeli: Saniyede 20 token ile 9B sınıfı.
  • Hızlı model: Hızlı düzeltmeler için saniyede 27 token ile 4B sınıfı.

Bir değiştirme (swap) betiği, bir modeli dışarı çıkarıp diğerini içeri alıyor. Bu işlem 5 saniye sürüyor.

Ajan şu görevleri yerine getiriyor:

  • Dosya düzenleme ve refactoring
  • Test yazma ve düzeltme
  • Derleme doğrulama
  • Kod incelemeleri
  • Dokümantasyon güncellemeleri
  • Dağıtımları (deploy) çalıştırma

Tek bir satırdan daha karmaşık olan her şey için RPC modunu kullanıyorum. Orkestrasyon katmanı bir istem (prompt) yazıyor ve Pi bunu yürütüyor.

Performansı artırmak için şu araçları kullanıyorum:

  • pix-optimizer: Tokenları sıkıştırır ve boilerplate kodları kaldırır.
  • context-mode: Çalışma alanı görevlerini yönlendirir ve araç çağrılarını yönetir.
  • pi-subagents: Görevleri paralel olarak çalıştırır.
  • pi-workflow-engine: Çok adımlı görev dizilerini yönetir.
  • pi-mcp-adapter: MCP aracılığıyla harici araçlara bağlanır.

Bu kurulum için önemli kurallar:

  • Bellek hatalarından kaçınmak için her seferinde yalnızca bir model yükleyin.
  • Hızı korumak için düşünme (thinking) modunu devre dışı bırakın.
  • İstemlerde (prompt) tüm sohbet geçmişini göndermeyin, aksi takdirde model çökecektir.
  • Güvenlik kontrollerini atlamak için karmaşık görevlerde RPC modunu kullanın.
  • Model değişiminden sonra ilk istek zaman aşımına uğrarsa tekrar deneyin.

Kurulum betiği: curl -fsSL https://workswithagents.dev/static/setup-local-llm-pi.sh | sh

Kaynak: https://dev.to/vystartasv/running-a-local-coding-agent-on-a-mac-mini-the-actual-setup-47bo

İsteğe bağlı öğrenme topluluğu: https://t.me/GyaanSetuAi