マーケティング職からの転身を考えるミナは、講座サイトのAI相談に条件をまとめて伝えた。使えるのは表計算、通えるのは平日の夜、目標は六週間で自動レポートを作ること。そのうえで、自分に合う講座と、八月に空きがあるクラスを知りたい。
単純な検索やSQLで取れるのは、指定済みの講座の行だけである。背景と目標を読み取り、複数の内容と前提知識を比べ、理由付きで勧める仕事にはAIが要る。ただし、推薦後に最新の開講枠を確かめる部分は限定照会で足り、申込操作までは要らない。この順で読む・照会する・操作するを分けると、必要な入口の深さが決まる。
三つは機能レベルではなく責任の違いである
ミナへの回答では、公開中の講座説明を読んで比較することと、最新の開講枠を照会することが一続きになる。一方、申込、返金、削除、通知は他人の権限で外部の状態を変える仕事であり、同じ講座の話でも別の依頼である。
Model Context Protocolの公式説明では、MCPはAIアプリケーションと外部のデータ、ツール、ワークフローを接続するための標準である。接続方法は提供するが、公開範囲までは決めない。Cloudflareも、API全体を包むのではなく、具体的な目的に合わせてツールを設計し、権限を狭く保つよう勧めている。
ここで必要なのは導入可否の会議ではなく、AIにしか任せられない判断と、通常のデータ照会で補う事実を切り分けることである。
- AIはこのサイトで何を完了するのか?
- 公開情報を読むページの身元、metadata、canonical、内部リンク、RSS、sitemap、状態codeをそろえる
- 変化する値を照会する対象を限定した読み取り専用の形式に、更新時刻、欠損、errorを付ける
- 人の代わりに操作する本人性、対象、権限、都度承認、logs、制限、保存状態、復旧を先に決める
比較の質は公開ページで決まる
AI相談がミナの条件を解釈できても、根拠となる講座説明が曖昧なら推薦は弱い。候補ごとに内容、前提知識、到達目標、期間、曜日を読み、title、description、日付、言語、canonical、内部リンク、RSS、sitemapが同じ現行版を指すか確認する。削除済みのURLは、内容のない成功画面ではなく404または410を返す必要がある。
Google Search Centralは、sitemapから重要なページ、更新時刻、別言語版を伝えられる一方、通常のリンクで十分に到達できる小規模サイトでは不要な場合もあると説明する。形式を追加すること自体が目的ではない。実際に見つけられない箇所だけを直す。
rel="canonical"も、重複または非常に近いページの優先URLを示す信号である。本文、日付、言語、見出しが食い違っていれば、canonicalだけでは現行版を作れない。MCPを足す前に食い違いを直す。公開内容だけで、どの講座が六週間の目標に合うかは理由付きで答えられる状態にする。
推薦の後だけ最新枠を照会する
変動する値を画面上の位置から毎回推測させると、デザイン変更がデータ仕様の変更になる。反復する需要を確認してから、読み取り専用API、限定export、または小さな照会toolを検討する。
講座を選んだ後に限り、八月のクラス、平日夜の時間、残席、更新時刻を読み取り専用で確かめる。ここでは「満席」「未同期」「対象なし」「一時障害」を分ける必要がある。AIはその結果を推薦と組み合わせるが、照会toolそのものは講座を選ばない。受講者名、決済履歴、申込書、定員変更の権限も要らない。
toolを外したとき、AIは推薦理由を保ったまま「現在の空きは確認できない」と言えるべきである。逆にAIを通常のAPI照会に置き換えて同じ推薦が出るなら、そもそもAIを使う理由がない。この二つを試してから、未知の講座、同期遅延、満席、timeout、範囲外の拒否を検証する。
操作を開くなら中断後も説明できるようにする
フォーム送信や設定変更には、誰のaccountで、どの対象に、どのparameterを使い、どんな通知や不可逆な効果が出るかを残す。危険な操作はpreviewから始め、値が変われば承認も取り直す。
OpenAI Agents SDKのhuman-in-the-loop文書は、承認が必要なtool callを実行前に止め、toolと引数を提示し、個別に承認または拒否して、保存したRunStateから再開する流れを示す。MCP toolにも同じ仕組みを適用できる。単なる「人が見ています」ではなく、何を許可し、どこから再開したかを後で読める点が重要である。
これはAIエージェントにコードを任せる前に、タスクへチェックポイントを入れるで扱う境界と同じである。途中で止まる仕事なら、再試行の前に既発生の効果を読み返し、整合性を戻す担当と補償手順も決める。自動化が途中で失敗したら、誰が後始末をするのかを併せて使える。
選び直す条件まで書けば決定になる
ミナに、条件に合う講座、理由、八月の夜間クラスを返せば当初の仕事は終わる。「このクラスに申し込んでほしい」と依頼が変わったときだけ、操作を再検討する。その場合も、本人確認、個人情報、都度承認、決済、二重実行の防止、失敗時の補償に担当者が付くまでは開かない。
別のサイトなら、canonicalを一件直す、限定datasetで照会を試す、操作しないpreviewを設計する、現状を保つ、のどれかでよい。選び直す条件を残すことで、小さな照会が理由もなく統合基盤へ育つのを防げる。
AI整理カード
許可されたwebsite repository、公開講座page、開講枠schema、運用recordだけを読み取り、編集、申込form送信、書き込みendpoint、新しい外部service接続は行わない。「マーケティング経験があり、表計算は使える。平日夜に学び、六週間で自動レポートを作りたい。合う講座と八月の空きクラスを知りたい」という相談を監査する。まず背景、技能、時間、成果の制約を取り出し、二講座以上について内容、前提知識、到達目標をURL付きで比較し、推薦と理由を書く。次に、公開内容だけで分かる結論と、読み取り専用toolから必要な講座code、八月のclass、曜日、残席、更新時刻、error状態を分ける。AIを通常のSQL/API照会に置き換えても同品質の推薦と理由が出るなら「AI不要」として停止する。即時toolを外しただけで講座比較までできなくなるなら、読む/照会の分離は不合格とする。申込権限を外しても当初の回答が完了することを確認し、最小の入口を一つだけ提案する。本人性、個人情報、申込、決済、定員変更は未許可のままにし、依頼が「申し込んで」に変わった場合だけ、都度承認、二重実行防止、logs、recovery、補償、担当者を列挙する。実行はしない。
ミナの相談は申込の手前で完了する

- ミナは履歴書、表計算の経験、夜の予定、六週間の期限、作りたいレポートを一つの相談としてAIに渡す。
- AIは同じノートPCで複数講座の内容と前提条件を照合し、制約に合う一講座を理由とともに選ぶ。
- 続いて八月の夜間クラスと残席だけを一方向の読み取りで確かめる。申込書、個人情報、決済端末は赤い線の外にある。
- ミナは推薦、理由、選べるクラスを受け取り、自分で判断する。申込と支払いは人の手に残る。
通常のSQLやAPIだけで再現できるのは三コマ目であり、一、二コマ目の解釈、比較、推薦理由は失われる。一方、申込toolがなくても四コマ目まで完了する。AIが担う判断、動的データが補う事実、操作を再検討する条件を分けるとは、こういうことである。
参考文献
- Model Context Protocol: What is the Model Context Protocol (MCP)? — https://modelcontextprotocol.io/docs/getting-started/intro
- Cloudflare Docs: Model Context Protocol (MCP) — https://developers.cloudflare.com/agents/model-context-protocol/
- Google Search Central: Learn about sitemaps — https://developers.google.com/search/docs/crawling-indexing/sitemaps/overview
- Google Search Central: How to specify a canonical URL with rel=“canonical” and other methods — https://developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls
- OpenAI Agents SDK: Human-in-the-loop — https://openai.github.io/openai-agents-python/human_in_the_loop/



