初心者向け

AI に「送る」を任せない設計

AI に「担当者に回して」と指示しても、AI はお客様に「お電話ください」と返しました。その店の情報には、電話番号がありませんでした。

このサイトの自動化の実例で、AI の暴走を止めたのは、指示の書き方ではありませんでした。送るかどうかを AI の外で決める作り(分岐で決める、送るのは人、数字はコードが確かめる)です。

それでもすり抜けた2件と、自分の業務で AI に任せる範囲を決める3つの問いも書きます。

先に結論を書きます。AI の暴走は、指示を工夫しても防げませんでした。防げたのは、「送るかどうか」を AI に決めさせない作りだけです。

約31秒の予告編(音声あり。音声:VOICEVOX:雨晴はう)

ここに書くのは、このサイトで配っている自動化の実例を作って、実際に動かしたときに起きたことです。AI は Claude Haiku 4.5 で、ほかのモデルでは試していません。お店のデータは、検証用に作った架空のものです。

AI エージェントの暴走は、指示では防げなかった

LINE の問い合わせに AI が答える仕組みを作ったとき、AI にはこう指示していました。「聞かれた商品が表に無いときは、文章を書かずに ESCALATE(担当者に回す)とだけ出す」。

表に無い商品の写真を送ると、AI はこう返しました。

申し訳ございませんが、写真のオフィスチェアは当店の在庫商品として見つかりませんでした。詳しくお調べさせていただきたいので、お手数ですがお電話またはご来店ください。

担当者に回らず、お客様に直接届きました。しかも、この店の情報には電話番号がありません。 お客様は電話をかけられません(LINE×Slack 問い合わせ対応)。

別の実例では、AI が返信案に「入荷しましたら改めてご連絡させていただきます」と書きました。在庫の表にあるのは「次回入荷 11月中旬予定」だけで、連絡する約束はどこにもありません。 指示には「結果に無いことは約束しない」と書いてありました。同じ質問を3回流して、この一文が入ったのは1回だけです(LINE の返信を承認して送る)。

AI にもっと任せると、崩れ方は大きくなりました。問い合わせメールへの返信の下書きを、決まった手順で組んだ版と、AI Agent(道具を持たせて、手順も AI に決めさせる作り)の版で比べています。同じモデル・同じデータで、Agent の版は次のとおりでした(AI Agent に任せるか、手順を組むか)。

  • 費用が約3倍
  • 空き枠があるお客様を、4回中3回断った
  • 来店できない日を「予約できます」と書いた回が、4回中1回あった

防いだ方法1:送るかどうかを、AI の文章ではなく分岐で決める

「お電話ください」の件は、指示を書き直しても直しませんでした。直したのは作りです。

  1. AI には、返信の文とは別に、「聞かれた商品は、店の商品の中にあるか」をはい/いいえで答えさせる
  2. 「いいえ」なら、AI が文章を書いていても使わずに、担当者に回す

送るかどうかを決めるのは、n8n の分岐です。AI の文章は、その判断に使いません。

同じ実例では、AI がお客様に直接返すのは、答えが手元の表だけで決まる質問(営業時間、表にある商品の在庫、来店の空き)に限っています。予約の確定、返品、苦情、表に無い商品、用件が2つ以上混ざった問い合わせは、AI は答えずに担当者に回します。用件が2つあると、AI が片方だけ答えて、もう片方が漏れやすいからです。

防いだ方法2:送るボタンは、人が押す

お客様に届く文を AI が書く実例の多くは、AI は下書きまでにしています。

実例 AI がすること 送るのは
在庫・来店メールの返信下書き Gmail に返信の下書きを作る 人(下書きを読んで、直して送る)
LINE の返信を承認して送る 返信案をスタッフにメールで送る 人(メールの「送る」を押したものだけ)
LINE×Slack 学習する窓口 返信案を Slack に出す 人(担当者がスレッドに書いたものだけ)

防いだ方法3:AI が書いた数字は、コードが確かめて、合わなければ止める

人が毎回すべてを読むのは、現実には続きません。そこで、AI が書いた数字や引用は、コードが元のデータと照らし合わせ、合わなければ送らない・止めるようにしています。

  • 領収書の金額:AI が読んだ金額が、PDF の文字の中に本当にあるか。明細と税の合計が合うか。タクシーの領収書で、AI が金額を数字ではなく「¥3,200」という文字で返したときは、合計が空になって「要確認」で止まりました。間違いとして通ってはいません(領収書とカード明細の突合)
  • 翻訳の数字:担当者の日本語の返信にある数字・URL・メールが、AI の訳文に残っているか。欠けていれば送りません(LINE 多言語の窓口)
  • 議事録の引用:AI が書いた決定事項や ToDo に付けた引用が、文字起こしに本当にあるか(引用つきの議事録)

それでもすり抜けた2件

コードの照合を通ったのに、間違っていたものが2件あります。

1. 引用は本物、中身は作文(議事録)。 AI は「ログインの不具合で、何人が影響を受けるのか」という未解決の疑問を書きました。付いていた引用は「影響の人数が分かるまで、ログインの不具合は保留にしよう」です。引用は文字起こしに実在するので、照合を通りました。しかし、会議でこの質問をした人はいません。AI が「保留にする」という発言を、疑問の形に作り替えていました。

2. 数字は合っている、説明が違う(法令の改正)。 労働基準法の第115条の改正で、AI は「賃金請求権の消滅時効が5年間に統一され…」と説明しました。引用も「5」という数字も条文にあり、照合を通りました。しかし、賃金の請求権の「五年間」は、旧い条文にもともと書かれていました。変わったのは別の部分です(法令の改正ウォッチ)。

照合で分かるのは、「その文や数字が、元のデータにある」ことまでです。「その説明が正しい」ことまでは分かりません。 どちらの実例も、AI の説明の横に、元の文(引用、コードが出した条文の差分)を必ず並べて、人が読めるようにしています。

人の操作も、送信事故の原因になる

AI だけの話ではありません。LINE と Slack をつないだ実例では、試している途中で、私が Slack のスレッドに書いた「16:00でお願いします」が、お店の発言としてお客様の LINE に届きました。 その作りでは、スレッドに書いたものが全部お客様に送られるからです。

現場では、担当者どうしの相談をスレッドに書くことが、よくあるはずです。そこで、「//」で始まる書き込みは送らない、という決まりを足しました。送る仕組みは、AI の間違いと、人のうっかりの両方を想定して作る必要があります。

自分の業務で、AI にどこまで任せるか:3つの問い

ここまでの実例から、私は次の3つを順に考えて、AI に任せる範囲を決めています。実測から導いた決まりではなく、私のやり方です。

  1. 送ったあとに、取り消せるか。 お客様へのメッセージ、支払い、外部への登録は、取り消せません。取り消せないものは、AI に送らせない。下書きか、人の承認まで
  2. 答えが、手元のデータだけで決まるか。 決まるもの(営業時間、表にある在庫)は、AI がそのまま返してもよい。決まらないもの(約束、判断、例外)は人に回す
  3. AI の間違いを、コードで見つけられるか。 数字、引用、日付は、元のデータと照らし合わせられる。見つけられないもの(説明が正しいか、言い回しが失礼でないか)は、人が読む場所を残す

確認していないこと

  • ほかのモデル。 どの例も Claude Haiku 4.5 です。もっと大きなモデルなら、指示を守る割合は変わるかもしれません
  • 長い期間の運用。 どの実例も、検証用のデータで数回〜数十回試しただけです。実際のお店で、何か月も動かしたときに何が起きるかは分かりません
  • 起きる頻度。 「入荷したら連絡します」は3回中1回でしたが、この回数では割合は言えません

次に読む

次に読む