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
890
検索機能リプレイスを4ヶ月→2ヶ月に! AI Agentで実現した2倍速リプレイス
AI Agentでフロントエンドリプレイスを倍速にした話
Maple
September 18, 2025
Tweet
Share
More Decks by Maple
See All by Maple
フロントエンドチームでリアーキテクチャを行っています!
fuuki12
0
270
Other Decks in Programming
See All in Programming
LLMとPlaywright/reg-suitを活用した jQueryリファクタリングの実際
kinocoboy2
4
670
Model Pollution
hschwentner
1
190
止められない医療アプリ、そっと Swift 6 へ
medley
1
130
Web Components で実現する Hotwire とフロントエンドフレームワークの橋渡し / Bridging with Web Components
da1chi
3
1.9k
開発生産性を上げるための生成AI活用術
starfish719
1
190
ポスターセッション: 「まっすぐ行って、右!」って言ってラズパイカーを動かしたい 〜生成AI × Raspberry Pi Pico × Gradioの試作メモ〜
komofr
0
1k
明日から始めるリファクタリング
ryounasso
0
120
After go func(): Goroutines Through a Beginner’s Eye
97vaibhav
0
240
XP, Testing and ninja testing ZOZ5
m_seki
3
350
タスクの特性や不確実性に応じた最適な作業スタイルの選択(ペアプロ・モブプロ・ソロプロ)と実践 / Optimal Work Style Selection: Pair, Mob, or Solo Programming.
honyanya
3
140
Reduxモダナイズ 〜コードのモダン化を通して、将来のライブラリ移行に備える〜
pvcresin
2
690
Le côté obscur des IA génératives
pascallemerrer
0
130
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
4 Signs Your Business is Dying
shpigford
185
22k
Done Done
chrislema
185
16k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
A Tale of Four Properties
chriscoyier
160
23k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.7k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
Designing Experiences People Love
moore
142
24k
A designer walks into a library…
pauljervisheath
209
24k
Writing Fast Ruby
sferik
629
62k
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実装では、エッジケースは存在する点を共通認識として念頭に置き、リファクタリング期間を設ける等を行い品質も担保
ご清聴ありがとうございました。