生成AIストリーム

ネットワーク不要・サブスク不要! 落合陽一氏の「vibe-local」でオフラインAIコーディングを体験してみた

「vibe-local」

AIコーディングに毎月いくら払っていますか?

 こんにちは、しらいはかせです。突然ですが、皆さんは「AIコーディング」に毎月いくら払っていますか?

 AICUの「生成AIクリエイター白書2025」(2025年11月)によると、コーディング支援を使っているアンケート参加者はChatGPTのサブスクリプション率に対して50%程度存在しました。

 筆者もコーディングエージェントは、各種利用しています。最近、一番たよりになる 「Claude Code」 はProが月額17米ドル(約2,645円)、Maxは月額100米ドル(約15,567円)というお値頃感です。GitHub Copilotも月額10〜39米ドル。企業であればGeminiでの包括契約や高額なプランも存在しますが『気軽に試してみたい』となるとOpenAIのChatGPT+に含まれる「Codex」やGoogle Deepmindの「Antigravity」が選択肢にになります。そして当然、これらはすべてインターネット接続が前提です。

「Claude Code」のプラン

 ところが2025年2月23日の未明、メディアアーティスト・落合陽一氏がX(旧Twitter)で衝撃的な投稿をしました。



 『Claude Codeに、Claude Codeを作らせた』――つまり、AIが自分自身のようなAIコーディングツールを自動生成してしまったわけです。そしてそれがMITライセンスで無償公開された。これが今回ご紹介する「vibe-local」です。



『AIにコードを書かせる』を自分のパソコンだけで!

 「vibe-local」は、ご自身のパソコンの中だけで動くAI(ローカルLLM)を使って、 完全無料・ネットワーク不要 でAIコーディングができるツールです。名前の『vibe』は、昨今のAI開発スタイル“バイブコーディング”から来ています。本連載でも以前で取り上げた通り、コーディングエージェントに自然言語で指示を出してプログラムを生成する手法ですね。

 最大の特徴は、クラウドのAPIを一切使わないこと。ローカルのOllama(ローカルLLMの実行エンジン)を通じて、「Qwen3」などのオープンソースモデルに直接接続します。セットアップが終わればインターネット接続すら不要なので、たとえば大学の授業やワークショップ、あるいは飛行機の中でだって使えます。展示会とかでWi-Fiが混みすぎとか、鉄の壁に囲まれていたり、電波暗室といったネットワークが使えない環境でのシステムの設定やログの確認、結構ありますよね。

 しかも驚くべきことに、エージェントの中核である「vibe-coder.py」は Python標準ライブラリだけで書かれた約7,400行の単一ファイル です。「pip install」も外部パッケージも一切不要。Windows上では『PythonとOllamaさえあれば動く』という潔い設計で、「Claude Code CLI」も、「Node.js」も、「WSL2」(Windows Subsystem for Linux)もいりません。

忙しい人ほど、きちんと作っている

 ここで少し、このツールの背景に触れておきたいと思います。落合陽一氏といえば、メディアアーティスト、大学教授、会社経営、テレビ出演……と、分刻みのスケジュールをこなしている印象がある方でしょう。そんな多忙な人物が、なぜわざわざAIコーディングツールを自作し、しかも無償で公開しているのか。

 答えはREADMEの冒頭に明確に書かれています。『オフラインのワークショップでAIエージェントを使って学習者をサポートしたり、有料プランに未加入の学生がエージェントコーディングを練習したり、ネットワークのない環境で自然言語を使ってターミナル操作を学んだり』――つまり、 教育と研究のため です。しかもREADMEには日本語、英語、中国語に加えて『やさしい日本語』のセクションまで用意されています。小中学生や日本語学習者への配慮でしょう。

 もちろん、飛行機に乗っている間などは高速インターネットや巨大なファイルのダウンロードなどは難しいですから、1台のノートPCだけで動くバイブコーディング環境は理想的とも言えます。もちろんLLMとして、軽く調べ物をしたり文法チェックをしたり作文したりといった使い道にも使えそうです。

 さらに落合氏自身が継続的にコミットを重ねています。公開後わずか数日で16種類の内蔵ツール、サブエージェント、並列エージェント、ファイル監視、画像やPDFの読み取り、MCP連携、スキルシステム、Plan/Actモード、Gitチェックポイント、自動テストループ……と、787本のテストに支えられた本格的なコーディングエージェントに仕上がっています。『寝ている間にClaude Codeが作った』というジョークめいた出発点から、教育にも研究にも使える品質まで、きっちり磨き上げているのです。

 さらに論文もTeXとPDFで書かれていました。

「vibe-local」に関する論文

vibe-coder: ローカルLLM向け単一ファイル・標準ライブラリのみのオープンソースコーディングエージェント技術報告 — アーキテクチャ、進化、今後の方向性
Yoichi Ochiai vibe-local project
要旨: 本稿では、Ollama上で動作するローカルLLMと直接通信する単一Pythonファイル(5,399行)として実装されたオープンソースのコーディングエージェント vibe-coder を提示する。 クラウドアカウント、Node.jsランタイム、プロキシ層を必要とする既存の商用コーディング支援ツールとは異なり、vibe-coderはPython標準ライブラリのみで構成され、15の統合ツール、エージェントループ(自動コンテキスト圧縮付き)、CJK対応ターミナルUIにより商用ツールと同等の機能を実現する。 並列AIエージェント監査による12回の反復レビューを通じて、セキュリティ強化、信頼性向上、Unicode正確性、ユーザー体験改善に関する155件以上の修正を適用した。本システムは542の自動テストで検証され、Windows、macOS、Linuxの外部ユーザーによる実地テストも行われている。本稿では、アーキテクチャ、AI支援による反復開発手法、ユーザーテスト結果(Windowsユーザーのバグ報告を含む)、および1.0リリースに向けた今後の方向性を報告する。

落合陽一氏が執筆した論文(冒頭)の日本語訳

 セキュリティについてもなかなか興味深い示唆があります。①プライベートIP拒否、②DNS fail-closed、③リダイレクト検証。さらにインジェクション対策として④環境変数サニタイズ、⑤危険コマンドブロック、⑥プロンプトインジェクション耐性などが報告されています。「vibe-coder」 は、外部依存ゼロの単一Pythonファイルでも、実用的なコーディングエージェントが構築可能であることを示しており、12回のAI支援監査により、155件以上の修正、542テストを達成しつつ、単一ファイル・標準ライブラリのみという制約を維持しています。本プロジェクトは、並列AI監査+人間統合という開発手法の有効性を実証するものであり、特に既存ツールで軽視されがちなCJK言語へのファーストクラス対応を重視。我々(落合陽一+AI)は、 『徹底的単純性 × 厳密な反復改善』 が、AI開発ツールの民主化に向けた有力なアプローチになると考えています。

 ベクトルデータベースのRAGがファイルデータベースと三角関数(コサイン類似度)で実装されているのも大変勉強になります。

Windows 11でセットアップしてみた

 さて、能書きはここまでにして、実際にやってみましょう。必要なのは Windowsに最初から入っている「PowerShell」と「winget」コマンドだけ です。プログラミングの経験がなくても大丈夫。コマンドをコピペして[Enter]キーを押す、それだけで進んでいきます。

 今回の検証環境はWindows 11 Home、RAM 32GB、NVIDIA GeForce RTX 4050 Laptop GPU(VRAM 4GB)です。ゲーミングノートPCとしてはおとなしめのスペックですが、問題なく動きました。

「vibe-local」の起動画面
「vibe-local」のセットアップ中画面

〇Step 1: 「Ollama」のインストール

 「PowerShell」を開いて、以下のコマンドを入力します。

winget install Ollama.Ollama

 たった1行です。インストール後、「Ollama」はバックグラウンドサービスとして自動起動します。ブラウザで「http://localhost:11434/」を開いて『Ollama is running』と表示されれば成功です。

〇Step 2: AIモデルのダウンロード

 画面右下のタスクトレイに表示される「Ollama」のアイコンをクリックすると、GUIからモデルをダウンロードできます。今回使うのは「qwen3:8b」(約5.2GB、メインモデル)と「qwen3:1.7b」(約1.3GB、軽量ヘルパー用のサイドカー)の2つです。サイドカーモデルは権限チェックや初期化といった軽いタスクを担当するもので、自動的に選択されます。

 筆者の検証環境はVRAMが4GBしかないので、30bクラスの大型モデルは厳しいのですが、8bモデルならCPUメモリ(RAM)も活用して実用的な速度で動作します。メモリが96GB以上あるMacをお持ちの方なら120bクラスのモデルも動かせるそうですが、今回はあくまでWindowsでの話に絞ります。

「Ollama」でAIモデルをダウンロード
「Ollama」上で「qwen3:8b」が動作

〇Step 3: 「vibe-local」のインストール

 「PowerShell」で以下のワンライナーを実行するだけです。

Invoke-Expression (Invoke-RestMethod -Uri https://raw.githubusercontent.com/ochyai/vibe-local/main/install.ps1)

 インストーラーはパソコンのメモリ量を自動検出し、最適なモデルを選んでくれます。Vaporwave風の華やかなプログレスバーが表示され、必要な設定をすべて自動で行います。

〇Step 4: 起動!

vibe-local

 新しい「PowerShell」ウィンドウを開いて、これだけ。対話モードが立ち上がり、AIと会話しながらコーディングができます。「vibe-local -p "質問"」とすればワンショットモードで1回だけ質問することも可能です。もちろん日本語での指示も通ります。

 ここまで、特別な開発環境の構築は一切不要。「PowerShell」の画面にコマンドを貼り付けて[Enter]キーを押しただけです。

「vibe-local」がインストールされて開発を開始できる

ローカルLLMの実力――8bモデルはどこまでやれるのか?

 さて、ここからが本番です。せっかくセットアップしたのですから、このローカルLLMがどの程度の実力を持つのか、実際にテストしてみましょう。

〇「qwen3:1.7b」(パラメーター数20億)の場合

 まずは軽量モデルから。『2+2は?』、『1から10の合計は?』といった単純な質問には正しく答えられます。しかし、『Pythonでフィボナッチ数列のワンライナーを書いて』と頼むと……

</think>The file `fibonacci.py` has been created successfully.

 内部の思考トークンがそのまま出力に漏れてしまい、しかもファイルを作成していないのに『作成しました』とハルシネーション(AI幻覚)を起こしています。コード生成には力不足のようです。

〇「qwen3:8b」(パラメーター数82億)の場合

 8bモデルに切り替えると世界が変わりました。同じフィボナッチ数列の問題で、正しい結果を返してくるようになったのです。そこで、もう少し実践的な実験に進みます。

〇実験1: じゃんけんゲーム

 『日本語UIのじゃんけんゲームをHTMLで作って』と指示したところ、42行の完全に動作するHTMLファイルが生成されました。グー・チョキ・パーのボタン、勝敗判定、結果表示――すべて正確です。Webブラウザーでそのまま開いて遊べます。

生成されたじゃんけんゲーム

〇実験2: カウントダウンタイマー

 次は『カウントダウンタイマーを作って』。こちらも 78行のHTMLファイルが生成され、タイマー機能、一時停止、リセット、さらにWeb Audio APIを使ったアラート音まで実装されていました。外部ファイル不要でビープ音が鳴るのは賢い設計です。ただし、一時停止後の再開で残り時間がリセットされるバグがありました。

生成されたカウントダウンタイマー

〇実験3: マインスイーパー

 調子に乗って『9×9のマインスイーパーを作って』と指示してみたところ……3回試行して3回目でようやくファイルは生成されたものの、構文エラーだらけで動作しませんでした。CSSセレクターの記述ミス、JavaScriptの構文エラー、ゲームロジックの破綻――8bモデルの限界が見えた瞬間です。でも最後にはきちんと完成しました。

最後には動作するマインスイーパーが生成された

〇ベンチマークから見えたこと

 じゃんけん(42行)は完動、タイマー(78行)は軽微バグあり、マインスイーパー(192行相当)1発では動作せず。おおむね 50行以下のコードなら正確に生成でき、80行前後では軽微なバグが混入、150行を超えると破綻することがある……というのが、「qwen3:8b」モデルの現在地です。

 『50行で何ができるんだ』と思われるかもしれませんが、大学のプログラミング授業や作文テストの論理チェック、社外には出せない文書の整形、カスタマーサポート、ちょっとしたWebフォームぐらいなら、完全オフライン・完全無料、さらにデータベースやRAGなどもセットで十分に使えるのです。プログラミング入門の教材としてはむしろ『小さなプログラムを確実に動かす』という体験こそが大事ですから、この制約はそれほど悪いことではないかもしれません。むしろ教育としては『1画面でみてもわからないような複雑なものを教える』というほうが、向いていないかもしれません。

既存の「Claude Code」環境を壊さないか?

 『ローカルLLMのツールを入れて、普段使っている「Claude Code」の環境が壊れないか?』と心配される方もいるかもしれません。私も心配して色々な視点でチェックしてみました。

 結論から言えば、 まったく壊しません 。Windows版は「Claude Code CLI」を一切使用せず、Pythonと「Ollama」だけで独立して動作するため、既存環境に干渉する要素がそもそも存在しません。不要になった場合は、「~/.local/lib/vibe-local」フォルダーの削除と、必要に応じて「Ollama」のアンインストールだけで元通りになります。

 とくにこのプロジェクトは今話題の「OpenMolt」+「Claude Code」に対する違和感から生まれているようです。



 セキュリティ的にブラックホールを作らないという強い意志と実装を感じます。

対話中に使えるコマンド

 「vibe-local」は起動すればすぐに使えますが、対話中にスラッシュコマンドを打つことで、より高度な操作もできます。「/help」でコマンド一覧を確認でき、「/model qwen3:8b」でモデルを切り替えたり、「/status」で現在の状態を確認したりできます。

 なかでも注目は「/plan」と「/approve」の組み合わせです。「/plan」と打つと「読み取り専用モード」に切り替わり、AIはファイルを調べるだけで書き換えません。計画を確認したら「/approve」で「実行モード」に切り替えると、Gitのチェックポイントが自動で作成されたうえでコード生成が始まります。万が一結果が気に入らなければ「/rollback」で元に戻せます。ローカルLLMはクラウドのAPIと比べてハルシネーションのリスクが高い分、こうした安全装置は実用上ありがたい設計です。

 ほかにも「/watch」でファイルの変更を監視したり、「/autotest」でコード生成のたびに自動テストを走らせたりと、本格的なコーディングエージェントとしての機能が揃っています。

まとめ:『自分のパソコンでAIにコードを書かせる』という体験

 今回の検証で見えてきたのは、ローカルLLMによるAIコーディングが 『使い物にならない夢物語』ではなく、限定的ながら実用的なレベルに達している、という事実です。

 GPU搭載のゲーミングノートであれば「PowerShell」と「winget」だけでセットアップできて、WSL2も「Node.js」も「Claude Code CLI」も不要。インストール権限さえあれば、学校や企業の管理されたパソコンでも動かせる可能性があります。50行以下の簡単なアプリなら、完全オフラインで実用的なコードを生成できます。

 もちろん、「Claude Code」や「GitHub Copilot」の代替にはちょっと程遠いでしょう。しかし、『完全オフライン・完全無料・サブスク不要で、AIにコードを書かせる体験ができる』というのは、それだけで大きな価値があります。MacやDGX(GB10)のようなユニファイドメモリの環境ならもっと大きなモデルも動きます。しかもPlan/Actモードやファイル監視、自動テストといった本格的な機能が、外部依存ゼロの方針を崩さずに詰め込まれている。自動テストや論文化に裏打ちされたこの品質は、『寝ている間にできた』というジョークとは裏腹に、落合陽一氏が本気で磨き上げている証拠でしょう。

 プログラミングに興味はあるけれど、月額3万円のサブスクには手が出ない。会社のパソコンに開発環境を入れるのはいろんな許可が必要で面倒だ。そんな方こそ、まずは「PowerShell」を開いてコマンドを3つ貼り付けるところから始めてみませんか?

 筆者のバイブコーディングワークショップも3月6日開催予定です。

しらいはかせ(白井暁彦)X@o_ob

AICU Japan株式会社 X@AICUai 代表/作家/生成AIクリエイター/博士(工学)。

「つくる人をつくる」をビジョンに、世界各地のCG/AI/XR/メディア芸術の開発現場を取材・研究・実践・発信している。