本記事のソースコードの利用によって生じた損害について、当方は一切の責任を負いません。ご自身の判断と責任のもとで参照・ご利用ください。
Gemma 4が優秀だという話を見かけました。Googleが公開しているオープンソースのLLMです。ローカルで動く。つまり、クラウドに依存しない。その一点が気になり、試してみることにしました。
やりたかったのは、カスタムAIエージェントの構築です。知識ファイルと指示ファイルを用意して、それを参照しながら応答を返してくれる仕組み。クラウドのAIサービスでは当たり前にできることを、自分のPC上で完結させる。
仕組みはシンプルです。まずOllamaというツールでGemma 4のモデルをローカルに動かします。
そこに、知識を記述したテキストファイルと、振る舞いの指示を記述したテキストファイルを読み込ませる。ローカルサーバーを起動すると、ブラウザ上にチャット画面が立ち上がります。
テキストエリアに入力して送信すれば、2つのファイルを参照した上で応答が返ってくる。追加の外部パッケージは不要で、標準ライブラリのHTTPサーバーだけで動きます。
Web UIにした理由は、複数行のテキストや長文の貼り付けに向いているからです。コマンドラインでも動きますが、長い文章を扱うなら画面があったほうが楽です。設定ファイルでポート番号や自動ブラウザ起動のオン・オフを変えられるようにしたので、自分の環境に合わせて調整できます。
{
"ollama_host": "http://127.0.0.1:11434",
"model": "gemma4:26b",
"system_prompt_path": "system/custom_instructions.txt",
"knowledge_dir": "knowledge",
"knowledge_extensions": [".md", ".txt"],
"max_knowledge_chars": 48000,
"stream": true,
"web_bind": "127.0.0.1",
"web_port": 8765
}
実際に動かしてみた感想としては、クラウドAIと同等の品質かと言われると、そこまでではありません。ただ、「それっぽく動く」という段階には到達しています。指示に沿った口調で返してくれるし、知識ファイルの内容を踏まえた応答もしてくれる。ローカルで、無料で、自分のPCだけで完結する環境としては、十分に可能性を感じました。
現時点では、動作確認をしただけです。何ができて何ができないか、向き不向きの検証はこれからです。知識ファイルと指示ファイルの内容を変えれば、用途に応じたエージェントを作れるはずなので、いくつかパターンを試してみようと思っています。
具体的にどう使うかは、まだ決めていません。ただ、本業で使えるかどうかは考えたいところです。たとえばコーディング規約を知識ファイルに入れておけば、それに沿ったレビューや提案ができるかもしれない。あるいは、定型的な問い合わせ対応のひな型を返してくれるエージェントにするか。まだ空想の段階です。
ふと思ったのは、この仕組み自体をパッケージにして売れないか、ということです。知識ファイルと指示ファイルを差し替えるだけで、誰でも自分専用のAIエージェントを作れる。クラウドに月額を払い続ける必要もない。需要があるかどうかはわかりませんが、物は試しで、条件付きの格安販売を検討してみようかと考えています。
売れなくても、自分の手元に使える道具が一つ増えた。それだけで十分です。