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
20250527_NEWT‐Tech-Talk_hosoi
Search
reiwa-travel
May 27, 2025
0
120
20250527_NEWT‐Tech-Talk_hosoi
reiwa-travel
May 27, 2025
Tweet
Share
More Decks by reiwa-travel
See All by reiwa-travel
20250527_NEWT‐Tech-Talk_semba
reiwatravel_0405
0
130
20250527_NEWT‐Tech-Talk_fukuda
reiwatravel_0405
0
130
20250527_NEWT‐Tech-Talk_magara
reiwatravel_0405
0
130
reiwatravel_20250416_vpoe-magara_lt
reiwatravel_0405
1
1.3k
reiwatravel_20250225-newt-tech-talk-14_lt2
reiwatravel_0405
1
330
20241128_NEWT‐Tech-Talk_nakano
reiwatravel_0405
0
160
CTO-of-the-year-2024_reiwatravel
reiwatravel_0405
0
87
20241106_Company_Deck_for_engineers.pdf
reiwatravel_0405
0
9.1k
20241016_NEWT-Tech-Talk_Shinozuka
reiwatravel_0405
0
260
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.3k
Git: the NoSQL Database
bkeepers
PRO
430
65k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
Building an army of robots
kneath
306
45k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
740
A designer walks into a library…
pauljervisheath
205
24k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Designing for Performance
lara
608
69k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.5k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.5k
How to Think Like a Performance Engineer
csswizardry
23
1.6k
Practical Orchestrator
shlominoach
187
11k
Transcript
アプリ開発での取り組み 令和トラベル流 急成⻑を⽀えるAI × プロダクト開発の最前線 Kazuho Hosoi
⾃⼰紹介
⾃⼰紹介 3 • X (Twitter) : @hossynohito • (株) 令和トラベル
海外旅⾏アプリ「NEWT (ニュート)」 Android アプリエンジニア 先週から駆け出し iOS アプリエンジニア • ex Sansan, メルペイ, ツクルバ, etc... Kazuho Hosoi
今回の話
今回の話 • NEWT アプリチームでの、アプリ開発における AI 活⽤の現状を紹介 • コーディングでの AI 活⽤の話がメイン
• 具体的な活⽤シーンの紹介も 5
AI ツールの話
何を使うか • 社としては、AI 活⽤のための課⾦がされていて、⾃由に使える状況 ◦ OpenAI, Anthropic, Gemini の API
key を各⾃に発⾏ ◦ Github Copilot を有効化 ◦ Devin を契約 ◦ AI 課⾦補助もあり ◦ etc… • アプリチームとしても、モデルや AI agent を限定しない • 各⾃が⾊々トライしてみることで、まずは触りまくって知⾒を広げる 🔥 7
iOS/Android で使っているもの • 🍎 iOS ◦ モデル:GPT, Calude, Gemini ◦
コード補完:Github Copilot ◦ AI エージェント:Cline, Copilot Agent, Devin • 🤖 Android ◦ モデル:GPT, Calude, Gemini ◦ コード補完:Gemini on Android Studio ◦ AI エージェント:Cline, Firebender, Codex CLI, Copilot Agent, Devin 8
iOS/Android で使っているもの • コーディング AI agent は公式に IDE でサポートされているものが未だないので、 Cline
や Devin 等、IDE 外で動作するものも活⽤ ◦ 最近、Copilot Agent が各 IDE で使えるようになったのトライ中 ◦ とはいえ、公式 IDE での対応は待ち遠しい(切実) ▪ Android は、Gemini AI agent on Android Studio が準備中とのことなので期待 9
Rules の整備 • AI agent コーディング精度向上のために、Rules を整備 • プロンプトで、うまくいったこと/いかなったことを 追記していくことで
AI agent を成⻑させる 🤝 • 🏷 Tips ◦ .clinerules や firebender.json に agent-rules を読ませる指⽰を 記載し、Rules 本体は1本化 ◦ 改善案を AI agent に考えてもらう ◦ 新旧設計が混じってるコードベースについて Rules で⾔及 10
その他 AI による開発サポート • Devin Code Review ◦ Pull Request
上で、Devin にコードレビューしてもらう ◦ Rules に沿ってレビューさせる • Devin Search ◦ 対象のリポジトリのロジックの確認や、⾼度な grep として使ったり • claude-code-action ◦ Github 上で、Claude に作業やコードレビューをお願いできる 11
AI agent 活⽤状況の話
AI agent 活⽤状況 • AI agent にコード書かせて、⽣産性爆上がりですわ〜 • もう⾃分でコード書いてないっす •
という状況には、まだ辿り着けてません 👶 • やりたいことによって、まるっと任せられることもありつつも、 複雑な既存コードに対して、仕様から実装というのはまだまだ難しい 13
AI agent 活⽤レベル • 仕様を渡して、コードの指⽰なく実装できる ◦ 「〇〇 API を使って、△△画⾯で、このデザイン通りに実装して」 •
仕様とコードの指⽰を渡して、広く実装できる ◦ 「〇〇 API を XxxxViewModel で呼ぶようにして、XxxxScreen の XxxxComponent に表⽰して」 • 仕様とコードの指⽰を渡しつつ、⼩さくスコープを区切って実装できる ◦ 「〇〇 API を XxxxRepository から呼べるようにして」 ◦ 「XxxxScreen の XxxxComponent を追加して」 ◦ 「XxxxViewModel.foo() で XxxxPepository.bar() を呼んで、取得したデータを XxxxComponent で表⽰して」 • 具体的なコードを指⽰して実装できる ◦ 「〇〇 API を呼ぶための XxxxApi を追加して、foo() メソッドで Xxxx クラスを返すようにして」 14 やりとりが少ない 今このへん
AI agent 活⽤レベル • 少しずつ、良い感じのコード出⼒してもらいつつも、精度向上の余地がいっぱい • Rules の整備が重要で、AI agent が上⼿くコーディングするための、
コンテキストの整備や仕組みを整えていく必要がある • 今は⾃分でコード書く⽅が早い時もあるけど、未来への投資で試⾏錯誤しまくる 🏃 15
具体的な AI の使い所の話
Figma MCP で UI を実装 • Figma の URL を渡すと、構造化されたデータから
UI を実装 ◦ デザインシステムを基に既存コードが実装されていれば、 Color や Typography も良い感じに ◦ ⽂⾔リソースの定義とか単純作業がミスなくできる ◦ UI Preview の mock データにも流⽤できたり 17
GraphQL スキーマから実装 • GraphQL スキーマファイルを読ませ、指定の qurey/mutation か らApi や Repository
クラスを実装 • Apollo でのコード⽣成の⼿順や、⽣成されたコードの場所を Rules で教えあげると精度が向上 18
UI Preview, UnitTest, CI コードの⽣成 • これらのコードは明確なものが多いので、精度⾼く書いてもらいやすい • Preview や
UnitTest は量産することになるので相性がいい 19
⼤規模なマイグレーション作業 • iOS の TCA ライブラリにおける破壊的変更への対応 ◦ パターンは同じだが、影響箇所が⼤量にあり、 各箇所で個別の変更が必要になるようなケース •
移⾏ガイドを作成し、読み込ませることで精度を向上 20
Androider の iOS ⼊⾨サポート • iOS アプリ開発を始めた Android アプリエンジニアの学習サポート •
AI の⼿厚いサポートで、グッと敷居が下がる ◦ 例えば、👇 のような⼈に聞くのは躊躇するようなことを優しく教えてくれる ▪ 「Android における 〇〇 は iOS でいう何ですか?」 ▪ 「この Swift のコードを Kotlin で書くと?」 ▪ 「このコンパイルエラーなおして!」 ▪ 「TCA を Kotlin で説明して」 ▪ 「Android の Pull Request の内容から、iOS の変更箇所教えて」 21 優しい Claude の設定
チームでの活動
チームでの活動 • チームの定例で、使ってみたノウハウやトピックスを共有 • (予定)AI エージェントライブコーディング会の実施 ◦ AI への指⽰の出し⽅をワイワイすることで、効果的なプロンプトをチームで学ぶ狙い •
他チームのノウハウをインストール ◦ アプリ開発でも使えそうなものはどんどん取り⼊れていく 23
まとめ
まとめ • アプリ開発でも活⽤シーンはいっぱいある • が、AI 使って⾃分でコーディングしない!には全然、辿り着けてない 25
今後、⽬指したいところ • 精度向上 ◦ 細かい指⽰を減らしつつ、⼈間による修正も減らす ◦ 解釈が苦⼿なところの Rules の整備をして AI
agent を成⻑させる • iOS ⇔ Android 仕様シェア ◦ 基本的に仕様は同じアプリなので、⼀つの情報源をもとに実装ができる未来 ▪ 例えば、⼀つの詳細仕様書を渡して、iOS/Android それぞれで AI agent にコードを書いてもらう ▪ 例えば、どちらかで書かれたコードから AI に仕様 or コードを書いてもらう 26
Thank you! 27