Upgrade to Pro — share decks privately, control downloads, hide ads and more …

LLMは4年分のCompose移行を再現できるのか?実プロダクト279件のXMLで探る自動化の境界線

Avatar for makun makun
August 31, 2026

 LLMは4年分のCompose移行を再現できるのか?実プロダクト279件のXMLで探る自動化の境界線

Avatar for makun

makun

August 31, 2026

More Decks by makun

Other Decks in Programming

Transcript

  1. 今回の検証の問い 1 LLMは Compose コードを書けるか? 2 build error を自力で直せるか? 3

    見た目を近づけられるか? 4 人間が移行したCompose実装と比べると、何が欠けるか? 9
  2. 検証の流れ 入力 XML + 限定コンテキスト ▼ 生成 LLM が Compose

    を生成 ▼ 修正① コンパイルエラーを返して直してもらう ▼ 修正② スクリーンショットを見せて直してもらう ▼ 答え合わせ 実際の移行結果との比較 11
  3. include先を渡していなかったケース 元のXML <include> × 8 LLM生成 repeat(8) + // TODO

    <LinearLayout ...> <include ... /> <include ... /> <include ... /> ... (計8つ) </LinearLayout> Column(...) { repeat(8) { index -> // TODO: include @layout/... // の rank{index+1} を後続生成 Box(...) { Text("rank${index + 1}") } } } → 20
  4. include先を渡すと、生成できる内容が増えた before repeat(8) + // TODO after repeat(8) + Row

    Column(...) { repeat(8) { index -> // TODO: include @layout/... // の rank{index+1} を後続生成 Box(...) { Text("rank${index + 1}") } } } repeat(8) { Row(...) { Box(...) Column(...) { ... // tools:text のみで // 実文言は入力に無い Text(text = "", ...) } } } → 27
  5. まず「1日で作れるなら」で計算する 作る時間( 1日 = 8時間) 480分 ÷ 1件あたり減らせる時間 5〜10分 =

    見合い始める件数 48〜96件 作る時間が増えるほど、見合いに必要な件数も増えていく 43
  6. ② 特徴に合わせて、 AIへの渡し方を変える includeがある → include先のXMLも渡す toolsに値がある → 必要なサンプル値も渡す 実行時に内容が決まる

    → 状態やデータの情報を補う WebViewなど → 使える実装方法・ルールを見直す 再設計が必要 → 人が方針を決める 50
  7. AIに仕事を任せるときに考える 3つ 1 2 3 うまくいかない理由を分 ける 理由に合わせて任せ方 を変える 繰り返す部分だけ仕組

    み化を考える 何が原因でAIだけでは進まない のか? どんな情報・ルール・判断が必要 なのか? 何件に効き、人の作業をどれだ け減らせるのか? 54