広告会社が運用する広告主のSNSアカウントの予約投稿を、投稿の前に表記ルール・NGワード・ハッシュタグの規定で校正する
予約する前の投稿の原稿を、広告主ごとの表記ルール・NGワード・ハッシュタグの規定と照らして校正します。規定に合わない箇所と、どの規定に当たるか、直し案を、原稿の管理表の行に書き戻します。
- 生成AI
- ChatGPT/Claude/Gemini
- 連携・自動化
- Make/n8n/Power Automate/Zapier
- 対象業界
- 宿泊/小売/広告/飲食
- 対象部門
- マーケティング
- 対象業務
- 内容確認・チェック/書類作成
- 主な課題
- 人手が足りない/属人化している/確認ミスが多い
- AIで行う処理
- 校正
- 主な効果
- 入力漏れ削減/品質標準化/工数削減
- 導入難易度
- ★★☆☆☆
- 実装レベル
- 半自動化
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 担当者が管理表に原稿を書き、ステータスを「読み合わせ待ち」にする
- 別の担当者が、その広告主の表記の一覧と過去の指摘のメモを開く
- 原稿を読み、商品名の書き方、数字と記号の全角・半角、敬語の決まりを確かめる
- 使ってはいけない言葉が入っていないかを確かめる
- ハッシュタグの数、必ず付けるタグ、付けてはいけないタグを確かめる
- 気づいた点を管理表のコメント欄に書き、書いた担当者に返す
- 直ったものを広告主の承認に回す
- 人担当者が管理表に原稿を書き、ステータスを「校正待ち」にする
- 自動Make のシナリオが15分おきに動き、全広告主の管理表から「校正待ち」の行を探す
- 自動その広告主の規定の表(表記ルール・NGワード・ハッシュタグの規定)を読む
- 自動NGワードの完全一致、ハッシュタグの数、必須・禁止のタグを、Make の側で機械的に確かめる
- 自動Claude が、原稿と表記ルールを照らし、規定に合わない箇所と直し案を返す
- 自動4と5の結果を管理表の行に書き戻し、ステータスを「校正済み」にする
- 人担当者が指摘を読み、直すものは自分で本文を直す。直さないものは理由を残す
- 人広告主の承認に回す
各工程の詳しい説明を読む
- 担当者が管理表に原稿を書き、ステータスを「読み合わせ待ち」にする
- 別の担当者が、その広告主の表記の一覧と過去の指摘のメモを開く
- 原稿を読み、商品名の書き方、数字と記号の全角・半角、敬語の決まりを確かめる
- 使ってはいけない言葉が入っていないかを確かめる
- ハッシュタグの数、必ず付けるタグ、付けてはいけないタグを確かめる
- 気づいた点を管理表のコメント欄に書き、書いた担当者に返す
- 直ったものを広告主の承認に回す
(a)広告主ごとに決まりが違い、覚えきれない。 25社の決まりを全部覚えている担当者はいません。読み合わせのたびに一覧を開きますが、急ぐ日ほど開かずに読んでしまいます。 「こちらの広告主はキャンペーンを『CP』と略さない」といった細かな決まりは、過去の指摘のメモにしか書かれていません。
(b)読み合わせでも見落とす。 自分の担当でない広告主の投稿を読むと、何がその広告主にとっての誤りなのかが分からないまま読むことになります。 ハッシュタグの付け忘れや、全角と半角の混在は、目で読むと流れてしまいます。
(c)読み合わせをする人が足りない。 8名で月1,200件を書き、同じ数を読み合わせます。キャンペーンの前は書くだけで手一杯になり、 読み合わせが後回しになって、広告主の承認の期日に間に合わなくなります。
(d)指摘が人によって違う。 同じ表記を、ある担当者は直し、別の担当者は直しません。広告主から見ると、同じアカウントの投稿の表記が週によって違います。 広告主からの差し戻しの多くは、ここから来ています。
- 【人】 担当者が管理表に原稿を書き、ステータスを「校正待ち」にする
- 【自動】 Make のシナリオが15分おきに動き、全広告主の管理表から「校正待ち」の行を探す
- 【自動】 その広告主の規定の表(表記ルール・NGワード・ハッシュタグの規定)を読む
- 【自動】 NGワードの完全一致、ハッシュタグの数、必須・禁止のタグを、Make の側で機械的に確かめる
- 【自動】 Claude が、原稿と表記ルールを照らし、規定に合わない箇所と直し案を返す
- 【自動】 4と5の結果を管理表の行に書き戻し、ステータスを「校正済み」にする
- 【人】 担当者が指摘を読み、直すものは自分で本文を直す。直さないものは理由を残す
- 【人】 広告主の承認に回す
7番目が、人に残る仕事です。 読み合わせの担当者が原稿を一から読む仕事は、指摘の一覧を読んで採るか採らないかを決める仕事に変わります。
4番目を AI の前に置いているのは、確実に拾うべきものを先に拾うためです。 NGワードの完全一致は、機械なら必ず拾えます。AIの見落としを人が補う設計ではなく、機械が確実に拾ったうえでAIが残りを読む設計にします。
02今回想定するシステム構成
投稿の原稿の管理表(広告主ごとのスプレッドシート) │ ステータス「校正待ち」 ▼【トリガー】15分おきの定時実行 Make ├──▶ Google Sheets:Search Rows で「校正待ち」の行を探す ├──▶ Google Sheets:その広告主の規定の表を読む ├──▶ 機械の確認:NGワードの完全一致/ハッシュタグの数/必須・禁止のタグ ▼ Claude API(Make の Anthropic Claude アプリから呼ぶ) │ 表記ルールとの照合/言い換えのNG表現/表記のゆれ/誤字 ▼ Make ── 指摘と直し案を管理表の行に書き戻す(Update a Row) ▼ 【人が指摘を読み、本文を直す】 ▼ 広告主の承認 → 予約投稿の道具に登録
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| ワークフロー | Make(定時実行、Google Sheets のモジュール、条件分岐) | Zapier、n8n、Power Automate |
| 生成AI | Claude API(Make の Anthropic Claude アプリから呼ぶ) | OpenAI API、Gemini API |
| 保管 | Google スプレッドシート(原稿の管理表・広告主ごとの規定の表) | Airtable |
| 通知 | 社内チャット(広告主ごとのチャンネル) | メール |
原稿の管理表と予約投稿の道具は、今あるものを使います。 足すのは、Make のシナリオが1本と、広告主ごとの規定の表です。規定の表は、表記の一覧と過去の指摘のメモを1つの形にまとめ直したもので、これを作ることが最初の準備作業になります。
予約投稿の道具とSNSには書き込みません。 予約の登録は、広告主の承認の後に担当者が行います。校正の結果が、そのまま投稿に流れる経路は作りません。
Claude は Make の Anthropic Claude アプリから呼びます。 このアプリには、モデルを選んで指示を送る「Create a Prompt」のほか、任意の API を呼べる「Make an API Call」があります。この構成では、出力をJSONの形に固定するために「Make an API Call」で Messages API を呼び、構造化出力(output_config.format に JSON Schema を渡す指定)を使います。構造化出力は、スキーマに合ったJSONを返すことを保証する仕組みで、enum で値の選択肢を決められます。
「Create a Prompt」で文章として返させ、それを Make の側でJSONとして読む作りは避けます。 指摘が0件のとき、AIは「問題は見当たりません」と文章で返しがちで、JSONとして読めずにシナリオが止まります。 スキーマで形を固定しておけば、0件は空の配列で返ります。
03どうやって実装するのか
処理の起点を決める
15分おきの定時実行で、「校正待ち」の行を探します。 行が追加されたときに動く Watch New Rows は使いません。原稿は行を足して書くのではなく、既にある行のステータスを書き換えて校正に回すためです。
セルの変更で動く Watch Changes も使いません。このモジュールはGoogle Sheets の画面で人が行った変更だけを見て、スクリプトの実行や API による変更では動きません。 管理表の一部を他のツールから書き込んでいると、そこから回ってきた原稿が拾われません。
Search Rows でステータスの列が「校正待ち」の行を探し、 見つかった行を1件ずつ処理します。処理を始めたら、まずステータスを「校正中」に書き換えます。次の15分後の実行で、同じ行を二度拾わないためです。
広告主ごとに管理表が分かれているので、広告主の一覧の表を最初に読み、管理表のIDを順に回します。 広告主が増えたら、一覧に1行足すだけで校正の対象になります。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 投稿の原稿 | 行の番号、広告主、SNSの種類、予定日時、本文、ハッシュタグ | 原稿の管理表 |
| 表記ルール | 正しい表記と誤りの表記の組、ルールの番号、補足 | 広告主ごとの規定の表 |
| NGワード | 使ってはいけない言葉と、その理由 | 広告主ごとの規定の表 |
| ハッシュタグの規定 | 必ず付けるタグ、付けてはいけないタグ、数の上限 | 広告主ごとの規定の表 |
| 文字数の上限 | SNSの種類ごとに、自社で決めた本文の文字数の上限 | 自社の運用の決まり |
質を決めるのは、規定の表の書き方です。 「商品名は正しく書く」では照らしようがありません。「誤:フレッシュジュース/正:フレッシュ・ジュース」のように、正誤の組で書きます。 正誤の組になっていれば、AIは本文の中から誤りの側を探せばよく、迷う余地が減ります。
規定の表は、例えば次のような形にします。
| 番号 | 種類 | 誤り | 正しい表記 | 補足 |
|---|---|---|---|---|
| R-01 | 表記ルール | CP | キャンペーン | 略さない |
| R-02 | 表記ルール | お客さま | お客様 | 全投稿で統一 |
| R-03 | 表記ルール | 10%OFF | 10%オフ | 「OFF」は使わない |
| N-01 | NGワード | 最安 | - | 比較の根拠を示せないため |
| H-01 | ハッシュタグ | - | #ブランド名公式 | 必ず付ける。上限は5つ |
種類の列で、機械が見る行とAIが見る行を分けます。 NGワードとハッシュタグの行は前処理で機械が使い、表記ルールの行とNGワードの行の理由はAIに渡します。NGワードの理由を渡すのは、言い換えを見分ける手がかりになるからです。 「比較の根拠を示せない」と分かれば、「どこよりも安い」が同じ問題を持つと判断できます。
ルールに番号を振っておきます。 指摘のたびにルールの番号が返るので、担当者は「なぜ直すのか」を規定の表で確かめられます。 番号の無い指摘は、AIが一般的な正しさで出したものとして区別できます。
データの取得方法を決める
| 取るもの | どこから | どのモジュール |
|---|---|---|
| 広告主の一覧と管理表のID | 広告主の一覧の表 | Search Rows |
| 「校正待ち」の行 | 各広告主の管理表 | Search Rows(フィルタでステータスを指定) |
| 規定の表 | 各広告主の規定のシート | Get Range Values |
| 校正の結果の書き戻し | 各広告主の管理表 | Update a Row |
規定の表は、Get Range Values で範囲ごと読みます。 表記ルール、NGワード、ハッシュタグの規定を別々の範囲に置き、それぞれを読み込みます。行ごとに Search Rows で引くより、1回でまとめて読むほうが操作の回数が少なく済みます。
書き戻しは Update a Row で、行の番号を指定して行います。 値の入れ方は「Raw」を選びます。「User entered」だと、手で入力したときと同じように解釈され、 指摘の文の先頭が「=」や「+」のときに数式として扱われるおそれがあります。
AIへ渡す前に整形する
- ステータスを「校正中」にする … 二重に拾わないため、処理を始めた時点で書き換えます
- 本文とハッシュタグを分ける … 本文の中に書かれたハッシュタグも取り出し、ハッシュタグの列と合わせます
- NGワードの完全一致を確かめる … 規定の表のNGワードを1語ずつ、本文に含まれるかを Make の文字列の関数で確かめます
- ハッシュタグを確かめる … 数が上限を超えていないか、必須のタグがあるか、禁止のタグが無いかを確かめます
- 文字数を確かめる … SNSの種類ごとに、自社で決めた上限を超えていないかを確かめます
- URLを伏せる … 本文のURLは「[URL]」に置き換えてからAIへ渡します。URLの文字列を表記の誤りとして指摘させないためです
3番目から5番目の結果は、AIの結果とは別の列に書きます。 機械が拾ったものは必ず直すもの、AIが拾ったものは担当者が判断するものです。同じ列に混ぜると、確実な指摘と迷いのある指摘の区別がつかなくなります。
AIに処理させる
させるのは、本文を表記ルールと照らして、合わない箇所を探し、ルールの番号と直し案を付けることだけです。
| 見るもの | 何を探すか | 判断できないときの扱い |
|---|---|---|
| 表記ルール | 規定の表の「誤り」の側の表記が本文にあるか | 似ているが同じか分からなければ uncertain |
| NGワードの言い換え | NGワードと同じ意味の別の言い方 | 意味が同じか分からなければ uncertain |
| 表記のゆれ | 同じ投稿の中で、同じ語が2通りに書かれているか | - |
| 誤字・脱字 | 明らかな変換の誤り、助詞の重複 | 固有名詞や造語なら指摘しない |
| 数字と記号 | 全角・半角が規定と違うか | 規定に無ければ指摘しない |
2行目が、機械の確認と分けた理由です。 「最安」がNGワードなら、機械は「最安」を拾えますが、「どこよりも安い」は拾えません。 AIに読ませる意味があるのは、この種類の指摘です。
| させないこと | 理由 |
|---|---|
| 本文の書き換え | 直すのは担当者。広告主の承認を受ける文は人が確定させる |
| 規定に無い好みの指摘 | 「もっと魅力的に」のような指摘は校正ではない |
| 法令に照らした判断 | 景品表示法・薬機法などの判断は別の確認の手順で行う |
| ハッシュタグの提案 | 数と必須・禁止の確認は機械が行う。新しいタグは担当者が決める |
| NGワードの完全一致の確認 | 機械が行う。AIに任せると見落としが確率の問題になる |
2行目を明記しないと、指摘の数が増えすぎます。 校正を頼まれたAIは、規定に無くても「より自然な言い方」を出しがちです。指摘が10件並び、そのうち規定に基づくものが2件という状態では、担当者は全部を読まなくなります。
指示内容を固定する
あなたは広告会社のSNS運用チームで、投稿の原稿を広告主の規定に照らして
校正する立場です。広告主の規定に書かれていることだけを根拠にしてください。
【やること】
次の投稿の本文を読み、広告主の規定に合わない箇所をすべて挙げてください。
挙げるのは次の4種類だけです。
1. rule ......... 表記ルールの「誤り」の側の表記が使われている
2. ng_paraphrase NGワードと同じ意味の別の言い方が使われている
3. inconsistency 同じ投稿の中で、同じ語が2通りに書かれている
4. typo ......... 明らかな誤字・脱字(固有名詞・造語・ブランドの表記は除く)
【厳守事項】
- 本文を書き換えないでください。指摘と直し案だけを返してください。
- 直し案は、指摘した箇所だけを直したものにしてください。
前後の文まで書き直さないでください。
- ng_paraphrase の suggestion は空にしてください。言い換えの案を作らないでください。
- 規定に無い好みや言い回しの改善は挙げないでください。
- rule と ng_paraphrase には、根拠にしたルールの番号を rule_id に入れてください。
番号が無いものを rule として挙げないでください。
- NGワードと同じ語がそのまま使われている場合は挙げないでください。
(別の手順で確認済みです)
- 法令に照らして問題があるかどうかは書かないでください。
- 意味が同じか、規定に当たるか迷うものは、certainty を uncertain にしてください。
迷ったものを confirmed にしないでください。
- 指摘が無ければ issues を空の配列にしてください。
【広告主】{client_name}
【SNSの種類】{platform}
【表記ルール(番号・誤り・正しい表記・補足)】{style_rules}
【NGワード(語・理由)】{ng_words}
【本文(URLは[URL]に置換済み)】{post_body}
「NGワードと同じ語がそのまま使われている場合は挙げない」は、機械の確認との重複を避けるためです。 両方が同じ語を拾うと、管理表の行に同じ指摘が2回並び、 担当者はどちらを見ればよいか迷います。役割を分けたことを、指示の側でも守らせます。
「前後の文まで書き直さない」を書かないと、直し案が書き直しになります。 「CP」を「キャンペーン」に直すだけの指摘が、文全体を整えた別の文になって返ってきます。 担当者は何が直されたのかを見比べることになり、指摘の意味がなくなります。
出力形式を固定する
構造化出力の JSON Schema で、次の形に固定します。
{
"issues": [
{
"type": "rule | ng_paraphrase | inconsistency | typo",
"rule_id": "",
"original": "",
"suggestion": "",
"certainty": "confirmed | uncertain",
"note": ""
}
]
}
「週末限定CP!どこよりも安い10%OFFでお待ちしています」という本文なら、返ってくるのは次のような値です。
{
"issues": [
{ "type": "rule", "rule_id": "R-01", "original": "CP", "suggestion": "キャンペーン",
"certainty": "confirmed", "note": "" },
{ "type": "rule", "rule_id": "R-03", "original": "10%OFF", "suggestion": "10%オフ",
"certainty": "confirmed", "note": "" },
{ "type": "ng_paraphrase", "rule_id": "N-01", "original": "どこよりも安い",
"suggestion": "", "certainty": "uncertain", "note": "最安と同じく比較の表現" }
]
}
3つ目の指摘で suggestion が空なのは、言い換えのNG表現には直し案を作らせないためです。 どう書き換えるかは表現の判断で、担当者が決めます。
1つ目の理由は、管理表の列にそのまま書き戻せることです。 issues の要素1つが1つの指摘で、「原文 → 直し案(ルール番号)」の形に並べて指摘の列に書きます。自由な文章で返されると、どこが指摘でどこが説明かを人が読み分けることになります。
2つ目は、type と certainty を enum で固定できることです。 構造化出力は enum に対応しています。値が決まった選択肢から返るので、Make の側で「certainty が uncertain のものは別の列へ」という振り分けを条件で書けます。 なお、公式の説明では enum の値の大文字・小文字までは保証されないとされているので、比べるときは大文字・小文字を区別せずに比べます。
3つ目は、rule_id で指摘の根拠を確かめられることです。
| 列 | 中身 |
|---|---|
| 機械の指摘 | NGワードの完全一致、ハッシュタグの数・必須・禁止、文字数の超過 |
| AIの指摘(確定) | certainty が confirmed のもの |
| AIの指摘(要判断) | certainty が uncertain のもの |
| ステータス | 「校正済み・指摘なし」/「校正済み・指摘あり」/「校正エラー」 |
機械の指摘を左端に置くのは、必ず直すものだからです。 担当者は左から順に見て、機械の指摘を直し、AIの確定の指摘を採るか決め、要判断のものを読むという順で進めます。
スキーマのすべての object に additionalProperties: false を付けます。 構造化出力では必須の指定で、付けないと要求そのものが通りません。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 原稿の管理表 | Make の Google Sheets のモジュール | 「校正待ち」の行を探し、結果を書き戻す |
| 規定の表 | Get Range Values | 表記ルール・NGワード・ハッシュタグの規定を読む |
| Claude API | Anthropic Claude アプリの Make an API Call | 構造化出力で指摘を返す |
| 社内チャット | Make のモジュール | 「指摘あり」の件数を広告主ごとのチャンネルへ知らせる |
書き込むのは、原稿の管理表の指摘の列とステータスの列だけです。 本文の列には書き込みません。本文を自動で直す設定は、作れても作りません。 広告主の承認を受ける文が、誰も読んでいない直し案で変わってしまうからです。
社内チャットへは、件数だけを知らせます。 指摘の中身を流すと、チャンネルが指摘で埋まり、担当者は管理表を見なくなります。「広告主A:指摘あり3件、校正エラー1件」の形で、管理表へのリンクを付けて送ります。
人が確認する
人が見るのは、校正したすべての投稿の指摘の列です。 投稿は広告主の名前で世に出るので、指摘が無かった投稿も、担当者が本文を一度読んでから承認に回します。
- 機械の指摘を直す … NGワード、ハッシュタグ、文字数は、規定どおりに直します
- AIの確定の指摘を採るか決める … ルールの番号で規定の表を確かめ、採るものは本文を直します
- AIの要判断の指摘を読む … 言い換えのNG表現か、広告主に確かめるべきかを決めます
- 採らなかった指摘に理由を残す … 「固有名詞」「広告主の了承済み」など、一言で残します
- 本文を一度通して読み、広告主の承認に回す
4番目が、規定の表を育てる記録です。 同じ指摘が「広告主の了承済み」で採られなかったことが続けば、その表記は規定の表に「例外」として足します。 規定の表が実際の運用に追いつくと、要判断の指摘が減っていきます。
目標は、1,200件をならして1件2分です。 指摘の無い投稿は通して読むだけ、指摘のある投稿は規定の表を確かめて直すので数分かかります。
例外に対処する
| 起きること | 対応 |
|---|---|
| 広告主の規定の表が無い | 校正せずに「校正エラー」にし、担当者へ知らせる |
| 本文が空、または画像だけの投稿 | 機械の確認だけを行い、AIは呼ばない |
| AIの応答が途中で切れた | 出力が上限に達したもの。指摘を書き戻さず「校正エラー」で人へ |
| AIが応答を断った | 応答を断った場合はスキーマに合わないことがある。「校正エラー」で人へ |
指摘の original が本文に無い | AIの写し違い。その指摘は「要判断」の列へ移す |
| 同じ行が二度拾われる | 処理の最初に「校正中」へ。「校正中」のまま1時間を超えた行は人へ知らせる |
| 校正の後に本文が直された | ステータスを「校正待ち」に戻せば、もう一度校正される |
| 英語や多言語の投稿 | 規定の表がその言語に対応していなければ、機械の確認だけにする |
5行目は、Make の側で機械的に確かめます。 指摘の original の文字列が本文に含まれているかを文字列の関数で見ます。本文に無い文字列への指摘は、AIが本文を読み違えたか、言い換えて写したものです。 確定の列に置くと、担当者は本文の中で存在しない箇所を探すことになります。
3行目と4行目は、構造化出力でもスキーマどおりにならない場合として、公式に挙げられているものです。 応答の停止の理由を見て、該当すれば書き戻さずに止めます。
記録を残す
- 校正した時点の本文とハッシュタグ(管理表の別のシートに写しを残す)
- 機械の確認の結果と、AIの出力(
issuesの全体) - そのとき使った規定の表の版
- 担当者が採らなかった指摘と、その理由
- 広告主からの差し戻しの有無と、その内容
- Make のシナリオの実行の履歴
1つ目で本文の写しを残すのは、校正の後に本文が変わるためです。 担当者が直した後の本文しか残っていないと、何を指摘されて、何を直したのかが追えません。
5つ目の差し戻しの記録は、この構成の効き目を見る材料になります。 広告主からの差し戻しのうち、規定の表にある決まりで防げたものがどれだけあったかを、月ごとに数えます。
04実装レベルの3段階
最小構成では件数がさばけません。 月1,200件を手で貼るのは現実的ではなく、規定の表と指示文を固めるための段階です。 半自動化で、1件5分が2分になり、この段階が本記事の想定です。 規定の表を開く、読んで探す、ハッシュタグを数える、指摘を書く作業が自動になり、担当者に残るのは、指摘を採るかを決めて直し、本文を通して読む仕事です。 本格構成は、規定の表を運用に合わせ続けるための段階です。 工数はほとんど変わりませんが、要判断の指摘が減り、広告主との決まりのすり合わせが定期的にできるようになります。
05工数削減シミュレーション
導入後 1,200件 × 2分 ÷ 60 = 40 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 広告主から複数のSNSアカウントの運用を任され、月に数百から千件を超える投稿を予約している広告会社・制作会社。広告主ごとに商品名の書き方、使ってはいけない言葉、付けるハッシュタグの決まりがあり、運用の担当者が別の担当者の投稿を目で読み合わせている場合。表記の誤りやハッシュタグの付け忘れで、広告主から指摘や差し戻しを受けている場合。投稿の原稿をスプレッドシートで管理している場合。
- 運用しているアカウントが1〜2つで、表記の決まりが担当者の頭に入っている場合。投稿を広告主が自分で書き、広告会社は予約の作業だけを受けている場合。景品表示法や薬機法などの法令に照らした表現の判断が主な目的の場合(法令の判断はこの構成では代替しません)。なお、投稿してよいかの最終的な判断は、広告主の承認によります。
07最小構成で試す方法
- 1つの広告主を選び、表記の一覧と過去の指摘のメモから、正誤の組と番号を持つ規定の表を作る
- その広告主の先月の投稿から40件を選ぶ(広告主から差し戻しを受けた投稿を数件入れる)
- 手元のAIサービスの画面に、規定の表と投稿を数件ずつ貼り付ける
- 第7章の指示文を貼り、指摘と直し案を返させる
- 返ってきた指摘を、当時の読み合わせの指摘と、広告主からの差し戻しと突き合わせる
規定の表を作る1番目が、いちばん時間のかかる作業です。 そして、AIを使わなくても、この表を作るだけで読み合わせは速くなります。 試す段階で効き目の一部が出るのは、そのためです。
| 出てきた内容 | 判断 |
|---|---|
| 差し戻しを受けた箇所を指摘できた | Make のシナリオを組む段階に進む |
| 規定に無い好みの指摘が多い | 指示の書き方で直る。規定に無いものを挙げないことを強く書く |
| 規定の表に無い決まりで差し戻されていた | 規定の表を広告主と確かめるところから始める |
3行目が出たら、それが最初の成果です。 広告主の決まりが、広告主の頭の中にしか無かったことが分かったということです。その決まりを規定の表に足してから、同じ40件で試し直してください。2回目に差し戻しの箇所を拾えれば、規定の表の書き方が合っているということです。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| ステータスを書き換えても校正が動かない | 行の追加で動くトリガーは使わない。Search Rows で定時に探す |
| 他のツールが書き込んだ行が拾われない | Watch Changes は画面での人の変更だけを見る。定時の検索にする |
| 同じ行が二度校正される | 処理の最初に「校正中」へ書き換える |
| NGワードがそのまま見落とされる | 完全一致は機械で確かめる。 AIに任せない |
| 規定に無い好みの指摘が並ぶ | 規定に無いものを挙げないことを指示に書く。ルールの番号を必須にする |
| 直し案が文全体の書き換えになる | 指摘した箇所だけを直すことを指示に書く |
| 指摘の文が数式として扱われる | 書き戻しの値の入れ方を「Raw」にする |
enum の値が大文字で返り、条件に当たらない | 大文字・小文字を区別せずに比べる |
| スキーマが通らない | すべての object に additionalProperties: false を付ける |
| 本文に無い文字列への指摘が出る | original が本文に含まれるかを機械で確かめ、要判断へ回す |
| 本文が自動で直される | 作らない。 本文は担当者が直す |
上の2行が、Make のトリガーの選び方から来る失敗です。 原稿の管理表は「行を足す」のではなく「ステータスを変える」で回っているので、行の追加や画面での変更を待つトリガーでは、校正が動かない投稿が出ます。 定時に「校正待ち」を探す形が、この運用には合っています。
4行目から6行目は、役割の分け方の問題です。 機械で確かめられるものを機械に、規定の表にあるものをAIに、どちらにも無いものは人に、と分けておくと、指摘の数が担当者の読める量に収まります。 分け方があいまいなまま始めると、指摘が多すぎて読まれなくなるか、少なすぎて頼られなくなるかのどちらかになります。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 広告主の投稿の原稿、公開前のキャンペーンや新商品の情報、広告主の表記の決まりです。公開前の情報は、広告主との契約で秘密として扱う決まりがあることが多いので、外部のAIへ渡してよいかを先に確かめます。
- 広告主の了承を取る … 公開前の原稿を外部のAIで処理することについて、広告主との契約や取り決めに照らして了承を取ってから校正の対象に入れます。了承が無い広告主は、機械の確認だけにします
- 外部へ渡す範囲を本文と規定の表に限る … 画像、広告主の担当者の名前、予算などの情報は渡しません。本文のURLは伏せます
- 本文を自動で直さない … 指摘と直し案までにします。広告主の名前で世に出る文は、人が確定させます
- 法令の判断をこの構成に任せない … 景品表示法や薬機法に関わる表現は、別の確認の手順で、決められた人が判断します。 この構成のNGワードは、広告主が決めた言葉の一覧です
- 広告主ごとの規定を混ぜない … 規定の表は広告主ごとに分け、AIに渡すのはその広告主の規定だけにします。他の広告主の決まりやNGワードが指示に入ると、競合する広告主の情報が混ざります
- シナリオの接続を広告主の管理表に限る … Make から読み書きできる範囲を、原稿の管理表と規定の表に限ります
誤りが起きた場合のリスクは、規定に反する投稿が広告主の名前で出ることと、誤った直し案で本文が変わることの2つです。 前者は機械の確認と人の通し読みで、後者は本文を自動で直さないことで防ぎます。
10まず何から始めるか
1週目:規定の表を1社分作る
投稿の多い広告主を1社選び、表記の一覧と過去の指摘のメモから、表記ルール(正誤の組と番号)、NGワード、ハッシュタグの規定を1つの表にまとめます。
2週目:40件で試す
その広告主の先月の投稿から40件を選び、手元のAIサービスで校正させます。差し戻しを受けた投稿の指摘ができているかと、規定に無い指摘が多すぎないかを最優先で見ます。
3週目:広告主の了承を取り、規定の表を確かめる
外部のAIで原稿を処理することについて広告主の了承を取ります。あわせて、作った規定の表を広告主に見せ、抜けている決まりが無いかを確かめます。
4週目:Make のシナリオを組む
「校正待ち」の行を探し、機械の確認を行い、管理表に書き戻すところまで作ります。この時点ではAIを呼ばず、機械の確認だけで1週間回します。
2か月目: Claude の校正を足し、指摘の列を3つに分けます。採らなかった指摘の理由を毎週見ます。3か月目以降: 規定の表のある広告主を順に増やし、差し戻しの件数を月ごとに数えます。読み合わせの担当者が原稿を一から読まなくなり、広告主からの表記の差し戻しが減った時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| Watch New Rows が新しい行の追加で動くこと。Watch Changes が Google Sheets の画面での人の変更だけを見て、スクリプトの実行や API による変更では動かないこと。Search Rows がフィルタと並び順で行を探すこと。Update a Row が行の番号を指定して更新し、値の入れ方に「User entered」と「Raw」があること。Get Range Values で範囲の値を取れること | Make Apps Documentation: Google Sheets modules | 2026-10-06 |
| Anthropic Claude アプリに Create a Prompt、ファイルの操作、Make an API Call などのモジュールがあり、API キーで接続すること | Make Apps Documentation: Anthropic Claude | 2026-10-06 |
構造化出力が output_config.format に JSON Schema を渡す指定で、スキーマに合ったJSONを返すこと。enum に対応すること。object に additionalProperties: false が必要なこと。enum の値の大文字・小文字は保証されないこと。応答を断った場合と出力の上限に達した場合はスキーマに合わないことがあること | Claude Docs: Structured outputs | 2026-10-06 |
どの表現を使ってよいかの判断と、投稿してよいかの判断は、広告主の承認によります。 本記事は、製品の公開仕様で確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0624)についてのご相談はこちらから。
