全自動ローカルAIの夢を見て
前回「Aider」というPythonのソフトで自動開発を構築してみたのですが、このソフトだと自動ビルドまでは行わないのでエラーテストなどは手動でした。 srain3.hatenablog.jp ↑前回の記事
なので今回は「VS Codeのプラグインでほぼ全自動化」を進めてみました。使ったのは「Cline」というプラグイン。 これだとGradle環境を整えられれば後はタスク実行のようにAIが考えて試行するループに入り、指示内容がクリアできたら完成となるほぼ全自動化が可能です。
Aiderだと詳細な指示を送らないと実用に耐えうるコードは難しそうでしたが、その時使用したAIモデルが「Q3_K_L」という量子化モデルだったので
今回は同じ「Qwen3-Coder-30B」でも「IQ4_XS」というVRAM16GBの限界スレスレ、少し超えるぐらいの量子化モデルで試してみることに。
調べていたら量子化の3bitと4bit(Q3とQ4)では推論能力に差が出やすく、理想は8bitとか大きいほど基本的には良いらしいので。
一応モデル自体は15.25GBでVRAMには14GB収める設定で起動させたので、処理速度は微妙に低下しますが計測したところ14 tok/sほどはあったので許容範囲です。
コードは良さげ、設計はダメダメ
「MinecraftのPaperプラグインで、特別なトロッコアイテムを作って、そのアイテムを右クリックするとその場に小さいアーマースタンドを出現させてプレイヤーを乗せ、プレイヤーの操作に応じてアーマースタンドが移動する乗り物にしてください。」
というプロンプトでClineに処理させた結果↓
特定のトロッコアイテムに反応する部分はできましたが、出現させたアーマースタンドを操縦できるコードは出来ず。
それに"特別なトロッコアイテムを作って"という部分で自分は「アイテムを生成するコマンド」も一緒に出力されるのを期待してたので、全く無かったため残念だなぁと。
一応gradleビルドは成功したのでコード自体のエラーはないのですが、アーキテクチャ的な設計観点ではまだまだ足りないですね。 プロンプトもそこまで詳細に書いてないとは言え、ヴァイブコーディングの多くはこれぐらいざっくりした言葉で行う可能性があるのを考えるとクラウドモデルの方が絶対にいいでしょう。
LM Studioで直接モデルを利用すれば…
もしかしてモデル自体の精度が悪いのかとも思ったので、LM Studioで直接チャットをして似たようなコードを出力させてみた結果↓
(プロンプト: MinecraftのPaperプラグインで、特別なトロッコアイテムを作ってそのアイテムを右クリックすると小さなアーマースタンドをプレイヤーの位置に出し、プレイヤーを乗せてアーマースタンドを乗り物のようにプレイヤーの入力に合わせて操縦できるようなコードを作って)
結構いい線まで行ったコードが出力されました。上記画像はその概要ですが、指示通り「アイテム作成・乗車しての操縦」という根幹部分はできていますし、オブジェクト指向に基づくファイル分割も行われています。


↑一応の出力されたコード画像
指示に書いてないので当たり前ではありますが
・このコードだとアーマースタンドをテレポートさせてるので実はプレイヤーが降ろされる場合がある
・イベントでMoveEventを取得して加算し続ける謎コード(しかも多分使われてない)
という問題も抱えてます。アイテムの判定も"名前が合ってれば"なのでもう少し他の方法のほうが良いでしょう。
流石にローカルモデルの限界はある
VRAM16GB環境だからというのもありますが、やはりプロ並みの綺麗で整理されて誤作動も少ないコードを一発で出力というのは厳しいですね。 クラウドモデルでも指示以外のお節介がどの程度効くかは未体験なのでなんとも言えませんが、基本的にヴァイブコーディングだと他の機能への悪影響を出しやすいコードが生まれやすそうです。
特にMinecraftというプラットフォーム前提だと、効果範囲を限定しないと負荷も高まるし他のプラグインなどの挙動にも悪影響が出るので、ある程度プログラミングに理解のある人がちゃんとデバッグしないと厄介ですね。 プロトタイプの作成ではかなり優秀で時短にもなり得ますが、実際のサーバーなどに取り入れるには不具合など抱え込みすぎてる危険性が拭えません。
ローカルモデルでも、Macのユニファイドメモリ環境なら64GB相当のVRAM割り当てが可能ですし、それだけの規模のモデルを動かせば精度は上がるはずです。
ただ個人的には、ヴァイブコーディングのためだけにそんな高価なPCを買うくらいなら、時間はかかっても自分でプログラミングを学ぶほうがはるかに実用的だしコスパが良いんじゃないか、と感じますね。
終わりに
結局やはり人間が作るもののほうが、AI製より何かと優れている場合もまだまだ多く、趣味レベルから仕事レベルまでAIで置き換わるまではまだ時間がかかりそうです。 それでもプロトタイプなどの時間効率が重要な場面ではAIは今でも活躍しますし、結論としては活躍場所(活用法)を選ぶべき段階なのでしょう。
ヴァイブコーディング重視で色々テストしてましたが、実際の開発で補助扱いして細部の細かなコードを書かせる程度なら全然使えそうなのはAIの進化を感じますね。 というか学びたての初心者レベルは達してる、それがローカルで動くのは普通に凄いと思います。