𝗠𝗮𝗰 𝗠𝗶𝗻𝗶でローカルコーディングエージェントを動かす
私は、重要度の低いタスクにローカルコーディングエージェントを使用しています。ファイルの編集、テストの修正、ビルドの検証などを担当させます。また、Playwrightのテスト作成、コードレビュー、デプロイの実行も行います。
このセットアップは、RAM 24 GBを搭載したMac Mini M4上で動作しています。コーディング作業にクラウドAPIは使用していません。安価なクラウドモデルは、プランニングとルーティングにのみ使用しています。実際のファイル編集は、Piという名前のコーディングエージェントが担当します。これは、ローカルLLMサーバーであるoMLXに接続されます。
このセットアップは、OpenAI互換のAPIを使用するあらゆるエージェントで動作します。同じoMLXサーバーを使用して、Claude CodeやCodexを利用することも可能です。
2つのモデルを使用しており、タスクに応じてそれらを切り替えています。24 GBのRAM制限があるため、両方を同時に実行することはできません。
- メインのコーディングモデル:9Bクラス、20 tokens/sec
- 高速モデル:4Bクラス、27 tokens/sec(クイックな修正用)
スワップスクリプトによって、一方のモデルを退避させ、もう一方を読み込みます。このプロセスには5秒かかります。
エージェントは以下のタスクを実行します:
- ファイルの編集とリファクタリング
- テストの作成と修正
- ビルドの検証
- コードレビュー
- ドキュメントの更新
- デプロイの実行
1行以上のコードを伴う複雑な作業には、RPCモードを使用します。オーケストレーション層がプロンプトを作成し、Piがそれを実行します。
パフォーマンス向上のために以下のツールを使用しています:
- pix-optimizer: トークンを圧縮し、ボイラープレートを削除します。
- context-mode: ワークスペースのタスクをルーティングし、ツール呼び出しを管理します。
- pi-subagents: タスクを並列実行します。
- pi-workflow-engine: 多段階のタスクシーケンスを処理します。
- pi-mcp-adapter: MCPを介して外部ツールに接続します。
このセットアップにおける重要なルール:
- メモリエラーを避けるため、一度にロードするモデルは1つだけにしてください。
- 速度を維持するため、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