
こんにちは、株式会社スプールのWebディレクターの高橋です。
生成AIの進化は目覚ましく、業務でもAIを活用する企業が増えていきました。
そこで、今回は弊社のカスタムオーダーシミュレーターシステム「MyCOS(マイコス)」にAIを組み込む場合の基本設計を考えてみました。
※2025年05月01日現在、MyCOSではAI機能は提供しておりません
利用目的、最終系イメージ
まずは利用目的や最終系のイメージを定義します。
利用目的
- 弊社のお客様が、MyCOS管理画面から自然言語で注文情報への問い合わせや管理、分析を行う
- 弊社のお客様が、MyCOS管理画面から自然言語で操作方法や設定方法を問い合わせる
最終系イメージ
受発注ご担当者様が管理画面に入り、
👤「この注文ってどこでキャンセルするの?」
🤖「注文詳細ページの右カラムにある“キャンセルステータス”を‘キャンセル済み’に変更してください。」
👤「今月の注文だけ一覧にして」
🤖「現在、今月の注文は15件あります:注文ID#123, #128, …」
のようにMyCOSシステム構造に即した実用AIチャットがリアルタイムに走るイメージです。
AIが弊社システムの構造を理解した上で、“管理者のサポート役”を果たす必要があります。
このような使い方は、
- 複雑なシステム(この場合MyCOS)とユーザーの間を橋渡しするAI
- 自然言語で操作可能なインターフェースを実現するAI中間層
であるため、一部界隈では「AIラッピング(AIラッパー)」等と呼ばれています。
必要な構成パーツ
※今回はChatGPT(OpenAIのAPI)を利用する前提とします
構成ブロック | 内容 | 実現手段 |
---|---|---|
AIチャットUI | 管理画面に埋め込み | プラグインでカスタム or iframeで外部UI |
システム構造要約データ | カスタムフィールド名/投稿タイプ/注文データの構造など | カスタムAPI or JSONファイルでGPTに提供 |
AIのAPI接続 | ユーザーの自然言語→構造操作に翻訳 | ・OpenAI GPT-4-turbo(Function callingあり) |
Function/Tool Calling定義 | 「この投稿を取得」「この注文データの合計出して」など | LangChainやPythonバックエンド+API連携 |
認証と権限管理 | 編集者アカウントだけが触れる | MyCOSのユーザー認証をAIと連動 or iframeログイン維持 |
実現の3ステップ案
Step 1:構造の読み取り
MyCOSシステムで注文情報・ACFの構成をエクスポート or APIで取得できるようにする
- REST API + REST APIプラグインを活用
- カスタムフィールドをJSON構造で整備
Step 2:自然言語→構造変換のAI作成
GPT API(またはChatGPT Plugins)に、構造マニュアルをprompt or contextとして与える
例:
投稿タイプ「xxxx」は注文情報です。フィールド「payment_status」は支払い状況です。
この構造を使って、ユーザーからの質問に構造的に返答してください。
function callingで「注文一覧を出して」「未払いの注文だけ抽出」などのAPI呼び出しスキルを組み込む
※「Function calling」は、ChatGPTの新機能で、外部の関数を呼び出して実行できる機能
Step 3:MyCOS管理画面にチャットUIを埋め込み
管理者用のAIチャットウィジェットをサイドバー or モーダル表示
- 独自プラグイン or iframe埋め込みで実装
- ログインセッションを維持しながら、AIがユーザーIDを認識するように設計
ざっとこんな感じです。
どう守る?注文情報×AIのセキュリティ
サービスにAIを組み込む際に最も気になるのが、セキュリティです。
「便利にしたい」vs「でも情報漏れは怖い」という問題があります。
最重要目標
“システムに保存されているデザインデータや注文データを使って分析や質問応答はしたいけど、絶対に外部流出は避けたい。”
対応策① AIの入力に含める情報は「クエリ結果のみ」にする
- AIにシステムの構造全部は渡さない
- 例えば「未払いの注文リスト出して」と入力したら、その瞬間だけ、システムから必要データを取得して、AIに渡すのはその抜粋データだけにする
例)
User says: 「未払いの注文一覧見せて」
→ バックエンドで `GET /json/xx/v2/xxxx?status=unpaid`
→ 結果:`[{"id": 123, "total": "4,500", "date": "2024-04-20"}, …]`
→ AIに渡すのはこれだけ。
絶対NG:システムの注文データベース全体をAIに丸ごと放り込むこと。
対応策②:「AIが見る情報」を明確に分ける(=プロキシ層を作る)
- MyCOS本体(注文DB)
- AIラッパーのバックエンドAPI(Node.js / Python など)
- GPT API(OpenAIなど)
このとき、“2”がデータフィルタリングの壁役となる。
- 「GPTに何を見せるか」「何を絶対に見せないか」をここで制御
- カスタムフィールドで「機密」みたいなラベルがついたフィールドは、常にマスキング
- 例:カード情報・個人名・メールアドレスなどは**★文字列で置き換え**
対応策③:ログ・セッションの取り扱いをしっかり限定
- AIへのやりとりログ(プロンプト/レスポンス)は保存するなら絶対にサーバー側に限定
- OpenAIの商用プラン(Team/Enterprise)ではデータ学習はオフにできる → これを使うなら、「外部への学習提供はされない」
※フリーのAIや、GPT APIキーでバンバン投げてたら情報ダダ漏れで危険
対応策④:システム管理画面ユーザーとセッション連携
- 管理画面にログインしているユーザーのみがチャット使えるようにする
- システム側で「このユーザーが注文情報にアクセスしていい人か」を判断
- GPTには「この人=編集者権限、注文データへのread-onlyアクセスあり」と伝えるだけでOK
理想的な構造図

補足:チェックリスト
危険要素 | 危ないこと | 対策 |
---|---|---|
認証なしチャット | 誰でも質問できる状態 | ログインユーザーだけに制限 |
データ丸投げ | 全注文一覧を毎回AIに送る | クエリごとにフィルターし、必要な項目のみ渡す |
メール/カード番号漏洩 | 機密情報をマスキングしない | *** で置換 or 該当フィールド除外 |
ログ収集 | AIのやりとりを外部保存してる | ローカルログ or 収集オフ設定必須 |
APIキー共用 | 公開チャットに汎用APIキーを入れる | 鍵はサーバーで暗号管理+IP制限 |
まとめ
構想は実現できる可能性は高いですが、
「構造理解」と同じくらい「情報制限」が重要です。
AIに“全部任せる”のではなく、“AIが見る世界をこっちで絞る”意識が大切です。
その設計は、“翻訳と壁”の仕事と言えます。