Sentryの「AI-Assisted Setup」が配るSKILL.mdを使って、既存プロジェクトにtracingを追加させてみた

Sentryの「Configure React SDK」画面をスクロールしていたら、Installセクションの下に「Upload Source Maps (Optional)」と並んで「AI-Assisted Setup […]

広告ここから
広告ここまで

目次

    Sentryの「Configure React SDK」画面をスクロールしていたら、Installセクションの下に「Upload Source Maps (Optional)」と並んで「AI-Assisted Setup (Optional)」という項目があるのに気づきました。名前だけでも気になったので、実際にどこまで自動化されるのか試してみることにしました。

    セットアップ画面の片隅にあった「AI-Assisted Setup」

    いつも通りのSDK設定画面です。Error Monitoringが選択された状態で、npm install --save @sentry/reactからConfigure SDKへと続く、見慣れたクイックスタートの流れになっています。

    SentryのConfigure React SDK画面。Error Monitoringが選択され、npm install --save @sentry/reactのインストールコマンドとConfigure SDKセクションが表示されている

    そのまま下にスクロールすると、「Upload Source Maps (Optional)」の下に「AI-Assisted Setup (Optional)」という折りたたみ項目が並んでいて、右側には「Copy Prompt」というボタンが用意されていました。

    Sentryのセットアップ画面。Upload Source Maps (Optional)とAI-Assisted Setup (Optional)の折りたたみ項目が並び、右側にCopy Promptボタンがある

    手動でコードを書く手順の隣に、AIエージェントに投げるためのボタンがさりげなく置いてある、という並びです。せっかくなので押してみました。

    Copy Promptで得られたのは、拍子抜けするほど短い指示文

    「Copy Prompt」を押すと、クリップボードに次の一文がコピーされました。

    Copy Promptで得られたテキスト。curlでダウンロードしてhttps://skills.sentry.dev/instrumentを読み、Sentry React SDKをセットアップするよう指示する1文が表示されている

    内容は「curlでダウンロードして、https://skills.sentry.dev/instrumentを読んで、それに従ってSentry React SDKをセットアップしてほしい」という1文だけです。SDKの設定値やコード片は一切含まれていません。エージェントに渡すのは実質、参照先のURLひとつだけという割り切り方でした。

    指示されたURLの中身は、AIエージェント向けのSKILL.mdだった

    プロンプトが参照しているだけあって気になったので、skills.sentry.dev/instrumentを直接ブラウザで開いてみました。

    skills.sentry.dev/instrumentのページ内容。sentry-instrumentという名前のSKILL.mdフロントマターと、参照ファイルを必要になるまで読まない設計方針が記載されている

    出てきたのは、name: sentry-instrumentから始まるSKILL.md形式のファイルでした。ライセンスはApache-2.0。本文には、新規インストールの初回エラーから、既にSentryが入っているプロジェクトへの追加シグナルまで、Sentryを配線するための単一のプレイブックだと書かれていて、詳細はプラットフォーム別のコード・シグナル選定・プロジェクト作成・動作確認までを扱う参照ファイル群に分割されている、という構成のようです。「必要になるまで参照ファイルを読むな」という一文もあり、コピーされたプロンプトのURLひとつで済んでいた理由が分かりました。プロンプト自体を薄くする代わりに、辿った先のオーケストレーションファイルが段階的に必要な情報だけを読み込ませる設計になっている、ということです。

    実際に手元のプロジェクトで動かしてみた

    試しにこのSkillを使って、既存のプロジェクトにSentryのtracing設定を追加させてみました。対象はwp-kyoto organizationのstripe-apps-customer-viewer-addonプロジェクトです。

    作業結果のメモ。SentryのMCP経由でのアクセス確認、tracesSampleRateとbrowserTracingIntegrationの追加、コミット298f43e、未完了事項として実イベント検証とrelease/source mapsが挙げられている

    まず、SentryのMCP経由でwp-kyoto / stripe-apps-customer-viewer-addonにアクセスできることを確認し、is:unresolvedで検索したところ、過去90日でイベントは0件でした。つまりこの時点では実エラーがまだ発生・検証されておらず、Skillが求める「実イベントが届いたことの確認」はまだ満たせていない状態です。

    既存の実装はエラー監視のみで、Skillが推奨する「デフォルトのinit = errors + tracing」のtracing部分が欠けていたため、src/libs/sentry.tsbrowserTracingIntegration()tracesSampleRate: 1.0を追加し、コミット298f43eとしてコミット・プッシュしました。サンプルレート1.0は、低トラフィックな内部ツールという前提での暫定値です。テスト(2件)・lint(既存warning以外エラーなし)・型チェックはすべてgreenでした。

    ただし、ここで作業は完了していません。実イベントでの検証(テスト用エラーを実際に発火させてSentryに届くかの確認)はまだできていません。Stripe Appsの実行環境はサンドボックスiframeのため、意図的にエラーを起こすには実機・実環境での操作が必要になるとのことです。Skillが挙げているソースマップや追加シグナルの整備(Step 5)も、この時点では未着手のままでした。

    まとめ

    SentryのAI-Assisted Setupが配っているのは、SDKの設定値そのものではなく、参照ファイルを必要な分だけ読ませるオーケストレーション用のSKILL.mdでした。Copy Promptの1文だけでtracingの追加まで進められた一方で、「実イベントが届いたことの確認」のような、実機を触らないと終われないステップは今回も人手に残っています。設定を書く部分と、実際に動くことを確認する部分は、やはり別の作業として切り分けて考えたほうがよさそうです。

    広告ここから
    広告ここまで
    Home
    Search
    Bookmark