OpenResty XRay AI アシスタントは、OpenResty XRay コンソールに組み込まれた AI 解釈エンジンです。動的トレーシングで収集した実際のランタイムデータを直接読み取り、フレームグラフ、サンプリング結果、分析レポートを自動的に解釈し、結論と次に取るべきアクションを提示します。 現在ベータ版として、すべてのユーザーに公開されています。

フレームグラフを読み解くには経験が必要であり、それを他者に説明するには時間がかかります。多くのチームでは、OpenResty XRay の分析レポートを本当に読み解けるのは 1 人か 2 人だけです。本番環境で CPU が急騰した際、レポートは 5 分で出力されます。しかし「レポートが何を意味し、次に何をすべきか」については、結局、最もベテランのエンジニアの手が空くのを待たなければなりません。

AI アシスタントは、まさにこのボトルネックを解消するために生まれました。OpenResty XRay が収集した実際のランタイムデータに直接立脚し、フレームグラフ、サンプリング結果、分析レポートを結論と実行可能なアドバイスへと翻訳します——チームの誰もが、独力でプロレベルのパフォーマンス診断を完了できるようにするのです。

早期ベータアクセス:AI アシスタントは現在ベータ版として、すべてのユーザーに公開されています。この段階では、皆様からの一つひとつのフィードバックが、機能の進化の方向性を直接左右します。弊社は、最も早期からご利用いただく熱心なユーザーの皆様とともに、本当に手に馴染むツールへと磨き上げていきたいと考えております。

「レポートを ChatGPT に貼り付ける」のと何が違うのか?

汎用チャットボットが認識できるのは、貼り付けられたテキストだけです。一方、OpenResty XRay AI アシスタントは:

  • 分析データに直接アクセスします。読み取るのは、OpenResty XRay が非侵襲的な動的トレーシングで収集した実際のランタイムデータです——ログの要約でも、手作業でまとめた説明でもなく、サンプリングレベルの生の事実そのものです。
  • コンテキストを自動的に把握します。現在どのターゲットマシン、どのアプリケーション、どのレポートを閲覧しているかを把握しているため、コピー&ペーストも、背景の説明も不要です。
  • OpenResty XRay のアナライザー体系を理解しています。各アナライザーが何を測定しているか、指標間の因果関係、そして OpenResty/Nginx 内部の仕組みの意味を把握しています。

言い換えれば、汎用 AI は現場に来たことのないコンサルタントであり、OpenResty XRay AI アシスタントは、ずっとサーバールームに立っている同僚なのです。

3 つの典型的なシナリオ

シナリオ 1:本番環境の突発的な問題を、ページを見ながら質問する

深夜 2 時、あるアプリケーションの CPU が突然振り切れます。ターゲットマシンのページを開くと、OpenResty XRay はすでにサンプリング分析を自動で完了しています。

ページ右下の AI アシスタントのポップアップをクリックすると——現在のページの完全なコンテキストが自動的に付加され、そのまま質問できます。以下は、デモマシン上で典型的な CPU インシデントを再現した後の、AI アシスタントとの実際の対話です。

最初の質問:「このマシンの過去 1 時間の CPU 使用率異常の主な原因は何ですか?」

AI アシスタントは即座に原因を特定し、すべての結論はサンプリングデータに基づいています:

  • 主な CPU 消費者は nginx: worker process(PID 15485)——OpenResty/Nginx マスタープロセスの子プロセスで、複数のサンプリング時点にわたり 約 98% CPU を持続的に占有;
  • ホスト全体の CPU は飽和しておらず、user 約 26%、system 7–9%、idle 約 64%——つまりマシン全体の CPU 枯渇ではなく、1 つの worker/コアに集中したワークロードであることを示しています。

OpenResty XRay AI アシスタントのポップアップが nginx worker プロセス PID 15485 を CPU 異常の主因として特定

続けて最適化の提案を求めました。AI アシスタントは一般論のチューニングリストを並べるのではなく、実行可能な診断パスを提示しました:

  1. まず lj-lua-on-cpu で Lua の実行をプロファイリングする——OpenResty にとって最も基本的で有効な診断です。フレームグラフの頂部に Lua アプリケーションのフレームが現れたら、そのホットなハンドラーを最適化します:リクエストごとの重複計算を排除し、安全に再利用できる結果をキャッシュし、そのパスでの不要なパース/シリアライズを減らします;
  2. Lua が支配的でなければ lj-c-on-cpu または c-on-cpu でネイティブ CPU を確認する——LuaJIT 関連のネイティブ処理には lj-c-on-cpu、Nginx/ネイティブライブラリの処理には c-on-cpu を使います。

OpenResty XRay AI アシスタントが lj-lua-on-cpu → lj-c-on-cpu の順で採取する診断パスを提案

そして、このマシンの実際の「病巣」はまさにその通りでした:log フェーズに、リクエスト/レスポンスの完全なコンテキストを毎リクエスト JSON にシリアライズする監査ログのコードが仕込まれており、Lua-Land CPU フレームグラフには cjson のエンコード呼び出しがはっきりと現れています——AI が提案した最初の診断ステップが、根本原因を真っ直ぐに指していたのです。

この間、現在のページを離れることなく、データを一切コピーすることなく、答えはトラブルシューティングの現場そのものにあります。ポップアップ内の会話は自動的に保存され、後から AI アシスタントのページで追加の質問を続けたり、同僚と共有したりできます。

シナリオ 2:定例レポートの振り返りを、2 分で全体把握する

OpenResty XRay はターゲットマシンの分析レポートを継続的に生成します。すべての項目を一つずつ読むのは時間がかかります。数十台のマシンを管理している場合はなおさらです。

Report Insights ページに新設された「レポート解釈」タブでは、AI が先に一通り読んでくれます:

  • このマシンの全体的な健康状態を一段落で要約し
  • 数十件のレポート項目から、本当に注目に値する 2、3 の問題を選び出し
  • 問題どうしの関連——たとえばメモリ増加と、ある Lua モジュールの挙動との関係——を指摘します。

これは毎朝の「当直引き継ぎサマリー」のように使えます。まず解釈を読んで全体を把握し、気になる点があれば元の項目へドリルダウンする、という具合です。

OpenResty XRay Report Insights ページの「レポート解釈」タブが P1/P2 優先度の問題を抽出

シナリオ 3:単一の分析ジョブを深掘りする

特定のサンプリング分析(ジョブ)については、History ページから任意の分析ジョブを開き、右上の AI 分析 タブに切り替えるだけです。この 1 回のジョブの結果について、3 つの問いに答えます:

  1. 何が見つかったか——今回のサンプリングが捉えた中心的な事実
  2. それが何を意味するか——フレームグラフ、コールパス、サンプリング分布が示す具体的な問題
  3. 次に何をすべきか——考えられる原因のランク付けと、推奨される次の分析アクション(例:「このプロセスに対して off-CPU 分析をもう一度実行し、ロック競合を確認することを推奨」)。

これはチームの新メンバーにとって特に価値があります。かつてはベテランエンジニアに付き添ってもらう必要があった分析結果に、今では専門家の解説が最初から付いているのです。

OpenResty XRay 単一分析ジョブの AI 解釈——HTTP リクエスト遅延分布の発見と証拠

AI アシスタントページ:パフォーマンス診断のワークベンチ

各所に埋め込まれた入口のほかに、AI アシスタントには独立したページもあり、コンソール右上の AI アシスタントアイコンから入れます。特定のページに縛られない、オープンな相談や長い対話に適しています。

OpenResty XRay 分析ジョブ詳細ページの AI 分析タブ、AI Agent が MCP 経由で接続できることを告知するバナー

ページの左側は会話履歴、右側はチャットエリアです。すべての入口(ポップアップを含む)で生じた会話がここに集約され、いつでも続きから再開できます。会話リストではさらに、ベータ版のクォータ使用量の確認、会話 ID のコピー(フィードバック時にこれを使えば問題を正確に特定できます)、トラブルシューティングの一連の流れをワンクリックで同僚に共有、といった操作もサポートしています。

OpenResty XRay AI アシスタントの独立ページ:左に会話履歴、右にチャットエリア

逆方向:ご自身の AI Agent で OpenResty XRay を使う

ここまでは、すべて「OpenResty XRay コンソールの中で AI アシスタントを使う」話でした。その逆も成り立ちます:AI Agent が MCP 経由で OpenResty XRay に接続できるようになり、さらに AI アシスタントの skill をインストールすることで、より賢い診断が得られます。

つまり、Claude Code、Codex、Cursor をはじめとする MCP 対応クライアントが、直接 OpenResty XRay を駆動して——アナライザーを実行し、診断データを読み取れるということです。パフォーマンス診断のために独立した OpenResty XRay コンソールへ切り替える必要はなくなり、すでにお使いの開発・トラブルシューティングのワークフローに溶け込みます。IDE やターミナルで本番環境の問題を追っているまさにそのとき、同じ Agent がそのまま動的トレーシングを起動し、フレームグラフを読み取り、結論を提示してくれます——コンテキストを行き来させる必要はありません。

入口はコンソール内の**「MCP サーバーと Agent Skill」ポップアップ**で、組み合わせて使える 2 つの接続方法が用意されています。

方法 1:MCP サーバーに接続する

「MCP サーバー」タブには、お使いのアカウント専用の MCP サーバーアドレス、API-Token ヘッダーによる認証の説明、そして Claude Code を例とした、~/.claude.json にそのまま貼り付けられる設定例が表示されます。示されたとおりにトークンを記入すれば、お使いの Agent が OpenResty XRay サーバーに接続し、アナライザーを実行し、診断情報を読み取れるようになります。

OpenResty XRay コンソールの MCP サーバー設定ダイアログ(サーバー URL と Claude Code 設定例)

方法 2:AI アシスタント Skill をインストールする

MCP に接続したら、さらに AI アシスタント Skill をインストールすることで、Claude Code などの Agent がより賢い診断を行えるようになります。「Agent Skill」タブには、Skill パッケージのダウンロードボタンとインストール例が用意されているので、それに沿って操作するだけです。

OpenResty XRay AI アシスタント Agent Skill のダウンロードとインストールのダイアログ

よくある質問

AI は本当にフレームグラフを読めるのですか?

読めます。そして、これこそ最も得意とする場面です。フレームグラフの一つひとつのスタックフレームは構造化されたサンプリングデータであり、OpenResty XRay AI アシスタントは各アナライザーが測定する指標の意味と OpenResty/Nginx 内部の仕組みを理解しています。したがって、フレームグラフの読み取りは「見た目だけで語る」ようなものではなく、生のサンプリングデータに基づく分析です——幅の広い横棒が何を意味するか、どのコールパスを追う価値があるか、次にどのアナライザーを実行すべきか——それらを直接提示します。

AI の解釈はどこまで信頼できますか?

AI アシスタントの解釈は、いずれも OpenResty XRay が実際に収集したランタイムデータに基づいており、回答には引用したデータの出典が注記されるため、照合が可能です。ただし、大規模言語モデルの上に構築されている以上、データの読み違いや不適切な推論が生じる可能性は残ります——因果分析や最適化の提案は、根拠のある仮説として扱い、最終結論とはしないでください。重要な本番変更の前には、元のフレームグラフとレポート項目に立ち返ってご確認ください。ベータ段階では解釈の品質を継続的に改善しています。不正確な回答に出会った際は、会話 ID を添えてフィードバックをお寄せください。

どのページで使えますか?

4 つの入口があります:任意のページ右下の AI アシスタントのポップアップ(現在のページのコンテキストを自動的に付加)、Report Insights ページの「レポート解釈」タブ、単一の分析ジョブ詳細ページの AI 解釈、そしてコンソール右上から入る独立した AI アシスタントページです。すべての入口で生じた会話は、独立ページに集約されます。

今すぐ試してみる

すでに OpenResty XRay をお使いの方は、最速で 2 分もかかりません:OpenResty XRay コンソールを開き、任意のターゲットマシンのレポートページを開いて、右下の AI アシスタントのポップアップをクリックし、「このマシンで今、最も注目すべき問題は何ですか?」と一言尋ねてみてください——その回答を見て、ご自身の判断と照らし合わせてみてください。

まだ OpenResty XRay を使い始めていない方は、まず試用を申請し、ご自身の本番環境に接続することで、AI アシスタントによる、実際のランタイムデータに直接基づいた診断をお試しいただけます:

ベータ期間中、弊社が特にお聞きしたいこと:どのような問題にうまく答えられ、どのような問題が苦手なのか、そして、まだカバーできていないどのデータに接続してほしいか、という点です。フィードバックの際は会話 ID(会話リスト上部でコピー可能)を添えるか、担当のテクニカルサポートまで直接ご連絡ください。

本日お寄せいただく一つひとつのフィードバックが、このツールの明日の姿を形づくります。

OpenResty XRay について

OpenResty XRay動的トレーシング製品であり、実行中のアプリケーションを自動的に分析して、パフォーマンスの問題、動作の問題、セキュリティの脆弱性を解決し、実行可能な提案を提供いたします。基盤となる実装において、OpenResty XRay は弊社の Y 言語によって駆動され、Stap+、eBPF+、GDB、ODB など、様々な環境下で複数の異なるランタイムをサポートしております。

著者について

章亦春(Zhang Yichun)は、オープンソースの OpenResty® プロジェクトの創始者であり、OpenResty Inc. の CEO および創業者です。

章亦春(GitHub ID: agentzh)は中国江蘇省生まれで、現在は米国ベイエリアに在住しております。彼は中国における初期のオープンソース技術と文化の提唱者およびリーダーの一人であり、Cloudflare、Yahoo!、Alibaba など、国際的に有名なハイテク企業に勤務した経験があります。「エッジコンピューティング」、「動的トレーシング」、「機械プログラミング」 の先駆者であり、22 年以上のプログラミング経験と 16 年以上のオープンソース経験を持っております。世界中で 4000 万以上のドメイン名を持つユーザーを抱えるオープンソースプロジェクトのリーダーとして、彼は OpenResty® オープンソースプロジェクトをベースに、米国シリコンバレーの中心部にハイテク企業 OpenResty Inc. を設立いたしました。同社の主力製品である OpenResty XRay動的トレーシング技術を利用した非侵襲的な障害分析および排除ツール)と OpenResty Edge(マイクロサービスおよび分散トラフィックに最適化された多機能ゲートウェイソフトウェア)は、世界中の多くの上場企業および大企業から高い評価を得ております。OpenResty 以外にも、章亦春は Linux カーネル、Nginx、LuaJITGDBSystemTapLLVM、Perl など、複数のオープンソースプロジェクトに累計 100 万行以上のコードを寄与し、60 以上のオープンソースソフトウェアライブラリを執筆しております。

翻訳

英語版の原文と日本語訳版(本文)をご用意しております。読者の皆様による他の言語への翻訳版も歓迎いたします。全文翻訳で省略がなければ、採用を検討させていただきます。心より感謝申し上げます!