記事

ペイクラウドホールディングスAIハッカソン2025 優勝

2025/03/15

10 分で読める

記事をシェア

preview

去年に引き続き、ペイクラウドホールディングス主催のAIハッカソン2025に参加し、優勝することができました。今回は営業1人、マーケティング1人、開発者(私)1人の新卒4年目同期3人でチームを組み、マニュアルなどの社内資料検索を効率化する「マニュラグ」を開発しました。

ハッカソンの概要と参加の経緯

昨年のAIハッカソン2024でGPTsを活用したソリューションで優勝した経験を活かし、今年は更にステップアップしたチャレンジをしました。前回はGPTsという既存のプラットフォームを活用しましたが、今回はフロントエンドもバックエンドも全て自前で開発する本格的な実装に挑戦しました。

同期3人でチームを組んだことで、営業視点での課題発見、マーケティング視点での価値訴求、技術視点での実装という、バランスの取れたソリューション開発が可能になりました。

解決したい課題

私たちが着目したのは、社内で日常的に発生している「社内資料を探す時間」という隠れたコストです。

現状の課題

ペイクラウドグループの一部の会社では、マニュアル管理ツールとして「flouu(フロー)」を使用していますが、以下のような問題がありました。

  • 検索に時間がかかる: 必要な情報を見つけるまでに平均2〜3分
  • 情報の階層が深い: 目的のページにたどり着くまでに複数回のクリックが必要
  • 検索精度が低い: キーワード検索では欲しい情報がヒットしない

実測データが示す非効率性

デモンストレーションとして、実際にflouuで情報を検索する時間を計測しました。

flouu使用時の検索時間:

  • ASPサービス導入時の必要書類を探す: 3分29秒
  • モバイル決済端末を発送する際の必要日数を探す: 1分21秒

マニュラグの開発

私たちが開発した「マニュラグ」は、RAG(Retrieval-Augmented Generation)技術を活用した社内資料検索チャットボットです。ユーザーは自然な会話形式で質問するだけで、必要な情報を瞬時に取得できます。

速度改善

同じ検索内容をマニュラグで実施したところ、以下の結果が得られました。

マニュラグ使用時の検索時間:

  • ASPサービス導入時の必要書類を探す: 21秒
  • モバイル決済端末を発送する際の必要日数を探す: 18秒

平均約20秒で必要な情報にアクセスできるようになりました。

年間630時間の削減効果

この改善を組織全体に適用した場合の効果を試算しました。

flouu使用時:

  • 平均150秒 × 53人(flouu利用者) × 240日(年間営業日数) = 約700時間/年間

マニュラグ使用時:

  • 平均18秒 × 53人(flouu利用者) × 240日(年間営業日数) = 約70時間/年間

削減効果: 年間630時間

この時間を他の生産的な業務に振り向けることで、従業員の生産性向上と売上アップを期待できます。

発表の様子

以下実装について

今回の開発で最も技術的にこだわったのは、有料マネージドサービスに一切依存せず、全てを自前実装した点です。

アーキテクチャの全体像

マニュラグは以下の技術スタックで構築されています。

バックエンド:

  • Python + Flask: REST APIサーバー
  • LangChain: RAGパイプライン全体の実装
  • ChromaDB: オンメモリベクトルストア
  • OpenAI API: Embedding生成とLLM推論

フロントエンド:

  • Streamlit: 簡易的なチャットインターフェース

RAGパイプラインの詳細実装

1. ドキュメントの読み込みとインデックス作成

マニュアルPDFファイルを一括読み込みし、ChromaDBにベクトル化して保存します。

主要な処理:

  • DirectoryLoaderで指定ディレクトリ内の全PDFを再帰的に読み込み
  • PyPDFLoaderで各PDFの内容を抽出
  • OpenAIEmbeddings(text-embedding-3-large)でテキストをベクトル化
  • Chromaで永続化ディレクトリに保存し、再利用可能に

初回実行時にインデックスを作成し、2回目以降は永続化されたデータを再利用することで、起動時間を大幅に短縮しています。

2. LangGraphによるワークフロー制御

単純なRAGではなく、回答の品質をAIで再起的に自動評価し、必要に応じてクエリを書き換えるSelf-RAGを実装しました。

ワークフローのステップ:

  1. retrieve: ベクトル類似度検索で関連ドキュメントを取得
  2. generate: LLMでマニュアルに基づいた回答を生成
  3. grade_relevance: 質問と回答の関連性をLLMで評価
  4. rewrite_query: 関連性が低い場合、クエリを書き直して再検索

このループにより、ユーザーが曖昧な質問をしても、システムが自動的にクエリを最適化し、適切な回答を返すことができます。

3. ステート管理

LangGraphStateGraphを使用し、ワークフローの各ステップで以下の情報を管理します。

State構造:

  • query: 現在の検索クエリ(書き換え可能)
  • messages: 会話履歴
  • docs: 取得したドキュメント
  • response: 生成された回答
  • grade: 関連性評価結果
  • reevaluation_count: クエリ書き換え回数

4. REST APIの提供

Flaskで以下のエンドポイントを提供しています。

主要エンドポイント:

  • POST /query: 質問を受け取り、RAGパイプラインを実行して回答を返す
  • GET /manuals: 登録されているマニュアルPDFの一覧を取得
  • GET /manual/<filename>: 特定のPDFファイルを配信
  • GET /health: ヘルスチェック

コスト最適化の工夫

マネージドサービスを使わない理由は、単なるコスト削減だけではありません。

技術的メリット:

  • データの完全管理: 社内データを外部サービスに送信しない
  • カスタマイズ自由度: ワークフローを自由に変更可能
  • 依存関係の最小化: 特定サービスへのロックインを回避

運用メリット:

  • 低コスト: 簡易的なサーバ費用のみで運用可能
  • スケーラビリティ: 必要に応じて様々なクラウドに移行可能
  • 保守性: Pythonコードのみで完結し、メンテナンスが容易

開発の様子

プレゼンテーションの戦略

今回のプレゼンテーションでは、before/afterを明確に示すことに注力しました。

プレゼンテーションの流れ

  1. 問題提起: 現状のflouuの使いづらさを実演(3分29秒、1分21秒)
  2. 効果の実証: 同じタスクをマニュラグで実演(21秒、18秒)
  3. 定量的効果: 年間630時間削減という具体的な数値
  4. ビジネス価値: 生産性向上→売上アップの流れ

この流れにより、審査員に対して「技術的な面白さ」と「ビジネス価値」の両面をアピールできました。

チーム連携の力

今回のプロジェクトは、異なる専門性を持つ同期3人のチームワークが成功の鍵でした。

営業メンバーの貢献:

  • 実務での課題を的確に言語化
  • デモシナリオの設計
  • flouu使用時の実測データ収集

マーケティングメンバーの貢献:

  • ビジネス価値の訴求戦略
  • 外販展開のロードマップ設計
  • プレゼンテーション資料の構成

開発者(私)の貢献:

  • RAGシステムの設計・実装
  • 技術選定とアーキテクチャ決定
  • デモ環境の構築

それぞれが自分の強みを活かし、互いに補完し合うことで、短期間で完成度の高いプロダクトを作り上げることができました。

評価されたポイント

審査員から特に高く評価された点は以下の通りです。

1. 明確なROI(投資対効果)

年間630時間という具体的な削減効果を示し、導入によるROIが明確だった点が評価されました。多くのAIプロジェクトが「なんとなく便利」で終わる中、定量的な価値を提示できたことが強みでした。

2. 実用性の高さ

実際の業務フローに即したデモンストレーションにより、「明日からでも使える」という実用性の高さが伝わりました。ハッカソンの作品は概念実証(POC)レベルで終わることが多いですが、マニュラグはそのまま実運用できるレベルまで仕上げました。

3. 技術的深度とコスト意識

有料マネージドサービスに頼らず、RAGシステムをフルスクラッチで実装した技術力が評価されました。特に、LangGraphを使った品質保証ループの実装は、単純なRAGを超えた高度なアプローチとして認められました。

同時に、「安価である」という点を競合優位性として明確に打ち出したビジネス戦略も好評でした。

技術的チャレンジと学び

RAGシステムで最も難しいのは、常に適切な回答を返すことです。単純な類似度検索だけでは、ユーザーの意図と異なるドキュメントを取得してしまうことがありました。

この課題に対し、LangGraphでクエリ書き換えループを実装することで解決しました。初回の回答が不適切だった場合、自動的にクエリを改善して再検索することで、回答精度を大幅に向上させました。

おわりに

ペイクラウドホールディングス主催のAIハッカソン2025で優勝できたことは、技術力だけでなく、チームの多様性とビジネス視点を持てたことが大きかったと感じています。

昨年のGPTsを活用したハッカソンから一歩進んで今年はフルスクラッチでRAGシステムを構築でき、とても楽しかったです。

最後に、このような挑戦の機会を提供してくださったペイクラウドホールディングスの皆様、そして共に開発に取り組んだ同期のチームメンバーに心から感謝いたします。