BUYMA検索・MLOps基盤の裏側を紹介します~マイクロサービス化から生成AI活用まで~

はじめに こんにちは、AIテクノロジーグループの検索チームです。 昨年公開した エニグモのAI活用を支える「AIテクノロジーグループ」について紹介します! では、グループ全体の体制と各チームの役割を紹介しました。 本記事ではそのなかの検索チームに焦点…

AI導入でカスタマーサービス対応はどう変わる?Notion AI・Cursor活用の実践事例

こんにちは。 エニグモのWebアプリケーションエンジニアのレミーです! カスタマーサービスに寄せられる問い合わせは、仕様確認から不具合の疑いまで内容が幅広く、エンジニアが対応にかかわる場面も少なくありません。近年はこのカスタマーサービス対応の現…

エニグモのセキュリティ最前線:DevSecOpsと攻めのガバナンスで全社を守る仕組みづくり

1. はじめに こんにちは!エニグモのセキュリティチームです。 エニグモの中核事業の「BUYMA」は、世界中のパーソナルショッパーから商品を購入できる、会員数1,200万人超のCtoCのECプラットフォームです。 大規模かつグローバルなトラフィックを守るため、…

個別商品レコメンドから検索クエリへ:アプリホームの新しいレコメンド検証

こんにちは、データサイエンティストの髙橋です。業務では企画/分析/機械学習モデル作成/プロダクション向けの実装/効果検証を一貫して行っています。 この記事では、BUYMA アプリのホーム画面に検索クエリレコメンドを導入し、ホームレコメンド経由の CVR …

AWSリソースの整理とコスト最適化 手動運用で掴むシステムの肌感覚と自動化への展望

概要 こんにちは、インフラエンジニアの 加藤 です。 社内で行ったAWSのコスト最適化とリソース整理の内容をレポートします。 今回は、AWS Compute Optimizer、AWS Trusted Advisor、Amazon S3 Storage Lensを活用し、不要・過剰リソースの洗い出しから削除…

Railsで主要ページのパフォーマンス改善を行った話

こんにちは。BUYMA TRAVELのWebエンジニアの赤間です! BUYMA TRAVELは BUYMA を運営する株式会社エニグモのグループサービスです。 1. はじめに 弊社では日本語対応のオプショナルツアー・貸切ガイド予約サイト’’BUYMA TRAVEL’’を開発・運営しています。 そ…

XSS(クロスサイトスクリプティング)とは?脆弱性の診断方法と対策

こんにちは。 エニグモのWebアプリケーションエンジニアのレミーです! Webセキュリティにおいて最も頻繁に発生する脅威の一つがXSS(クロスサイトスクリプティング)です。ユーザーに大きな被害をもたらし、企業の信頼を失墜させるこの脆弱性について、その…

スケールするための設計:BUYMA Personal Shopper API のイベント駆動アーキテクチャ

BUYMAのPersonal Shopper API(PS-API)が、gRPC、Amazon SQS、Webhook、非同期処理を活用しながら、出品者システムとBUYMAのコアプラットフォームをつなぐ仕組みを紹介します。大量リクエストへの対応、キューによるスパイク吸収、モノリスとの連携、スケー…

エニグモのアドベントカレンダー2025の振り返りと運営の工夫

こんにちは。 エニグモ採用担当の戸井です。 普段は中途採用や採用広報を担当していますが、主にエンジニア採用を担当している関係で、エンジニア組織の「Developer Relations(DevRel)チーム」にも所属しています。 DevRelチームはエンジニア組織のアウト…

AI駆動開発とベンチャー回帰で創る次世代エンジニア組織

こんにちはVPoEの木村です。 会社として新年度を迎え少し経ちましたが、先月頭、エンジニア組織の今期以降の運営方針を社内向けに発表しました。今回はその方針について、ブログでもご紹介したいと思います。 テーマは「AIの最大活用〜新開発フロー・体制へ…

AI時代のPdMの武器は「土壌」にある。BUYMAの歴史をレバレッジに、高速で仮説を形にする方法

はじめに 株式会社エニグモでプロダクトマネージャー(PdM)を務めているKNです。2025年2月に入社し、約1年が経過しました。 前職では新卒でWeb系企業にエンジニアとして入社し、3年間従事しました。 文系出身ながらAWSでのインフラ構築・メンテナンスからバ…

【BigQuery】過去データの再作成が超絶楽になる!ループ処理でシャーディングテーブルを一気に作成する方法

こんにちは、エニグモの嘉松です。普段はデータ活用推進室にて、データ分析・データ活用の推進やMAツールを用いたCRM施策などを担当しています。 本記事はEnigmo Advent Calendar 2025の最終日(25日目)の記事です。1ヶ月間にわたり様々なテーマで繋いでき…

Ruby on Rails アプリのパフォーマンス最適化10選

こんにちは!Webアプリケーションエンジニアのレミーです! この記事はEnigmo Advent Calendar 2025の24日目の記事です。 Ruby on Rails アプリが遅いと感じるのは、ほぼ次の3の原因になります。 DBクエリが多すぎる(特に N+1、COUNT/EXISTS の使い分けミス…

Rails + SQL Server環境でハマったBooleanの罠

こんにちは、WEBエンジニアのChoi(チェ)です。 BUYMAの購入者向け機能を開発するチームで、主にSEO改善の業務を担当しています。 この記事はEnigmo Advent Calendar 2025の23日目の記事です。 Railsを使用する際は一般的にMySQLやPostgreSQLが使われますが…

Rails 8のSolid Queue:Sidekiqに代わる新しい非同期処理システム

こんにちは!Webアプリケーションエンジニアのレミーです! この記事はEnigmo Advent Calendar 2025の21日目の記事です。 Rails 8がリリースされてから、バックグラウンドジョブシステムである Solid Queue に興味を持ち、調べてみました。 バックグラウンド…

アジャイルは会社ごとに別物。でも、あるあるは共通だった

こんにちは、BUYMA TRAVEL Webエンジニア の赤間です。 この記事はEnigmo Advent Calendar 2025の20日目の記事です。 この記事では、転職をきっかけに感じたことを基に、アジャイル/スクラムの基本と、現場で起きがちな"あるある"とその対策について紹介し…

機械学習実験を加速させる dbt による特徴量管理の実践

こんにちは、AI テクノロジーグループ データサイエンティストの髙橋です。業務では企画/分析/機械学習モデル作成/プロダクション向けの実装/効果検証を一貫して行っています。この記事は Enigmo Advent Calendar 2025 の 19 日目の記事です。 本記事では、 …

AWS Savings Plans検討をGemini Gemsで自動化する~~プロンプト作成のコツと組織管理の課題~~

こんにちは、インフラエンジニアの森田です。 この記事はEnigmo Advent Calendar 2025の 14日目の記事です。 今回は、業務効率化のためにGoogle Geminiのカスタム指示(Gems)を作成し、 実際の業務で使ってみた使用感や気づきについて紹介します。 どのよう…

「AIでさがす」サービスのリニューアル - BUYMA内記事コンテンツをベースにした商品提案エージェントの実現

こんにちは、AIテクノロジーグループのエンジニアの吉田です。 本記事はEnigmo Advent Calendar 2025の 18日目の記事です。 普段は検索システム全般、機械学習システムのMLOps、AI関連の機能開発を担当しております。 この記事では「AIでさがす」サービスの…

Workflows + Cloud Scheduler で定期処理をサーバーレス構築(Cloud Composer との比較もあります)

毎日追加・更新される商品データを 処理する Dataflow を実行したい、という目的に対して、Cloud Composer を使わず、Workflows + Cloud Scheduler を採用することで、管理コストと金銭的コストを最小限に抑えたアーキテクチャを構築した。

PHPerがRubyistになろうとしてつまづいたところ⑥プロセス内キャッシュ

WEBアプリケーションエンジニアの小松です! プロセス内キャッシュの挙動に馴染みがなかったので、どういう挙動なのか。 ネットワーク越しのキャッシュとの使い分け。 他言語との比較でRails特有の仕様なのかどうか。 という疑問が湧いたので調査し、それを…

エニグモでは問い合わせをどう捌いているのか?ヘルプデスク業務の裏側をお伝えします

こんにちは、コーポレートエンジニア(コーポレートITチーム)の藤田です。 この記事は Enigmo Advent Calendar 2025 の15日目の記事です。 コーポレートIT(以下CO-IT)の業務において、地味ながらも非常に重要な「ヘルプデスク業務」についてお伝えします…

GCSToSFTPOperatorでハマった

こんにちは!WEBアプリケーションエンジニアの小松です! 今まで主に EC サイトの WEB エンジニアとして仕事をしてきて、Airflow を触るようになったのはエニグモに入社してからでした。 BUYMA では、広告媒体向けのフィード生成や外部パートナーとのデータ…

ローコードAIツールDifyをエンジニアが使ったら?コードブロックでハマった7つの落とし穴

こんにちは、AIテクノロジーグループの辻埜です。 本記事は Enigmo Advent Calendar 2025 の12日目の記事です。 普段はデータサイエンティストとして機械学習を用いたシステムの開発運用や、社内のAI活用推進を担当しています。 近年、生成AIの活用が進む中…

BigQueryのデータをAIでフィルタリング!手動→自動化→コスト最適化の3ステップ

こんにちは、AIテクノロジーグループの竹田です。 本記事は Enigmo Advent Calendar 2025 の11日目の記事です。 本稿では、BigQueryで抽出したデータに対して「金額に関する記述が含まれているか」をAIで判定する方法を、段階的に進化させながら紹介します。…

PHPerがRubyistになろうとしてつまづいたところ⑤Facade

こんにちは。WEBアプリケーションエンジニアの小松です。 私はこれまで主に EC サイトの開発に携わってきて、普段は PHP を中心に書いてきました。本格的に Ruby on Rails に触れるようになったのは、エニグモに入社してからです。 Rails のコードベースに新…

入社3年を迎えて、CS対応が私の成長に与えた影響について

こんにちは。サーバーサイドエンジニアの高橋です。 この記事はEnigmo Advent Calendar 2025の9日目の記事です。 中途入社してから3年が経ちました。この記事では、この3年間で携わってきた業務の中でも、特にCS(カスタマーサポート)対応が自分のスキル習…

フロントエンドエンジニアがEffect-TSの導入を検討してみた

こんにちは!フロントエンドエンジニアの張です! この記事はEnigmo Advent Calendar 2025の8日目の記事です。 「型安全」、「堅牢性」、「開発体験」、どれもエンジニアでしたら、近年よく聞くキーワードだと思います。特にウェブ開発、フロントエンド開発…

SVGファイルは本当に安全なのか?SVGの中にある危険な仕組みと対策

こんにちは!Webアプリケーションエンジニアのレミーです! この記事はEnigmo Advent Calendar 2025の7日目の記事です。 最近「Operation Hanoi Thief」という事件を読みました。 これは、ベトナムのITエンジニアや採用担当者を狙ったサイバー攻撃についての…

PHPerがRubyistになろうとしてつまづいたところ④ルートヘルパー

こんにちは!WEBアプリケーションエンジニアの小松です! 今まで主にECサイトのWEBエンジニアをやっていて、本格的にRuby On Railsの開発をするのはエニグモに入社してからです。 この記事は[Enigmo Advent Calendar 2025]の6日目の記事です。 はじめに:な…