社内でZapierやn8nを使ってAIエージェントを組んでみたはいいが、本番に出してみると3〜5ステップ目で出力がズレ始め、結局ほぼ毎回人間が確認して手直ししている、という担当者は多い。「自動化したのに、以前より手間が増えた」と感じているなら、原因はおそらくどこも同じところにある。エラーが累積していくのに、エージェント自身が気づかないからだ。
なぜ3〜5ステップ目で崩れるのか
エージェントは前のステップの出力を「正しい」と信じて次に渡す。ステップ1で「2026年4月」が「4月2026年」という形式に変換されてしまっても、そのまま次のステップに流れていく。これが積み重なると、5ステップ目に届いた時点でデータは元のものとかなり別物になっている。
人間が同じ作業をするなら、途中で「あれ、何か変だな」と気づいて立ち止まれる。エージェントにその判断はない。ひたすら前に進む。だから「おかしくなったら自分で止まれる仕組み」を、設計の段階で組み込む必要がある。これを「自己検証ループ」と呼ぶ。
ChatGPTに検証役を担わせる具体的な方法
実装はシンプルだ。処理ステップの直後に「検証専用のChatGPTステップ」を挟む。
たとえばこういう流れになる。ステップ1でデータを取得・整形し、ステップ2でChatGPTに「この出力が正しい形式かチェックして。問題があれば理由をJSON形式で返して」と送る。ステップ3でJSONのstatusがokなら次に進み、errorなら再試行、または担当者にSlackで通知して処理を止める。
ZapierならFilterステップで分岐できる。n8nならIF Nodeを使えばいい。Gumloopなら条件分岐のブロックがそのまま使える。ツールを選ばず同じ考え方で実装できる。
検証プロンプトには、期待する出力の形式とNGになる条件を具体的に書くことが重要だ。「メールアドレスが含まれているか」「文字数が50〜200文字の範囲か」「必須項目が欠けていないか」のように条件を列挙するほど、検証の精度が上がる。「おかしければ教えて」という曖昧な指示より、具体的なチェックリストを渡す方が、ChatGPTも判断しやすい。
一度設計してしまえば、あとは使い回せる。最初の手間がのちの確認作業をなくす。
本番に出せるエージェントの条件
「止まれるかどうか」が、エージェントを本番に出せるかどうかの分かれ目だ。止まれないエージェントは誤った状態のまま処理を走らせ続け、最終的に出てくる結果を全部チェックしなければならなくなる。その修正コストは、自動化で節約できる時間よりも高くなる。
自己検証ループを組み込むと、エージェントが「おかしいと気づいて止まれる」ようになる。担当者の仕事は「なぜ止まったか」を確認して次の判断をするだけに絞られる。全ステップを目視確認する必要はなくなる。
最初から完璧なエージェントは作れない。まず動くものを作り、止まった場所に検証ステップを足していく。その繰り返しで管理コストが下がっていく。止まった場所は、設計の弱点を教えてくれる手がかりでもある。本番に出せないのではなく、出せるようになるための設計が足りていなかっただけだ。
コピペで使えるプロンプト集
① ワークフロー出力の自動検証プロンプト
自動化フローの各ステップ後に出力が正しい形式かチェックする
あなたは自動化ワークフローの品質管理エキスパートです。以下の出力データを確認し、設定した検証条件をすべて満たしているかチェックしてください。
【出力データ】
(前のステップの出力をここに貼る)
【検証条件】
- 【条件1:例「メールアドレスが含まれているか」】
- 【条件2:例「文字数が50〜200文字の範囲か」】
- 【条件3:例「必須項目の「氏名」「会社名」が含まれているか」】
確認後、以下のJSON形式のみで返してください:
{"status": "ok" または "error", "issues": ["問題点1", "問題点2"]}
問題がなければissuesは空配列にしてください。説明は不要です。
② エラー発生時のエスカレーション通知文生成
エージェントがエラーを検知したとき、担当者に状況を伝えるSlack通知を作る
あなたは業務自動化システムの通知担当です。以下の情報をもとに、担当者がすぐ状況を把握できる簡潔なSlack通知メッセージを作成してください。 【エラー発生ステップ】:【例:ステップ3「データ整形」】 【エラー内容】:【例:出力に必須項目「会社名」が含まれていない】 【元データの概要】:【例:2026年4月26日受信の問い合わせフォーム送信データ】 【担当者に求めるアクション】:【例:元データを確認して手動で修正する】 通知文は3〜5行で、件名・エラー概要・対応依頼の順に書いてください。絵文字は1〜2個のみ使用してください。
③ ワークフローの検証条件を洗い出すプロンプト
自動化フローを設計する際に各ステップで何をチェックすべきかを整理する
あなたは業務プロセスの品質管理の専門家です。以下のワークフローについて、各ステップで「自己検証ループ」に組み込むべき検証条件を洗い出してください。 【ワークフロー概要】:【例:問い合わせフォームの回答をもとに見積書を自動作成してメール送信する】 【使用ツール】:【例:Zapier+ChatGPT+Googleスプレッドシート】 【ステップ数】:【例:5ステップ】 各ステップごとに以下の形式でまとめてください: ステップN:【処理内容】 - 検証条件1: - 検証条件2: NGになる場合は再試行か人間にエスカレートかも併記してください。
エージェントを組んで「なんか動かないな」と感じるの、すごくわかります。
「自分で止まれるかどうか」という視点は、本番運用を考えるときに見落としがちな本質的なポイントだと思います。
まず動かしてみて、止まった場所を直していけば大丈夫です。