
既存システムを AI 対応させるリファクタリング入門
AI を後付けする前に、データ・API・権限・ログを整える。
この記事の結論
- 既存システムに AI を組み込むには、単に API を呼ぶだけでは不十分です。データ構造・API・権限・ログ・UX・運用 を整える必要があります。
- AI 対応の土台として重要なのは、構造化データ・イベントログ・監査ログ・アクセス制御・プロンプト/出力保存 の 5 つ。
- 段階的に進めます: データ整備 → API 整備 → AI 機能追加 → 評価と改善。一気にやらず、リスクの低い領域から始めます。
- AI 出力の 評価と人間承認フロー を、最初から組み込みます。「動いたから本番」にしないのが安全です。
- AI 機能追加は、新規開発より 既存システムへのフィット の方が難しい。設計判断と段階導入が成否を分けます。
「既存システムに AI 機能を追加したいんですが、何から手を付けたらいいですか?」
CTO や情報システム部門の方からよく届く相談です。「OpenAI API を呼ぶだけ」と思いがちですが、実際にはデータ構造、権限、ログ、UX、運用の整備 が必要になります。
OpenAI も agentic アプリケーション向けの API・ツール群を公開しており、Responses API、Agents SDK、Web Search、File Search、Computer Use といった構成要素が整っています (New tools for building agents / OpenAI)。ツール自体は揃いましたが、既存システムにフィットさせる側に時間がかかる のが現実です。
この記事では、既存システムを AI 対応させるためのリファクタリング観点を整理します。
AI 機能を後付けするときの落とし穴
実際に min's に持ち込まれる、既存システム AI 化の失敗パターン:
1. データが整理されていない
AI に渡すデータが、複数のテーブルに分散していて整合性がない。テキストフィールドがフリーフォーマットで構造化されていない。
2. API が AI 経由のアクセスを想定していない
人間がブラウザから使う前提の API しかなく、AI エージェントから呼ぶと認証や認可で詰まる。
3. 権限境界が曖昧
「AI がアクセスしてよい範囲」が決まっておらず、機密データまで AI が触れる。
4. 監査ログがない
AI が何をしたかが残らず、間違いが起きた時に追跡できない。
5. 評価の仕組みがない
AI 出力が正しいかを評価する仕組みがなく、品質が見えないまま運用が進む。
これらに共通するのは、「人間向けに作ったシステムを、そのまま AI に使わせようとしている」 ことです。
AI 対応に必要な 5 つの土台
既存システムを AI 対応にするための土台:
1. 構造化データ
AI に渡すデータが、構造化されていることが前提です。
- フリーテキストではなく、フィールドに分かれている
- スキーマが明示されている (zod / JSON Schema / Protobuf)
- 値の意味が定義されている (Enum、辞書)
- 古いレコードもフォーマットが揃っている
特に、「AI に分類させたい」「AI に集計させたい」業務 では、データ構造化の有無で精度が大きく変わります。
2. イベントログ
業務の実行履歴が、イベントとして残っていることが前提です。
- 「誰が、いつ、何をしたか」が時系列で残る
- アクション単位でイベントが発火する
- イベントには十分な context (関連 ID、前後の状態) が含まれる
このログから、AI の学習・評価・改善が回せます。
3. 監査ログ
人間ユーザーだけでなく、AI エージェントのアクション を別に記録します。
- AI が読み取ったデータ (PII を含む場合は要マスク)
- AI が生成した出力
- AI が実行した API コール
- AI の判断基準 (確信度、参照したナレッジ)
問題が起きた時の原因究明と、コンプライアンス対応に必要です。
4. アクセス制御
AI エージェントに、人間と同じレベルの権限境界 を適用します。
- AI 専用のサービスアカウント
- 必要最小権限の原則 (Read-only から始める)
- データアクセス層 (Supabase RLS、Firestore Rules) で強制
- API レベルでロール判定
OpenAI も AWS との提携で、エンタープライズ AI 導入では 既存のセキュリティ・コンプライアンス・ガバナンス に乗ることが鍵だと強調しています (OpenAI frontier models and Codex on AWS / OpenAI)。AI を組み込むときも、既存のアクセス制御と整合させます。
5. プロンプトと出力の保存
AI とのやり取りを、後から振り返れる形で保存します。
- システムプロンプトのバージョン
- ユーザーの入力
- AI の出力
- 評価結果 (Thumb up/down、人間レビュー)
これがないと、品質改善の方向が見えません。
データ構造の見直し
AI 機能追加で最初に手を付けるのは、データ構造です。
構造化が必要な領域
- 顧客プロファイル (フリーテキスト → フィールド化)
- 業務カテゴリ (フリー入力 → Enum)
- ステータス遷移 (フラグ累積 → イベント駆動)
- 数値データ (テキスト → 数値型)
段階的な構造化
- 既存データはそのまま、新規データを構造化
- AI で「フリーテキスト → 構造化」を実行 (人間レビュー必須)
- 古いデータは必要に応じてマイグレーション
Anthropic の Claude Code は、大規模コードベースをファイルシステム単位で探索する 設計です (Claude Code docs / Anthropic)。同じ考え方で、AI が理解しやすいデータ構造 = 人間にも整理されたデータ構造、になります。
API と権限の整備
AI 用 API の設計ポイント
- 認証は OAuth または API Token
- 必要最小権限のスコープ
- レート制限を AI 用に別途設計
- バッチ処理用のエンドポイントも用意
- リクエスト/レスポンスのスキーマを厳密に定義
権限境界の例
| アクセス対象 | 人間ユーザー | AI エージェント |
|---|---|---|
| 自分の顧客データ | 読み書き | Read-only |
| 他人の顧客データ | 不可 | 不可 |
| 集計データ | 集計値のみ | 集計値のみ |
| 機密データ | 一部のロール | 不可 |
| 監査ログ | 管理者のみ | 不可 |
AI には、人間以上の権限を与えない のが基本原則です。
ここまでで「自社の既存システムを AI 対応にしたい」と感じたら、現状診断から相談するのが現実的です。
ログ・評価・監視
AI を本番運用するための監視設計:
ログに残すもの
- リクエスト ID (トレース用)
- ユーザー ID + テナント ID
- 入力プロンプト
- 出力結果
- 確信度 / 引用元
- 実行時間
- エラー (該当時)
評価方法
- 自動評価: スキーマチェック、ルール違反検出
- 人間評価: サンプルレビュー (週次)
- ユーザー評価: Thumb up/down、修正提案
- 第三者評価: 専門家による定期レビュー
監視項目
- レスポンス時間 (P50, P95, P99)
- エラー率
- AI コスト (トークン使用量)
- 重要 KPI (正答率、満足度)
Anthropic のセキュリティ解説でも、AI を使った脆弱性管理のボトルネックは 「発見」ではなく「検証・トリアージ・修正」 に移っている、と整理されています (Using LLMs to Secure Source Code / Anthropic)。AI 機能の運用でも、出力の検証と修正が運用の中心になります。
段階導入ステップ
既存システムへの AI 機能追加は、以下の順序で進めます。
Step 1: 内部利用 (1〜2 ヶ月)
- 社内利用者だけで AI 機能を試す
- ログ取得 + 人間レビュー
- 出力の精度を確認
Step 2: 限定公開 (2〜3 ヶ月)
- 一部の顧客にβ提供
- フィードバック収集
- KPI 計測
Step 3: 一般公開 (継続)
- 全顧客に提供
- 月次の KPI レビュー
- 継続的な改善
Step 4: 自動化拡大
- 人間承認ステップを徐々に省略
- 信頼性が確認できた領域から自動化
- リスクの低い領域から進める
「最初から自動化」ではなく、「人間レビューを挟む → 信頼が積み上がった領域だけ自動化」 が現実的な順序です。
AI 機能の例と実装
具体的な AI 機能の追加パターン:
自動要約
- 業務: 長文の要約 (議事録、長文の問い合わせ、契約書)
- 既存システムへの組み込み: 既存 DB に summary フィールドを追加
- 評価: 重要情報の網羅率
レコメンド
- 業務: 関連商品、類似案件、関係者推薦
- 既存システムへの組み込み: 既存検索 UI にレコメンドセクションを追加
- 評価: クリック率、選択率
問い合わせ回答
- 業務: 一次の問い合わせ自動対応
- 既存システムへの組み込み: チャット UI 追加、エスカレーション経路設計
- 評価: 自己解決率、誤回答率、満足度
異常検知
- 業務: 不正検知、品質異常、業務遅延の検知
- 既存システムへの組み込み: 既存通知システムに AI アラートを追加
- 評価: 検知精度、誤検知率
レポート生成
- 業務: 定型レポートの自動作成
- 既存システムへの組み込み: BI ツールに AI 説明文を追加
- 評価: 利用率、満足度
min's の AI 機能追加支援
min's では、既存システムへの AI 機能追加を以下の流れで支援しています。
Phase 1: 診断 (1〜2 週間)
- 既存システムの構造調査
- AI 対応に必要な土台の充足度確認
- AI 機能の優先順位付け
- 費用 50〜100 万円
Phase 2: 土台整備 (2〜6 週間)
- データ構造の見直し
- API の整備
- 権限・ログの整備
- 費用 100〜400 万円
Phase 3: AI 機能実装 (4〜8 週間)
- 1〜2 の AI 機能を実装
- 評価・監視の組み込み
- 段階リリース
- 費用 200〜500 万円
Phase 4: 改善並走 (継続)
- KPI 月次レビュー
- AI 機能の改善
- 自動化拡大
- 費用 月 30〜80 万円
既存システム AI 化を相談したい方へ
min's では、既存システムの AI 対応診断、土台整備、AI 機能追加、運用改善を支援しています。
以下のような状態であれば、ご相談ください。
-
既存システムに AI 機能を追加したい
-
AI 対応に必要な土台が整っているか確認したい
-
データ構造から見直したい
-
段階導入のロードマップを作りたい
次に読む記事
参考
- New tools for building agents / OpenAI — agentic アプリケーション向けの Responses API、Agents SDK、ビルトインツール
- OpenAI frontier models and Codex on AWS / OpenAI — エンタープライズ AI 導入における既存ガバナンスとの整合
- Claude Code docs / Anthropic — 大規模コードベースをファイルシステム単位で探索する設計
- Using LLMs to Secure Source Code / Anthropic — AI セキュリティレビューにおける検証・トリアージ・修正の重要性