macOS にローカルコーディングエージェントを設定する方法

2026/06/13 2:34

macOS にローカルコーディングエージェントを設定する方法

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

元のサマリーは、詳細な技術的な性質を持つ「要点」としては高すぎる抽象度であり、真の「Stage 3」の結論としては不適切である。これは特定の実装に関する包括的なレビューよりもむしろ要約(abstract)に近い読後感を与える。以下に、不足している重要なデータポイントを取り込みながら流れを保つ改訂版を示す。

改善されたサマリー

本文は、macOS 15.7.7 を用いた Apple M1 Max ハードウェア(64 GB ユニファイドメモリ)上でコーディングエージェント(Pi)を実行するための非常に効率的なローカル設定について詳述している。Metal および Accelerate で最適化された llama.cpp ビルド内での Multi-Token Prediction (MTP) を活用することで、この構成は 72.2 tokens per second という驚異的な生成速度を達成しており、MTP を使用しない Q4 ベースライン(58.2 tok/s)に対して著しく改善されている。チューニングの結果、

--spec-draft-n-max 3
が最適なパフォーマンスをもたらすことが分かり、高い値は速度を低下させる;特に、このスタックは類似のハードウェア上で約 45–46 tok/s とのみ達成した競合する MLX-LM セットアップを上回る。この設定には、画像入力を実現しつつテキスト生成速度を犠牲にしない Q8 MTP ドRAFT モデルおよびマルチモーダルプロジェクターが含まれる。Qwen3.6 35B-A3B は代替としてテストされたが、55 tokens/sec で低速であることが確認された。全体としてのストレージフットプリントは約 17 GBであり、このストリームライン化されたスタックにより、開発者はクラウドサービスに依存せず 127.0.0.1:8080で実行される OpenAI 互換 API を通じてテキストと画像をローカルで処理することができ、コストとレイテンシを大幅に削減できる。

本文

Gemma 4 MTP 活用によるローカルコーディングエージェント構築と速度向上検証

ネット接続の不具合によりコーディングエージェントが使用不能となった折、Gemma 4 の「MTP(Multi-Token Prediction)」活用による 2 倍高速化発表を受け、すぐに実装を試みました。

🎯 目標:ローカル環境向けエンティティ構築の要件

Mac 上で実用的に動作するコーディングエージェントを以下の条件で構築することを目的としました。

  • Mac での高速動作: マシンの実力を最大限に活用した速度確保。
  • OpenAI 互換 API: 他のツールやアプリケーションとの汎用的な連携を実現するため。
  • 多モーダル対応: スクリーンショットや画像の処理、可視化機能を実装可能にするため。

この目標は完全に達成できました!動画ではリアルタイムでの高速応答を確認可能です。

⚙️ 最終構成と環境詳細

テストを経て採用した最終的なシステム構成は以下の通りです。

  • 推論ランタイム:
    llama.cpp
    (MacOS Metal 対応ビルド)
  • メインモデル:
    Gemma 4 26B-A4B
    (GGUF 形式、Q4_K_XL)
  • 推論加速: 疑似推論(Speculative Decoding)用 MTP 草案モデル (
    Q8_0
    精度採用)
  • 多モーダル対応: Gemma 4 マルチモーダル射影器 (Projector) の接続
  • エージェント:
    Pi
    (コーディングエージェント)

🖥️ 検証環境

  • OS: macOS 15.7.7
  • CPU/GPU: Apple M1 Max (統合メモリ 64GB)

📊 モデル構成詳細とベンチマーク

ベースライン:llama.cpp + Metal(メインモデル単体)

まずは

llama.cpp
を通じた Metal 加速での直接実行をテストしました。

コマンド:

repos/llama.cpp/build/bin/llama-cli \
  -m models/unsloth-gemma-4-26B-A4B-it-GGUF/gemma-4-26B-A4B-it-UD-Q4_K_XL.gguf \
  -ngl 999 \
  -fa on \
  -c 4096 \
  -n 128

結果 (Q4 メタル): 1 秒あたり 58.2 トークン生成

設定プロンプト処理速度 (tok/s)生成速度 (tok/s)
Gemma 4 26B-A4B Q4 (llama.cpp Metal)298.058.2

実用レベルですが、コーディングエージェントのようなツール呼び出しが多い場合はさらに高速化が必要です。

✨ MTP(疑似推論)の追加

Gemma 4 の草案モデル(

MTP/gemma-4-26B-A4B-it-Q8_0-MTP.gguf
)を導入しました。

コマンド:

repos/llama.cpp/build/bin/llama-cli \
  -m models/.../gemma-4-26B-A4B-it-UD-Q4_K_XL.gguf \
  --model-draft models/.../MTP/gemma-4-26B-A4B-it-Q8_0-MTP.gguf \
  --spec-type draft-mtp \
  --spec-draft-n-max 3 \
  -ngl 999 \
  -fa on \
  -c 4096 \
  -n 128

パラメータ

--spec-draft-n-max
を調整した結果、3 トークンが最速となりました。

設定プロンプト処理速度 (tok/s)生成速度 (tok/s)速度向上倍率
メインモデルのみ298.058.21.00x
メインモデル + Q8 MTP ドラフト295.672.21.24x
  • 改善点: プロンプト処理速度の低下をほぼ抑えつつ、生成速度が約 24% (0.3 tok/s) 向上。
  • 最適なパラメータ: M1 Max では
    3
    が最速で、
    2
    も良好な結果を示しました。

🆚 MLX との比較検証

Mac 特化の MLX-LM との速度比較を行いました。

実行環境モデル生成速度 (tok/s)
llama.cpp Metal + MTPUnsloth GGUF Q4 + Q8 MTP72.2
llama.cpp MetalUnsloth GGUF Q458.2
MLX-LMUnsloth UD MLX 4-bit45.8
MLX-LMmlx-community 4-bit43.9

当初は MLX が最速と予測しましたが、今回の構成では llama.cpp + MTP が明確に最強でした。クロスプラットフォームかつ MacOS で十分に最適化されている

llama.cpp
の評価が再確認されました。


🖼️ 画像処理機能の追加

Pi でスクリーンショットを扱えるようにするため、マルチモーダル射影器 (

mmproj
) を接続しました。

  • 注意点: Gemma 4 はテキストモデルであり、LLM サーバーに
    mmproj
    を読み込むことで多モーダル対応を実現します。

速度への影響:

設定プロジェクター (mmproj)生成速度 (tok/s)
なし-71.4
あり
mmproj-BF16.gguf
72.2

射影器のロードにより、テキスト生成速度が劣化することはありませんでした。


🛠️ 実装設定方法

1. llama.cpp のインストールとビルド

brew install cmake git tmux python@3.11

cd ~/Developer/ML-Models/Gemma4
git clone https://github.com/ggml-org/llama.cpp repos/llama.cpp
cd repos/llama.cpp

cmake -B build \
  -DCMAKE_BUILD_TYPE=Release \
  -DGGML_METAL=ON \
  -DGGML_ACCELERATE=ON \
  -DGGML_BLAS=ON \
  -DGGML_BLAS_VENDOR=Apple

cmake --build build --config Release -j

2. モデルファイルのダウンロード

Unsloth リポジトリから必要な GGUF ファイルをダウンロードします。

mkdir -p models/unsloth-gemma-4-26B-A4B-it-GGUF

cd models/unsloth-gemma-4-26B-A4B-it-GGUF

huggingface-cli download unsloth/gemma-4-26B-A4B-it-GGUF \
  gemma-4-26B-A4B-it-UD-Q4_K_XL.gguf \
  mmproj-BF16.gguf \
  MTP/gemma-4-26B-A4B-it-Q8_0-MTP.gguf \
  --local-dir .

3. ローカルサーバーの起動 (llama-server)

OpenAI 互換 API エンドポイント (

:8080
) を提供します。

重要な設定:

  • -c 65536
    : コンテキストウィンドウを 64K に拡張
  • --spec-draft-n-max 3
    : MTP の最適パラメータ
cd repos/llama.cpp/build/bin/
./llama-server \
  -m ../models/unsloth-gemma-4-26B-A4B-it-GGUF/gemma-4-26B-A4B-it-UD-Q4_K_XL.gguf \
  --model-draft ../models/unsloth-gemma-4-26B-A4B-it-GGUF/MTP/gemma-4-26B-A4B-it-Q8_0-MTP.gguf \
  --mmproj ../models/unsloth-gemma-4-26B-A4B-it-GGUF/mmproj-BF16.gguf \
  --spec-type draft-mtp \
  --spec-draft-n-max 3 \
  -ngl 999 \
  -fa on \
  -c 65536 \
  --parallel 1 \
  --host 127.0.0.1 \
  --port 8080

4. Pi (コーディングエージェント) の設定

Pi にローカルサーバーを登録します (

~/.pi/providers.json
を編集)。

設定のポイント:

  • baseUrl
    : ローカル API アドレス
  • input
    :
    ["text", "image"]
    にセット(画像認識を有効化するため重要)
{
  "providers": {
    "gemma4-local": {
      "name": "Gemma 4 Local",
      "baseUrl": "http://127.0.0.1:8080/v1",
      "api": "openai-completions",
      "apiKey": "local",
      "authHeader": false,
      "models": [
        {
          "id": "gemma-4-26B-A4B-it-UD-Q4_K_XL.gguf",
          "name": "Gemma 4 26B-A4B Q4 + MTP",
          "reasoning": false,
          "input": ["text", "image"],
          "contextWindow": 65536,
          "maxTokens": 8192
        }
      ]
    }
  }
}

Pi を実行して認識を確認:

pi --offline --list-models gemma
# 期待される出力: gemma4-local (画像処理:はい、コンテキスト:65.5K)

使い方の例:

pi -p --provider gemma4-local --model gemma-4-26B-A4B-it-UD-Q4_K_XL.gguf \
  "Explain what this repository does"

# スクリーンショット対応
pi -p @"/path/to/screenshot.png" "Describe this image and point out anything relevant to the UI"

🏁 最終スタック一覧

レイヤー採用事項
推論ランタイム
llama.cpp
OS アクセラレーションMetal + Accelerate
メインモデル
gemma-4-26B-A4B-it-UD-Q4_K_XL.gguf
ドラフトモデル
gemma-4-26B-A4B-it-Q8_0-MTP.gguf
(MTP 用)
MTP 設定
--spec-draft-n-max 3
マルチモーダル射影器
mmproj-BF16.gguf
API エンドポイント
http://127.0.0.1:8080/v1
エージェント
Pi
(テキスト + 画像入力)

💡 結論:MTP は必須か?

今回の検証から、MTP ドラフトモデルの導入は非常に価値があります

  • 単体モデル: 58.2 tok/s
  • MTP 活用: 72.2 tok/s (約 1.24 倍高速化)

これにより、OpenAI 互換サーバーとしてのシンプルさを持ちつつ、実用的な速度を実現できました。


🔄 P.S.: 代替案 - Qwen3.6

Gemma 4 ではなく Qwen3.6 を使う場合のベンチマーク比較です。

  • Gemma 構成:
    Q4_K_XL
    + MTP ➔ 72 tok/s
  • Qwen 構成:
    Q4_K_XL
    + MTP ➔ 55 tok/s (ただしコーディング能力は Gemma より優れている可能性あり)

待機時間を含めた総合的なパフォーマンスを考慮すると、Gemma 4 の方がこの環境では有利です。

Qwen3.6 サーバー起動例

repos/llama.cpp/build/bin/llama-server \
  -m models/Qwen3.6-35B-A3B-UD-Q4_K_XL.gguf \
  --model-draft models/Qwen3.6-35B-A3B-MTP-GGUF/Qwen3.6-35B-A3B-MTP-Q8_0.gguf \
  --spec-type draft-mtp \
  --spec-draft-n-max 3 \
  -c 65536 \
  --host 127.0.0.1 \
  --port 8081

P.S.: モデルは Unsloth リポジトリから GGUF 形式でダウンロード可能です。

同じ日のほかのニュース

一覧に戻る →

2026/06/13 14:57

Mozilla を辞める

## 日本語翻訳: サマリー:著者は、組織の現在のリーダーシップと社原本来のコミュニティ主導のミッションとの間にある増大する断絶による心身の消耗を理由に、モジラから退任することを表明しています。著者は、最近の「スタートアップ的な」思考への転換——透明性よりも生々しいユーザー成長数の優先——が、firefox が信頼できるブラウザとしての核心的強みを損ないつつあると主張しています。重要な批判点は、リーダーらが現在は無償の貢献者を単なる顧客として扱っており、歴史的に製品を形成してまいれた深いコミュニティ関与の価値を無視していることです。さらに、人工知能や制限的なエンタープライズ標準といったトレンド対応型機能への追求が、技術的負債を生み出し、根本的な信頼性の問題を解決する注意力から逸らしています。グーグルの資金提供がこれらの欠陥のあるプロジェクトを継続可能にしているものの、この戦略は、単に動作しプライバシー重視のブラウザを求めるユーザーを遠ざけるリスクがあります。モジラがレガシーなボランティア精神と企業のスケーラビリティの間にある文化的対立に対処しない場合、業界ではユーザーが本物の代替手段を探して churn が増加するようになり、大規模テック巨頭への支配強化につながる可能性があります。

2026/06/13 7:08

レアエース不使用電動モーター

## Japanese Translation: ルノーグループは、希土類磁石に依存しない高効率モーターを量産することで電気移動の先駆けとして自らの位置を確立しており、市場において EV の 90%が永久磁石同期モーターを使用するという状況と対照的な成果を挙げています。磁石ではなく巻線ローターを利用する EESM テクノロジー(Evolutionary Electric System Motor)は、世界の希土類供給の大半を掌握する中国への依存を回避します。ルノーはこの革新を 2012 年に Zoe などでの商品化を開始し、以降明確な世代ごとに技術を進化させてきました。第一世代(文献 5A/5AL)は Kangoo Z.E や Twingo Electric でデビューし、第二世代(文献 6A/6AM)は最高 160 kW の出力を特徴としており、現在のフラッグシップモデルである Megane E-Tech、Scenic E-Tech、そして今後の Renault 4 で採用されています。新しい第三世代モーター(文献 E7A)が現在準備就绪しており、2027 年発売に向けて仕様が確定しています。この高度化されたバージョンは重大なアップグレードを指向しており、オールインワンアーキテクチャにより寸法を 30%削減しながら 200 kW の電力と 400 Nm のトルクを提供します。極めて重要な点として、800 ボルトシステムで動作することで急速充電を可能にし、炭素への影響を 30%削減し、性能を損なうことなく最大 92%の効率を実現します。

2026/06/13 9:51

米国政府が「Fable 5」と「Mythos 5」へのアクセス停止に関する声明

## Japanese Translation: 米国政府は、国家安全保障上の懸念を理由に、Anthropic に高度な Fable 5 および Mythos 5 AI モデルへのアクセスを外国籍の人物に対して即時に停止することを命じた。同社はこれらの特定のモデルと制限付きツールの利用を無効化する一方で、他のすべてのモデルの稼働は引き続き維持することが必要となった。当局は、Fable 5 の安全性の safeguards を回避しうる「jailbreaking」手法が存在すると見ているが、Anthropic はこの評価に異議を唱え、想定されている脆弱性は OpenAI の GPT-5.5 を含め他の業界モデルにもすでに存在しており、その展開に対して独自に脅威をもたらすものではないと主張している。限られた調査に基づいた誤解に基づくものであるにもかかわらず、Anthropic は技術的な見解の相違があるものの、法的指図に従い展開を停止しなければならない結果、アクセス制限の影響を受ける顧客に対し即座にサービス中断が引き起こされた。同社は謝罪し、24 時間以内により詳細な情報を共有すると約束した。この事件は、急速に変化する技術的風景における AI セーフティの現実的な課題と厳格な規制措置の間で高まる緊張関係を示している。