Skills Ignition SG AI Challengeに参加し、約2か月かけて「AI Media Planner」を個人開発しました。結果はTop 50ファイナリスト。Top 3には届きませんでしたが、AIエンジニアを目指す自分にとって、つくりながら多くを学ぶ機会になりました。
私は東北大学で工学を学び、卒業研究では物体検出のための能動学習に取り組みました。一方、今回選んだSales & Marketingトラックのメディアプランニングは、経験のない分野でした。コードを書く前に、まず仕事の流れを理解する必要がありました。
最初の課題は、業務とデータを理解すること
目指したのは、キャンペーンの目的、過去の広告実績、販促カレンダーをもとに、メディアプランの初稿を作成する仕組みです。
ROASやGMV、CPC、コンバージョン率などの指標がどうつながるかを学び、一部に合成データを含むデータセットの欠損、数式の問題、表記ゆれ、セルのずれも調べました。入力が曖昧なままでは、見た目の整った出力ができても、その内容を判断できません。
表を埋めるところから、処理の流れを設計するところへ
最初はGemini Gemsに資料を読み込ませ、メディアプランのテンプレートを埋める方法を試しました。しかし、列がずれたり、項目が抜けたり、根拠を説明できない数値が出たりしました。
そこで、Google AI Studioでアプリケーションをつくり、処理を段階に分けました。最終的にはPython、Gemini、Google ADK、Firestoreなどを使い、資料の読み取り、関連データの取得、計画、検証、説明をつなぐ構成にしました。開発にはAntigravityなどのAI支援ツールも活用しました。
資料から抽出した情報は、決めた形式のJSONに変換します。後続の処理へ渡す前に内容を検証でき、画面上でも不足している情報を確認しやすくなりました。過去実績はFirestoreに保存し、キャンペーンに関係するデータを取得するようにしました。
AIに任せる処理と、コードで計算する処理
このプロジェクトで大切にしたのは、それぞれの処理の役割を明確にすることです。
Geminiは資料の解釈や提案理由の説明、計画への批評を担当します。予算の配分、日別の配信ペース、制約の確認には、決められた計算・統計処理を使います。LLMだけに計算結果を任せず、結果を検証できる形にしました。
例えば、ある試作プランでは過去実績に基づいてLazadaからTikTok Shopへ予算を移す提案が出ました。同時に、Lazadaの予測ROASが目標に届かないことも表示しました。ここで示した数値はプロトタイプの予測であり、実際の広告成果ではありません。重視したのは、配分の理由と制約を人が確認できることです。
人が確認できることも、設計の一部
抽出した入力情報を確認する画面と、日別予算・キャンペーン割り当てを確認する画面を設けました。メンターからの助言を受けて、最終プランへのコメントや承認を行う仕組みも追加しました。
特に力を入れたのは、予算配分の理由を説明するツールチップです。利用者が「なぜこの配分なのか」「どんな情報や条件が影響したのか」を追えるようにしました。検証結果やログも、問題の確認やデバッグに役立つように実装しました。
成果と、まだ証明できていないこと
初稿生成は自己検証で約10分でした。手作業で約4時間という比較の目安はヒアリング等に基づくもので、約10分には人による確認時間を含みません。実際の業務での時間削減を検証した結果ではありません。
完成したのは、チャレンジ向けの機能するAIアプリケーションのプロトタイプです。一部に合成データを使用しており、専門のメディアプランナーによる業務上の妥当性検証や、本番運用は行っていません。この範囲を明確にすることも、成果を伝えるうえで大切だと考えています。
これから取り組みたいこと
今回の経験で学んだのは、AI開発には、モデルの使い方に加えて、業務を理解し、データを整理し、計算と解釈を分け、人が判断できる流れをつくる力が必要だということです。
私はまだAIエンジニアとしてのキャリアの入り口にいます。これからはチームの中で設計・実装・テスト・運用を学び、使う人の課題を解決するAIソリューションをつくっていきたいです。
日本語能力試験JLPT N1を取得しており、日本への転居が可能です。日本・シンガポールで、ジュニアAIエンジニア、生成AIアプリケーション開発、関連するソフトウェア開発の機会を探しています。開発内容や採用について関心を持っていただけたら、Wantedlyでお気軽にご連絡ください。
Skills Ignition SG、Google、メンター、審査員、運営に関わった皆さま、ありがとうございました。
デモ動画:https://youtu.be/QoaCUySlzLg
ポートフォリオ:https://portfolio.socialnovelgallery.com/ai-media-planner
英語の技術記事:https://www.linkedin.com/pulse/building-ai-media-planner-why-i-chose-structured-outputs-sng-wei-jie-i2jfc/