Opslane: ユーザーセッション分析による自動バグ検出と解決
Opslaneは、実際のユーザーセッションを監視し、修正のための検証済みプルリクエストを自動生成することで、ユーザーに影響を与える問題を特定する自動バグ修正システムです。従来のエラー追跡とは異なり、Opslaneは明示的な例外だけでなく、ボタンの反応がない、フォームが機能しないといった「サイレント」なバグも検出し、影響を受けるユーザー数に基づいて優先順位を付けます。
エラーからプルリクエストへの自動パイプライン
Opslaneは、6つのステップからなる自動パイプラインを通じて、本番環境のエラーをコードの修正へと変換します。このシステムは、影響が大きく、検証可能なバグのみが開発者のレビューに到達するように設計されています。
- Capture: ブラウザSDKがエラーとセッション録画をキャプチャし、インジェクションサービスに送信します。機密データを保護するため、デフォルトで入力マスキングが有効になっています。
- Group: システムはソースマップを使用して、難読化されたスタックトレースを元のソースファイルにマッピングし、同一のバグを単一のイシューにグループ化します。
- Qualify: Opslaneは、ユーザーへの影響(頻度と直近の発生状況)に基づいてイシューをフィルタリングし、コードベースを分析して、そのバグが真の製品上の問題であるかどうかを判断します。
- Investigate: 自律的なワーカーがリポジトリをクローンし、コードを分析して根本原因を特定します。
- Verify: 提案された修正は、E2Bを使用したサンドボックス環境で実行されます。システムは、修正が機能すること、およびデグレ(退行)が発生していないことを検証します。さらに、2つ目のAIモデルが品質のために変更内容をレビューします。
- Deliver: 検証済みの修正はプルリクエストとして提出されます。自動的に修正できないイシューは、人間による判断が必要な理由について詳細な説明とともにドキュメント化されます。
技術アーキテクチャと統合
Opslaneはセルフホスティング向けに設計されており、現在はJavaScriptアプリケーションをエンドツーエンドでサポートしています。スタックは、状態管理とジョブキューイングにPostgresを使用し、セッション録画のS3互換ストレージとしてMinIOを使用する、単一のDocker Composeファイルに集約されています。
自動調査と修正を行うために、Opslaneは以下の3つの外部サービスと統合しています:
- Anthropic: AIによる調査とコード生成を担います。
- E2B: ビルドとテストを実行するためのサンドボックス環境を提供します。
- GitHub: リポジトリのクローンとプルリクエストの提出を処理します。
開発者のワークフロー向けに、OpslaneはMCP (Model Context Protocol) サーバーを提供しており、コーディングエージェントがターミナルから直接ダイジェストを取得、調査内容を読み取り、修正を適用することが可能です。また、Slackと統合して、何が壊れたのか、何がマージ準備完了なのか、何が人間の介入を必要とするのかについて、日々のダイジェストを提供します。
コミュニティの視点とプライバシーに関する考慮事項
Opslaneのセッション録画とAI駆動による修正というアプローチは、プライバシーと業界標準に関する議論を巻き起こしています。
プライバシーとデータ収集
一部のユーザーは、ユーザーセッションの録画と、そのデータをAIプロバイダーに送信することについて、強い懸念を表明しています。ある批評家は次のように述べています:
The end-user recording aspect makes this an absolute non-starter for me... The way the industry is normalizing a complete abandonment of user privacy absolutely boggles my mind.
逆に、他のユーザーは、セッション録画はPostHog、Microsoft Clarity、およびHotjarといったツールですでに業界標準の慣行であり、セッション録画をAIで分析することは、ソフトウェアの安定性を向上させるための論理的な進化であると主張しています。
市場のポジショニング
オブザーバーは、OpslaneがPostHogの「Scouts」と機能的な類似点があることに注目しています。Scoutsも、エージェントを利用してイベントデータとセッションリプレイを分析し、問題をトリアージし、プルリクエストを提案します。
デプロイメントとライセンス
OpslaneはAGPL-3.0ライセンスの下でリリースされていますが、クライアントサイドのアプリケーションへの統合を容易にするため、ブラウザおよびPython SDKと共有型(shared types)はMITライセンスの下で提供されています。プロジェクトは現在pre-1.0の状態にあり、イベントのワイヤー契約(wire contract)は安定していますが、他のインターフェースは進化する可能性があります。
Sources
関連
- Dispatch
- プロジェクト
- プロジェクト