Inspector入門|AIが出した修正コードを画面で確認してから適用する


エラーが起きたとき、AIが自動で修正コードを提案してくれる。しかも、その差分をGUIで確認してから適用できる。

Inspectorの「AI Bug Fix」機能を使うと、そんなワークフローが実現できる。実行時エラーを検知したら修正案が自動生成され、差分を目視で確認してから本番のコードに反映するかどうか決められる仕組みだ。

この記事では、Inspectorでの差分確認から適用までの流れと、実務で気をつけたいポイントを紹介する。

Inspectorの「AI Bug Fix」とは何か

InspectorはアプリケーションのモニタリングツールでAI Bug Fix機能では、実行時に検知したエラーに対してAIが「こう直せばいいのでは?」というコード変更案を自動生成する。

従来だと、エラーログを見て原因を調べ、該当コードを探し、修正方法を考える…という流れが必要だった。AI Bug Fixはその「原因調査→修正案作成」の部分を自動化してくれる。

ただし、AIの提案をそのまま適用するわけではない。差分(Diff)をGUIで確認し、「これなら大丈夫」と判断してから適用する。ここが重要なポイントだ。

使い始めるまでの準備

AI Bug Fixを使うには、InspectorとGitHubなどのソース管理サービスを連携させる必要がある。

1. ソース管理との接続

InspectorのOrganizationメニューから「Source Control」を開き、GitHub(またはその他の対応サービス)と接続する。このとき、リポジトリへのアクセス権限を付与することになる。

2. アプリとリポジトリの紐付け

接続が完了したら、AI Bug Fixを有効にしたいアプリに対して、どのリポジトリのコードを参照するか設定する。これでInspectorがエラーと実際のコードを突き合わせられるようになる。

この設定が終われば、エラー検知時にAIが修正案を生成できる状態になる。

差分表示(Diff View)の見方

InspectorのDiff Viewは、AIが提案した修正内容を視覚的に確認するための画面だ。

Changelogによると、複雑な変更ブロックの扱いが改善され、どこがどう変わるのか視覚的に分離して表示されるようになっている。単純な1行修正ならどのツールでも見やすいが、複数箇所にまたがる変更だと「どこまでが1つの変更なのか」が分かりにくくなりがちだ。その点がケアされている。

さらに、差分画面にlintエラーが統合表示される機能もある。AIの修正案自体に構文エラーやスタイル違反がないか、適用前にチェックできるということだ。

.inspectorignoreで参照範囲を制限する

副業や受託案件で気になるのが「AIにどこまでコードを見せるか」という点だろう。

Inspectorには.inspectorignoreというファイルが用意されていて、.gitignoreと同じような書き方でAIが参照できるファイル範囲を制御できる。プロジェクトルートに置いて使う。

たとえば、機密性の高い設定ファイルや、クライアントから「外部サービスに送らないでほしい」と言われているディレクトリがあれば、ここで除外しておける。

# 例:機密設定と特定ディレクトリを除外
config/secrets.yml
internal/

案件によってはこういった制御が必須になることもあるので、覚えておくと安心だ。

差分適用の裏側で何が起きているか

GUIで「適用」ボタンを押すと、内部的にはパッチ(差分情報)がコードに反映される処理が走る。

OpenAI APIのドキュメントを参照すると、apply_patchという仕組みでは、操作がcreate_file(新規作成)、update_file(更新)、delete_file(削除)の3種類に分かれている。更新系はV4A diffという形式で表現され、適用の成否が必ず結果として返る設計になっている。

つまり、「適用に失敗したけど何が起きたか分からない」という状態にはならない。失敗時も理由が返ってくる。

OpenAI Agents SDKのapplyDiff関数は、diffがきれいに当たらない場合は例外を投げる仕様だ。GUIでいうと「適用できませんでした」というエラー表示になる。コードが予期せぬ形で壊れるリスクは低い設計といえる。

適用前に確認したい3つのこと

AIの修正案をそのまま信用するのは危険だ。Diff Viewで以下を確認しておきたい。

変更範囲は妥当か

1行直すだけのはずが、関係ない箇所まで変更されていないか。AIは「ついでにリファクタリング」をしてくることがある。

既存のテストは通るか

修正を適用した後、テストが落ちないかは別途確認が必要だ。Diff Viewのlint統合は構文レベルのチェックであり、ロジックの正しさは保証しない。

新規作成か更新か

applyDiffにはmodeがあり、既存ファイルの更新(default)と新規作成(create)で形式が変わる。意図しないファイル作成が起きていないかも見ておきたい。

安全面での設計思想

パッチ適用には、パス検証(ディレクトリトラバーサル対策)、バックアップ、エラー処理、原子性(all-or-nothingか個別適用か)といった注意点がOpenAIのドキュメントで明示されている。

Inspectorを使う側が直接これらを実装する必要はないが、「差分適用は雑にやると危険な操作」という認識は持っておくといい。だからこそGUIで確認してから適用する、というワークフローになっている。

結局、何が便利なのか

Inspector + AI Bug Fixの組み合わせで得られるのは、「エラー解析の時間短縮」と「修正適用前の安全確認」の両立だ。

AIに丸投げするわけでもなく、全部手作業でやるわけでもない。提案を受けて、差分を見て、納得したら適用する。このバランスが、特に「AIのコード提案をそのまま使っていいのか不安」という人には合っているだろう。

まずは個人プロジェクトで試してみて、差分表示の使い勝手やAIの提案精度を確認してみるといい。

参考リンク