Slide 1

Slide 1 text

アプリ開発での取り組み 令和トラベル流 急成⻑を⽀えるAI × プロダクト開発の最前線 Kazuho Hosoi

Slide 2

Slide 2 text

⾃⼰紹介

Slide 3

Slide 3 text

⾃⼰紹介 3
 ● X (Twitter) : @hossynohito ● (株) 令和トラベル 海外旅⾏アプリ「NEWT (ニュート)」 Android アプリエンジニア 先週から駆け出し iOS アプリエンジニア ● ex Sansan, メルペイ, ツクルバ, etc... Kazuho Hosoi

Slide 4

Slide 4 text

今回の話

Slide 5

Slide 5 text

今回の話 ● NEWT アプリチームでの、アプリ開発における AI 活⽤の現状を紹介 ● コーディングでの AI 活⽤の話がメイン ● 具体的な活⽤シーンの紹介も 5


Slide 6

Slide 6 text

AI ツールの話

Slide 7

Slide 7 text

何を使うか ● 社としては、AI 活⽤のための課⾦がされていて、⾃由に使える状況 ○ OpenAI, Anthropic, Gemini の API key を各⾃に発⾏ ○ Github Copilot を有効化 ○ Devin を契約 ○ AI 課⾦補助もあり ○ etc… ● アプリチームとしても、モデルや AI agent を限定しない ● 各⾃が⾊々トライしてみることで、まずは触りまくって知⾒を広げる 🔥 7


Slide 8

Slide 8 text

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


Slide 9

Slide 9 text

iOS/Android で使っているもの ● コーディング AI agent は公式に IDE でサポートされているものが未だないので、 Cline や Devin 等、IDE 外で動作するものも活⽤ ○ 最近、Copilot Agent が各 IDE で使えるようになったのトライ中 ○ とはいえ、公式 IDE での対応は待ち遠しい(切実) ■ Android は、Gemini AI agent on Android Studio が準備中とのことなので期待 9


Slide 10

Slide 10 text

Rules の整備 ● AI agent コーディング精度向上のために、Rules を整備 ● プロンプトで、うまくいったこと/いかなったことを 追記していくことで AI agent を成⻑させる 🤝 ● 🏷 Tips ○ .clinerules や firebender.json に agent-rules を読ませる指⽰を 記載し、Rules 本体は1本化 ○ 改善案を AI agent に考えてもらう ○ 新旧設計が混じってるコードベースについて Rules で⾔及 10


Slide 11

Slide 11 text

その他 AI による開発サポート ● Devin Code Review ○ Pull Request 上で、Devin にコードレビューしてもらう ○ Rules に沿ってレビューさせる ● Devin Search ○ 対象のリポジトリのロジックの確認や、⾼度な grep として使ったり ● claude-code-action ○ Github 上で、Claude に作業やコードレビューをお願いできる 11


Slide 12

Slide 12 text

AI agent 活⽤状況の話

Slide 13

Slide 13 text

AI agent 活⽤状況 ● AI agent にコード書かせて、⽣産性爆上がりですわ〜 ● もう⾃分でコード書いてないっす ● という状況には、まだ辿り着けてません 👶 ● やりたいことによって、まるっと任せられることもありつつも、 複雑な既存コードに対して、仕様から実装というのはまだまだ難しい 13


Slide 14

Slide 14 text

AI agent 活⽤レベル ● 仕様を渡して、コードの指⽰なく実装できる ○ 「〇〇 API を使って、△△画⾯で、このデザイン通りに実装して」 ● 仕様とコードの指⽰を渡して、広く実装できる ○ 「〇〇 API を XxxxViewModel で呼ぶようにして、XxxxScreen の XxxxComponent に表⽰して」 ● 仕様とコードの指⽰を渡しつつ、⼩さくスコープを区切って実装できる ○ 「〇〇 API を XxxxRepository から呼べるようにして」 ○ 「XxxxScreen の XxxxComponent を追加して」 ○ 「XxxxViewModel.foo() で XxxxPepository.bar() を呼んで、取得したデータを XxxxComponent で表⽰して」 ● 具体的なコードを指⽰して実装できる ○ 「〇〇 API を呼ぶための XxxxApi を追加して、foo() メソッドで Xxxx クラスを返すようにして」 14
 やりとりが少ない 今このへん

Slide 15

Slide 15 text

AI agent 活⽤レベル ● 少しずつ、良い感じのコード出⼒してもらいつつも、精度向上の余地がいっぱい ● Rules の整備が重要で、AI agent が上⼿くコーディングするための、 コンテキストの整備や仕組みを整えていく必要がある ● 今は⾃分でコード書く⽅が早い時もあるけど、未来への投資で試⾏錯誤しまくる 🏃 15


Slide 16

Slide 16 text

具体的な AI の使い所の話

Slide 17

Slide 17 text

Figma MCP で UI を実装 ● Figma の URL を渡すと、構造化されたデータから UI を実装 ○ デザインシステムを基に既存コードが実装されていれば、 Color や Typography も良い感じに ○ ⽂⾔リソースの定義とか単純作業がミスなくできる ○ UI Preview の mock データにも流⽤できたり 17


Slide 18

Slide 18 text

GraphQL スキーマから実装 ● GraphQL スキーマファイルを読ませ、指定の qurey/mutation か らApi や Repository クラスを実装 ● Apollo でのコード⽣成の⼿順や、⽣成されたコードの場所を Rules で教えあげると精度が向上 18


Slide 19

Slide 19 text

UI Preview, UnitTest, CI コードの⽣成 ● これらのコードは明確なものが多いので、精度⾼く書いてもらいやすい ● Preview や UnitTest は量産することになるので相性がいい 19


Slide 20

Slide 20 text

⼤規模なマイグレーション作業 ● iOS の TCA ライブラリにおける破壊的変更への対応 ○ パターンは同じだが、影響箇所が⼤量にあり、 各箇所で個別の変更が必要になるようなケース ● 移⾏ガイドを作成し、読み込ませることで精度を向上 20


Slide 21

Slide 21 text

Androider の iOS ⼊⾨サポート ● iOS アプリ開発を始めた Android アプリエンジニアの学習サポート ● AI の⼿厚いサポートで、グッと敷居が下がる ○ 例えば、👇 のような⼈に聞くのは躊躇するようなことを優しく教えてくれる ■ 「Android における 〇〇 は iOS でいう何ですか?」 ■ 「この Swift のコードを Kotlin で書くと?」 ■ 「このコンパイルエラーなおして!」 ■ 「TCA を Kotlin で説明して」 ■ 「Android の Pull Request の内容から、iOS の変更箇所教えて」 21
 優しい Claude の設定

Slide 22

Slide 22 text

チームでの活動

Slide 23

Slide 23 text

チームでの活動 ● チームの定例で、使ってみたノウハウやトピックスを共有 ● (予定)AI エージェントライブコーディング会の実施 ○ AI への指⽰の出し⽅をワイワイすることで、効果的なプロンプトをチームで学ぶ狙い ● 他チームのノウハウをインストール ○ アプリ開発でも使えそうなものはどんどん取り⼊れていく 23


Slide 24

Slide 24 text

まとめ

Slide 25

Slide 25 text

まとめ ● アプリ開発でも活⽤シーンはいっぱいある ● が、AI 使って⾃分でコーディングしない!には全然、辿り着けてない 25


Slide 26

Slide 26 text

今後、⽬指したいところ ● 精度向上 ○ 細かい指⽰を減らしつつ、⼈間による修正も減らす ○ 解釈が苦⼿なところの Rules の整備をして AI agent を成⻑させる ● iOS ⇔ Android 仕様シェア ○ 基本的に仕様は同じアプリなので、⼀つの情報源をもとに実装ができる未来 ■ 例えば、⼀つの詳細仕様書を渡して、iOS/Android それぞれで AI agent にコードを書いてもらう ■ 例えば、どちらかで書かれたコードから AI に仕様 or コードを書いてもらう 26


Slide 27

Slide 27 text

Thank you!
 27