キャンプ場が予約の後に届く持ち込み・焚き火・ペット・到着の時間の質問を Make で受け、場内の決まりから答えの下書きを作り、決まりに無いものを管理人へ回す
キャンプ場に予約の後で届く、持ち込み・焚き火・ペット・到着の時間などの質問を Make で受けます。場内の決まりの該当箇所を引用した答えを下書きし、決まりに書かれていない質問は管理人へ回します。
- 生成AI
- ChatGPT/Claude
- 連携・自動化
- Make/n8n/Power Automate/Zapier
- 対象業界
- その他/宿泊
- 対象部門
- カスタマーサポート
- 対象業務
- 問い合わせ対応/情報検索
- 主な課題
- 人手が足りない/問い合わせが多い/属人化している
- AIで行う処理
- 対話
- 主な効果
- 品質標準化/対応スピード向上/工数削減
- 導入難易度
- ★☆☆☆☆
- 実装レベル
- 半自動化
- 費用感
- ノーコード連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 受付の担当が代表アドレスとフォームの回答のシートを開き、届いた質問を読む
- 予約システムで予約客の予約を探し、日付・サイト・人数・ペットの有無を確かめる
- 場内の決まりの文書を開き、質問に当たる条文を探す
- 決まりに書いてあれば、条文を言い換えて答えを書く。書いていなければ管理人に電話で聞く
- 答えを送り、フォームから来たものはシートに「回答済み」と書く
- 自動代表アドレスへの返信と、フォームの新しい回答をきっかけに、Make のシナリオが動く
- 自動質問の記録のシートを引き、同じ質問をすでに扱っていれば止める
- 自動予約番号かメールアドレスで、予約の情報(日付・サイトの種類・人数・ペットの有無)を記録のシートから引く
- 自動場内の決まりの文書の本文を Google ドキュメントから読み込む
- 自動同じスレッドのこれまでの質問と答えを、質問の記録から引く
- 自動Claude API が、質問の種類を見分け、決まりの文を引用した答えを下書きし、決まりで答えられるかを返す
- 自動引用した文が決まりの原文に含まれるかを、ワークフローが文字で確かめる
- 自動ルーターで、自動で送ってよい種類で引用が一致したものは送り、それ以外は下書きに置き、決まりに無いものは管理人へ知らせる
- 人受付の担当が下書きを確かめて送る。管理人は自分に回ってきた質問に答える
- 自動送った答えを質問の記録に残す
各工程の詳しい説明を読む
- 受付の担当が代表アドレスとフォームの回答のシートを開き、届いた質問を読む
- 予約システムで予約客の予約を探し、日付・サイト・人数・ペットの有無を確かめる
- 場内の決まりの文書を開き、質問に当たる条文を探す
- 決まりに書いてあれば、条文を言い換えて答えを書く。書いていなければ管理人に電話で聞く
- 答えを送り、フォームから来たものはシートに「回答済み」と書く
(a)同じ質問に毎回答えを書いている。 「焚き火台の持ち込み」「チェックインの時間」「犬の頭数」は、繁忙期には1日に何件も届きます。決まりの文書のどこに書いてあるかは覚えていても、文は毎回書き直しています。
(b)人によって答えが違う。 「17時を過ぎて着いてもいいか」に、ある担当は「必ずご連絡ください」と書き、別の担当は「管理棟が閉まっているので翌朝の受付になります」と書きます。決まりの文書には両方が書いてあり、どちらを答えるかが担当に任されています。
(c)夕方に返事がたまる。 受付は、チェックインの時間帯にいちばん忙しくなります。その時間に届いた質問は、受付が落ち着く夜まで手が付きません。 翌日に到着する予約客の質問が、出発の朝になっても返っていないことがあります。
(d)続きの質問で前の答えを見ない。 2通目の質問に別の担当が答えると、1通目で何を答えたかを見ずに書き、食い違う答えを返してしまいます。
- 【自動】 代表アドレスへの返信と、フォームの新しい回答をきっかけに、Make のシナリオが動く
- 【自動】 質問の記録のシートを引き、同じ質問をすでに扱っていれば止める
- 【自動】 予約番号かメールアドレスで、予約の情報(日付・サイトの種類・人数・ペットの有無)を記録のシートから引く
- 【自動】 場内の決まりの文書の本文を Google ドキュメントから読み込む
- 【自動】 同じスレッドのこれまでの質問と答えを、質問の記録から引く
- 【自動】 Claude API が、質問の種類を見分け、決まりの文を引用した答えを下書きし、決まりで答えられるかを返す
- 【自動】 引用した文が決まりの原文に含まれるかを、ワークフローが文字で確かめる
- 【自動】 ルーターで、自動で送ってよい種類で引用が一致したものは送り、それ以外は下書きに置き、決まりに無いものは管理人へ知らせる
- 【人】 受付の担当が下書きを確かめて送る。管理人は自分に回ってきた質問に答える
- 【自動】 送った答えを質問の記録に残す
8番目が、この設計の分かれ目です。 自動で送ってよい種類は、管理人があらかじめ決めた、答えが決まりから動かないものだけです。例えば到着と出発の時間、ゴミの出し方、売店の営業時間です。焚き火・ペット・花火のように安全に関わる種類は、引用が一致しても下書きにします。
7番目をAIではなくワークフローに置くのも、意図してのことです。 AIに「引用は正しいか」を尋ねても、AIは正しいと答えます。原文にその文字の並びがあるかどうかは、文字の比較で決めます。
02今回想定するシステム構成
予約客の質問(確認メールへの返信/質問フォーム) ▼【トリガー】Gmail:Watch emails / Google Sheets:Watch New Rows Make のシナリオ ├──▶ Google Sheets:Search Rows(質問の記録・予約の情報) ├──▶ Google Docs:Get Content of a Document(場内の決まり) ├──▶ Claude API(Make an API Call):種類・引用・答えの下書き ├──▶ 引用の照合(決まりの本文に含まれるか) ├──▶ Router │ ├ 決まりに無い・管理人の判断 → 管理人へメール、受付に下書き │ ├ 安全に関わる種類・引用の不一致 → Gmail:Create a draft email │ ├ 自動で送ってよい種類で引用が一致 → Gmail:Send an email │ └ フォールバック → 受付の担当へ └──▶ Google Sheets:Add a Row(質問の記録)
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| ワークフロー | Make(シナリオ。Gmail、Google Sheets、Google Docs、ルーター) | Zapier、n8n、Power Automate |
| 生成AI | Claude API(Messages API、構造化出力) | OpenAI API |
| 保管 | Google スプレッドシート(フォームの回答・予約の情報・質問の記録・種類の一覧) | Airtable |
| 決まりの文書 | Google ドキュメント(場内の決まり) | Microsoft Word(OneDrive) |
新しく足すのは、シナリオと、質問の記録と種類の一覧のシートだけです。 予約システム、代表アドレス、質問フォーム、場内の決まりの文書はそのまま使います。この構成が書き込むのは、質問の記録と Gmail の送信と下書きだけで、決まりの文書には書き込みません。
決まりの文書は Google Docs の Get Content of a Document で読みます。 公式のページでは、Google Docs のアプリに Get Content of a Document、Create a Document from a Template、Replace a Text in a Document などがあります。毎回、文書の今の本文を読むので、管理人が決まりを書き換えれば、次の質問からその文で答えます。
入口は2つです。 Gmail の Watch emails は、公式のページではフォルダまたはラベルを見張り、送信元・件名などの絞り込みと Gmail の検索式が使えます。フォームの回答は、回答のたまるシートを Google Sheets の Watch New Rows で見張ります。公式のページでは、シートに空の行があると、それより後の行が処理されないとされているので、回答のシートには手で行を足したり空けたりしない決まりにします。
答えの下書きは Claude API で書きます。 Make の Anthropic Claude のアプリには Create a Prompt と Make an API Call などがあり、この構成では Make an API Call で Messages API を呼び、output_config.format に JSON スキーマを書きます。 Claude API には文書の箇所を引用として返す Citations の機能もありますが、公式のページでは Citations と構造化出力は併用できず、両方を指定すると 400 のエラーになるとされています。この構成は構造化出力を使い、引用は JSON の欄に写させてワークフローが原文と照らします。
03どうやって実装するのか
処理の起点を決める
代表アドレスへの返信と、フォームの新しい回答の2つを起点にします。 Gmail の Watch emails は、予約システムが送る確認メールへの返信だけを拾うように、件名に予約の確認メールの件名が含まれるものに絞ります。Gmail のフィルタで「予約の質問」のラベルを付け、そのラベルを見張る形にします。
実行の間隔は15分にします。 翌日に到着する予約客の質問は、夕方に届いても当日の夜までに返したいからです。1回で扱う件数の上限は30にします。 連休の前に質問がまとまって届いても、次の実行で残りを拾えます。
フォームの回答のシートは、Watch New Rows で見張ります。 回答のシートには、フォームが書き込む列のほかに、手で書き込む列を作りません。受付の担当がメモを書く列は、別の質問の記録のシートに持たせます。 回答のシートに手を入れると、空の行ができて後の行が拾われなくなるからです。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 質問 | 件名、本文(返信の引用を除いたもの)、送信元、受信日時、スレッドID/フォームの回答(予約番号・名前・質問の欄) | Gmail/フォームの回答のシート |
| 予約の情報 | 予約番号、到着日・出発日、サイトの種類(区画・フリー・コテージ)、人数、ペットの有無と頭数、車の台数 | 予約の情報のシート(予約システムから毎朝書き出す) |
| 場内の決まり | 見出しと条文の本文 | Google ドキュメント |
| これまでのやり取り | 同じスレッド・同じ予約番号の、過去の質問と送った答え | 質問の記録のシート |
| 種類の一覧 | 質問の種類と、自動で送ってよいか、管理人へ回すか | 種類の一覧のシート |
質を決めるのは、場内の決まりの書き方です。 「焚き火は焚き火台をご使用ください」とだけ書かれていて、直火の可否、薪の持ち込み、消火の方法が別々の見出しに散らばっていると、AIはどれか1つしか引用しません。決まりの文書は、1つの見出しの中で1つの話が完結するように、最初に一度整えます。
種類の一覧は、管理人が決めます。 例えば次のような表です。
| 種類 | 自動で送ってよいか | 管理人へ回すか |
|---|---|---|
| 到着・出発の時間 | よい(引用が一致したとき) | 到着が管理棟の閉まる時刻を過ぎるとき |
| ゴミ・売店・設備 | よい(引用が一致したとき) | - |
| 焚き火・花火 | よくない(下書き) | 決まりに無い道具のとき |
| ペット | よくない(下書き) | 頭数・犬種が決まりの範囲を超えるとき |
| 持ち込み(道具・発電機・薪) | よくない(下書き) | 決まりに無い道具のとき |
| キャンセル・日程の変更・天候 | よくない | いつも回す |
いちばん下の行は、決まりに書いてあっても管理人へ回します。 キャンセル料や返金は予約の約款の話で、天候による営業の判断は当日の管理人の判断だからです。
データの取得方法を決める
| 取るもの | どこから | どうやって |
|---|---|---|
| 質問の本文とスレッドID | Gmail | Watch emails の出力(Full content) |
| フォームの回答 | 回答のシート | Watch New Rows(見出しの行あり) |
| 予約の情報 | 予約の情報のシート | Search Rows(予約番号、無ければ送信元のアドレス) |
| 場内の決まり | Google ドキュメント | Get Content of a Document |
| これまでのやり取り | 質問の記録のシート | Search Rows(スレッドIDか予約番号) |
| 種類の一覧 | 種類の一覧のシート | Search Rows(全件を読む) |
予約の情報は、予約番号で引きます。 フォームには予約番号の欄を置き、メールの返信は確認メールの件名に入っている予約番号を取り出します。番号で引けないときだけ、送信元のアドレスで引きます。 家族の別のアドレスから届いた質問は、予約が引けないまま受付の担当に回します。
これまでのやり取りは、直近の3往復までにします。 長いやり取りをすべて渡すと、古い質問への答えを、今の質問への答えと取り違えます。 3往復を超える予約客は、もう受付の担当が直接やり取りしたほうが早い相手です。
AIへ渡す前に整形する
- 重複の確認 … メッセージIDかフォームの回答の時刻で質問の記録を引き、記録があれば止めます
- 返信の引用を落とす … 確認メールへの返信では、元の確認メールの全文が下に付いてきます。引用の部分を落とし、予約客が書いた部分だけにします
- 予約番号の取り出し … 件名から予約番号を取り出します
- 決まりの本文の用意 … 文書の本文を見出しごとに区切り、見出しに番号を振ってから渡します
- 予約の情報を添える … 到着日、サイトの種類、ペットの有無を、質問と一緒に渡します
- AIに渡す範囲を絞る … 予約客の電話番号と住所は渡しません
2番目を落とすと、AIが確認メールの文を質問として読みます。 確認メールには「キャンセル料について」の段落があるので、引用を残したまま渡すと、焚き火の質問にキャンセル料の答えが混ざります。
4番目で見出しに番号を振るのは、引用の照合と管理人の確認のためです。 AIに引用した見出しの番号も返させれば、受付の担当は決まりの文書のどこを見ればよいかがすぐ分かります。
AIに処理させる
させるのは3つです。 質問の種類を種類の一覧から選ぶこと、決まりの文を引用して答えを下書きすること、決まりで答えられるかを返すことです。
| 項目 | させること | 判断できないときの扱い |
|---|---|---|
| 質問の種類 | 種類の一覧から選ぶ。質問が2つあれば2つ選ぶ | 迷えば other |
| 引用 | 答えの根拠にした決まりの文を、そのまま写す。見出しの番号も | 根拠が無ければ空 |
| 答えの下書き | 引用した文の範囲で、予約の情報に合わせて答える | 決まりに無ければ答えを書かない |
| 決まりで答えられるか | covered(答えられる)/partial(一部だけ)/not_covered(書いていない) | 迷えば partial |
| 予約の情報との食い違い | 「ペットなしの予約で犬の質問」などに印を付ける | - |
partial を用意するのは、質問の一部だけが決まりに書いてあることが多いからです。 「焚き火台と薪を持ち込みたい」の焚き火台は決まりにあり、薪の持ち込みは書いていない、という形です。書いてある部分だけを答え、書いていない部分は管理人に回したことを下書きに書きます。
予約の情報との食い違いは、答えより先に見ます。 ペットなしで予約した予約客から「犬を連れて行きます」と届いたら、決まりの答えより先に、予約の変更が要ることを受付の担当が知る必要があります。
| させないこと | 理由 |
|---|---|
| 決まりに無いことに答える | 書いていないことを答えると、キャンプ場の約束になる |
| 例外を認める | 「今回は大丈夫です」は管理人の判断 |
| キャンセル料・返金・日程の変更に答える | 予約の約款と管理人の判断 |
| 天候で営業するかを答える | 当日の管理人の判断 |
| 決まりを言い換えて広げる | 「焚き火台を使えば」を「焚き火は自由に」と書かない |
指示内容を固定する
あなたはキャンプ場の受付の担当として、予約されたお客さまからの質問に
答えます。下に渡す「場内の決まり」に書かれていることだけを根拠に
してください。決まりに書かれていないことは答えないでください。
【すること】
1. 質問の種類を、種類の一覧から選ぶ(質問が複数あれば複数)。
2. 答えの根拠にした決まりの文を、見出しの番号とともに quotes に
そのまま写す。1文字も変えない。要約しない。
3. quotes の範囲だけで答えの下書きを書く。予約の情報(到着日、
サイトの種類、ペットの有無)に合わせて書く。
4. 決まりで答えられるかを coverage に書く。
- covered:質問のすべてに決まりの文で答えられる
- partial:一部だけ答えられる
- not_covered:決まりに書かれていない
【厳守事項】
- 決まりに書かれていないことは、答えを書かずに not_covered にする。
partial のときは、答えられない部分を「管理人に確認してご連絡します」
と書く。
- 「今回は特別に」「大丈夫だと思います」など、例外を認める言い方を
しない。
- キャンセル・返金・日程の変更・天候による営業の質問には答えを書かず、
種類を cancel_weather にする。
- 決まりの文を言い換えて、許される範囲を広げない。
- 予約の情報と質問が食い違う場合(ペットなしの予約で犬の話など)は、
booking_mismatch に書く。
- これまでのやり取りで答えたことと食い違う答えを書かない。食い違う
場合は needs_attention を true にする。
【種類の一覧】{categories}
【場内の決まり(見出しに番号付き)】{rules}
【予約の情報】{booking}
【これまでのやり取り(直近3往復まで)】{history}
【今回の質問】{question}
【署名】{signature}
「1文字も変えない」を書くのは、照合をワークフローの文字の比較で行うからです。 AIは引用でも句読点を整え、「ご使用ください」を「使用してください」に直します。1文字でも違えば照合を通らず、すべて下書きに回ってしまいます。 自動で送れる割合は、この1行で変わります。
「例外を認める言い方」を名指しで禁じるのは、AIが感じよく答えようとするからです。 「17時を過ぎても大丈夫ですよ」と書いた1通は、管理棟が閉まった後に到着した予約客にとって、キャンプ場の約束です。
出力形式を固定する
次の形の JSON を返させます。
{
"question_id": "",
"categories": ["arrival_time", "campfire"],
"coverage": "covered | partial | not_covered",
"quotes": [
{ "section_no": "3-2", "text": "" }
],
"draft_reply": "",
"unanswered_parts": "",
"booking_mismatch": "",
"needs_attention": false
}
構造化出力にする1つ目の理由は、引用を1つずつ照合できることです。 quotes の text を1件ずつ取り出し、決まりの本文にその文字の並びが含まれているかをワークフローで確かめます。 1件でも含まれていなければ、自動では送りません。Claude API の構造化出力は、スキーマを output_config.format に渡すと、その形の JSON が応答の本文に入る仕組みで、オブジェクトには additionalProperties: false を付けます。
2つ目は、ルーターの条件にそのまま使えることです。 categories を種類の一覧と照らして自動で送ってよい種類だけかを決め、coverage と needs_attention と booking_mismatch で管理人へ回すかを決めます。決まった値の外の文字が返ると、質問がフォールバックに落ちます。
3つ目は、応答が途中で切れたことに気づけることです。 公式のページでは、stop_reason が max_tokens のときは出力がスキーマに合わないことがあるとされています。決まりの文書が長いほど起きやすいので、stop_reason を見て、通常の終わり方でなければ受付の担当へ回します。
質問の記録には、次の列を持たせます。
| 列 | 中身 |
|---|---|
| 受信日時・経路・メッセージID・スレッドID・予約番号 | 重複の確認と、やり取りの束ね |
| 質問の本文(引用を落とした後) | 予約客が書いた部分 |
| 種類・coverage・引用の見出しの番号 | AIの結果 |
| 照合の結果 | 引用が原文に含まれたか |
| 送り方 | 自動送信/下書き/管理人へ |
| 送った答え | 実際に送った本文 |
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| Gmail | Watch emails/Send an email/Create a draft email | 質問を受け、自動の答えを送り、下書きを置く |
| フォームの回答のシート | Google Sheets の Watch New Rows | フォームの質問を受ける(読むだけ) |
| 予約の情報・種類の一覧 | Google Sheets の Search Rows | 予約と種類を引く(読むだけ) |
| 質問の記録 | Google Sheets の Search Rows/Add a Row | やり取りの束ねと記録 |
| 場内の決まり | Google Docs の Get Content of a Document | 決まりの本文(読むだけ) |
| Claude API | Anthropic Claude の Make an API Call | 種類・引用・答えの下書き |
ルーターのルートは、次の順に並べます。 1本目は cancel_weather を含むか not_covered か booking_mismatch があるもの(管理人へ)、2本目は安全に関わる種類か引用の不一致か partial のもの(下書き)、3本目は自動で送ってよい種類だけで照合を通ったもの(送信)、最後にフォールバックです。公式のページでは、ルートは同時ではなく1本ずつ順に処理されるとされています。管理人へのルートを先頭に置くのは、迷った質問が送信のルートまで流れないようにするためです。
フォームから来た質問には、メールで答えます。 フォームのメールアドレスの欄を宛先にし、件名に予約番号を入れて、次の続きの質問が同じスレッドに届くようにします。
人が確認する
受付の担当が確かめるのは、下書きに回ったものです。
- 引用の見出しを開く … 下書きの根拠が、決まりの文書のどの見出しかを見ます
- 予約の情報と合っているか … サイトの種類やペットの有無に合った答えかを見ます
- これまでのやり取りと合っているか … 前に送った答えと食い違わないかを見ます
- 送る … Gmail の画面から送り、質問の記録の送り方を書き換えます
管理人が見るのは、自分に回ってきた質問だけです。 管理人にはメールで、質問の本文・予約の情報・AIが答えられなかった部分を送ります。管理人の答えは受付の担当が下書きに足して送ります。
自動で送った分は、受付の担当が毎晩、件数と本文を流し見ます。 決まりの文書を書き換えた日は、その日だけ自動送信を止めて、すべてを下書きにします。 書き換えた条文が意図どおりに引用されるかを確かめるためです。
例外に対処する
| 起きること | 対応 |
|---|---|
| 予約番号でもアドレスでも予約が引けない | 答えを作らず、受付の担当へ。家族の別のアドレスからが多い |
| 引用が決まりの原文に含まれない | 自動で送らず下書きに回す |
| 決まりの文書が読み込めない | 答えを作らずに止め、受付の担当と管理人に知らせる |
| 質問が3つ以上まとめて書かれている | 種類ごとに分けて答える。3往復を超えたら受付の担当へ |
| 外国語の質問 | 種類を見分けるだけにし、答えは受付の担当が書く |
| 写真が添付されている(道具の写真など) | 中身は読まない。「添付あり」と書いて下書きに回す |
| 当日や前日の到着の時間の質問 | 自動送信の種類でも、到着日が翌日までなら下書きにして急ぎの印を付ける |
| Claude API が応答しない | 質問の記録に「未処理」と書き、ラベルを残して次の実行で拾い直す |
上の2行が大半を占めます。 どちらもAIの誤りではなく、予約の引き方と決まりの文書の書き方の問題です。 照合を通らない引用が多い見出しは、その見出しの条文が長すぎるか、言い回しが揺れています。
記録を残す
- 質問の本文と、引用を落とす前の元のメール
- AIに渡した決まりの文書の版(最終更新の日時)
- 返ってきた JSON の全文と、
stop_reason - 引用の照合の結果(どの引用が含まれなかったか)
- 送った答えの本文と、送り方(自動送信/下書き/管理人へ)
- 受付の担当が下書きを直した箇所と、管理人の答え
2つ目で決まりの版を残すのは、決まりが季節で変わるからです。 夏と冬で焚き火や消灯の決まりが違うと、「前に聞いたときと答えが違う」と言われたとき、どの版で答えたかが分かります。
最後の行は、決まりの文書を書き足す材料になります。 管理人へ回った質問が同じ種類で続くなら、その答えを決まりに書き足せば、次からは下書きで済みます。 管理人に回る件数が減っていくことが、この構成が育っている目安です。
04実装レベルの3段階
最小構成では件数がさばけません。 月360件を1件ずつ貼り付けるのは続きません。決まりで答えられるかを確かめるための段階です。 半自動化で、1件8分が3分になり、この段階が本記事の想定です。 予約の確認、条文探し、答えの下書き、記録が自動になり、人に残るのは、安全に関わる質問の下書きの確認と、管理人への引き継ぎです。
05工数削減シミュレーション
導入後 360件 × 3分 ÷ 60 = 18 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- オートキャンプ・区画サイト・コテージを持ち、予約の後に持ち込み・焚き火・ペット・到着の時間などの質問がメールとフォームで月に数百件届くキャンプ場。場内の決まりを Google ドキュメントにまとめていて、同じ質問への答えを管理人と受付が毎回書いているため、夕方の受付の忙しい時間に返事がたまり、人によって答えが違ってしまう場合。
- 質問が月に数十件で、管理人が自分で答えられているキャンプ場。場内の決まりが文書になっておらず、管理人の頭の中にしかない場合(先に決まりを書き出す必要があります)。質問の大半が電話で、メールやフォームで届くものが少ない場合。なお、キャンセル料や返金、天候による営業の判断、安全に関わる例外の許可は、この構成では代替できません。
07最小構成で試す方法
- 先月届いた質問から30件を選ぶ(焚き火・ペット・持ち込み・到着の時間・キャンセルを混ぜる)
- 30件について、受付の担当が当時どう答えたか、管理人に聞いたかを書き出す
- 場内の決まりの文書の本文と、第7章の指示を、手元の Claude の画面に貼る
- 30件の質問を1件ずつ貼り、引用と答えの下書きと coverage を書かせる
- 引用が決まりの原文にそのまま含まれているかを、文書の検索で1件ずつ確かめる
30件は必ずやってください。 シナリオを組む前に、決まりに無い質問を not_covered にできるか、引用を1文字も変えずに写せるかを確かめます。
| 出てきた内容 | 判断 |
|---|---|
| 当時の答えと同じで、引用が原文どおり | シナリオの組み立てに進む |
| 引用の句読点や語尾が変わる | 「1文字も変えない」を強め、照合の段で止まることを前提にする |
| 決まりに無い質問に答えてしまう | 決まりの見出しを整え、not_covered の例を指示に足す |
3行目が出たら、決まりの文書を先に見直してください。 似た話が別々の見出しに散らばっていると、AIは近い見出しを根拠に、書いていないことまで答えます。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 決まりに無いことに答える | not_covered を選ばせ、引用の照合で止める |
| 引用の語尾が変わって照合を通らない | 「1文字も変えない」を指示に書く。通らないものは下書きに回るだけで害は無い |
| 確認メールの引用の文を質問と読む | 返信の引用を落としてから渡す |
| 「今回は大丈夫」と例外を認める | 例外を認める言い方を名指しで禁じる |
| 前に送った答えと食い違う | 直近3往復を渡し、食い違うなら needs_attention |
| フォームの回答のシートの後の行が拾われない | 回答のシートに手で行を足したり空けたりしない |
| キャンセルの質問が自動で答えられる | cancel_weather を種類に持たせ、いつも管理人へ回す |
| 決まりを書き換えた日に誤った答えが出る | 書き換えた日は自動送信を止める |
| ペットなしの予約で犬の質問に答えてしまう | 予約の情報を渡し、booking_mismatch で受付へ |
上の2行が、この構成の失敗のほとんどです。 前者は答えの中身の誤り、後者は照合の空振りで、照合を文字の比較に置いているので、空振りは下書きが増えるだけで、誤った答えは外へ出ません。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 予約客の名前、メールアドレス、到着日、人数、ペットの有無、質問の本文です。質問に家族構成や子どもの年齢が書かれることがあります。
- AIに渡す範囲を絞る … 電話番号と住所は渡しません。質問の本文と予約の情報のうち、答えに要る欄だけを渡します
- 自動で送るのは、管理人が決めた種類だけ … 安全に関わる種類(焚き火・花火・ペット・持ち込み)は、引用が一致しても人が確かめてから送ります
- この構成は、例外の許可と営業の判断を代替しません … キャンセル料・返金・日程の変更、天候による営業、決まりに無い道具の使用は、管理人が判断します
- 決まりの文書が答えの上限になる … AIが答えられるのは決まりに書いてあることだけです。決まりの文書を誰が書き換えてよいかを決め、書き換えの記録を残します
- AIのサービスの選び方 … 宛先は予約をした大人ですが、家族連れの予約客が多い業種です。未成年が使う(使いうる)サービスでの利用を規約で制限している生成AIのサービスは、この構成では避けます
- 質問の記録の保存の期間を決める … 予約が終わった後、いつまで記録を残すかを先に決めます
誤りが起きた場合のリスクは、決まりに無い約束を書いてしまうことと、安全に関わる質問に誤った答えを返すことの2つです。 前者は引用の照合で、後者は種類ごとの送り分けで止めます。焚き火の1通の誤りは、場内の火の扱いに直結するので、最後は人が見ます。
10まず何から始めるか
1週目:場内の決まりの文書を整える
見出しごとに1つの話が完結するように、決まりの文書を書き直します。焚き火・薪・消火のように散らばっていた話を1つの見出しにまとめます。 見出しに番号を付けます。
2週目:30件で試す
先月の質問から30件を選び、手元の Claude の画面で引用付きの答えを書かせます。決まりに無い質問を not_covered にできるかを最優先で見ます。
3週目:種類の一覧を決める
管理人が、質問の種類と、自動で送ってよいか、管理人へ回すかを決めます。最初は自動で送る種類を2つ(到着・出発の時間、ゴミ・売店)だけにします。
4週目:下書きまでをつなぐ
Make で質問の受付から引用の照合、下書きまでを作ります。この時点では自動送信のルートを作らず、すべてを下書きにして照合を通る割合を見ます。
2か月目: 照合を通る割合が安定した種類から自動送信に切り替えます。管理人へ回った質問を毎週数えます。3か月目以降: 1件8分が何分になったかを実測し、管理人へ回った質問の答えを決まりに書き足して、回る件数が減り始めた時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| Gmail のアプリに Watch emails・Send an email・Create a draft email などがあること。Watch emails がフォルダまたはラベルを見張り、送信元・件名などの絞り込みと Gmail の検索式を使え、1回の上限が500までであること | Make: Gmail modules | 2026-10-15 |
| Google Sheets のアプリに Watch New Rows・Search Rows・Add a Row などがあること。Watch New Rows でシートに空の行があると、それより後の行が処理されないこと | Make: Google Sheets modules | 2026-10-15 |
| Google Docs のアプリに Get Content of a Document・Create a Document from a Template・Replace a Text in a Document などがあること | Make: Google Docs modules | 2026-10-15 |
| ルーターのルートが同時ではなく1本ずつ順に処理され、どの条件にも当たらないデータをフォールバックのルートが処理すること | Make: Router | 2026-10-15 |
| Anthropic Claude のアプリに Create a Prompt と Make an API Call などがあり、アプリの説明に構造化出力の記載が無いこと | Make: Anthropic Claude | 2026-10-15 |
構造化出力がスキーマを output_config.format(type: json_schema)に渡して使い、オブジェクトに additionalProperties: false が必要なこと。stop_reason が max_tokens のときは出力がスキーマに合わないことがあること | Claude: Structured outputs | 2026-10-15 |
Citations と構造化出力は併用できず、利用者が渡した文書で Citations を有効にして output_config.format も指定すると 400 のエラーになること | Claude: Citations | 2026-10-15 |
キャンセル料・返金・天候による営業・決まりの例外は、キャンプ場の約款と管理人の判断に沿って扱ってください。 本記事は上記の公式ページで確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1648)についてのご相談はこちらから。
