「AIエージェントと作ったお知らせページや予約フォームを、このまま公開してよいのか判断がつかない」
このページでは、AIで作ったページやツールを公開する前と後に、人が確かめることを説明します。
- 公開は外部に出る操作なので、公開の判断と最後の確認は人が行います。
- APIキーやパスワードは公開されるファイルに書かず、置き場所の設定は制作会社や詳しい人に頼んでください。
- 見せる相手を先に決め、リンクを知っていれば見られる状態は、誰でも見られる状態と同じに扱ってください。
- 公開したら、ログインしていない別のブラウザで、表示、リンク、フォームの送信を人が確かめてください。
このページで出てくる言葉の意味は用語一覧で確認できます。
業務でどう使うか
- 店のお知らせページの文面とレイアウトを AIエージェントに作らせ、公開の操作は人が行う
- 取引先に見せる料金表の試作は、ログインした関係者だけが見られる形で共有する
- 公開の直後に、別のスマホから予約フォームで試しの予約を1件送る
- 顧客名簿や売上の実データを入れた試作品を、閲覧制限のないURLで取引先に送る
- APIキーを、ブラウザで読み込まれるファイルに書いたまま公開する
- 公開、送信、削除までを、人の確認なしで AIエージェントに任せる
公開までの分担
ページの作成と公開前の点検は AIエージェントに任せ、公開の判断と公開後の確認は人が行ってください。
公開したものは取り消しがききにくいためです。AIエージェントの「確認しました」という報告は、正しいことの証拠ではありません。
公開前の点検は検証に、公開の判断は安全と責任にあたります。
関連:『変わらない5つの問い』
制作会社に作成を頼んでいる場合も、公開の操作を誰が行うかは経営者が決めてください。GitHub とは、ページのファイルを保管し、変更の履歴を残すサービスです。GitHub と公開先のサービスをつないでいると、ファイルを GitHub へ送る操作(push)が、そのまま公開になります。push を AIエージェントに任せると、公開を任せているのと同じになります。
関連:『AIに与える権限』
認証情報の置き場所
APIキーやパスワードは、公開されるファイルに書かないでください。
公開されるページのファイルは、訪問者のブラウザがそのまま読み込みます。画面に表示していない文字も、ブラウザの「ページのソースを表示」で誰でも読めます。APIキー、パスワード、データベースの接続情報をファイルに書くと、公開した時点で誰にでも渡したことになります。
予約フォームを作らせる途中で、メール送信サービスのAPIキーをチャットに書いたとします。AIエージェントは、そのAPIキーをフォームのファイルにそのまま書き込むことがあります。フォームは正しく動くため、画面を見るだけでは気づけません。
APIキーは、ファイルではなく環境変数に置くのが基本です。環境変数とは、ファイルとは別に、公開先のサービスの設定画面に登録しておく値です。登録の作業は、制作会社や詳しい人に頼んでかまいません。
公開するファイルに、APIキー、パスワード、個人情報が含まれていないか一覧にしてください。見つけた場合は、ファイル名と行を示し、書き換えはしないでください。
ボタンを押すとAIが答えるページでは、訪問者の操作1回ごとに、公開した側のAPIキーで費用が発生します。大量の処理を送り付けられて費用が膨らむ被害を、国際的な非営利団体 OWASP はAIを使ったアプリの主要な危険の1つに挙げています。費用の通知と上限の設定は、経営者が自分で確かめてください。
関連:『従量課金のAI』
見せる相手と閲覧制限
見せる相手を先に決め、次の4つの段階から、その相手に合う閲覧制限を選んでください。
数字が大きいほど、見られる人が多く、公開を取り消しにくい状態です。
見落としやすいのは、リンクを知っている人だけが見られる状態です。URLは、メールの転送やチャットへの貼り付けで、送った相手の先へ広がります。送った側からは、誰が開いたかを確かめられないことがほとんどです。
| 公開するもの | 選ぶ段階 | 理由 |
|---|---|---|
| 店のお知らせページ | 誰でも | お客様全員に見てほしい。載せるのは外部に出てよい内容だけにする |
| 予約フォーム | フォームは誰でも、受け付けた予約の一覧は自分だけ | 入力されたお客様の名前と連絡先を、関係のない人に見せないため |
| 取引先向けの料金表の試作 | ログインした関係者だけ | 取引条件が入るため、見せる相手を名前で管理する |
AIで作ったページの公開には、多くの場合、ファイルを保管するリポジトリと、URLで見られる形にする公開先のサービスの2つを使います。リポジトリとは、GitHub などに置く、ページのファイルの保管場所です。リポジトリを非公開にしても、公開先のサービスで閲覧制限を設定しない限り、できあがったページは誰でも見られます。
自社のページの作り方が分からない場合は、制作会社に「閲覧制限はどう設定していますか」と聞いてください。
公開直後の確認
公開の直後に、ログインしていない別のブラウザかスマホでURLを開き、次の5つを人が確かめてください。
作った人のブラウザはログイン済みなので、閲覧制限が効いていなくても気づけないためです。
| 確かめること | 見るところ | 業務での例 |
|---|---|---|
| 表示崩れ | スマホとPCで、文字の重なり、画像の欠け、はみ出しがないか | 料金表がスマホで横にはみ出していないか |
| リンク | すべてのリンクとボタンが、意図した先に移るか | 地図と電話番号のリンクが店の情報につながるか |
| フォームの送信テスト | 1件送り、受信できるか、自動返信の文面が正しいか | 試しの予約を店のメールで受信できるか。確認後に消す |
| 閲覧制限 | ログインなしで、見せない相手から見えないか | 料金表の試作がログインなしで開けないか |
| 載せた内容 | 実在の顧客名、個人の連絡先、社内の数字、日付や金額の誤りがないか | 臨時休業の日付と曜日が合っているか |
確認項目の一覧づくりは AIエージェントに任せてかまいません。料金表の金額は、AIエージェントの報告ではなく、元の価格表と照合してください。
関連:『法律とガイドライン』
公開のやめ方
公開する前に、やめる日とやめ方を日付で決めてください。
キャンペーンのお知らせなら終了日の翌日、取引先向けの試作なら打ち合わせの翌週、のように決めます。どのやめ方でも残るものがあるため、「消せば元どおり」とは考えず、公開前の確認に時間を使ってください。
| やめる操作 | 消えるもの | 残るもの |
|---|---|---|
| 公開先のサービスでプロジェクトを削除する | 公開したページ、ドメインの設定、環境変数 | 置き場所のリポジトリ。扱いを別に決める |
| GitHub のリポジトリを公開から非公開に戻す | 外部からの閲覧 | すでに他人が作った複製。公開のまま切り離される |
| 共有リンクを止める | そのリンクからの閲覧 | 他人が取ったコピーやスクリーンショット |
| 外部サービスとの連携を取り消す | 以後のアクセス権 | 相手のサービスに保存済みのデータ |
やめる日が来たら、まず公開先のサービスで公開を止め、同じ日に、使わなくなったAPIキーの無効化、連携の解除、試したサービスの解約を済ませてください。
使っていないAPIキーでも、漏れれば他人に使われ、その利用料が自社に請求されるためです。削除のような戻せない操作は、AIエージェントに任せず、画面で確かめて人が行ってください。
ChatGPT でページを作って公開する機能の Sites では、削除したページは復元できません。公開を止めるだけなら、削除せずに共有範囲を絞る方法があります。
関連:『現時点の仕様』の『ChatGPT、Codex』
確認する項目の分担
公開前の確認は、経営者が自分で確かめる項目と、制作会社や詳しい人に確認する技術的な項目に分けてください。
技術的な項目は、設定作業ごと詳しい人に頼んでかまいません。一覧をそのまま見せ、できているかを答えてもらってください。
経営者が自分で確かめる項目
- 見せる相手と、公開をやめる日を決めてあるか
- 公開の操作を、AIエージェントではなく人が行う手順になっているか
- AIを提供する会社の管理画面で、費用の通知と、利用が止まる上限の両方を設定してあるか
- 利用量と請求を定期的に見ているか。急に増えたら、先にAPIキーを無効にしてから原因を調べる
- AIに答えさせてはいけない内容と、人に引き継ぐ条件を決めてあるか
制作会社や詳しい人に確認する項目
- APIキーとパスワードを、公開されるファイルに書かず、公開先のサービスの環境変数に登録しているか
- 作業用のPCでは、APIキーを .env に置き、.env を GitHub へ送るファイルの対象から外しているか
- AIを呼び出す処理をサーバー側で動かし、ブラウザで読み込まれるファイルにAPIキーを渡していないか
- 同じ相手からの連続した呼び出しを制限するレート制限を、自社のページの側に付けているか
- 訪問者の入力に紛れ込ませた指示でAIの動きを変えるプロンプトインジェクションを前提に、AIに答えさせる範囲を設定しているか
- push を AIエージェントに任せず、人の承認に残しているか
- リポジトリだけでなく、公開先のサービスでも閲覧制限を設定しているか
- リポジトリと公開先のサービスの両方で、2段階認証を有効にしているか。公開に使うアカウントが乗っ取られると、公開中のページを書き換えられるためです
関連:『事故の初動』
まとめ
- 公開したいページごとに、見せる相手とやめる日を決めてください。
- 『確認する項目の分担』の技術的な項目を制作会社や詳しい人に見せ、できているかを答えてもらってください。
- 公開したら、ログインしていない別のブラウザかスマホで、『公開直後の確認』の5つを確かめてください。