クライアントの赤字やメールの修正指示を1件ずつの一覧にし、次の版での反映漏れを確かめる
クライアントから届く修正指示(赤字を入れたPDFや画像、スクリーンショット、メールやチャットの本文)を画像ごと読み取り、1件ずつの一覧にします。次の版ができたら一覧と照らし、反映漏れの候補を出します。
- 生成AI
- ChatGPT/Claude/Gemini
- 連携・自動化
- Google Apps Script/Make/Power Automate
- 対象業界
- EC/小売/広告
- 対象部門
- マーケティング/営業
- 対象業務
- 内容確認・チェック/台帳・マスタ管理
- 主な課題
- 引き継ぎができていない/期限・対応漏れが起きる/確認ミスが多い
- AIで行う処理
- 画像認識
- 主な効果
- 入力漏れ削減/品質標準化/工数削減
- 導入難易度
- ★★☆☆☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 必須
01導入前 / 導入後の業務フロー
- クライアントから戻しが届く。メール、チャット、ファイル共有のどれで届くかはクライアントによる
- 担当者が赤字やメール本文を読み、修正指示を自分のメモに書き起こす
- 前回までの指示と重なっていないか、矛盾していないかを思い出しながら確かめる
- デザイナーへ修正指示を渡す
- 次の版が上がってきたら、担当者がメモと見比べて直っているかを確かめる
- 直っていないものがあればデザイナーへ戻し、揃ったらクライアントへ送る
- 人戻しのPDF・画像・スクリーンショットを、案件フォルダの「戻し」に保存する。メールには決めたラベルを付ける
- 自動Apps Script が新しいファイルとラベル付きのメールを見つけ、形式とサイズを確かめる
- 自動Gemini API が戻しを読み、修正指示を1件ずつに分けて、原文・位置・種類を返す
- 自動修正指示台帳(スプレッドシート)に、指示IDを付けて追記する。前回までの指示との重なりや取り消しの候補も付ける
- 人担当者が台帳を見て、分け方と解釈を確かめ、デザイナーへ渡す
- 人デザイナーが修正し、次の版を案件フォルダの「版」に保存する
- 自動Gemini API が未完了の指示と次の版を照らし、`likely_done` / `likely_missing` / `cannot_judge` を付ける
- 人担当者が `likely_missing` と `cannot_judge` を確かめ、反映済みかを台帳に記録する
- 人揃ったらクライアントへ送る
各工程の詳しい説明を読む
- クライアントから戻しが届く。メール、チャット、ファイル共有のどれで届くかはクライアントによる
- 担当者が赤字やメール本文を読み、修正指示を自分のメモに書き起こす
- 前回までの指示と重なっていないか、矛盾していないかを思い出しながら確かめる
- デザイナーへ修正指示を渡す
- 次の版が上がってきたら、担当者がメモと見比べて直っているかを確かめる
- 直っていないものがあればデザイナーへ戻し、揃ったらクライアントへ送る
(a)指示が何通にも散らばる。 「先ほどのPDFに加えて」とメールが来て、夕方にはチャットで「さっきの件、やっぱり元に戻して」と届きます。どれが最新の指示なのかを、担当者の記憶が決めています。
(b)1つの赤字に複数の指示が入っている。 囲みの中に「価格を大きく」「税込表記を追加」と2つ書かれていると、書き起こすときに1つにまとめてしまいがちです。次の版で1つ目だけ直っていると、見比べる側も「直っている」と判断します。
(c)次の版との見比べが目視に頼っている。 5番目の工程は、メモと新しい版を左右に並べて1つずつ確かめる作業です。指示が20を超える戻しでは、終盤の数件が見落とされやすくなります。 クライアントから「前回お願いした件が直っていません」と言われるのは、たいていこの型です。
(d)担当が替わると経緯が消える。 休暇や異動で担当が替わると、「なぜこのコピーになったのか」が誰にも分からなくなります。 クライアントに同じ質問をし直すことになり、信頼に響きます。
- 【人】 戻しのPDF・画像・スクリーンショットを、案件フォルダの「戻し」に保存する。メールには決めたラベルを付ける
- 【自動】 Apps Script が新しいファイルとラベル付きのメールを見つけ、形式とサイズを確かめる
- 【自動】 Gemini API が戻しを読み、修正指示を1件ずつに分けて、原文・位置・種類を返す
- 【自動】 修正指示台帳(スプレッドシート)に、指示IDを付けて追記する。前回までの指示との重なりや取り消しの候補も付ける
- 【人】 担当者が台帳を見て、分け方と解釈を確かめ、デザイナーへ渡す
- 【人】 デザイナーが修正し、次の版を案件フォルダの「版」に保存する
- 【自動】 Gemini API が未完了の指示と次の版を照らし、
likely_done/likely_missing/cannot_judgeを付ける - 【人】 担当者が
likely_missingとcannot_judgeを確かめ、反映済みかを台帳に記録する - 【人】 揃ったらクライアントへ送る
8番目が、この設計の分かれ目です。 AIが出すのは反映漏れの候補で、反映済みと確定させるのは人です。likely_done と出たものも一覧で流し見て、確定の印は人が付けます。
5番目を省かないのも、意図してのことです。 修正指示の分け方と解釈は、担当者がクライアントとのやり取りの中で知っていることで決まります。AIの分け方をそのままデザイナーに渡さず、ここで一度だけ人の目を通します。
02今回想定するシステム構成
戻し(赤字PDF・写真・スクリーンショット・メール本文) │ 案件フォルダ「戻し」に保存/メールにラベル ▼【トリガー】Apps Script の定期実行 Google Apps Script ├──▶ 形式・サイズの確認、メール本文と添付の取り出し ▼ Gemini API ── ① 修正指示の抽出(1指示1行・原文・位置・種類) ▼ 修正指示台帳(スプレッドシート)── 指示ID・版・状態 ▼ 【人が分け方と解釈を確認】→ デザイナーへ ▼ 次の版を案件フォルダ「版」に保存 ▼ Gemini API ── ② 未完了の指示と次の版の照合 │ likely_done / likely_missing / cannot_judge ▼ 【人が反映漏れの候補を確認】→ 台帳に確定を記録 → クライアントへ
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 処理 | Gemini API(修正指示の抽出と、次の版との照合) | Claude API、OpenAI API |
| 連携 | Google Apps Script | Power Automate、Make |
| 保管 | Googleドライブ(案件フォルダ)、スプレッドシート(修正指示台帳) | SharePoint、Excel |
Googleドライブとスプレッドシートは、新しく足すものではありません。 すでに案件ファイルの共有に使っているものに、「戻し」と「版」の2つのフォルダを決め、台帳のシートを1枚足します。
土台になるのは、Gemini API の文書と画像の読み取りです。 PDFは最大50MBまたは1,000ページまで扱え、1ページは258トークンとして数えられるとされています。大きいページは最大3072×3072ピクセルまで縮小、小さいページは768×768ピクセルまで拡大され、縦横比は保たれます。
赤字は、PDFの文字としてではなく画像として読む必要があります。 Gemini API では、PDF以外の形式(TXT、Markdown、HTML、XMLなど)も受け付けますが、画像としての理解が働くのはPDFだけで、それ以外は純粋なテキストとして取り出され、書式や視覚的な要素は失われるとされています。赤ペンの丸や矢印が意味を持つ戻しは、PDFか画像で渡します。
画像は PNG、JPEG、WEBP、HEIC、HEIF に対応しています。スマートフォンで撮った校正紙の写真も、そのまま渡せます。 1回のリクエストに最大3,600枚の画像を含められるとされています。
この構成でいちばん効くのは、位置を座標で返せることです。 物体の検出では、境界ボックスが [ymin, xmin, ymax, xmax] の形で、画像の寸法に対して0〜1000に正規化された座標で返るとされています。赤字がどこに書かれていたかを台帳に残せば、次の版で同じ場所を開けます。
03どうやって実装するのか
処理の起点を決める
Apps Script を定期的に動かし、案件フォルダの「戻し」に新しいファイルが無いかを見ます。 戻しは1日のうちに何度も届くので、夕方にまとめて処理する形にはしません。 午前の戻しを午後に書き起こしていると、その間にデザイナーが古い指示で手を動かします。
入る経路は3つです。フォルダに保存したPDFや画像、ラベルを付けたメール、チャットのスクリーンショットを保存したものです。チャットは本文をそのまま貼り付けたテキストファイルでも構いません。いずれも案件フォルダに入れた時点で、どの案件の戻しかが決まります。
メールは、担当者が案件ごとに決めたラベルを付けます。Apps Script の GmailApp には、クエリで Gmail を検索する search() と、名前でラベルを取得する getUserLabelByName() があります。処理したメールには別のラベルを付け、二度読まないようにします。
次の版の照合は、「版」フォルダに新しいファイルが入ったときに動かします。ファイル名に版の番号(_v3 など)を付ける決まりにし、番号の無いファイルは照合しません。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 戻しのファイル | 赤字PDF、写真、スクリーンショット。受け取った日時と経路 | 案件フォルダ「戻し」 |
| メール本文と添付 | 差出人、日時、本文、添付ファイル | ラベルを付けた Gmail |
| 対象の版 | 戻しが指している版の制作物(PDFまたは画像) | 案件フォルダ「版」 |
| 修正指示台帳 | これまでの指示ID、原文、状態、指示者 | スプレッドシート |
| 案件の情報 | クライアント名、制作物の種類、クライアント側の指示者の一覧 | 案件一覧のシート |
質を決めるのは、台帳と指示者の一覧です。 台帳が無ければ、「前回の件は取り消し」と書かれた戻しの「前回の件」を指す先がありません。指示者の一覧が無ければ、担当者の指示と上長の指示が逆だったときに、どちらが優先かを人に回せません。
対象の版も一緒に渡します。 赤字の「ここ」「この写真」は、元の制作物と並べないと何を指すかが決まらないことがあります。
データの取得方法を決める
戻しのファイルは、Apps Script からGoogleドライブのフォルダを読み、Gemini API に渡します。大きいファイルや、何度も使うファイルは Files API でアップロードして参照します。 Files API は、リクエスト全体の大きさが100MBを超えるとき(PDFは50MB)に使うとされています。1ファイル2GBまで、1プロジェクト20GBまでで、アップロードしたファイルは48時間保存され、API で手動で削除することもできます。
| 取るもの | どこから | 何に使うか |
|---|---|---|
| 戻しのPDF・画像 | 「戻し」フォルダ | 修正指示の抽出 |
| メール本文と添付 | Gmail のラベル | 本文の指示と、添付の赤字PDF |
| 対象の版 | 「版」フォルダ | 「ここ」の指す先の特定と、次の版との照合 |
| 未完了の指示 | 台帳の状態が open の行 | 照合の対象 |
メールの本文と添付は、1回の戻しとしてまとめて渡します。 本文に「添付のとおり」とあり、添付に赤字がある形が多いためです。分けて読ませると、本文の指示が添付の赤字と重なって二重に数えられます。
照合に渡す指示は、その制作物の open のものだけです。 完了した指示まで渡すと、照らす範囲が広がり、確かめる側の一覧も長くなります。
AIへ渡す前に整形する
- 形式の確認 … PDFと画像(PNG、JPEG、WEBP、HEIC、HEIF)以外はPDFにします。Office形式のまま渡すと、赤字の書き込みが失われます
- 向きの確認 … ページは正しい向きに回転させてから渡すことが推奨されています。横向きに撮った校正紙の写真が、いちばん多い原因です
- ぼけの確認 … ぼやけたページは避けるよう推奨されています。手書きの赤字が読めないものは撮り直しを頼みます
- サイズとページ数の確認 … PDFは50MBまたは1,000ページが上限です。カタログの全ページを1ファイルにした戻しは、赤字のあるページだけに分けます
- メール本文の整理 … 署名、過去のやり取りの引用部分を外し、その回に書かれた本文だけを渡します
- 版の特定 … 戻しがどの版に対するものかを、ファイル名かメールの件名から取ります。分からないものは最新の版として扱わず、人に回します
5番目を軽く見ないでください。 引用部分を残すと、3回前の指示が、今回の新しい指示としてもう一度台帳に入ります。
AIに処理させる
させるのは2つです。戻しから修正指示を1件ずつ取り出すことと、次の版でそれが反映されていそうかを見ることです。
1つ目の抽出では、1件ごとに次を返させます。
| 見るもの | 返させる内容 | 判断できないときの扱い |
|---|---|---|
| 原文 | 赤字やメールの文をそのまま写す | 手書きが読めなければ unreadable |
| 位置 | ページ番号と、赤字のある範囲の座標 | メール本文だけの指示は位置なし |
| 種類 | 文言の差し替え/追加/削除/画像の差し替え/色・配置/質問 | 決められなければ other |
| 指示の分割 | 1つの赤字に複数の指示があれば分ける | 分けてよいか迷うものは分けて split_uncertain |
| 前回との関係 | 台帳の既存の指示を取り消す・上書きする可能性 | 候補の指示IDを挙げるだけ |
「質問」を種類に入れているのは、修正指示と区別するためです。 「この写真はどこで撮ったものですか」は直すものではなく、答えるものです。修正指示と同じ列に並ぶと、答えずに「反映済み」になります。
2つ目の照合では、未完了の指示と次の版を渡し、1件ずつ次のどれかを付けさせます。
| 判定 | 意味 | 根拠として返させるもの |
|---|---|---|
likely_done | 反映されていそう | 次の版の該当箇所の文字列・位置 |
likely_missing | 反映されていなさそう | 同じ位置にまだ残っている元の文字列 |
cannot_judge | 画像だけでは判断できない | 判断できない理由 |
「元気な感じに」「もう少し目立たせて」のような主観の指示は、cannot_judge に固定します。 変わったかどうかは見えても、指示どおりになったかは画像からは決まりません。
| させないこと | 理由 |
|---|---|
| 反映済みの確定 | 確定は人が行う。AIは候補までにする |
| 指示の意図の補足 | 書かれていない意図を足すと、原文と解釈が混ざる |
| 矛盾する指示のどちらかを選ぶこと | 優先はクライアントに確かめる事柄 |
| デザインの良し悪しの評価 | この構成の対象外。指示に無い修正も提案させない |
| 読めない赤字の推測 | それらしい文言に近づけない |
2行目がいちばん起きやすい失敗です。 「価格大きく」を「価格を大きくして視認性を高める」と書き直すと、後から読む人には、どこまでがクライアントの言葉か分からなくなります。
指示内容を固定する
1つ目(抽出)の指示:
あなたは広告制作の進行担当として、クライアントからの修正指示を一覧にします。
渡された戻し(赤字の入ったPDF・画像・メール本文)だけを見て答えてください。
【やること】
- 修正指示を1件ずつに分けてください。1つの赤字や1つの段落に
複数の指示がある場合は、別々の要素にしてください。
- quote には、赤字やメールの文をそのまま写してください。
言い換え、補足、要約をしないでください。
- 赤字の位置は、ページ番号と box_2d([ymin, xmin, ymax, xmax]、
0〜1000に正規化)で返してください。メール本文の指示は位置を空にします。
- type は text_replace / text_add / text_delete / image_replace /
color_layout / question / other から選んでください。
- 質問や確認の依頼は question にし、修正指示として扱わないでください。
【厳守事項】
- 手書きが読めない箇所は、推測で埋めず status を unreadable にしてください。
- 指示の意図を補わないでください。書かれていないことを書かないでください。
- 【これまでの指示】を取り消す・上書きすると読める場合は、
related_ids に候補の指示IDを入れてください。取り消しと確定はしないでください。
- 指示者が複数いて内容が食い違う場合は、両方を別の要素にし、
conflict を true にしてください。どちらかを選ばないでください。
- デザインの評価や、指示に無い修正の提案をしないでください。
- メールの引用部分(「>」で始まる行や、過去のやり取り)は読まないでください。
【案件】{project}
【対象の版】{target_version}
【これまでの指示】{open_requests}
【クライアント側の指示者】{client_members}
2つ目(照合)の指示:
あなたは、修正指示が次の版に反映されているかの候補を出す立場です。
【未完了の指示】の1件ずつについて、【次の版】を見て判定してください。
【判定の選び方】
- likely_done ...... 指示どおりに変わっていそう。該当箇所を evidence に写す
- likely_missing ... 指示の対象の箇所が、元のまま残っていそう
- cannot_judge ..... 画像だけでは判断できない。理由を reason に書く
迷ったときに likely_done を選ばないでください。
【厳守事項】
- 「元気に」「目立たせて」など、見た目の印象を求める指示は、
変化があっても cannot_judge にしてください。
- 文言の指示は、次の版の文字列をそのまま evidence に写してください。
- 反映済みと確定する言い方をしないでください。
- 指示に無い変更や誤りを見つけても、この判定には含めないでください。
「迷ったときに likely_done を選ばない」を明記しないと、ほとんどが likely_done になります。 次の版はたいてい前の版から何かしら変わっており、変わっていることを反映の根拠にしてしまいます。禁じるのは、変化を反映とみなす判断そのものです。
「引用部分を読まない」を指示にも書いているのは、前処理で外し切れないためです。 クライアントによっては、引用の記号を付けずに前のやり取りを本文の下に貼ってきます。
出力形式を固定する
抽出は次の形のJSONで受け取ります。
{
"source_id": "",
"target_version": "",
"requests": [
{ "quote": "", "type": "text_replace", "page": 1,
"box_2d": [0, 0, 0, 0], "status": "ok | unreadable | split_uncertain",
"related_ids": [], "conflict": false, "requested_by": "" }
]
}
照合は、指示IDごとに verdict(likely_done | likely_missing | cannot_judge)、evidence、reason を返させます。
Gemini API の構造化出力では、JSONスキーマで出力の形を指定でき、enum で値を決まった選択肢に限り、required で必須の項目を決められるとされています。type と verdict を enum にしておくと、「たぶん反映済み」のような自由な言葉が入りません。
1つ目の理由は、指示IDを台帳の側で振れることです。 AIは requests を並べるだけで、IDは Apps Script が 案件-版-連番 の形で振ります。IDをAIに作らせると、同じ指示に別の番号が付きます。
2つ目は、status と台帳の状態を別の層に置けることです。 split_uncertain や conflict は、台帳では open のまま「要確認」の印を付けます。分け方を人が直しても、原文と位置はそのまま残ります。
3つ目は、値の検証を後段で行えることです。 公式の説明でも、出力は構文として正しいJSONでも、値はアプリケーションの側で検証すべきとされています。box_2d が0〜1000の範囲か、related_ids が台帳に実在するIDかを、Apps Script で確かめます。大きく深い入れ子のスキーマは受け付けられないことがあるとされているため、形は上の程度に留めます。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 案件フォルダ | Apps Script から読み取り | 戻しのファイルと、各版の制作物を取る |
| Gmail | Apps Script の GmailApp | ラベル付きのメールの本文と添付を取る |
| Gemini API | API呼び出し | 修正指示の抽出と、次の版との照合 |
| 修正指示台帳 | スプレッドシートへの追記 | 指示ID、原文、位置、状態、判定を書く |
台帳への書き込みは追記だけにします。 状態の変更も、元の行を書き換えず、状態の列と確定者の列を足していきます。過去の行を上書きすると、担当が替わったときに経緯が追えなくなります。
クライアントへもデザイナーへも、自動では送りません。 送るのは人で、この構成が出すのは台帳の行までです。
人が確認する
人が確かめるのは2か所です。 抽出の直後と、照合の直後です。全件を元の赤字と見比べる設計にすると、第10章の20.0時間には収まりません。
- 抽出の直後に分け方を見る …
split_uncertain、unreadable、conflictの付いた行を先に見ます。多くは1行を分けるか、2行をまとめるかで解決します - 取り消しの候補を確定する …
related_idsの付いた行は、本当に前の指示を取り消しているかを確かめ、取り消すなら前の指示の状態をsupersededにします - 照合の直後に
likely_missingを見る … 次の版の該当箇所を開き、直っていなければデザイナーに戻します cannot_judgeを目で見る … 主観の指示はここに来ます。クライアントの好みを知っている担当者が判断しますlikely_doneを流し見て確定する … 位置の座標から該当箇所を開き、確定の印を付けます
3番目より5番目のほうが省かれやすいので注意してください。 likely_done と出た指示の中に、半分だけ直っているものが混ざります。 確定の印を人が付ける決まりにしておけば、少なくとも誰が確かめたかは残ります。
例外に対処する
| 起きること | 対応 |
|---|---|
| 写真が横向き・逆さま | 回転させてから渡す。撮り方の決まりをクライアントと共有する |
| 手書きの赤字が読めない | unreadable で人へ。推測で埋めない |
| PDFが50MBまたは1,000ページを超える | 赤字のあるページだけに分ける |
| Office形式の戻し | PDFに変換してから渡す。変換できなければ人へ |
| 戻しがどの版に対するものか分からない | 最新の版とみなさず、担当者に確かめる |
| 指示者どうしで内容が食い違う | conflict を付けて人へ。クライアントに優先を確かめる |
| 前の指示を取り消すと読める | related_ids を付けるだけ。取り消しは人が確定する |
| 同じ戻しがメールとチャットで二度届く | 原文と位置で重なりを検知し、二重に台帳へ入れない |
| API が応答しない | ファイルを「戻し」に残す。処理済みの印は成功したときだけ付ける |
上の2行が大半を占めます。 どちらもAIの問題ではなく、戻しの受け取り方の問題です。 撮影の向き、赤ペンの太さ、PDFへの書き込み方をクライアントと決めるほうが、指示を工夫するより効きます。
記録を残す
- 元の戻しのファイルと、受け取った日時・経路(PDF/写真/スクリーンショット/メール)
- Gemini API が返したJSONの全文(抽出と照合の両方)
- 台帳の全行(指示ID、原文、位置、種類、状態、確定者、反映した版)
- 人が分け方や判定を直した記録 … どの行を、どう直したか
- 取り消し・上書きの関係(
supersededにした指示と、取り消した側の指示) - クライアントごとの
unreadableとconflictの件数
3つ目の「反映した版」が、引き継ぎの要です。 新しい担当者は台帳の1行から、いつ誰が何と言い、どの版で直し、誰が確かめたかを追えます。
Files API にアップロードしたファイルは、処理が終わったら削除します。 48時間で自動的に削除されますが、クライアントの未公開の制作物を、必要以上に外部に置かないためです。
04実装レベルの3段階
最小構成では件数がさばけません。 月240件を手で貼るのは続かないので、確かめるための段階です。 半自動化で、1件15分が9分程度になります。 書き起こしと記録は自動になりますが、次の版との見比べが目視のまま残ります。本格構成で5分になり、この段階が本記事の想定です。 段階を飛ばさないでください。 半自動化の台帳を1か月使うと、unreadable の多いクライアントと、分け方が安定しない戻しの形が分かります。そこを直してから照合を足すほうが、候補の空振りが減ります。
05工数削減シミュレーション
導入後 240件 × 5分 ÷ 60 = 20 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- バナー、LP、チラシ、カタログなどの制作物について、クライアントからの修正指示(戻し)が月に数百回ある広告会社・制作会社や、EC・小売の販促部門。赤字を入れたPDF、スマートフォンで撮った写真、チャットのスクリーンショット、メール本文と、戻しの形がそろっていない場合。案件ごとのフォルダに戻しと各版の制作物を保存する運用にできる場合。
- 戻しが月に数十回で、担当者が1人で追えている場合。クライアントとの修正のやり取りを、すでに校正ツールや制作管理ツールの注釈機能に一本化できている場合。クライアントとの契約で、制作物を外部のAIサービスへ送ることが認められていない場合。なお、修正指示の意図の解釈や、反映できたかの最終判断は、この構成では代替できません。
07最小構成で試す方法
- すでに公開が終わった案件から、戻しの多かった制作物を2つ選ぶ(うち1つは、直し忘れを指摘されたことのあるもの)
- その戻しのPDF・写真・メール本文を、回ごとにまとめる
- 有料の枠で使える手元の画面に、戻しを1回分ずつ貼り付ける
- 「この戻しの修正指示を1件ずつに分け、原文をそのまま写してください。1つの赤字に複数の指示があれば分けてください。読めない箇所は推測しないでください」と指示する
- 次の版を貼り、「上の指示が反映されていそうか、1件ずつ判定してください。迷ったら反映済みにしないでください」と指示する
- 当時の担当者のメモと、実際の直し忘れと突き合わせる
公開済みの案件を選ぶのは、未公開の制作物を試しに使わないためです。 それでも戻しにはクライアントの社内のやり取りが含まれるので、試す前に第13章の設定を確かめてください。 無料の枠では、入力が製品の改善に使われます。
| 出てきた内容 | 判断 |
|---|---|
当時の直し忘れが likely_missing に出た | Apps Script との連携に進む |
| 1つの赤字の複数の指示がまとまったまま | 指示の書き方で直る。構成は有効 |
| 手書きが読めない戻しが多い | 戻しの受け取り方が先。 AIの問題ではない |
3行目が出ることは珍しくありません。 その場合は、クライアントにPDFへの書き込みか、明るい場所での撮影をお願いするところから始めます。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 1つの赤字の複数の指示が1行になる | 分けるよう指示に明記し、迷うものは分けて split_uncertain |
変化があるだけで likely_done になる | 迷ったら選ばないと明記。主観の指示は cannot_judge に固定 |
| 原文が言い換えられる | quote は写すだけと明記。意図の補足を禁じる |
| メールの引用部分が新しい指示として入る | 前処理で外し、指示にも読まないと書く |
| Office形式の戻しで赤字が消える | PDF以外は純粋なテキストとして扱われる。 PDFに変換する |
| 写真が横向きで読めない | 回転させてから渡す。撮り方をクライアントと決める |
| どの版への戻しか分からない | ファイル名に版の番号を付ける決まりにする |
| 同じ指示に別のIDが付く | IDはAIに作らせず、Apps Script が振る |
| 取り消しが自動で確定される | related_ids は候補まで。確定は人 |
| 台帳の行が上書きされる | 追記だけにする。状態は列を足して記録する |
| 無料の枠で制作物を送ってしまう | 有料の枠のAPIキーだけを使う。試す段階から分ける |
上の2行が、この構成の失敗のほとんどです。 前者は抽出で、後者は照合で起き、どちらも「直ったように見える」という同じ結果になります。 分ける・迷ったら選ばない、の2つを指示に書いてあるかどうかで、運用に乗るかが決まります。
下の2行も、同じくらい早く効いてきます。 台帳を上書きすると引き継ぎに使えなくなり、この構成を入れた理由の1つが消えます。 無料の枠の扱いは、第13章で詳しく書きます。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: クライアントの未公開の制作物(発売前の商品、価格、キャンペーンの内容)、修正指示の本文、クライアント側の担当者の氏名とメールアドレスです。
- 無料の枠で扱わない … Gemini API の利用規約では、無料のサービスに送った内容と生成された応答は、Google の製品やサービスの提供・改善・開発に使われ、人間のレビュアーが入出力を読むことがあるとされています。そして、機密情報や個人情報を無料のサービスに送らないよう書かれています。未公開の制作物は、試す段階でもこれに当たります
- 有料の枠で使う … 有料のサービスでは、プロンプト(システム指示、キャッシュ、画像・文書などのファイルを含む)と応答を製品の改善に使わないとされています。一方で、禁止されている使い方の検出のために、限られた期間ログが残るとされています。「どこにも残らない」わけではありません
- クライアントとの契約を先に確かめる … 制作物を外部のAIサービスで処理してよいかは、秘密保持の取り決めで決まります。 確かめられないクライアントの案件は、この構成の対象から外します。判断は法務・営業の責任者に残してください
- アップロードしたファイルを残さない … Files API のファイルは48時間保存されます。処理が終わったら API で削除し、自動削除を待たない運用にします
- APIキーと台帳の閲覧範囲を絞る … 台帳には複数のクライアントの修正指示が並びます。台帳はクライアントごとに分けるか、閲覧できる人を案件の担当者に限ります
- 指示者の氏名は必要な範囲に …
requested_byはクライアント側の指示者を区別するためのものです。メールの署名から電話番号や役職まで取り込まないようにします
欧州経済領域、スイス、英国の利用者にアプリを提供する場合は、有料のサービスしか使えないとされています。海外のクライアントを持つ場合は、あわせて確かめてください。
誤りが起きた場合のリスクは、直し忘れをそのままクライアントへ出すことと、未公開の制作物が意図しない形で外へ出ることの2つです。 前者は候補を人が確定する決まりで、後者は有料の枠と契約の確認で防ぎます。どちらも設計の最初に決めます。
10まず何から始めるか
1週目:フォルダとファイル名の決まりを作る
案件フォルダに「戻し」と「版」を作り、版の番号をファイル名に付ける決まりを社内で決めます。あわせて、Gemini API を有料の枠で使う準備と、主なクライアントとの秘密保持の取り決めの確認を始めます。
2週目:過去の戻しで試す
先月終わった制作物2つの戻しを使い、修正指示の分け方と照合の判定を見ます。当時の直し忘れが likely_missing に出るか、変化を反映とみなしていないかを最優先で見ます。
3週目:台帳の列を決める
指示ID、原文、位置、種類、状態、確定者、反映した版の列を決めます。状態は上書きしない、と先に決めます。 ここが決まらないうちに書き込みを始めると、引き継ぎに使えない台帳になります。
4週目:戻しから台帳までをつなぐ
Apps Script で「戻し」フォルダとラベル付きのメールを読み、Gemini API で抽出し、台帳に追記するところまで作ります。この時点では照合を動かさず、分け方の確認だけを続けます。
2か月目: 「版」フォルダを起点に照合を足し、likely_missing と cannot_judge の件数を毎週数えます。3か月目以降: 1件15分が何分になったかを実測します。クライアントごとの unreadable を見て、戻しの受け取り方をクライアントと決め直した時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| PDFが最大50MBまたは1,000ページまで扱え、1ページ258トークンとして数えられること。ページが最大3072×3072、最小768×768ピクセルに縮小・拡大されること。PDF以外の形式は純粋なテキストとして取り出され視覚的な要素が失われること。ページの向きを直し、ぼやけたページを避けることが推奨されること | Google AI for Developers: Document understanding | 2026-09-29 |
画像が PNG、JPEG、WEBP、HEIC、HEIF に対応し、1リクエスト最大3,600枚であること。境界ボックスが [ymin, xmin, ymax, xmax] で0〜1000に正規化されること。両辺384ピクセル以下の画像が258トークン、それより大きい画像は768×768の単位ごとに258トークンであること | Google AI for Developers: Image understanding | 2026-09-29 |
JSONスキーマで出力の形を指定でき、enum と required が使えること。出力の値はアプリケーション側で検証すべきこと。大きく深い入れ子のスキーマは受け付けられないことがあること | Google AI for Developers: Structured outputs | 2026-09-29 |
| リクエスト全体が100MB(PDFは50MB)を超えるときに Files API を使うこと。1ファイル2GB、1プロジェクト20GBまでで、ファイルが48時間保存され、API で削除できること | Google AI for Developers: Files API | 2026-09-29 |
| 無料のサービスでは入出力が製品の改善に使われ人間のレビュアーが読むことがあり、機密情報や個人情報を送らないよう求められていること。有料のサービスでは改善に使わず、禁止事項の検出のため限られた期間ログが残ること。欧州経済領域・スイス・英国の利用者向けには有料のサービスのみ使えること | Gemini API 追加利用規約 | 2026-09-29 |
GmailApp に、クエリで検索する search() と、名前でラベルを取得する getUserLabelByName() があること | Apps Script: Class GmailApp | 2026-09-29 |
制作物を外部のAIサービスで処理してよいかは、クライアントとの取り決めと自社の法務で確かめてください。 本記事は公式の説明で確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0294)についてのご相談はこちらから。
