Media > AI活用ユースケース > マーケティング > 広告の新しい提案を作る前に、業種・目的・予算の近い過去のキャンペーンを探し、施策と結果と反省点を根拠の資料付きで返す

広告の新しい提案を作る前に、業種・目的・予算の近い過去のキャンペーンを探し、施策と結果と反省点を根拠の資料付きで返す

実装ステータス:構成例 技術的に実現可能な構成として設計したもの。自社未検証

営業やプランナーが新しい案件の業種・目的・予算を入れると、過去のキャンペーンから条件の近いものを探し、施策と結果と反省点を企画書・報告書のページ付きで返します。提案前の調べものが、聞いて回ることから読み比べることに変わります。

サマリー
生成AI
ChatGPT/Claude/Gemini
AIサービス
Azure AI/Google Vertex AI/OpenSearch
対象業界
EC/小売/広告
対象部門
マーケティング/営業
対象業務
情報検索/比較検討
主な課題
属人化している/情報が見つからない/書類作成に時間がかかる
AIで行う処理
検索(RAG)
主な効果
判断支援/属人化解消/検索時間短縮
導入難易度
★★★★☆
実装レベル
本格構成
費用感
RAG・個別開発(大)
人間の確認
条件付き
現在工数
90h/月
AI導入後
35h/月
想定削減
61%
年間削減
660h
モデル条件による試算値です。実在企業の実績ではありません。

01導入前 / 導入後の業務フロー

導入前(Before)
  1. 営業がクライアントから課題と予算の目安を聞き、提案の方向を決める
  2. 社内のチャットで「似た案件をやった人はいないか」と聞き、返事を待つ
  3. 共有フォルダをクライアント名や業種の言葉で探し、企画書を開いて中身を確かめる
  4. 見つかった案件の実施報告書と効果測定のレポートを開き、結果の数字と反省点を探して読む
  5. 使えそうな数字と施策をメモし、提案書の「類似実績」のページに写す
  6. 上長に確認してもらい、クライアントへ出す
導入後(After)
  1. 自動案件管理の仕組みでキャンペーンが「振り返り完了」になると、3種類の資料と案件の属性を取り出す
  2. 自動資料をページごとの画像と文字に分け、ページごとに埋め込みを作る
  3. 自動Claude が、キャンペーンの概要カード(目的・媒体・目標と実績・反省点)を資料から取り出す
  4. 人担当の営業かプランナーが、カードの数字と反省点を確かめて確定する
  5. 自動ページとカードを検索基盤に登録する
  6. 人営業が新しい案件の業種・目的・予算・想定する媒体・課題の文を検索画面に入れる
  7. 自動言葉の一致とページの近さを組み合わせたハイブリッド検索で、業種と予算の帯で絞ったページを集める
  8. 自動同じキャンペーンのページを1件にまとめ、キャンペーンごとに根拠のページを3枚まで付けて上位10件を返す
  9. 自動Claude が10件について、施策・結果・反省点を資料のページ付きでまとめる
  10. 人営業とプランナーが結果を読み、根拠のページを開いて確かめ、類似実績に使う案件を選ぶ
  11. 自動選んだ案件と引用のページを、提案書の類似実績のページの下書きに書き出す
各工程の詳しい説明を読む
  1. 営業がクライアントから課題と予算の目安を聞き、提案の方向を決める
  2. 社内のチャットで「似た案件をやった人はいないか」と聞き、返事を待つ
  3. 共有フォルダをクライアント名や業種の言葉で探し、企画書を開いて中身を確かめる
  4. 見つかった案件の実施報告書と効果測定のレポートを開き、結果の数字と反省点を探して読む
  5. 使えそうな数字と施策をメモし、提案書の「類似実績」のページに写す
  6. 上長に確認してもらい、クライアントへ出す

(a)条件で探せない。 ファイル名とフォルダの分け方はクライアント単位で、業種・目的・予算の帯では引けません。 化粧品の新規獲得の案件を探したいのに、フォルダは「A社」「B社」と並んでいます。どのクライアントが化粧品かを知っている人でないと、探し始めることもできません。

(b)結果と反省点が後ろに埋もれる。 企画書は見つかっても、その企画を実施してどうなったかは別のファイルです。 効果測定のレポートは数十ページあり、目標に届かなかった理由や振り返りの反省点は最後の数ページにまとめて書かれています。急いでいると、企画書だけを見て「類似実績」に入れてしまいます。

(c)担当だった人に聞くしかない。 何がうまくいき何が失敗したかを覚えているのは担当者です。その人が異動すると、記録は残っていても読み解く手がかりが失われます。

(d)うまくいった話しか残らない。 類似実績は成果の出た案件に偏り、目標に届かなかった案件の反省点は探されないので読まれません。

取り込み(キャンペーンの振り返りが終わるたび)

  1. 【自動】 案件管理の仕組みでキャンペーンが「振り返り完了」になると、3種類の資料と案件の属性を取り出す
  2. 【自動】 資料をページごとの画像と文字に分け、ページごとに埋め込みを作る
  3. 【自動】 Claude が、キャンペーンの概要カード(目的・媒体・目標と実績・反省点)を資料から取り出す
  4. 【人】 担当の営業かプランナーが、カードの数字と反省点を確かめて確定する
  5. 【自動】 ページとカードを検索基盤に登録する

検索(提案を作るたび)

  1. 【人】 営業が新しい案件の業種・目的・予算・想定する媒体・課題の文を検索画面に入れる
  2. 【自動】 言葉の一致とページの近さを組み合わせたハイブリッド検索で、業種と予算の帯で絞ったページを集める
  3. 【自動】 同じキャンペーンのページを1件にまとめ、キャンペーンごとに根拠のページを3枚まで付けて上位10件を返す
  4. 【自動】 Claude が10件について、施策・結果・反省点を資料のページ付きでまとめる
  5. 【人】 営業とプランナーが結果を読み、根拠のページを開いて確かめ、類似実績に使う案件を選ぶ
  6. 【自動】 選んだ案件と引用のページを、提案書の類似実績のページの下書きに書き出す

4番目が、この設計の分かれ目です。 カードを作るのはAIですが、目標と実績の数字が正しいか、反省点が振り返りの会議の結論どおりかを確かめるのは、その案件を担当した人です。 振り返りの直後なら、担当者は数字の意味を覚えています。

8番目でキャンペーン単位にまとめないと、1件のスライドが10枚並びます。 営業が知りたいのは10件の違うキャンペーンです。

02今回想定するシステム構成

構成図
【取り込み】案件管理の仕組み(振り返り完了)
   ▼【トリガー】ステータスの変更
AWS Lambda ── 企画書・実施報告書・効果測定のレポートを取り出す
   ├──▶ ページごとの画像と文字に分ける
   ▼
Cohere Embed v4(Amazon Bedrock)── ページの画像と文字を合わせて埋め込み
Claude(Amazon Bedrock)── キャンペーンの概要カード(目的・媒体・目標と実績・反省点)
   ▼【人】担当者が確定
Amazon OpenSearch Service(ページの索引。キャンペーン番号・業種・予算を項目に持つ)

【検索】営業の検索画面(業種・目的・予算・課題の文)
   ▼
Amazon OpenSearch Service ── ハイブリッド検索(言葉の一致+ページの近さ)
   │   スコアの統合は RRF、業種と予算の帯で絞り込み
   │   キャンペーン番号で collapse し、ページを3枚まで付ける
   ▼
Claude(Amazon Bedrock)── 検索結果のブロックで渡し、引用付きでまとめる
   ▼
営業・プランナーが確認 → 提案書の類似実績のページへ
役割想定する製品代替候補
検索基盤Amazon OpenSearch Service(ハイブリッド検索、RRF、collapse)Azure AI Search、Vertex AI Search(Agent Search)
埋め込みCohere Embed v4(Amazon Bedrock。ページの画像と文字)OpenAI の埋め込みモデル
生成AIClaude(Amazon Bedrock。カードの取り出しと検索結果のまとめ)Gemini API、OpenAI API
連携AWS Lambda(取り込み、カードの登録、提案書への書き出し)AWS Step Functions
保管Amazon S3(資料の写しとページの画像)既存のファイルサーバー
案件管理既存の案件管理の仕組み―

検索の中心は、OpenSearch のハイブリッド検索と、スコアを順位で統合する score-ranker プロセッサーです。 公開されているドキュメントでは、このプロセッサーはクエリとフェッチの間で動き、RRF(Reciprocal Rank Fusion)でハイブリッドクエリの結果を1つの順位にまとめるものとされ、2.19で導入されました。各クエリのスコアを同じ尺度にそろえる必要がないのが特徴です。言葉の一致のスコアと、ページの近さのスコアは尺度がまったく違うので、この構成に合っています。

RRF の rank_constant は既定が60(1〜10,000)で、クエリごとの重みは0.0〜1.0、合計1.0で指定できます。

キャンペーン単位にまとめるのは、ハイブリッドクエリの collapse です。 ドキュメントでは、3.1で導入され、指定した項目の値ごとに最もスコアの高い文書だけを返すとされています。項目は keyword か数値の型である必要があり、collapse の中の inner_hits で、同じグループの文書を追加で取り出せるのは3.2からです。Amazon OpenSearch Service は3.1、3.3、3.5などのバージョンをサポートしているので、ドメインは3.3以降で作ります。

埋め込みは、Cohere Embed v4 を想定します。 テキストと画像の両方を受け付けるマルチモーダルの埋め込みモデルで、文字と画像を交互に含む入力(inputs)を1件として埋め込めるとされています。スライドのグラフや表の画像と、そのページの文字を一緒に埋め込めるのが、この題材で選ぶ理由です。

03どうやって実装するのか

Step1

処理の起点を決める

取り込みと検索で、起点が2つあります。

取り込みは、案件管理の仕組みでキャンペーンが「振り返り完了」になったことを起点にします。 実施中や振り返り前のキャンペーンは取り込みません。結果の数字が確定していない資料や、反省点がまだ書かれていない資料を検索結果に出さないためです。 ステータスの変更を通知できない仕組みなら、毎晩、振り返り完了の日付で絞った一覧を取りに行きます。

過去の約3,000件は、別に一括で取り込みます。 このときは担当者の確認が取れないので、カードに「未確認」の印を付けます。検索結果では未確認のカードを区別して表示し、類似実績に使うと決めたときに、その場で数字を資料と照らしてもらいます。

検索は、営業が検索画面で「探す」を押したときに動きます。 提案の方向が固まる前の段階から、業種や予算の帯を変えて何度でも探せるようにします。

Step2

入力データを集める

データ中身取得元
案件の属性キャンペーン番号、クライアント、業種、期間、予算、担当者、公開範囲案件管理の仕組み
企画書目的、ターゲット、施策、媒体の配分、目標のKPI共有フォルダ
実施報告書実施した施策、変更点、トラブル共有フォルダ
効果測定のレポートKPIの目標と実績、グラフ、振り返りの反省点共有フォルダ
概要カード取り込み時に作る。目的の区分、媒体、目標と実績、達成の区分、反省点の文、ページ検索基盤
新しい案件(検索時)業種、目的の区分、予算、想定する媒体、課題の文検索画面

質を決めるのは、案件の属性の業種と予算です。 業種がクライアントごとに自由に書かれていると、「化粧品」「コスメ」「ビューティー」が別の業種になり、絞り込みが効きません。 最初に業種の区分を30程度に決め、案件管理の仕組みの側でその区分から選ぶようにします。

目的の区分も最初に固定します。 認知、理解、獲得、来店、継続・再購入、採用の6つ程度です。区分が決まらないうちに取り込みを始めると、後から全件のカードを作り直すことになります。

Step3

データの取得方法を決める

資料は PowerPoint と PDF から、ページごとの画像と、そのページの文字に分けて取り出します。スライドの文字は少なく、結果の数字はグラフの画像の中にあることが多いためです。

取るものどこから何に使うか
ページの画像資料をページごとに画像にしたもの埋め込み(文字と一緒に)
ページの文字スライドの文字と、ノート欄言葉の一致の検索と、引用の本文
案件の属性案件管理の仕組み絞り込みの項目と、公開範囲
資料の種類とページ番号ファイルの種類と並び引用で示す場所

ページの埋め込みは、Cohere Embed v4 の inputs で作ります。 1件の入力に、ページの文字(資料の種類、キャンペーン番号、ページ番号を先頭に付ける)とページの画像を並べ、input_type は search_document にします。ドキュメントでも、PDFはページごとに画像にし、ファイル名などの情報を隣の文字に入れて送ることが勧められています。検索時の問い合わせは search_query で埋め込みます。

検索時には、新しい案件から2つのクエリを作り、ハイブリッドクエリのサブクエリにします。 1つは課題の文と媒体の名前による言葉の一致、もう1つは課題の文の埋め込みによる近さです。業種と予算の帯は filter に入れ、すべてのサブクエリに効かせます。

予算の帯は、新しい案件の予算の0.5倍から2倍を既定にします。 3,000万円の案件なら1,500万円から6,000万円です。狭すぎると0件になり、広すぎると規模の違う施策が混ざります。 幅は営業局で決め、検索画面で変えられるようにします。

Step4

AIへ渡す前に整形する

  1. ページへの分割 … 資料をページごとの画像と文字に分け、資料の種類(企画書/実施報告書/効果測定)とページ番号を付けます
  2. 表紙と目次の除外 … 表紙、目次、会社紹介、白紙のページは索引に入れません
  3. 画像の大きさの確認 … Cohere Embed v4 では、2,458,624ピクセルを超える画像は縮小され、3,136ピクセル未満の画像は拡大されるとされています。スライドは縮小される側に入るので、グラフの小さな文字が読めなくなっていないかを最初に確かめます
  4. 要求の大きさの確認 … 1回の要求は96件まで、全体で約20MBが上限です。1件のキャンペーンのページをまとめて送るときは、この範囲に分けます
  5. クライアント名の扱い … ページの文字にあるクライアント名と商品名を、案件の属性と照らして印を付けます。公開範囲の判定と、第13章の伏せ方に使います
  6. 重複の検知 … 同じ資料の修正版が複数あるときは、最後の版だけを取り込みます

3番目を軽く見ないでください。 効果測定のスライドは、1枚に表とグラフを詰め込んだものが多く、縮小されると数字の部分がつぶれます。 つぶれたページは文字の側で拾えるように、スライドのノート欄に数字を書く運用を、取り込みの開始と同時に営業局へお願いします。

Step5

AIに処理させる

AIの仕事は2か所です。取り込み時の概要カードの取り出しと、検索結果のまとめです。

場面させること
取り込み3種類の資料から、目的の区分、媒体、KPIの目標と実績、達成の区分、反省点の文、根拠のページを取り出す
検索上位10件について、新しい案件との違い(業種・予算・媒体)、施策、結果、反省点を引用付きでまとめる
検索新しい案件の条件のうち、近い過去のキャンペーンが見つからない条件を「該当する事例なし」として書く
させないこと理由
新しい提案の施策や媒体配分の提案何を提案するかは営業とプランナーが決める。根拠の薄い推奨が提案書に入る
結果の数字の予測「今回もCPAは同程度」と書くと、クライアントへの約束に見える
資料に書かれていない反省点の推測推測された反省点は、次の担当者にとって「振り返りで出た結論」になる
数字の補完と計算実績が書かれていなければ空のまま。目標と予算から割り戻さない
達成の区分の読み替え資料の結論どおりにする。「実質的には達成」と読み替えない

3行目がいちばん起きやすい失敗です。 目標に届かなかったキャンペーンで反省点が書かれていないと、AIはグラフの形から理由を補いたくなります。書かれていなければ「記載なし」とし、担当者の確認で埋めます。

2行目も外せません。 まとめの文はそのまま提案書に写されやすく、「前回同様の成果が見込めます」という一文は、根拠の無い約束としてクライアントに届きます。

Step6

指示内容を固定する

取り込み時(概要カードの取り出し):

あなたは広告会社で、終了したキャンペーンの記録を整理する担当です。
渡された企画書・実施報告書・効果測定のレポートだけを根拠にしてください。
推測で埋めないでください。

【やること】
次の項目を取り出してください。
- 目的の区分:認知 / 理解 / 獲得 / 来店 / 継続・再購入 / 採用
- 実施した媒体と施策(企画書ではなく実施報告書の内容を優先)
- KPIごとの目標と実績(数値と単位)
- 達成の区分:achieved / partially / not_achieved / not_measured
- 反省点:効果測定のレポートや実施報告書に書かれた文をそのまま写す
- それぞれの根拠のページ(資料の種類とページ番号)

【厳守事項】
- 実績の数値が書かれていなければ null にしてください。
  目標や予算から計算して埋めないでください。
- 企画書と実施報告書で施策が違うときは、実施報告書を正とし、
  changed_from_plan に違いを書いてください。
- 反省点は、資料に書かれた文だけを写してください。
  書かれていなければ「記載なし」とし、理由を推測しないでください。
- 達成の区分は資料の結論の書き方に従ってください。読み替えないでください。
- グラフの数値が読み取れないときは、値を入れず unreadable にページを書いてください。

検索時(結果のまとめ):

あなたは営業の提案準備を助ける担当です。
渡された検索結果だけを根拠に、新しい案件と過去のキャンペーンを比べてください。

【新しい案件】{new_case}
【過去のキャンペーン(上位10件)】検索結果として渡します

【書くこと】
1. 各キャンペーンについて、新しい案件との違い(業種・予算・媒体)
2. 各キャンペーンの施策、KPIの目標と実績、達成の区分
3. 各キャンペーンの反省点(資料の記載どおり)
4. 新しい案件の条件のうち、渡されたどのキャンペーンにも近いものがない条件

【厳守事項】
- 新しい案件の施策や媒体配分を提案しないでください。
- 結果を予測しないでください。「同程度の成果が見込める」と書かないでください。
- 検索結果にないキャンペーンや数字に触れないでください。
- 反省点を言い換えたり、付け足したりしないでください。
- 「未確認」の印のあるキャンペーンは、その旨を必ず書いてください。

検索結果は、Claude の検索結果ブロックで渡します。 1件のキャンペーンを1つの search_result にし、source にキャンペーン番号と資料の種類とページ、title にキャンペーン名、content にカードとページの文字を入れます。ドキュメントでは、引用の最小単位は content の中のテキストブロックで、細かく引用させたいならブロックを小さく分けるとされています。 そこで施策、結果、反省点を別々のブロックにし、まとめの1文がどのブロックから来たかを start_block_index でたどれるようにします。

「施策を提案しない」と「結果を予測しない」を別々に書かないと、どちらかが最後に一言添えられます。 片方だけを禁じると、もう片方の形で推奨が入ってきます。

Step7

出力形式を固定する

取り込み時のカードは、次の形のJSONで受け取ります。

{
  "campaign_id": "CP-2023-0412",
  "objective": "認知 | 理解 | 獲得 | 来店 | 継続・再購入 | 採用",
  "media": ["", ""],
  "tactics": "",
  "changed_from_plan": "",
  "kpis": [
    { "name": "", "target": null, "actual": null, "unit": "", "page": "" }
  ],
  "result": "achieved | partially | not_achieved | not_measured",
  "lessons": [ { "text": "", "page": "" } ],
  "unreadable": [""]
}

1つ目の理由は、objective と result を決まった値に限れることです。 担当者によって「未達」「届かず」「苦戦」と書き方が違っても、区分は4つにそろいます。「獲得が目的で、目標に届かなかった案件だけ」という絞り込みが、ここで初めて可能になります。

2つ目は、kpis の目標と実績を数値で持てることです。 自由文で受け取ると単位と書き方がそろわず、検索結果の一覧で目標と実績を並べて見せられません。 実績が null の案件は、一覧で「実績の記載なし」と表示します。

3つ目は、changed_from_plan と unreadable で担当者の確認が速くなることです。 印の付いた箇所だけを見れば済みます。

検索の要求は、次の考え方で組みます。

部分中身
サブクエリ1課題の文と媒体の名前による言葉の一致(ページの文字)
サブクエリ2課題の文の埋め込みによる近さ(ページの埋め込み)
filter業種の区分、予算の帯、公開範囲
検索パイプラインscore-ranker プロセッサー(RRF)。重みは営業局で決める
collapseキャンペーン番号。inner_hits で根拠のページを3枚まで
Step8

システムへ連携する

つなぎ先方式内容
案件管理の仕組みステータスの通知、または毎晩の一覧の取得振り返り完了のキャンペーンと属性を取り出す
Amazon S3Lambda から読み書き資料の写しとページの画像
Cohere Embed v4(Amazon Bedrock)Lambda からの呼び出しページの画像と文字の埋め込み
Claude(Amazon Bedrock)Lambda からの呼び出しカードの取り出しと、検索結果のまとめ
Amazon OpenSearch Service索引への登録と、ハイブリッド検索ページとカードの検索
提案書検索画面からの書き出し選んだ案件と引用のページを類似実績の下書きへ

埋め込みの次元は、索引を作る前に決めます。 Cohere Embed v4 の出力は256、512、1,024、1,536から選べ、指定しなければ1,536です。 索引の次元と合わないと登録が失敗するので、output_dimension を明示し、索引の設定と同じ値にします。

案件管理の仕組みと共有フォルダには書き込みません。 提案書への書き出しは下書きまでで、クライアントに出すのは営業です。 確定したカードは検索基盤の側だけに持ちます。

Step9

人が確認する

確認は2か所です。取り込み時の担当者と、検索時の営業・プランナーです。

  1. 担当者がカードを確定する … 振り返りの直後に、目標と実績の数字と反省点を確かめます。changed_from_plan と unreadable の付いた箇所を優先して見ます
  2. 営業が根拠のページを開く … 類似実績に使う案件は、引用の付いたページを必ず開いて確かめます
  3. 未確認のカードを確かめる … 一括取り込みで作ったカードを使うときは、その場で数字を資料と照らし、確かめたら「確認済み」に変えます
  4. クライアントへの出し方を決める … 他のクライアントの実績をどこまで具体的に書くかは、第13章の取り決めに従い、上長が確かめます

1件の提案あたり35分を目安にします。 検索結果の10件を読み、うち数件の資料を開いて確かめ、類似実績のページを整える時間です。まとめの文だけを読んで提案書に写す運用にはしません。

4番目を省かないでください。 検索結果には、ほかのクライアントの施策と数字が並びます。社内で読むことと、提案書に載せてクライアントに見せることは別の話です。

Step10

例外に対処する

起きること対応
グラフの数字が読めないunreadable にページを記録し、担当者が確認時に数字を入れる
効果測定のレポートが無いキャンペーンresult を not_measured にし、検索結果で区別して表示する
企画と実施で施策が違う実施報告書を正とし、changed_from_plan に記録する
担当者が異動・退職している同じ局の人を確認者にする。いなければ「未確認」のまま登録
予算の帯で絞ると0件帯を広げて再検索し、それでも0件なら業種の絞り込みを外したことを明示して出す
近い事例が1件もない「該当する事例なし」と表示する。無理に近いものを並べない
1件のキャンペーンのページだけが並ぶcollapse が効いていない。キャンペーン番号の項目の型を確かめる
公開範囲の外の案件が候補に入る文書レベルのセキュリティで検索時点で除外される。まとめには渡さない
Bedrock の呼び出しに失敗した検索の一覧だけを表示し、まとめは再試行を促す

上から3行目までが、取り込みの失敗の大半です。 どれもAIの問題ではなく、振り返りの資料の作り方の問題です。 unreadable の多い資料の型を数えると、効果測定のレポートのどの様式を直すべきかが見えてきます。

Step11

記録を残す

  • 取り込んだキャンペーンの番号、振り返り完了の日、取り込んだ日時
  • Claude が返したカードのJSONと、担当者が確定した時に直した項目
  • 検索のたびの新しい案件の条件、絞り込みの値、上位10件と根拠のページ
  • Claude に渡した検索結果と、返ってきたまとめと引用
  • 営業が類似実績に選んだ案件と、選ばなかった案件
  • 「該当する事例なし」と出た条件の記録

2つ目で「直した項目」を残すのは、取り出しの精度を測るためです。 どの項目がよく直されているかを見れば、指示を直すべきか、振り返りの様式を直すべきかが分かります。

最後の行は、会社としての経験の空白を示します。 何度も「該当する事例なし」と出る業種と目的の組み合わせは、まだ実績の無い領域です。 営業局の会議で月に1回共有し、新しい提案の際に慎重に見積もる材料にします。

04実装レベルの3段階

最小構成:手で作ったカードを表計算で絞り込み、AIサービスに貼ってまとめさせる / 1つの業種での試し
半自動化:上記+資料からのカードの取り出しを Claude で行い、担当者が確定する。検索は業種と予算の絞り込みだけ / カードの作成と、条件による絞り込み
本格構成:上記+ページの埋め込みとハイブリッド検索、RRF、キャンペーン単位のまとめ、引用付きのまとめ、文書レベルのセキュリティ / 案件の条件を入れてから根拠付きの一覧が出るまで

半自動化で、業種と予算による絞り込みまでは自動になります。 ただし課題の文の近さを見ないので、業種が違っても課題が近いキャンペーン(たとえば、化粧品と健康食品の新規獲得)を拾えません。本格構成との差はここで、本記事の想定は本格構成です。

05工数削減シミュレーション

前提値(モデル条件)
対象人数
40 名
月間件数
60 件
1件あたり現在時間
90 分
1件あたり導入後時間
35 分
現在  60件 × 90分 ÷ 60 = 90 時間/月
導入後 60件 × 35分 ÷ 60 = 35 時間/月
月間削減時間
55h
削減率
61%
年間削減時間
660h
年間金額換算(時間単価4,000円)
264万円
モデル条件による試算であり、実際の効果は業務内容・運用方法によって異なります。

自社条件で導入効果を整理したい方へ

このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。

AI活用について相談する

06向いている企業・向いていない企業

向いている
  1. 総合広告会社やデジタル広告の代理店で、過去10年分ほどのキャンペーンの企画書・実施報告書・効果測定のレポートが共有フォルダや案件管理の仕組みにたまっている会社。提案のたびに「似た業種で、似た予算で、何をやってどうなったか」を探すのに、担当だった人へ聞いて回るしかない場合。効果測定の数字と、実施後の振り返りで書いた反省点が、提案の前に読まれないまま眠っている場合。AWS を社内の基盤として使っており、検索基盤と生成AIを社内の閉じた環境で動かせる場合。
向いていない
  1. 年間のキャンペーン数が数十件で、営業とプランナーが全件を覚えていられる規模の場合。効果測定のレポートを作っておらず、実施報告書に結果の数字が残っていない場合(先に振り返りの様式を決める必要がある)。クライアントとの契約で、実績の社内での再利用が認められていない案件が大半を占める場合。なお、新しい提案の施策と予算配分を決めるのは営業とプランナーで、この構成はその判断を代わりに行いません。

07最小構成で試す方法

  1. 1つの業種(たとえば化粧品)のキャンペーンを40件選び、手で概要カードを作る(目的、媒体、目標と実績、達成の区分、反省点、ページ)
  2. 最近その業種で作った提案を20件選び、当時、類似実績に何を入れたかを控える
  3. 40件のカードをスプレッドシートにし、業種と予算の帯で絞って、20件の提案それぞれに近い案件を選ぶ
  4. 同じ20件について、手元のAIサービスにカードを貼り付け、施策・結果・反省点のまとめを作らせる
  5. その業種を長く担当している営業に、選ばれた案件が「思い当たる事例」と合っているかを見てもらう

20件は必ず、その業種を長く担当している人と一緒に見てください。 業種と予算で絞ることが、その人の記憶と合っているかを確かめます。

出てきた内容判断
担当者が思い当たる事例が上位に並ぶ取り込みと検索基盤の構築に進む
条件は近いのに「これは別物」と言われるカードの項目が足りない。 ターゲットや販路の区分を足して試し直す
まとめに施策の提案や結果の予測が混ざる指示の書き方で直る。構成は有効

2行目は失敗ではなく、担当者が暗黙に見ていた条件が1つ分かったということです。 多いのは「店頭で売るか、ECで売るか」の違いです。

08実装時につまずきやすいポイント

問題対策
1件のキャンペーンのページが上位を埋めるキャンペーン番号で collapse する。 項目は keyword 型にする
collapse の inner_hits が使えない3.2から。ドメインを3.3以降で作る
言葉の一致と埋め込みのスコアが釣り合わないRRF で順位を統合する。 尺度をそろえる必要がない
重みの合計が1.0にならないscore-ranker の重みは合計1.0。クエリの数と同じ長さにする
グラフの数字が埋め込みでつぶれる大きな画像は縮小される。ノート欄に数字を書いてもらう
索引の次元が埋め込みと合わないCohere Embed v4 の既定は1,536。output_dimension を明示する
反省点をAIが補う「記載なし」とさせる。補われた反省点は結論として広まる
まとめに結果の予測が入る指示で禁じ、提案書へ写す前に営業が読む

上の2行が、この構成の失敗のほとんどです。 どちらも「ページ単位で探して、キャンペーン単位で見せる」という同じ要件から出ています。collapse がキャンペーン番号で効いているかどうかで、営業に使われるかが決まります。

09セキュリティ・AIガバナンス上の注意点

この構成で扱うデータ: クライアントの名前と商品、未発表の商品の情報、予算と媒体の配分、KPIの実績、振り返りでの社内の反省点、担当者の名前です。クライアントとの秘密保持の対象になる情報が中心です。

  1. クライアントごとの公開範囲を検索に反映させる … Amazon OpenSearch Service の細かなアクセス制御では、索引・文書・項目の単位で制限できます。文書レベルのセキュリティは、役割に対応付けたクエリに合う文書だけを検索で返します。 秘密保持の条件が厳しいクライアントの案件は、担当局の役割だけが見られるようにします
  2. 競合するクライアントの情報を混ぜない … 同じ業種の競合2社を担当しているなら、片方のチームにもう片方の実績が見えないように公開範囲を決めます
  3. 細かなアクセス制御は、有効にしたあと無効にできない … 有効にするには、ドメインへの通信がすべて HTTPS であること、保存時の暗号化、ノード間の暗号化が必要です。構築の最初に有効にします
  4. 提案書に載せる書き方を決める … 社内で検索結果を読むことと、ほかのクライアントの実績を提案書に載せることは別です。クライアント名を伏せる、数字を幅で示すなどの書き方を、法務と決めておきます

誤りが起きた場合のリスクは、見せてはいけないクライアントの実績が見えることと、根拠の無い数字が提案書に入ることの2つです。 前者は文書レベルのセキュリティで、後者は引用と人の確認で防ぎます。どちらも構築の最初に決める設計なので、後から足そうとしないでください。

10まず何から始めるか

1週目:業種と目的の区分を決める

営業局とプランニング局で、業種の区分(30程度)と目的の区分(6程度)、予算の帯の決め方を決めます。

2週目:40件のカードと20件の提案で試す

1つの業種の40件を手でカードにし、最近の提案20件で近い案件を選びます。担当者の思い当たる事例と合うかを見て、カードの項目を決めます。

3週目:取り出しの指示を作る

同じ資料を Claude に読ませてカードを取り出し、手で作った40件と比べます。null にすべき実績を計算で埋めていないか、反省点を補っていないかを最優先で見ます。

4週目:振り返りのたびの取り込みを始める

新しく振り返りが終わるキャンペーンから、担当者の確認付きでカードをためます。この時点では検索は業種と予算の絞り込みだけにします。

2か月目: OpenSearch Service のドメインを3.3以降で作り、細かなアクセス制御を有効にして、ページの埋め込みとハイブリッド検索、RRF、collapse を足します。3か月目以降: 過去の資料を業種ごとに一括で取り込み、引用付きのまとめを足します。提案書の類似実績に、目標に届かなかった案件の反省点が載るようになった時点で、この構成は完成です。


11関連ユースケース

12この仕組みを理解するための記事

13技術仕様の確認日・参考情報

技術仕様確認日:2026-10-06/最終更新:2026-10-06
確認した内容情報源確認日
score-ranker プロセッサーがクエリとフェッチの間で動き、RRF でハイブリッドクエリの結果を1つの順位にまとめること。各クエリのスコアを同じ尺度にそろえる必要がないこと。rank_constant の既定が60で1〜10,000であること。重みが0.0〜1.0で合計1.0、指定しなければ同じ重みになること。2.19で導入されたことOpenSearch Documentation: Score ranker processor2026-10-06
ハイブリッドクエリの collapse が3.1で導入され、項目の値ごとに最もスコアの高い文書だけを返すこと。項目が keyword か数値の型であること。collapse の中の inner_hits が3.2で導入されたこと。集計は collapse の前の結果に対して行われることOpenSearch Documentation: Collapsing hybrid query results2026-10-06
Amazon OpenSearch Service が OpenSearch 3.5、3.3、3.1、2.19 などをサポートしていること。索引・文書・項目の単位のセキュリティを持つことAmazon OpenSearch Service: What is Amazon OpenSearch Service?2026-10-06
細かなアクセス制御が索引・文書・項目の単位の制限を提供すること。文書レベルのセキュリティが役割のクエリに合う文書だけを返すこと。有効化に HTTPS・保存時の暗号化・ノード間の暗号化が必要で、有効にしたあと無効にできないことAmazon OpenSearch Service: Fine-grained access control2026-10-06
Cohere Embed v4 がテキストと画像を受け付け、inputs で文字と画像を交互に含む入力を埋め込めること。input_type に search_document と search_query があること。output_dimension が256/512/1,024/1,536で既定1,536であること。1回96件、約20MBが上限で、2,458,624ピクセルを超える画像は縮小、3,136ピクセル未満は拡大されること。PDFはページごとに画像にして情報を隣の文字に入れることが勧められていることAmazon Bedrock: Cohere Embed v42026-10-06
検索結果ブロック(source・title・content)で自社の文書を渡すと、Claude が引用付きで回答すること。引用の最小単位が content のテキストブロックで、start_block_index で場所を示すこと。引用の有効・無効はリクエスト内で統一する必要があること。Claude API、Amazon Bedrock、Google Cloud で使えることClaude Docs: Search results2026-10-06

新しい提案の施策と予算配分、ほかのクライアントの実績をどこまで提案書に載せるかは、営業局と法務で決めてください。 本記事は公開仕様で確認できた範囲だけを扱っています。

実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。

自社の業務に使えるAI活用候補を整理します

このユースケース(UC-0434)についてのご相談はこちらから。

AI活用について相談する
目次