
ローカルLLMでテスト自動化やってみた
2025年08月18日 13:50
1.ローカルLLMとは?
ローカルLLMは、クラウド環境ではなく、オンプレミスな環境で運用する大規模言語モデルです。ローカルLLMはインターネット接続を必要とせず、外部とデータの送受信を行わないため、機密性の高い情報を安全に扱うことができます。また、AIが外部のデータから学習することを避けたい場合にも、ローカルでの処理が適しています。
2.クラウド型LLMとの違い
クラウド型LLMは、インターネットを介してクラウドサーバ上でモデルを実行しています。ローカルLLMはサーバーや個人デバイス上で直接実行されます。クラウド型はデータのプライバシーやセキュリティに関する懸念が伴うことが多く、ローカルLLMは、これらの懸念を大幅に軽減することができるため、特にセキュリティが重視される業界での採用が進んでいます。
3.ローカルLLMを業務で利用するメリット
✅LLMモデルのカスタマイズが可能
社内向けに特化したモデルとしてカスタマイズすることが可能。クラウド環境を使用しないため、社内の内部情報や資料などを用いて企業独自のニーズに応じたAIモデルを構築することが可能。特定のニーズや業務プロセスに合わせてモデルに変更を加えることで、より精度の高いアウトプットを得ることができます。
✅コストの削減
ローカルLLMは長期的なコスト削減が可能です。クラウド型では利用量や活用する内容に応じた課金が発生する場合が多く、長期間にわたって使用する場合はコストが増大する可能性があります。一方、ローカルLLMは初期導入費用がかかるものの、ランニングコストが低いため、長期的にはコストメリットがあります。
✅情報漏洩などのセキュリティ対策
情報漏洩などのセキュリティ対策としても、ローカルLLMは有効です。データが外部に送信されることがないため、情報漏洩のリスクを大幅に低減できます。 特に、機密性の高い情報を扱う企業にとってセキュリティは最優先事項であり、その点でローカルLLMは非常に有効です。
✅ファインチューニングが可能
ローカルLLMはファインチューニングによって、特定の業務やタスクに特化したモデルを構築できます。 ただし選択するモデルによっては、ファインチューニングを禁止しているモデルも存在します。
※ファインチューニング:事前学習済みのモデルを、特定のタスクやデータセットに合わせて再トレーニングし、モデルのパラメータを微調整すること
4.ローカルLLMを業務で利用するデメリット
✅管理工数がかかる
LLMモデルの運用管理が必要になる。
✅初期導入にコストがかかる
ローカルLLMはモデルを業務に適した形で利用するためのファインチューニングなどが必要になり 専門的な知識が必要になることがあります。
5.ローカルLLMを使ってテスト自動化
✅使用ツール
LM Studio : ローカルLLMを動かすためのツール
VSCode : テスト自動化のスクリプトを作成するためのコードエディタ
Playwright:Webブラウザを操作するための自動テストツール
Cline:VSCodeなどのIDE上で動作するAIエージェント
✅使用するローカルLLMの選定
LM Studioからコードアシスタントに向いていそうなAIモデルを選定します。ローカルLLMは様々な種類やバージョンがリリースされているため、目的や用途に合わせたモデル選択が重要となってきます。 また、使用するPCのハードウェアやスペックに依存するので、その点も考慮してモデル選択することが大切です。 今回は CodeLlamaのライトモデル を使用してみました。
✅VSCodeからClineを使用し、選定したAIモデルを使用し、テスト自動化のスクリプト作成を依頼してみた。内容は簡易的なログインテストを実施するもの。
#テスト手順と検証
ブラウザで簡易ログイン画面を開く。
「ユーザー名」を入力する。
「パスワード」を入力する。
「ログイン」ボタンを押す。
期待結果の確認: 以下の文言が表示されている。
"マイページ画面へ遷移すること"
↑検証用 ログイン画面
↑検証用 マイページ画面
6.ローカルLLMを使ってテスト自動化 自動化した結果
✅PCのスペックの問題かもしれないですが、プロンプトを投げて応答が返ってくるまでのレスポンスに相当時間がかかりました(5分ぐらい)
✅ログイン画面にてログインボタンをクリックする操作が実装されていない
✅パスワード入力で指定した値が入力されていない(途中までしか入力されていなかった)
✅上記手動で修正後、期待結果の確認でそもそもマイページへの遷移を確認しておらず、ログアウトの処理を試みていた(その部分もちゃんと動いていなかった)
7.まとめ
今回はひとつのローカルLLMにて検証を行いましたが、使用したLLMのモデルに関しては精度はまだまだで、とても業務で実用的に使えるものとはほど遠い感じがしました。コードアシスタンスに適した他のモデルでの検証も試してみたいと思いますが、あくまで現状ではコードを書く上での補助的な役割ぐらいの感覚で使用した方が良さそうです。