AIオブザーバビリティLLMオープンソースセルフホスト
記事サマリー
AIアプリ開発に必要なトレーシング・評価・プロンプト管理・本番監視を1つの画面にまとめたオープンソース「Opik」(Comet提供)をGIGAZINEが実際にセルフホストして試したレビュー記事。無料で利用でき、Dockerを使えばローカル環境に簡単に構築可能。トレースの確認、Test Suitesによる自動評価、Prompt Libraryによるプロンプトのバージョン管理など、LLMアプリ開発の品質向上に必要な機能が一通り揃っている。
🔍 LLMアプリの「何が起きたか・なぜ改善/悪化したか」を可視化する無償&セルフホスト可能な統合プラットフォーム
Opikの利用方法(トレーシング)
- 追跡したいAIアプリで呼び出すLLMをOpikでラップするだけで、入力プロンプト・生成結果・使用モデル・トークン使用量・処理時間・コスト情報がOpikサーバーに送信される
- Gemini APIなら
track_genai(client) でクライアントをラップ、処理単位には @track デコレーターを付けるだけでトレース可能
from google import genai
from opik.integrations.genai import track_genai
client = genai.Client(api_key=os.environ["GEMINI_API_KEY"])
gemini = track_genai(client)
from opik import track
@track
def search_information(query):
…
@track
def generate_answer(question):
…
実際の検証例では「東京タワーとスカイツリーの比較」タスクで、結果の正誤だけでなく、AIエージェントがどのツールを経由して回答を作ったかのトレースや利用コストを確認できた。改良版では期待通りの回答と高速化を達成した一方、総トークンが6倍に増加(プロンプト消費が原因)と判明するなど、「なぜ改善・悪化したか」の調査ができるのが強み。
Test Suitesで回答を自動評価
- あらかじめ条件を登録しておき、修正前後のAIエージェントを同じ質問で実行して比較できる
- 例:「両方の高さが記載されている」「東京タワー=333m」「スカイツリー=634m」「差=301m」といった条件を設定
opik.run_tests(test_suite=suite, task=task) を実行すると、条件を満たすかをOpikが判定し PASSED / FAILED を表示
Prompt Libraryでプロンプト管理
- プロンプトを保存し、修正前後の差分比較やバージョン指定での再利用が可能
- バージョン未指定なら常に最新版を取得 — Pythonコードを書き換えずに管理画面でプロンプトを編集→再実行で動作確認できる
version="v3" のように固定すれば過去の実行結果の再現にも利用可能
その他の機能
- Prompt Playground:複数のプロンプトやモデルを並べて実行し、生成結果・トークン量・処理時間を比較。Test Suitesとの組み合わせも可能
- Agent Playground:ローカルのAIエージェントをOpikから実行し、パラメーターを変更しながらTraceを確認。コード書き換え不要
- Online Evaluation rules:本番環境のTraceをLLM-as-a-Judgeで自動評価。ハルシネーション・不適切内容・回答の関連性を継続監視
- Guardrails:個人情報・特定トピック・プロンプトインジェクションを検出し入出力を制限。独自ルール判定やカスタム分類器にも対応
- Agent Optimizer:Test SuitesやDatasetの評価結果を基準にプロンプトを自動改善。複数プロンプトのエージェント最適化にも対応
- MCPサーバー:Claude Code・Codex・CursorなどからOpikへ接続し、Trace確認や評価を会話形式で操作可能
Opik vs Langfuse
同系統のオープンソースとしては「Langfuse」が広く利用されている。セルフホスト環境で両者を比較した記事(elest.ioブログ)によると、それぞれ次のような役割分担:
Opik評価・テスト・CI連携を重視。Test Suitesや自動評価まわりが強み
Langfuseトレーシング・統合機能・チームでの運用に強み
セルフホスト構築手順(記事の実演)
- 検証環境:Windows + Docker Desktop + Python + Git Bash
- リポジトリをクローンしてインストールスクリプトを実行するだけ
git clone https://github.com/comet-ml/opik.git
cd opik
powershell -ExecutionPolicy ByPass -c ".\opik.ps1"
- ブラウザで
http://localhost:5173/ にアクセス → 登録フォームの「Skip and go to Opik」をクリックで開始
- Pythonライブラリをインストール:
pip install opik
- ローカル環境を登録:
opik configure --use_local(プロジェクト名の設定もここで)
- AIコーディングクライアント(Claude Code / Codex / Cursor)があればMCPサーバーとSkillのインストールを選択可能
- エージェントに「Opikのプロジェクト一覧を表示してください」と指示して一覧が出れば構築完了
この記事の要点まとめ
- LLMアプリ開発の観測・評価・プロンプト管理を無償で一元化できるオープンソース
- Dockerで数コマンド、セルフホスト可能なので社内データを外に出さずに運用できる
- トークン増加の原因特定など「改善の裏側」まで見えるのが独自の価値
- Langfuseと機能が被る部分が多いので、評価・CI連携重視ならOpik、トレーシング・チーム運用重視ならLangfuseが目安