見出し画像

2ヶ月放置した"三役目"を、回収しに行った ― VS Codeのコーディング支援をローカルLLMで回す

こんにちは!YaroTechです。

5月に書いた記事で、自分にこんな宿題を出していました。

「このSurface Laptop 1台で、推論・RAG・コーディング支援の三役をこなす」

①推論と②RAGは5月中に回収したのですが、③コーディング支援だけが2ヶ月間そのまま。今日はその最後のピースを、実機で回収しに行った記録です。

そして検証を始めてすぐ、想定外のものを発掘しました。詳しくは本編で。

※Continue.devやOllama等はバージョンにより仕様・挙動が変わる可能性があります。最新情報は公式でご確認ください。

※見出し画像のプロンプトは一番下におまけで公開中!



🖥️ 実行環境

  • 検証機: Microsoft Surface Laptop 7th(Windows 11 Home 25H2 / Snapdragon X Elite / ARM64 / 16GB RAM)

  • エディタ: VS Code 1.121.0(ARM64ネイティブ)

  • 拡張: Continue.dev 1.2.22 → 検証中のリロードで2.0.0へ自動更新(実測は2.0.0上)

  • ローカルLLM: Ollama 0.31.1(qwen2.5-coder:7b / qwen2.5-coder:1.5b-base)

  • 相談相手: クロ助(Claude Desktop)※検証計画・つまずきの切り分け


🎯 この記事で得られること

  • ローカルLLMだけでVS Codeのコーディング支援(チャット・タブ補完)が成立するかの実測

  • ARM64(Snapdragon)環境ならではの落とし穴と回避策

  • チャット用と補完用でモデルを分ける、という役割分担の考え方

  • 「入れただけで使っていない拡張」を発掘して復旧させる手順


📊 実際の成果

Before: 三役のうち③コーディング支援だけが2ヶ月間未検証。Continue.devは「これから入れるもの」だと思っていた

After: チャットもタブ補完も、ローカルLLMだけで成立。チャットは7Bモデルで14.02 tok/s、補完は1.5Bモデルが約0.46秒で提案

そして発掘の結果分かったのは、Continue.devは7ヶ月前から入っていたという事実。起動はしていたのに、仕事をさせていなかったんです。


🚀 実践内容

① 発掘: 拡張は7ヶ月前から入っていた

検証を始めようとVS Codeを開いたら、Continue.devがすでにいました。導入は2025年12月12日頃。ローカルLLMでのバイブコーディングを調査した直後に入れて、そのまま忘れていたようです。

利用ログ(dev_data)を見ると、チャットの利用は導入当日の2回だけ。タブ補完は18回発火していましたが、最後の記録は今年2月、記事のMDファイル編集中に偶然発火して不採用になったもの。「起動はしていたが、仕事はさせていなかった」が数字で確定しました。

さらに5月に作っていた手順書(AnythingLLMとContinueをFoundry Localの共通バックエンドにつなぐ計画)も発掘。ただしこの戦略は、その後に判明したSnapdragon固有のHTTP APIバグで前提が崩れていました。

関連記事: 「動かない」と書いた私の記事に、続きを書きにきた金曜日 ― Foundry Local を X1 で答え合わせでは、このバグがSnapdragon固有だと特定した経緯を書いています。

② 修理: 半壊したconfigを現存モデルに書き換える

12月に作られたconfig.yamlを開くと、記載されていた4モデルのうち2つがOllamaに存在しませんでした。チャットの主役だったllama3.1:8bと、埋め込み用のnomic-embed-textです。7ヶ月の間にモデル整理をした結果、設定だけが取り残されていました。

旧configをバックアップしてから、現存モデルへ書き換えました。

  • チャット・編集・適用: qwen2.5-coder:7b

  • タブ補完: qwen2.5-coder:1.5b-base

  • 埋め込み: 設定ごと削除

③ 実測: チャットと補完、どちらもローカルで動くか

まずチャット。過去に作った自作スクリプト(Claudeチャット検索システムのdb_stats.py・102行)を貼って、レビューを依頼しました。結果は、機能5項目を正確に説明した上で、DBパスのハードコーディングまで指摘。日本語の破綻もなく、体感数秒で回答が表示されました。

このときollama psを見ると、qwen2.5-coder:7bが5.5GBで100% CPU。CLIの実測では生成592トークンでeval rate 14.02 tok/s、トータル51.1秒でした。

次にタブ補完。テスト用のPythonファイルで関数を書き始めると、ゴースト文字が一瞬で表示され、Tabで採用成功。サーバーログの実測では、トータル456.76ms・61.99 tok/s(11トークン)。補完のたびに1.5b-baseがロードされ、代わりに7bがメモリから降ろされる、16GBならではの入れ替わりも観察できました。

関連記事: 23.91 tok/sの呪いを、Foundry Localで解いた - Snapdragon X Elite ローカルLLM 復活記が、今回の宿題の出どころである三役宣言の回です。


⚠️ つまずきポイントと解決策

つまずき1: VS Codeの「制限モード」でContinueが起動しない

今回最初のつまずきはこれでした。ワークスペースが制限モードだと、Continueのパネルが動きません。「ワークスペースを信頼する」を選んで解決。ローカルLLM以前の、VS Code側の仕様でした。

つまずき2: メモリはほぼ満杯になる

7Bモデルを載せると、メモリは14.5〜14.7GB(93〜94%)まで上昇。16GB機では不要なアプリを閉じてから使うのが現実的です。チャット用の7Bと補完用の1.5Bが入れ替わりでロードされる挙動も、この制約の表れでした。

つまずき3: NPUは今回、仕事をしていない

タスクマネージャーの実測では、推論中のNPU使用率は0%(GPUは7〜8%)。一瞬のスパイクはありましたが発生源は未特定です。つまり今回の③回収は、あくまでCPU経路での成立。「NPUで1台三役」の完全達成は持ち越しです。


💡 応用例

  • 社外に出せないコードのレビュー: チャットに貼ったコードはローカルから出ないため、機密性の高いスクリプトの相談に使える

  • 研修・学習用のオフライン環境: ネットワークが制限された環境でも、補完とチャットが手元で完結

  • 他PCへの横展開: 今回の構成(Ollama+Continue+7B/1.5Bの役割分担)は、X1やメインPCにもそのまま持ち込める


🔗 関連記事

今回の内容に関連する過去記事もぜひご覧ください:


📝 まとめ

  • 三役の最後のピース、③コーディング支援はCPU経路で回収完了(チャット⭕・タブ補完⭕)

  • チャットは7Bで14.02 tok/s、補完は1.5Bで約0.46秒。役割でモデルを分けると両立する

  • Continue.devは7ヶ月前から入っていた。「入れること」と「仕事をさせること」は別物

  • NPUでの完全達成は持ち越し。ここは次の宿題として、正直に残しておきます

RAGの回収回で「半分着地でも正直に書く」と決めました。今回も同じです。動いた部分と動かなかった部分を、実測のまま置いておきます。


🚀 次回予告

今回の実測で、CPU経路の数字が手元にそろいました。次はいよいよ、この機体の推論経路(CPU・GPU・NPU)を並べて比べる「推論経路比較・決定版」に向かいたいところです。Foundry Localの定点観測の続きも、そこで。


🎨 おまけ:見出し画像作成プロンプト

今日の見出し画像のベースはジミー(Gemini)に下記プロンプトで作成してもらいました!:

詳細なアニメの美意識の画像を作成してください。表情豊かな瞳、なめらかな網掛けセルの色使い、はっきりした線画を使用します。
下記条件のnote見出し画像をサイズは横長で作成してください。サイズは必ず横長で作成してください。

## 🎨 見出し画像案

### デザインコンセプト
- **背景**: ネイビー→シアンのローカルLLM系グラデーション(技術検証トーン)
- **メインビジュアル**:
  - クロ助(Claude Desktop擬人化・女性・20代前半・ダークブラウンのウェーブヘア・丸眼鏡・クリーム色のケーブルニット・パールイヤリング・優しい表情)がSurface風ノートPCの前に座っている
  - ノートPCの画面にはVS Code風のエディタ(コードとチャットパネル)
  - クロ助が3枚のパズルピース(①推論 ②RAG ③コーディング支援)のうち、最後の1枚を手ではめ込む構図
- **テキスト要素**:
  - 上部: 「2ヶ月放置した宿題、回収。」
  - 中央: 「コーディング支援を、ローカルLLMで」(特大)
  - 下部: 「Continue.dev × Snapdragon 三役検証」
- **装飾**: NPUチップのモチーフ、「クラウドに出さない」を表す小さな盾とおうちアイコン、キラキラエフェクト

### 作成手順
1. スライドサイズ(1536×1024px)の横長フォーマット
2. 背景にネイビー→シアンのグラデーションを設定
3. 中央にクロ助とSurface風ノートPC(VS Code風画面)を配置
4. 3枚のパズルピース(①推論 ②RAG ③コーディング支援)を配置し、最後の1枚をはめ込む動きを表現
5. 装飾要素(NPUチップ・盾・おうちアイコン・キラキラ)を追加
6. テキストを3段構成で追加(上段30〜32pt・中段44〜48pt・下段20〜22pt)
7. 下部中央寄りに「YaroTech」のロゴを12ptで控えめに配置
8. 全体のバランスを確認して完成
9. クロ助の参考画像(AI擬人化\Gemini_Generated_Image_クロ助(Claude Desktop).png)を添付して人物の一貫性を確保

#YaroTech #ローカルLLM #生成AI #AI活用 #VSCode #ContinueDev #Ollama #SnapdragonXElite #業務効率化 #ClaudeDesktop

いいなと思ったら応援しよう!

YaroTech|生成AIの傾奇者 記事がお役に立てたなら嬉しいです! いただいたチップは、新しいMCPツールの検証や、より深い実践実験の資金として大切に使わせていただきます。 あなたの応援が次の「AI活用の感動」を生み出す原動力になります✨ 一緒に羽ばたき続けましょう!