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
310
20250527_NEWT‐Tech-Talk_hosoi
reiwa-travel
May 27, 2025
Tweet
Share
More Decks by reiwa-travel
See All by reiwa-travel
創業期の急成長を実現した技術戦略を振り返る
reiwatravel_0405
0
110
QA Career Talk vol.5 〜QAエンジニアの生存戦略~
reiwatravel_0405
0
260
20250527_NEWT‐Tech-Talk_semba
reiwatravel_0405
0
370
20250527_NEWT‐Tech-Talk_fukuda
reiwatravel_0405
0
350
20250527_NEWT‐Tech-Talk_magara
reiwatravel_0405
0
400
reiwatravel_20250416_vpoe-magara_lt
reiwatravel_0405
1
1.4k
reiwatravel_20250225-newt-tech-talk-14_lt2
reiwatravel_0405
1
370
20241128_NEWT‐Tech-Talk_nakano
reiwatravel_0405
0
230
CTO-of-the-year-2024_reiwatravel
reiwatravel_0405
0
120
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
49
14k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
KATA
mclloyd
32
14k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
Done Done
chrislema
185
16k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
The Art of Programming - Codeland 2020
erikaheidi
56
13k
Making Projects Easy
brettharned
118
6.4k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
The Pragmatic Product Professional
lauravandoore
36
6.9k
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