ネット上でよく見かける一言で AI にゲームを作らせるのような、実際ファイル作成して、コードを書いてもらう機能があります。Coding Agent を導入することで実現できます。
今回はこれを入れてみたいと思います。
Coding Agent とは
Coding Agent(コーディングエージェント)とは、LLM(大規模言語モデル)を利用して、単にコードを生成するだけではなく、実際の開発作業を自律的に進めるAIエージェントです。
通常のAIチャットでは、
ユーザー:「Pythonでこの機能を書いて」
AI:「このようなコードになります。」
というように、基本的にはコードを回答として生成します。
一方、Coding Agent は以下のような作業を行うことができます。
- ユーザーの要求を理解する
- プロジェクト内のファイルを確認する
- ソースコードを読む
- 必要なコードを作成・修正する
- コマンドを実行する
- エラーやログを確認する
- 問題があれば再修正する
- テストを実行する
つまり、単なる「コード生成AI」ではなく、AIに実際の開発作業を任せるための仕組みです。
Coding Agent と OpenWebUI について
Coding agent を導入すると以下の構成になります。
┌→ Open WebUI ──────┐
│ チャット │
ユーザー ────┤ ├→ llama.cpp/ollama → Qwen → GPU
│ │
└→ Coding Agent ─────┘
AI コーディング対話
+ ファイル読み込み
+ コード修正
+ コマンド実行
+ テスト
Coding Agent も対話は可能です。そのため、開発がメインの使い方では、Coding Agent が Open WebUI の代わりになることも可能です。
ただ、指示をそのまま実行するので、チャット系よりは慎重に扱う必要があります。
Coding Agent ができること
代表的な機能には以下があります。
- ソースコードの解析
- プロジェクト構造の確認
- ファイルの作成
- ファイルの編集
- バグ修正
- コードのリファクタリング
- Terminal / Shell コマンドの実行
- テストの実行
- エラーログの解析
- 複数ファイルをまたいだ修正
Coding Agent の選択
Agent はいろいろありますが、OpenCode と Continue を試して、結局 Ollama との相性がよくなかったので、いろいろ問題が起きていました。
なので、せっかくなので、Ollama をやめて、llama.cpp の方を入れて試してみようと思います。※ Ollama をアンインストールする必要はないです。
- 現在 open webui は Docker 環境で作っているので、llama.cpp 接続させるのに、llama.cpp の公開範囲が広くなってしまいます。
- Openwebui + ollama の構成はそのまま残します。
llama.cpp インストール
- GitHub公式の llama.cpp Releases を開きます。
- Windows向けの CUDA版 を選びます。現在のReleaseでは、たとえば以下の系統があります。
- Windows x64 (CUDA 13):NVIDIA 比較的に新しい GPU が使う ※
nvidia-smiコマンドで確認可能- 自分の GPU は NVidia 4060Ti 16GB を使っています。
- 下記両方ともダウンロード:
- Windows x64 (CUDA 13)
- CUDA 13.4 DLLs
- Windows x64 (CUDA 13):NVIDIA 比較的に新しい GPU が使う ※
- ダウンロードしたファイルを解凍して、
c:\AIフォルダを作って、解凍したフォルダを配置します。AIフォルダは任意なので、他のパスでもOK- ダウンロードした DLL ファイルは llama.cpp のフォルダに配置
- llama.cpp のフォルダー内に、
modelsフォルダを作成します・- これはモデルを配置するためのフォルダ
- Coding Agent 用のモデルをダウンロードします。
- https://huggingface.co/npario/Qwen3.8-27B-GSQ-RCO-GGUF?utm_source=chatgpt.com
- 以下のファイルをダウンロード
- モデル:Qwen3.8-27B-GSQ-RCO-IQ2_S-mtp.gguf
- MTP利用可能:MTP版は約0.35GB増える代わりに、Multi-Token Prediction headを内蔵して、llama.cppの speculative decodingに使えます
- Vision encoder + projector:mmproj-Qwen3.8-27B-BF16.gguf
- ダウンロードしたモデルを
modelsフォルダに配置 - Powershell を起動して、llama.cpp のフォルダに移動して、以下のコマンドを実行
# フォルダ移動
cd C:\AI\llama-b11199-bin-win-cuda-13.4-x64
# 説明を確認する
.\llama-server.exe --help
- llama.cpp フォルダに
start.batファイルを作成し、下記の内容を書き込んで、保存します。- -m:モデルファイルを指定
- -c 65536:「AIの作業用メモ帳に、最大どれくらいの情報を保持できるか」を決める設定
- -ctk/-ctv q8_0 :「そのメモ帳の内容を、どの程度の精度で保存するか」を決める設定
- (KV Cache)短期記憶域
- --port 8085:公開ポートを 8085 にする
- --host 127.0.0.1:ローカルホストで接続
@echo off
title Qwen3.8-27B GSQ+RCO IQ2_S-MTP - llama.cpp
cd /d "%~dp0"
echo.
echo ========================================
echo Qwen3.8-27B GSQ+RCO IQ2_S-MTP
echo llama.cpp Local AI Server
echo ========================================
echo.
llama-server.exe ^
-m "models\Qwen3.8-27B-GSQ-RCO-IQ2_S-mtp.gguf" ^
--mmproj "models\mmproj-Qwen3.8-27B-BF16.gguf" ^
--host 127.0.0.1 ^
--port 8085 ^
-c 65536 ^
-ngl 99 ^
-fa auto ^
-ctk q8_0 ^
-ctv q8_0 ^
--jinja ^
--parallel 1 ^
--alias Qwen3.8-27B-GSQ-RCO-IQ2_S-MTP ^
--temp 1.0 ^
--top-p 0.95 ^
--top-k 20 ^
--min-p 0 ^
--repeat-penalty 1.0 ^
--spec-type draft-mtp ^
--spec-draft-n-max 3
pause
- bat ファイルをダブルクリックして、llama.cpp を実行する
- ターミナルを閉じると llama.cpp も終了しますので、閉じないでください。
- 下記の画面が出たら、最後に表示された URL でアクセスが可能になります。

- 上記の設定のままで、以下の接続方法になります
- 直接ブラウザでアクセス:http://127.0.0.1:8085
- OpenAI 互換 API の設定時:http://127.0.0.1:8085/v1
- ローカル接続なので、API キーは空欄で問題ない
OpenCode をインストールと設定
- 公式サイトから、インストーラをダウンロードして、実行します。(特に確認なしでインストール完了)
- インストール後、下記の画面が表示されます。

- 左上の
三マークをクリックし、「ファイル」→「設定」で、設定画面に移動します。

- 「プロバイダー」タブの一番下に移動し、「さらにプロバイダーを表示」をクリックします。

- 「OpenAI互換のカスタムプロバイダー」を選択します。

- ベースURLは
http://127.0.0.1:8085/v1に設定します。- プロバイダーID、表示名は任意ですが、llamacpp とかで OK
- API キーについて、ローカルモデルなので、空欄でもOK
- モデルIDやモデル名は
Qwen3.8-27B-GSQ-RCO-IQ2_S-mtpでいい

- 一番下に移動して、「送信」をクリックします。
※ 現在 カスタム登録は issue があり、GUI でできないらしいです。Config ファイルに直接登録します。
- やり方:
- ワークスペースのフォルダに
opencode.jsonファイルを作成します - 下記内容を入れて保存します。
- OpenCode の limit + compaction は「context(メモ帳)がいっぱいになる前に、いつ古い内容を整理・圧縮するか」を決める設定
- ワークスペースのフォルダに
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"llamacpp": {
"npm": "@ai-sdk/openai-compatible",
"name": "llama.cpp Local",
"options": {
"baseURL": "http://127.0.0.1:8085/v1"
},
"models": {
"Qwen3.8-27B-GSQ-RCO-IQ2_S-MTP": {
"name": "Qwen3.8 27B IQ2_S MTP"
}
}
}
}
}
- OpenCode を再起動して、モデル管理を開きます

- Qwen3.8-27B-GSQ-RCO-IQ2_S-MTP を有効にします。

- すると、モデルで、Qwen3.8-27B-GSQ-RCO-IQ2_S-MTP を選択できるようになります。
テスト
以下の指示でテストしてもらって、結果を確認します。※ そこそこ時間がかかります。
このWorkspaceと現在のOpenCode設定を調査してください。
目的:
以下を実行してください。
1. 現在のWorkspace内の設定ファイルを確認する
2. OpenCodeの設定内容を確認する
3. 使用中モデルとContext設定を整理する
4. llama.cpp接続構成を整理する
5. 長時間Agent処理で問題になりそうな点を分析する
6. 必要なら関連ファイルを読む
7. 必要ならTerminalで確認コマンドを実行する
8. 推測と確認済み事実を分ける
9. 最後に、
- 現在の構成
- 確認できた事実
- 潜在的な問題
- 改善案
を整理して報告する
途中で結論を急がず、必要な確認をしてから最後まで完了してください。
テスト結果について
上記テストの結果の助言により、自分の設定を見直して、下記のようになりました。
※ 設定時は、特に自分で設定する必要はなく、Agent に変更してって命令すれば、更新してくれます。
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"llamacpp": {
"npm": "@ai-sdk/openai-compatible",
"name": "llama.cpp Local",
"options": {
"baseURL": "http://127.0.0.1:8085/v1"
},
"models": {
"Qwen3.8-27B-GSQ-RCO-IQ2_S-MTP": {
"name": "Qwen3.8 27B IQ2_S MTP",
"limit": {
"context": 65536,
"output": 16000
}
}
}
}
},
"compaction": {
"auto": true,
"keep": { "tokens": 15000 },
"buffer": 20000
}
}
セキュリティ設定
ローカルモデルなので、外からの攻撃は基本ないです。
ただ、shell 実行する権限があるので、実質パソコンに好き放題できることも事実です。
安全面では、まず下記のように厳しく設定するのもありです。
- 設定方針例:
ファイルを読む → 自動許可 ファイルを検索する → 自動許可 コードを検索する → 自動許可 コードを作成・修正する → 自動許可 Webを調査する → 自動許可 Gitの状態を確認する → 自動許可 Workspace外へアクセス → 確認 未登録コマンドを実行 → 確認 Git commit → 確認 Git push → 確認 Git reset → 確認 Git clean → 確認 ファイルを削除 → 確認 ディレクトリを削除 → 確認 .env系機密ファイル → 禁止この設定も設定ファイルで手動編集できますが、Agent にやってもらいましょう
起動方法整理
- bat ファイルをダブルクリックして llama.cpp サーバー起動
- opencode を立ち上げて利用する
Tips1:アプリ開発時の追加指示
共通規則を用意した。アプリケーション開発時にここに置いておきます。
MyNewProject/
├── AGENTS.md ← 通用規則
├── README.md
├── src/
└── ...
また、開発開始時以下の指示を合わせて指示する。これで AI が無理やりなんでも自分でやるんじゃなくて、AI が難しいが人間で簡単に確認できるものを依頼してくることで、効率を上げることができます。
Follow AGENTS.md throughout this task.
Before implementation:
1. Inspect the project.
2. Summarize the relevant existing architecture.
3. Give me a short implementation plan.
4. Identify anything that would be faster for me to verify manually.
During development:
- Keep scope limited to my requirements.
- Build/test incrementally.
- Ask me for manual verification when that is more efficient than building GUI automation.
- Do not spend excessive time perfecting auxiliary test infrastructure.
At completion:
- Produce the final build/publish if applicable.
- Separate implemented / automatically verified / user verification required.

コメント