monocle2ai/monocle

Monocle is a framework for tracing GenAI app code. This repo contains implementation of Monocle for GenAI apps written in Python.

What it solves

Monocle は、生成 AI アプリケーションやエージェント向けの可観測性とテスト機能を提供します。"ブラックボックス" の AI エージェントを透明なステップバイステップのトレースに変換し、開発者がモデル呼び出し、ツール呼び出し、ベクトル検索を接続されたタイムライン上で確認できるようにします。また、最終出力だけをチェックするのではなく、実際の実行トレースに対してアサーション(例: どのツールが呼び出されたかの検証)を行うことで、AI エージェントのテスト問題も解決します。

How it works

Monocle は OpenTelemetry 上に構築された GenAI 専用の可観測性レイヤーです。エージェント、プロンプト、ベクトル操作などのエンティティを span 属性にマッピングする メタモデル を使用します。LangChain、LlamaIndex、Haystack などの人気フレームワーク向けに インストルメンテーションアダプタ を提供し、手動でコードを組み込むことなく自動的にトレースを生成します。これらのトレースは OTLP 互換のスパンとして出力され、任意の標準可観測性バックエンドに送信したり、Okahu VS Code 拡張で可視化したりできます。

Who it’s for

  • アプリ開発者 – カスタム OpenTelemetry コードを書かずに GenAI アプリをトレースしたい方。
  • プラットフォーム・インフラエンジニア – アプリケーションコードをリファクタリングせず、ラッパーやオペレーターでトレースを注入したい方。
  • エンタープライズ・SRE – 標準化された OTel 準拠のトレースと、AI パイプライン向け CI フレンドリーなテストが必要な方。

Highlights

  • ネイティブ OpenTelemetry サポート: 任意の APM やコレクタと互換性のある標準 OTLP スパンを出力。
  • 自動インストルメンテーション: エージェントフレームワーク、LLM プロバイダー、ベクトルストアを幅広くサポート。
  • トレースベーステスト: monocle-test-tools を使用して、エージェントの振る舞い、ツール使用、トークンコスト、実行時間を pytest でアサート可能。
  • 柔軟なデプロイ: コード内初期化と、AWS Lambda などの環境向けゼロコードラッパー/オペレーターモードの両方を提供。
  • AI アシスタントのトレース: Claude CLI、OpenAI Codex CLI、GitHub Copilot のトレース用フックを提供。