2026年2月4日水曜日

軽量ローカル LLM でコーディングするのは不可能ではないがやめたほうがいい

軽量ローカル LLM でコーディングするのは不可能ではないがやめたほうがいい

不可能ではないがフラストレーションがえぐいだけ
誰でも動かせる LLM じゃあ商売上がったりなんでそりゃ無理だよねって話

結論

  • copilot レベルの精度を出すには軽量 LLM ではほぼ不可能
    • 学習および機能不足すぎる
    • 軽量 LLM では tools/thinking がない
    • 単純に学習量が少ないのか回答が的はずれななケースが多くフラストレーションが高い
  • ただしマシンスペックが潤沢 (RTX 4090/5090、メモリ VRAM+RAM が128GB 以上) なら話は別
    • 大規模 LLM が動かせれば copilot と同等の UX が得られるかも
    • 「かも」なのは実際に試せていないため

試したエディタ/エージェント環境

  • VSCode 1.108.2
  • copilot chat プラグイン (標準装備)

使ってみた LLM

  • phi4-mini:3.8b (agent)
  • llama3.1:8b (agent)
  • llama3.2:3b (ask)
  • codegemma:7b (ask)
  • gemma3:4b (ask)
  • qwen3:8b (ask)

以下それぞれ使ってみた感想です
細かい精度は違いますが大枠は変わらなかったのでモデルごとではなくまとめて記載します

感想/所感

  • thinking がないから命令を丁寧にしなければならない
    • どのコンテキストに対して何をどうやって修正すればいいのか
    • 命令の意図を解釈するフェーズが LLM にないので可能な限り丁寧に命令しなければならない
    • copilot は雑な質問でも命令を解釈しコンテキストを読み込み意図を解釈してくれる
  • Agent が使えないケースが多い
    • 使えても使い物にならない
  • 結論としては大規模 LLM が必要
    • ローカル LLM を使って copilot 相当のことをしたいのであれば大規模 LLM が必要
    • 最低でも 20b ほどだが現実ラインでは 120b レベルが必要 (gpt-oss:120b など)
    • 実際それを動かすとなると推論に必要なグラボと何よりも VRAM + RAM が必要になる
    • 120b なら合わせて 128GB ほどメモリ領域が必要になる
    • deepseek-v3.1:671b などは現実レベルでローカルで動かすのはほぼ不可能ということになる
  • 使い方が悪かった可能性もある
    • 命令やコンテキストの与え方が悪い
    • 命令が抽象的にすぎる (が本当は抽象的に質問してもやってほしい)
    • コンテキストが多すぎて LLM が解釈できない
    • 逆にコンテキストが少なすぎて無視してしまう
  • トンチンカンな回答例
    • コンテキストで与えたコードを無視して回答する
    • 単純なサンプルコードだけ提示して終了
  • 適切な LLM の設定
    • Continue などはどのフェーズでどの LLM を使用するか設定できる
    • copilot にも auto があるがローカル LLM だと使えない (はず
    • Ask/Edit/Plan で使用する LLM をカスタムエージェントで設定できるのだろうか (おそらくできない

最後に

大規模 LLM が動作するマシンが30万だとすると現在の Copilot Pro は 1500 円くらいなので

  • 300000/1500=200

で200ヶ月分は使えるので素直に Copilot Pro に課金するのがいいかもしれません
ローカルで大規模 LLM は無料と言えば無料ですが本当に無料ではありません (電気代とか)
他にゲームやマイニングとかで用途があればあってもいいかもですが

0 件のコメント:

コメントを投稿