ZOZO TECH BLOG
https://techblog.zozo.com/
ZOZO TECH BLOG
フィード

DatastreamのBigQueryコストを92%削減できた取り組み
2
ZOZO TECH BLOG
データシステム部データ基盤ブロックの小泉です。データ基盤ブロックでは、社内のさまざまな業務領域のリレーショナルデータベースを、DatastreamでBigQueryへリアルタイム連携しています。この基盤は各部門が分析やダッシュボード等で活用しており、私たちが横断的に管理しています。多くのチームが参照する基盤はクエリ費用がかさみやすく、かつ各テーブルの更新頻度を利用者側で一元的に把握することも難しいという課題がありました。 本記事では、staleness limit(データの更新頻度)の見直しによるクエリ費用削減の取り組みを紹介します。あわせて、その設定を一度きりで終わらせず、CI/CDによる自…
2日前

AIエージェントに影響調査と概算見積もりの一次請けを任せる ── 精度ではなく「見落とし」を潰す
5
ZOZO TECH BLOG
はじめに こんにちは、ZOZOTOWNのカート・決済・注文作成を担うバックエンドエンジニアの斉藤です。普段は開発に加えて、チームのマネジメントを担当しています。 影響調査そのものは、どのチームでも日常的に発生します。私たちの場合に問題だったのは、待たせる相手がいることでした。何か手を入れようとするたびに、影響範囲の洗い出し・実現可能性の判断・概算見積もりが必要です。これに毎回まとまった時間がかかります。その間、問い合わせ元である他部門は次に進めません。私たちの調査速度が、そのまま他部門の意思決定の速さを決めていました。 本記事で紹介するのは、この一次調査をAIエージェントのDevinに一次請け…
3日前

AWS ChatbotからArgo Eventsへ ── 認可・承認を備えたSlack ChatOps基盤の再構築
ZOZO TECH BLOG
はじめに こんにちは、EC基盤開発本部SRE部カート決済SREブロックの金田です。テックリードとして、ZOZOTOWNのカート決済機能のリプレイスや運用を担当しています。 カート決済SREブロックでは、Slackを起点としたChatOpsで運用作業の自動化に取り組んでいます。以前の記事で紹介したAWS Chatbotベースの基盤を約2年運用する中で、アクセス制御とツール追加コストの課題が見えてきました。本記事ではその課題と、Argo Eventsを軸にChatOps基盤を再構築した取り組みを紹介します。
3日前

対応工数を半減、リードタイムを6日から1日に ── Dify・Claude Code・Devinを束ねたSlack問い合わせ自動化
3
ZOZO TECH BLOG
はじめに こんにちは。検索基盤ブロックのXEIです。私たちのチームには、ZOZOTOWNの検索に関する問い合わせが社内から日々寄せられます。 本記事では、この問い合わせ対応を複数のAIエージェントの組み合わせでどう効率化したかを紹介します。読み終わる頃には、役割を分けたAIエージェントをどう組み合わせ、人間の関与をどこに残すと問い合わせの件数を維持したまま対応の負荷を下げられるのか、その設計の勘所を持ち帰っていただけるはずです。なお、本記事は「問い合わせに回答する」部分に絞り、管理・運用の自動化は扱いません。
4日前

ZOZOの基幹システムをステートレス化 ── 段階的なフロントエンドリプレイスに向けたセッションオフロード
ZOZO TECH BLOG
はじめに こんにちは、EC基盤開発本部SRE部でテックリードを務めている杉山です。 ZOZOでは、長年運用してきた基幹システムを新しいアーキテクチャへリプレイスする取り組みを進めています。新システムではAPIにJava、フロントエンド+BFFにReact(TypeScript / Node.js)を採用し、インフラはKubernetes上に構築しています。 2025年11月に開催されたファインディ株式会社主催の「アーキテクチャConference 2025」では、「巨大モノリスのリプレイス──機能整理とハイブリッドアーキテクチャで挑んだ再構築戦略」と題して発表しました。基幹システムの課題と、ア…
9日前

ZOZOTOWN Androidのリリース準備を自動化 ── Jira AutomationとGitHub Actionsで手作業を減らす
ZOZO TECH BLOG
はじめに こんにちは、ZOZOTOWN開発2部Androidブロックの小林(@kako_351)です。普段はZOZOTOWN Androidアプリの開発を担当しています。ZOZOTOWN Androidでは、チーム内の運用でさまざまな作業を自動化しています。最近はリリース準備を、Jira AutomationとGitHub Actionsの組み合わせで自動化しました。本記事では、その仕組みと実装を紹介します。
10日前

ZOZOTOWN Androidのマルチモジュール構成を段階的に整理する
ZOZO TECH BLOG
はじめに こんにちは、ZOZOTOWN開発2部Androidブロックの大江です。普段はZOZOTOWN Androidの開発を担当しています。 ZOZOTOWN Androidは10年以上にわたって開発されています。機能追加を重ねる中で、特定のモジュールが肥大化したり、モジュール構成が複雑になったりしたため、改善に取り組んでいます。 本記事では、こうしたモジュール構成について、課題とその解決に向けて段階的に進めてきた取り組みを中心に紹介します。
17日前

Claude Codeとの会話を、チームの記憶にする ── 開発の文脈をメモリに残して共有する仕組み
ZOZO TECH BLOG
はじめに こんにちは、ZOZOTOWN開発本部Webバックエンドブロックの和氣です。普段はZOZOTOWNのバックエンドを担当しています。 日々の開発にClaude Codeを使っています。使ううちに、仕様や経緯を毎回プロンプトで説明し直していることに気づきました。そこで、Claude Codeとの会話をMarkdownで残し、作業に合わせたコンテキストをClaude Code自身が組み上げるようにしました。以降、残したMarkdownを「メモリ」と呼びます(Claude Code標準のメモリ機能とは別物です。違いは後述します)。 現在、メモリは個人に閉じず、職種を跨いで十数人で共有しています…
18日前

既存システムのAI分析ワークフローを作り直す ── レビュー負担を減らす3つの改善
ZOZO TECH BLOG
はじめに こんにちは、ZOZOTOWN開発2部Webバックエンドブロックのぐらです。普段はZOZOTOWNのバックエンド開発を担当しています。ZOZOTOWNのリプレイスでは、既存システムの仕様を正確に把握することが欠かせません。私たちはこの分析にAIを活用してきました。しかし、人間による追加調査がまだまだ必要という課題を抱えていました。本記事では、AIによる既存システムの分析ワークフローを作り直した過程と、そこで得られた知見を紹介します。
19日前

「みんなのもの」の在庫は、1つのドメインとして成立するのか ── 20年もののモノリスから境界と責務を決めるまで
ZOZO TECH BLOG
はじめに こんにちは、ECプラットフォーム部マイクロサービス戦略ブロックの半澤です。普段は、システムアーキテクチャの全体最適化など、モノリスからマイクロサービスへシステムをリプレイスする過程で生じる、複数チーム間の課題解決を主に担当しています。 本記事では、ZOZOの基幹システムリプレイスにおいてモノリスからマイクロサービスへ移行するために、イベントストーミングを起点にドメイン間の境界と責務の決定をどのように進めたかを紹介します。あわせて、既存コードの解析と付箋への変換に使ったClaude CodeのAgent Skillsの設計を、付録で共有します。なお、イベントストーミング(業務で起きる出…
19日前

Girls Meet STEM 2026夏「ZOZOTOWN・WEARを支える技術と働き方を知ろう!」を開催しました!
ZOZO TECH BLOG
はじめに こんにちは。Developer Engagementブロックの@wirohaです。8月21日(金)に、ZOZOにて中高生女子を対象とした体験イベント「ZOZOTOWN・WEARを支える技術と働き方を知ろう!」を開催しました。 これは公益財団法人山田進太郎D&I財団が実施する「Girls Meet STEM」プログラムの一環です。中高生女子がSTEM(科学・技術・工学・数学)分野で働く人やSTEM分野で学ぶ学生、実際の現場に触れることで、将来の可能性を広げる機会を提供することを目的としています。ZOZOではこの活動の意義に共感し2024年より参画しており、今回は4度目の開催です。 今回…
20日前

AI Engineer World's Fair 2026参加レポート ── Software FactoriesとAgentic Commerce
ZOZO TECH BLOG
はじめに こんにちは、検索基盤部 検索グロースブロックの朝原です。普段はZOZOTOWNの検索体験の改善を担当しています。2026年6月29日から7月2日までサンフランシスコで開催されたAI Engineer World's Fair 2026に現地参加しました。本記事では、現地の様子に加えて、特に気になったセッションをSoftware FactoriesとAgentic Commerceの2つのテーマに分けて紹介します。
20日前

AIエージェント向けコーディングルールをArchUnitで機械的に検証する運用
ZOZO TECH BLOG
はじめに こんにちは。商品基盤部の藤本です。 私たちのチームでは、生成AIコーディングエージェント(以下、AIエージェント。主にClaude Code)を使って開発に取り組んでいます。以前からAIエージェントに一貫した実装をしてもらうため、ルールを書いて指示する運用を続けてきました。しかし、ルール同士の矛盾やレビューだけでは遵守を保証できないといった課題がありました。本記事ではこの課題と、ArchUnitによる機械的な検証へ落とし込むまでの取り組みを紹介します。
21日前

日本語CLIPを活用した検索ランキング学習の精度改善検証
ZOZO TECH BLOG
はじめに こんにちは、検索基盤部の検索グロースブロックに所属するしゅがーです。普段はZOZOTOWNの検索体験を改善する施策の企画と開発を担当しています。 近年、CLIPをはじめとするマルチモーダルモデルの登場によって、画像とテキストを同じ特徴空間で比較できるようになりました。一方で、検索結果の並び順を学習するランキング学習(LTR: Learning to Rank)では、行動実績やテキストに基づく特徴量を使うことが一般的です。画像の情報をどう取り込むかには、まだ検討の余地があります。 本記事では、日本語CLIPモデルで算出した商品画像と検索クエリの類似度をランキング学習モデルの特徴量として…
1ヶ月前

チームの人数が減っても仕事を回す ── AIとGitHub Actionsによる開発ワークフロー改善
ZOZO TECH BLOG
はじめに こんにちは、WEAR開発部Webブロックの吉田です。普段はWEARの新機能開発や運用改善を担当しています。 Webブロックでは、異動によりメンバーが減ったことで、開発ワークフローのさまざまな工程で効率化が求められていました。本記事では、AIエージェントとGitHub Actionsによるワークフローの改善を取り入れ、アイデア出しやプルリクエストレビュー、エラー監視、KPTを改善した取り組みを紹介します。
1ヶ月前

Thompson Samplingのコールドスタート対策 ── 過去の実績データを事前分布に活かす
ZOZO TECH BLOG
はじめに こんにちは、検索基盤部 検索グロースブロックの広渡です。検索グロースブロックでは、ZOZOTOWNのある施策において、ユーザーに表示するコンテンツを複数の候補の中から選んで配信しています。どの候補がユーザーの反応(クリックなどのエンゲージメント)を最も得られるかは事前にわかりません。そこで、配信結果から学習しながら最適な候補に配信を寄せていくMulti-Armed Bandit(MAB)、なかでもThompson Samplingの活用を検討・検証しています。 MABは、広告配信のクリエイティブ選択・検索結果ページに差し込むレコメンドモジュールの出し分け・アプリのホーム画面のコンテン…
1ヶ月前

26卒エンジニアがAI時代に日本CTO協会の「新卒エンジニア合同研修」で学んだこと
ZOZO TECH BLOG
はじめに こんにちは。技術戦略部CTOブロックのikkouです。ZOZOでは毎年、独自の新卒研修を実施しています。さらに昨年からは、日本CTO協会の新卒エンジニア合同研修にも参加しています。参加は任意として、興味を持つ研修を自身で選択できるようにしました。本年度は2名の新卒エンジニアが参加しました。本記事では参加者によるレポートをお伝えします。 目次 はじめに 目次 日本CTO協会の新卒エンジニア合同研修とは 第1回:関係の質を上げるファシリテーション 第2回:Google Cloudで実現するクラウドネイティブ・アーキテクチャ 第3回:エンジニアの働き方とキャリア論 第4回:Codexを使っ…
1ヶ月前

GoogleドライブからBoxへの大量データ移行 ── Box Shuttleと現場の協力で乗り越えた移行の壁
ZOZO TECH BLOG
はじめに こんにちは、コーポレートエンジニアリング部のてぃーです。普段はGoogle WorkspaceやBox、SlackといったSaaS製品のアカウント管理や運用改善を担当しています。 当社では、Googleドライブを運用する中で生じていたセキュリティ面・ガバナンス面の課題や、利用者からのMicrosoft系ファイルの機能要望を解決するため、Boxを導入しました。 しかし、ただBoxを導入しても、業務データがBox上になければ課題は解決できません。そこで私の所属する部署では2024年5月より、GoogleドライブからBoxへのデータ移行に取り組んでいます。 一般的に、異なるシステム間のデー…
1ヶ月前

DBの性能検証を人の判断に委ねない ── ストアド改修の実行計画をCIで取得しLLMがレビューする仕組み
ZOZO TECH BLOG
はじめに こんにちは、SRE部カート決済SREブロックの伊藤(@_itito_)です。普段はZOZOTOWNのカート決済機能のリプレイス・運用・保守に携わっています。また、データベース(以下DB)領域でのテックリードを務めており、DBREとしてDB周りの運用・保守・構築に関わっています。 ZOZOTOWNでは以前からリプレイスを進めており、SQL Serverを中心としていたDB構成も、マイクロサービス化に伴ってAurora MySQLなどへ分割されてきました。 かつてはビジネスロジックの多くを、SQL Serverのストアドプロシージャ(以下、ストアド)が担っていました。データの近くで処理す…
1ヶ月前

WEARのあいまい検索を支えるOpenSearchハイブリッド検索 ── ベクトル量子化・暖気機構・スコア調整の実践
ZOZO TECH BLOG
はじめに こんにちは、WEAR開発部バックエンドブロックの小山です。普段は弊社サービスであるWEARのバックエンド開発を担当しています。 WEARの投稿検索(フリーワード検索)では、OpenSearchを検索基盤として利用しています。従来の検索方法では、ユーザーが入力するクエリの表記ゆれや誤字・略称により、適切な検索結果を返せないケースがありました。この課題を解決するため、全文検索とベクトル検索を組み合わせたハイブリッド検索を導入しました。しかし、導入の過程ではストレージの肥大化やレイテンシの増加、検索精度のチューニングといった技術的課題に直面しました。本記事では、これらの課題と解決に至るまで…
1ヶ月前

ユーザー影響の大きい画面のリファクタリング ── ZOZOTOWN iOSアプリのカート追加画面で意識したことと6つの学び
ZOZO TECH BLOG
はじめに こんにちは、ZOZOTOWN開発1部iOSブロックのぎゅです(@kyuriza62)。ZOZOに入社して3年目で、普段はZOZOTOWN iOSアプリの新機能の開発や、Storyboard/XIB形式の既存画面をSwiftへ置き換える作業などを担当しています。これまでもリファクタリングは担当してきましたが、影響範囲の大きい画面を扱った経験はありませんでした。 ZOZOTOWNのiOSアプリには、アプリ内のさまざまな導線からアクセスされる「カート追加画面」があります。今回は、このカート追加画面の実装を、ZOZOTOWN iOSチームで運用しているMVVM + Repositoryアーキ…
1ヶ月前

パーソナライズ配信ジョブの負荷対策3選 ── うまくいった改善、見送った改善
ZOZO TECH BLOG
はじめに こんにちは、MA部MAシステム開発ブロックのまんさくです。普段はマーケティングオートメーションシステムの開発・運用を担当しています。 ZOZOTOWNでは、アプリのPush通知やLINE、メールでキャンペーンを配信しています。MA部は、これらの配信を担うマーケティングオートメーション(MA)システムを開発しています。 配信には大きく2種類あります。特定の会員セグメントへ一括で送る「バッチ配信」と、会員一人ひとりの行動に合わせて送る「パーソナライズ配信」です。本記事で扱うのは後者です。その配信可否を決める前段階のジョブについて、DB・ジョブ起動基盤・メッセージングの3つの層で改善に取り…
1ヶ月前

Istio Ambient MeshのPoCで見えた現時点の最適なアーキテクチャ
ZOZO TECH BLOG
はじめに こんにちは、SRE部プラットフォームSREブロックのさかべっちです。 ZOZOTOWNのプラットフォーム基盤では、サービスメッシュとしてIstioをSidecarモデルで運用しています。本記事では、Istio Data Planeのリアーキテクチャに向けて実施した、Ambient MeshのPoCとNative Sidecar導入の取り組みをご紹介します。 Ambient Meshはすでに一般提供(GA)されていますが、大規模な本番基盤での移行可否を判断できる材料や事例はまだ多くありません。私たちはPoCで機能・性能を体系的に評価しました。そして、その実測データをもとに「現時点の最適…
1ヶ月前

ループエンジニアリング実践:プロンプトチューニングをClaude Codeに任せてみた
ZOZO TECH BLOG
はじめに こんにちは、データサイエンス部の大川(@o_tomo03)です。私たちは、WEARにおける「似合う」をユーザーに届けるため、LLMやマルチモーダルAIを活用してコーディネートの特徴抽出や似合うに関する独自の判定処理のR&Dを行っています。 その中核を担うのが、全身のコーディネート画像から特徴を抽出するVLM(Vision Language Model)のプロンプトです。このプロンプトの精度を上げようとすると、地道な手作業のチューニングが延々と続きます。みなさんも一度は経験したことがあるのではないでしょうか? 当初、私が実際に回していたのは次のようなループでした。 LLMに推論させ、正…
1ヶ月前

複数チームで1つのClaude Codeプラグインマーケットプレイスを育てる ── 共同運用で直面した5つの課題と対策
ZOZO TECH BLOG
はじめに こんにちは、データシステム部MLOpsブロックの木村と、推薦基盤ブロックの上國料です。 ZOZOでは2025年7月より、Claude Codeをはじめとする各種AI開発ツールを利用できる制度を開始しました。 corp.zozo.com 現在ではこの制度のもと、数百名にのぼる社員がClaude Codeを活用しています。 Claude Codeの活用が進むにつれ、スキルやエージェントといった開発資産がチームごとに蓄積されていきます。しかし、それらの資産がチーム内に閉じたままでは、組織全体で見たときに「AI開発が進むチーム」と「遅れるチーム」の差が広がる一方です。 この差を埋めるには、チ…
1ヶ月前

Doma 3で販促基盤を作る ── O/Rマッパー選定と、Aurora読み書き分離
ZOZO TECH BLOG
はじめに こんにちは、販促基盤ブロックの村井です。普段は販促基盤の開発を担当しています。 販促基盤は、ZOZOTOWNにおけるキャンペーン・割引・友だち紹介機能など販売促進の施策を横断的に支える共通基盤です。2025年に構築が始まり、初期スコープとして友だち紹介機能のリプレイスを行いました。友だち紹介機能は、既存会員が非会員を招待し、条件を満たすと双方にポイントを付与する機能です。本記事では、基盤の立ち上げ時に行ったO/Rマッパーの選定と、Auroraの読み書き分離でつまずいた話をご紹介します。
1ヶ月前

推薦APIのモデル品質劣化を検知する監視システムの構築と運用
ZOZO TECH BLOG
はじめに こんにちは、データシステム部MLOpsブロックの木村と、推薦研究ブロックの小倉です。 ZOZOTOWNでは、ユーザーが多様な商品の中から好みに合った商品と出会えるよう、さまざまな推薦機能を提供しています。その1つが商品詳細画面の「おすすめアイテム」であり、閲覧中の商品に関連する商品を推薦しています。以下に、ZOZOTOWNにおける商品詳細画面の「おすすめアイテム」のイメージを示します。 この「おすすめアイテム」は、おすすめ商品を返すAPI(以下、推薦API)が提供しています。推薦APIは、推薦ロジックとしてGoogle CloudのマネージドサービスであるAI Commerce Se…
1ヶ月前

DASH by Datadog: DASH 2026 参加レポート
ZOZO TECH BLOG
はじめに こんにちは。ZOZOでSREをしている三品、松石です。 6月9日〜6月10日に行われたDASH by Datadogへ、ZOZOのSREが2名参加しました。この記事の前半では熱気あふれる会場の様子を、後半では面白かったセッションについてご紹介します!
1ヶ月前

CloudFront Functions × KeyValueStoreで実現するCloudFront + S3のカナリアリリース
ZOZO TECH BLOG
はじめに こんにちは、ZOZOMO部SREブロックの中村です。普段はZOZOMOのSREを担当しています。 本記事では、CloudFrontでカナリアリリースを実現する方式の選定基準と、CloudFront FunctionsとKeyValueStoreの実装・運用で得られた実践的なノウハウをご紹介します。CloudFront + S3構成へのカナリアリリース導入を検討している方の参考になれば幸いです。
1ヶ月前

MIRU2026参加レポート
ZOZO TECH BLOG
こんにちは、データサイエンス部商品データサイエンスブロックの荒木です。我々のチームでは、AIやデータサイエンスを活用したプロダクト開発のため、研究開発に取り組んでいます。今回は、ZOZO NEXTのメンバーとともに2026年8月3日(月)から8月6日(木)にかけて出島メッセ長崎で開催された画像の認識・理解シンポジウム (MIRU) 2026に参加しました。本記事では、MIRU2026でのZOZO・ZOZO NEXTメンバーの取り組み、MIRU2026の様子や参加メンバーの気になった発表を報告します。 本記事は、データサイエンス部商品データサイエンスブロックの西山、同部コーディネートサイエンスブ…
1ヶ月前