【ITニュース解説】A cheapest-day fare calendar for travel agents: Gemma 4 reads the supplier APIs, Chronos fills the gaps
2026年10月17日に「Dev.to」が公開したITニュース「A cheapest-day fare calendar for travel agents: Gemma 4 reads the supplier APIs, Chronos fills the gaps」について初心者にもわかりやすく解説しています。
ITニュース概要
旅行代理店向けに、航空券の最安日を予測表示する運賃カレンダーシステムを構築。Gemma 4というAIで多様なAPIからの運賃データを解析し、Chronos-BoltというAIで未検索日の運賃を予測する。これにより、代理店の検索負担を減らし、顧客は素早く安い日を見つけられる。ローカルAI活用でセキュリティと開発の柔軟性も高めた。
ITニュース解説
このニュース記事では、旅行代理店向けに開発された「運賃カレンダー」というシステムの詳細について解説している。システムエンジニアを目指す皆さんにとって、実際のビジネス課題をどのようにIT技術で解決していくか、具体的な事例として学ぶべき点が多く含まれている。
このシステムが解決しようとしているのは、旅行代理店におけるフライト予約時の非効率性だ。顧客が「どの日が安いですか?」と尋ねるたびに、代理店は複数の航空会社や予約システム(GDSなど)に何度も検索を繰り返す必要があった。この作業は時間がかかり、顧客を待たせてしまうだけでなく、GDSの利用料も検索回数に応じて発生するため、コスト増加の原因にもなっていた。
そこで開発されたのが「運賃カレンダー」だ。これは、各日付の最安運賃をカレンダー形式で一目で表示するウェブコンポーネントである。代理店は、このカレンダーを見るだけで、予約前に最も安価な日を特定できるため、顧客への迅速な対応とコスト削減が可能になる。カレンダーには二種類の運賃が表示される。「確認済み(seen)」運賃は、過去数日間に代理店が実際に取得した実績のある運賃であり、信頼性が高い。一方、「推定(est.)」運賃は、最近検索されていない日付について、人工知能モデルが予測した運賃で、おおよその範囲も示される。この予測機能により、カレンダーの空白が埋められ、より多くの日付で運賃情報が提供される。
「運賃カレンダー」のデータは、旅行代理店自身のフライト予約ポータルが記録しているサーバーログから構築されている。これは、公開されているメタ検索サイトのデータではなく、実際に代理店がサプライヤーから受け取った運賃を反映しているため、より実情に即した情報が提供されるという強みがある。
このシステムを実現するために、Gemma 4とChronos-Boltという二つの「オープンウェイトモデル」が活用されている。オープンウェイトモデルとは、その内部の仕組みや学習データの一部が公開されており、開発者が自由に利用・改変できる人工知能モデルのことだ。
まず、Gemma 4は、各サプライヤーからの運賃データをシステムに取り込むための「マッピング(データ変換ルール)」を自動生成する役割を担う。旅行業界のフライト情報には、SOAP XML、IATA NDC XML、JSONなど、13種類もの異なるデータ形式が存在する。これらの形式ごとに手作業でデータを抽出するプログラム(パーサー)を作成するのは、非常に時間と労力がかかる作業だ。Gemma 4は、各サプライヤーのデータサンプルを分析し、必要な運賃、出発地、目的地、出発日などの情報をどのように抽出するかを示すマッピングルールを自動で記述する。
Gemma 4をローカルのパソコンで実行することで、機密性の高い運賃データが外部のクラウドサービスに送信されることなく処理できるため、セキュリティ面での懸念が解消される点が重要だ。Gemma 4が生成したマッピングは、その後、コードによって実際のデータ応答に対して厳密に検証される。もし不正確なマッピングが生成された場合、システムはGemma 4に対して具体的な修正指示をフィードバックし、マッピングの品質が向上するまで繰り返し改善が行われる。この「モデルが提案し、コードが検証する」というアプローチにより、小規模なモデルであっても、本番環境で信頼して利用できるようになった。開発過程では、Gemma 4の「思考モード」をオフにして処理速度を向上させたり、プロンプト(モデルへの指示文)のコンテキストウィンドウを適切に管理したりするなど、オープンウェイトモデルを効率的に活用するための様々な技術的な工夫が施された。
次に、Chronos-Boltは、代理店があまり検索しない日付の運賃を予測し、カレンダーの空白を埋める役割を果たす。代理店が実際に検索する日付は限られているため、カレンダーの大部分は運賃データが不足している状態だ。Chronos-Boltは、過去の運賃データからパターンを学習し、まだ検索されていない未来の日付の運賃を推定する。この予測には、「リードタイムモデル」という概念が組み込まれており、出発日までの期間が短くなるにつれて運賃が上昇する傾向など、航空券運賃の特性を考慮に入れることで、より正確な予測を目指している。Chronos-Boltによる予測結果は、過去の同じ曜日の平均運賃(「同じ曜日ベースライン」)と組み合わせることで、さらに予測精度を高めている。異なる予測方法の長所を組み合わせることで、それぞれの短所を補完し、全体の予測性能を向上させるアプローチだ。
システムが提供する運賃情報の信頼性を確保するためには、データの品質管理も欠かせない。例えば、一部の航空会社やコンソリデーターは、「リクエストに応じて座席あり」という意味で、実際にはあり得ないような非常に安価な(例えば100ルピーのような)運賃を提示することがあった。このような偽の安値は、カレンダーの表示を歪めてしまうため、システムによって適切に除外される。また、運賃が極端に低い、あるいは極端に高い外れ値も同様に処理される。さらに、乗り継ぎ便の運賃が区間ごとに表示され、あたかも片道区間が安く見えるようなケースや、複数の乗客の合計運賃が単価として誤って扱われるケースなども、システムによって厳密にチェックされ、正確な単価運賃のみが表示されるように工夫されている。
このシステムは、Renderというクラウドプラットフォーム上で運用されている。一般公開されているデモサイト(合成データを使用)と、実際の代理店が利用するプライベートサービス(実際のデータを使用、サインインが必要)の二つのサービスが提供されている。Chronos-Boltによる運賃予測は、サーバーログがある環境で実行され、その予測結果はコンパクトなファイルとしてRender上のAPIサービスに提供される。このAPIサービスは、特別なGPUを必要とせず、一般的なCPUで動作するため、運用コストを抑えながらスケーラブルなサービス提供が可能だ。
このプロジェクトの成功は、「オープンイノベーション」の重要性も示している。機密性の高い運賃データは外部に持ち出せないため、Gemma 4をローカルで実行できることは、セキュリティ上非常に大きな利点となる。また、オープンウェイトモデルを利用することで、特定のベンダーに依存することなく、コストを抑えながらモデルの挙動を自由に調整できる。例えば、Chronos-Boltの予測精度が期待に満たなかった際も、開発者はすぐに別の高性能なオープンモデルに切り替えて検証し、最適なソリューションを迅速に導入できた。このように、オープンな人工知能モデルと、その出力を厳密に検証するコードを組み合わせることで、小規模なモデルであっても本番環境で信頼して利用できるシステムを構築できるという、システムエンジニアにとって非常に重要な示唆を与えている。