Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
検索機能リプレイスを4ヶ月→2ヶ月に! AI Agentで実現した2倍速リプレイス
Search
Maple
September 18, 2025
Programming
4
1.2k
検索機能リプレイスを4ヶ月→2ヶ月に! AI Agentで実現した2倍速リプレイス
AI Agentでフロントエンドリプレイスを倍速にした話
Maple
September 18, 2025
Tweet
Share
More Decks by Maple
See All by Maple
モダンJSフレームワークのビルドプロセス 〜なぜReactは503行、Svelteは12行なのか〜
fuuki12
0
270
フロントエンドチームでリアーキテクチャを行っています!
fuuki12
0
280
Other Decks in Programming
See All in Programming
[AI Engineering Summit Tokyo 2025] LLMは計画業務のゲームチェンジャーか? 最適化業務における活⽤の可能性と限界
terryu16
2
210
AI Agent Dojo #4: watsonx Orchestrate ADK体験
oniak3ibm
PRO
0
120
PC-6001でPSG曲を鳴らすまでを全部NetBSD上の Makefile に押し込んでみた / osc2025hiroshima
tsutsui
0
200
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
0
470
안드로이드 9년차 개발자, 프론트엔드 주니어로 커리어 리셋하기
maryang
1
150
Findy AI+の開発、運用におけるMCP活用事例
starfish719
0
2k
SQL Server 2025 LT
odashinsuke
0
120
AI前提で考えるiOSアプリのモダナイズ設計
yuukiw00w
0
210
公共交通オープンデータ × モバイルUX 複雑な運行情報を 『直感』に変換する技術
tinykitten
PRO
0
180
tparseでgo testの出力を見やすくする
utgwkk
2
340
チームをチームにするEM
hitode909
0
430
ThorVG Viewer In VS Code
nors
0
500
Featured
See All Featured
Everyday Curiosity
cassininazir
0
120
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
990
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
Unsuck your backbone
ammeep
671
58k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Design in an AI World
tapps
0
110
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
120
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
71k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.4k
Transcript
検索機能リプレイスを4ヶ月→2ヶ月に! AI Agentで実現した2倍速リプレイス フロントエンド開発の現在地 -PoCの壁を越えるAIフレンドリーな開発の挑戦- 2025-09-19 by Maple
登壇者紹介 Name → Maple Carrier → 株式会社SODAでフロントエンドテックリード を担っております。 Hobby →
ピアノ、アニメ
None
None
アジェンダ リプレイスの経緯と対象画面 アーキテクチャ 実装概要 AI駆動開発の詳細 成功要因と得られた成果
リプレイスの経緯と対象画面
今回リプレイスした機能-検索- 前提として、App(Flutter)は既に新しい検索画面の実 装を終えていて、Web(React)は後追いの実装です。 デザイン・機能の観点でAppを追従する必要があり ました。 課題 UX (LCP等) の悪化により、ユーザーの離脱率が
増加 Before After
機能紹介-検索機能1- サジェスト機能 検索履歴機能
機能紹介-検索機能2- 簡易フィルター機能 詳細フィルター機能
なぜリプレイス? 現状の技術的負債 複雑度・依存度が高い 変更障害率が高い 仮説 Flutterで先行で実装している資産を 活用して、 上手くAIを活用できれば工数を大幅 に圧縮できるのではないか?
アーキテクチャ
Container/Presentationalパターンを使用しています。 詳しくはZenn記事に記載しておりますので、ご興味あれ ばご覧ください! 今回使用したアーキテクチャ Open Link
React/Flutterのアーキテクチャ差分 hooks 共通ロジック PC View PC/SP で完全に独立したコンポーネント 共通ロジックは hooks で共有
デバイスごとに最適なUX提供 Views Models Repository lib/ |-- models/ |-- views/ |-- repository/ ビジネスドメインごとに実装 Mobile View React アーキテクチャ app/ |-- hooks/ |-- pc/ |-- sp/ Flutter アーキテクチャ
実装概要
設計→実装の流れ マッピングファイル生成 空ファイルの作成 Props設計 空Componentの作成 View, Logic実装
設計フェーズ 〜並列化Agentをフル活用〜
Flutter → React マッピングファイル生成 Flutterパス → Reactパスの対応表を出力 FlutterFilePath
FlutterClassName ReactFilePath
ディレクトリ構造、空ファイルの作成 以下のようなディレクトリ構造を生成して、空ファイルを作成する 1 2 3 4 5 6 7 8
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 src # Generated client search endpoints ├── app │ └── search │ ├── page.tsx # Main search page branching │ ├── layout.tsx # Search layout │ │ │ ├── hooks # Container specific ( relationship) │ │ └── useHogeContainer │ │ └── index.ts │ │ │ ├── constants # text constants │ │ └── index.ts │ │ │ ├── pc # Desktop components │ │ └── components │ │ ├── container # Container (logic) │ │ │ ├── index.tsx # Main container component │ │ │ └── SimpleFilterContainer │ │ │ └── index.tsx │ │ └── presentational # components │ │ └── SearchResultView │ │ ├── index.tsx │ │ └── Loading │ │ └── index.tsx │ │ │ └── sp # Mobile components │ └── components │ ├── common │ ├── container # Container (logic) │ └── [Same structure pc components container ] │ └── presentational # components │ └── [Same structure pc components presentational ] / / / / / - : / / / / / / / / / / / / / / / / / / / / API PC SP UI UI UI with with as as hooks components components 1 1
Props設計 → 空Componentの作成 以下のようなクラス図を生成して、Container毎にProps, interfaceのみをファイルに出力させる
設計で実際に使用したプロンプト 並列化エージェントを使用 画像のように${args}を設定して、各エー ジェントにスクリプトで配布を行う。 xmlタグを使用することで、Claude Code の理解度がアップする。 プロンプトは明確に網羅的に記載を行う ※参考:Claude Prompt
engineering overview
実装フェーズ チェーンパターンAgentをフル活用 各セクションにおいて、プロンプト設計がMustで発生する Viewの開発 AI 7割 Logicの開発 AI 7割 仕様漏れを人間が実装
3割 仕様漏れを人間が実装 3割 設計フェーズで出力したマッピングファイル等を元にプロンプトを作成
実装で実際に使用したプロンプト チェーンパターンエージェントを使用 各タスクを逐次的に行わさせるようにプロンプトを設 計 ※参考:Claude Chain complex prompts for stronger
performance
AI駆動開発の詳細
Agents Workflow × Claude Code × tmux を用いて、以下のようなAIエージェントのワークフローを実装しています。 チェーンパターン マネージャー・ワーカー協調による逐
次タスク実行 オーケストレーション パターン 今回は割愛 並列化パターン ワーカー(max16)による並列タスク実行 マネージャー ユーザー 最終レポート 複雑なタスク ワーカー 報告 タスク分解・送信 ワーカー ワーカー ワーカー ワーカー ユーザー タスク調整・配布 アウトプット →人間 →AI
設計・実装のスピードが大幅に向上 従来の開発プロセス見積もり AI Agentなし版 設計 実装 QAテスト QAテスト AI Agent開発
AI PoC&設計 実装 実際の開発工数
成功要因と得られた成果
成功要因 今回の成功要因としてはリプレイスだからという箇所もあります。 ですが、他のプロジェクトでも活かせる場面があるとも思っております。 明確な設計パターンの事前定義 Container/Presentationalパターン 命名規則とディレクトリ構造 段階的な実装アプローチ 空実装 (空ファイル) 人間による品質チェックポイント
あくまでも7割実装 エッジケースは存在する点を共通認識 Props定義 AIが一貫性のある出力を生成 View Logic実装
成果 開発工数 4ヶ月 バグ 0件 Core Web Vital 2ヶ月 想定していた見積もりから倍圧縮
AI実装では、エッジケースは存在する点を共通認識として念頭に置き、リファクタリング期間を設ける等を行い品質も担保
ご清聴ありがとうございました。