AI機能開発においてデータ整備が重要だった話
この記事は、ナウキャスト Advent Calendar 2025の10日目の記事です。
はじめに
こんにちは、ナウキャストでソフトウェアエンジニア・データエンジニアをしている桐畑です。
ナウキャストというと、データを提供している会社というイメージが強いかもしれません。 しかし、今私たちは単にデータを提供するだけでなく、そのデータを活用した業務アプリケーション開発にも力を入れています。
今回は、営業支援プロダクトでAIレポート機能を開発した際に直面した情報の質の低下とトークン消費量の増大という2つの課題を解決した話をします。
AIレポート機能の概要
開発中の営業支援プロダクトでは、ナウキャストが持つ多様なデータとユーザーの社内データを掛け合わせ、「今営業すべき企業」を見つけることで効率的な営業を実現しています。
しかし、営業担当者の業務は多岐にわたり、有望な商談先が見つかったとしても、1社1社丁寧にデータを分析して商談準備をする時間はとれないことが多いのが実情です。そこで、商談直前の10分で、相手企業の状況と提案の切り口が頭に入ることをゴールに、AIレポート機能を開発しました。
具体的には、企業とテンプレートを選択するだけで*各種データから「対象企業がどういう状況にあるのか」「どういった提案をすべきか」といった内容をまとめたPDFが生成される機能です。生成AIを活用し、データの解釈や注目すべきトピックのピックアップを行い、レポート形式で出力します。

初期の構成と直面した課題
当初の設計思想はシンプルで、生成AIを使って柔軟にWeb検索させれば、欲しい情報が集められるだろうと考え、Web検索を中心にレポートを生成していました。GeminiやChatGPTでもWeb検索は一般的ですし、知りたい情報はWebを探せば出てくることが多いです。しかし、このアプローチは明確な失敗で、下記の2つの課題に直面してしまいました。
-
情報の信頼性が担保できない
業務アプリケーションでは正確性が命です。しかし、情報源をWeb検索に任せると、質の低い記事や、日付が古い情報などを雑多に拾ってきてしまい、最終レポートの情報に誤りがあることが多くなっていました。根拠となるデータが間違っていると、その後の解釈、提案まで全て間違ってしまうため、営業の意思決定には使えなくなってしまいます。 -
トークン消費量が膨大すぎる
Web検索を行うと、検索結果の上位ページの内容を大量にプロンプトに含めることになります。業務アプリケーションとして毎日頻繁に使われることを想定すると、このトークン消費量は無視できません。コストも嵩みますし、TPM(Token per minutes)の制約により、待ち時間も長くなってしまいます。
便利にするはずが、遅くて、コストが高くて、信頼できない機能になりかけていました。
解決策
出力されるレポートやユーザーの要望を整理していると、レポートで使う情報は思いの外一定で、多くのデータは事前に収集しておけることがわかりました。
そこで、これらのデータに関しては都度Web検索ではなく、事前にデータを収集してデータ基盤に溜めておき、データ基盤から取得する方針へ変更しました。
また、副次的な効果として、データ基盤に溜めておくことで、変化率などの計算や競合の検索などをロジックとして実現できるようになり、よりレポートに深みを出すことも可能になりました。

これを実現するには、常に最新かつ正確なデータが整備されている必要があります。私たちは元々オルタナティブデータを提供する会社として、日々膨大なデータの収集・クレンジング・名寄せ等を行っています。このおかげで、すでに高品質なデータが揃っていたことに加え、新規データの収集もスムーズに実現できました。
この基盤の詳細については、以下の資料でも解説されています。
結果
このアーキテクチャの変更によって、課題となっていた点は解決しました。
- 信頼性の向上: 参照元が管理されたデータになったため、特に数値情報に関する誤りが激減しました。
- コスト削減: 不要なWebページのテキストを読み込ませる必要がなくなり、トークン利用量は以前の約10分の1程度まで削減されました。
なんでもAIに検索させるのではなく、AIが読みやすいようにデータを整備して渡す。この泥臭い工程を経ることで、ようやく実業務に耐えうる機能になりました。
おわりに
AI機能開発は、モデルの性能だけでは決まりません。効果的に扱うためにはどのデータを、どう持っておくかというデータ戦略とセットで考える必要があります。
特に、高度な分析を行わせたい場合こそ、足元のデータ整備が重要になります。ナウキャストでは、このようにデータエンジニアリングとアプリケーション開発を深く組み合わせ、業務プロセスを変革する開発を推進しています。
Discussion