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