Answerwatch – AIモデルの推奨内容の変化を追跡
Answerwatchは、異なるAIモデルが同じプロンプトに対してどのような推奨を行うかをローカルで追跡し、SQLiteに保存して静的なHTMLレポートを生成するオープンソースツールです。
Answerwatchは、AIモデルの推奨内容の変化を可視化するためのオープンソースのコマンドラインツールです。同じプロンプトを複数のモデル(OpenAIのGPTシリーズ、AnthropicのClaude、GoogleのGeminiなど)に送信し、それらの推奨を比較して、ローカルに監査証跡を保持できます。すべてのデータはローカルのSQLiteデータベースに保存され、外部への呼び出しはユーザーが行うモデルリクエストのみです。
このツールの主な機能は、以下の質問に答えることです:モデル間で合意はあるか?特定のモデルだけが挙げる推奨は何か?エンティティのランキングに大きな差はあるか?推奨は時間とともにどのように変化するか?Answerwatchは、モデル間のペアワイズ推奨一致マトリックス、コンセンサスエンティティ、最大ランク差、新規・削除された推奨を表示する静的なHTMLレポートを生成します。
使用法は簡単です。Python 3.10以上が必要で、pipでインストールできます。初回はanswerwatch initで設定ファイルとサンプルプロンプトを生成します。デモモードでは、answerwatch run --demoを実行すると、ネットワークリクエストなしで美しいダッシュボードが生成され、一致度、ランクギャップ、引用ドメイン、生の回答を確認できます。デモはAPIクレジットを消費しません。
実際の実行では、AnswerwatchはOpenRouterをゲートウェイとして使用し、1つのAPIキーで複数のプロバイダのモデルにクエリを送信できます。設定ファイルでは、使用するモデル識別子(例:openai/gpt-5.2、anthropic/claude-sonnet-4.5、google/gemini-3-flash-preview)を指定します。answerwatch runでクエリを実行し、answerwatch compareで結果を比較し、answerwatch reportでレポートを生成します。推奨の変化を確認するには、時間をおいて再実行し、--baseline previousオプションで比較します。
抽出メカニズムについて:バージョン0.1では、モデルに推奨を番号付きリストの先頭に配置するよう要求し、ローカルの決定論的パーサーがそれらのリスト項目を抽出します。生の回答と抽出された証拠の両方がSQLiteに保持され、監査可能性を確保します。ただし、生成されたURLが検証済みの引用であるとは主張しません。
ローカルデータはデフォルトで.answerwatch/ディレクトリに保存され、このディレクトリを削除すると全実行履歴が消去されます。開発にはPYTHONPATH=src python -m unittest discover -s tests -vでテストを実行できます。プロジェクトはConventional Commit形式のコミットメッセージを採用しています。
ロードマップ:現在の段階ではローカル実行、推奨比較、静的レポート、OpenRouterサポートを提供。次の段階ではエンティティ正規化の強化、構造化されたプロバイダ引用、スケジュールされたローカル実行を計画。将来の段階ではオプションのホステッド履歴、アラート、チーム、ブランドレポートを検討。このプロジェクトはMITライセンスで公開され、コミュニティからの貢献を歓迎します。詳細はCONTRIBUTING.md、CODE_OF_CONDUCT.mdなどのドキュメントを参照してください。