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

OmniCoder-9Bのファインチューニングは、8GB VRAMシステム上でのエージェント型コーディングにおいて優れたパフォーマンスを示しています。
Redditユーザーが、OpusトレースでQwen3.5-9BをファインチューニングしたOmniCoder-9BをOpenCodeでテストし、8GB VRAMシステムで100kコンテキスト長のQ4_K_M GGUF量子化を使用して毎秒40トークン以上の速度を報告しました。

Claude Code用の永続的サイドパネルと自律的なコンテンツ管理
開発者が、ターミナルの横にあるiTerm2の分割ペイン内に配置するTUIパネルを作成しました。このパネルには3つの固定パネルがあり、Claudeが自律的にコード、図解、ステータス更新などの関連コンテンツを表示します。

マーケティング・ウィズダム MCP:スタートアップ洞察のための無料セマンティック検索
無料のMCPサーバーが、My First MillionとStarter Storyのポッドキャスト1,040エピソードから抽出した6,700の洞察をセマンティック検索で提供します。成長、マーケティング、ビジネス戦略に関する創業者の知恵を検索する4つのツールを備えています。

GitHubのSpec-KitとClaude Codeを2ヶ月使ってみて: 有効な点、改善が必要な点
開発者がGitHubのSpec-Driven DevelopmentツールキットをClaude Codeで使用した実践的なノートを共有。5フェーズのワークフロー、ドリフト問題、オーバーヘッドのトレードオフ、セットアップのコツをカバー。