LLMock: プロセス間での決定論的LLMテストのためのHTTPベースのモッキングサーバー

LLMockは、指定されたポートで実際のHTTPサーバーとして動作し、LLM API呼び出しをインターセプトするモッキングサーバーです。有料APIを叩くことなく、複数プロセスにわたる決定論的なテストを可能にします。
主要な詳細
このツールは、ある開発者がPlaywrightテストを実際のOpenAI APIに対して実行して12ドルを費やした後に発見されました。問題は、MSW (Mock Service Worker) を使用した際に発生しました。MSWはserver.listen()を呼び出すNode.jsプロセス内のHTTPモジュールをパッチしますが、別のプロセス(Pythonエージェントなど)にはモッキングが全く認識されないのです。
LLMockでは、Node.js、Python、その他の言語を問わず、すべてのプロセスからOPENAI_BASE_URL環境変数をモックサーバーに向けます:
const mock = new LLMock({ port: 5555 });
await mock.start();
process.env.OPENAI_BASE_URL = "http://localhost:5555/v1";フィクスチャーは、ユーザーメッセージの部分文字列や正規表現パターンにマッチするプレーンなJSONファイルで、ハンドラーの定型コードを排除します:
{
"fixtures": [
{
"match": { "userMessage": "stock price of AAPL" },
"response": { "content": "アップル株式会社 (AAPL) の現在の株価は150.25ドルです。" }
}
]
}ソースからの主な機能:
- 実際のOpenAI/Claude/Gemini SSEフォーマットを正しく話す(イベントタイプを間違えるとストリーミングが微妙に壊れる)
- 完全なツール呼び出しサポート - エージェントフレームワークは通常通り実行する
- 述語ルーティングにより、システムプロンプトの状態やマルチエージェントフローのメッセージ履歴を検査可能
- リクエストジャーナルで、テストが通過したかどうかだけでなく、実際に何が呼び出されたかをアサート可能
- 依存関係ゼロ
開発者は、3つのPlaywrightテストにまたがる9回のLLM呼び出しを、コスト0ドルで実行し、毎回決定論的な結果を得ることに成功しました。
📖 ソース全文を読む: r/LocalLLaMA
👀 See Also

MCPサーバー:ローカルとクラウドのLLMをディベート機能で比較
MCPサーバーは、開発者がOllamaを介してローカルモデルと様々なクラウドLLMをクエリできるようにし、並列比較や構造化された議論機能などの特徴を提供します。

Claude Code Karma:Claude Codeセッションのためのローカル可視化ダッシュボード
Claude Code Karmaは、~/.claude/のJSONLファイルを解析してClaude Codeセッションデータを可視化し、ツール使用状況を追跡し、サイレント障害を監視するオープンソースのローカルダッシュボードです。FastAPI、Svelte-Kit 2、Svelte 5、SQLiteで構築されており、完全なセッションタイムラインとライブ追跡を提供します。

コグニソア:PGE三位一体アーキテクチャを備えたローカルファースト・エージェントOS
Cognithorは、16の開発フェーズを経て1年以上かけて構築された、完全ローカルで自律的なAgent OSです。PGE Trinityアーキテクチャ(Planner → Gatekeeper → Executor)を特徴とし、11,609以上のテストと89%のカバレッジを達成。OllamaやLM Studioを含む16のLLMプロバイダーをサポートしています。

Claude DesktopでのMCPサーバーの構築とテスト:アーキテクチャと学び
開発者がClaude Desktop内でMCPサーバーを構築・テストした経験を共有し、アーキテクチャのセットアップやツールスキーマ、デバッグ、制限事項に関する実践的な学びを詳細に説明しています。