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

コードの90%をAIが書く世界で何が待っているのか / What awaits us in a...

コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI

2025/6/24に開催された「AI駆動開発、そのやり方で合ってる?PMとエンジニアで語る AI駆動開発に求められる品質とは」の登壇資料です。
https://offers-jp.connpass.com/event/356194/

Avatar for r-kagaya

r-kagaya

June 24, 2025
Tweet

More Decks by r-kagaya

Other Decks in Programming

Transcript

  1. 29 求められるのは新しい“品質・安全性・堅牢性・保守性”を担保するの仕組み 生まれる疑問 • AIが生成したコード全てをレビューできるのか?必要はあるのか? • AIならテストコードのカバレッジ100%も容易に目指せる? • もはやブラックボックステスト前提で動作を検証すべき? •

    AIが生成するコードの方向性や品質をどう保証・誘導するか? • AIにとっての読みやすいコードとは?今までのコードは人間のため 10個のAIに同じ機能を開発させ、最もクオリティが高いPRを採用したって良い AIが登場人物に増えることで、何がどう変わるのか、変えられるのか?
  2. 31 AIのアウトプットを収斂させるゴールと制約と評価(評価関数)をどう与えるか? 一つはガードレールとしての品質指標・基準 • 型(Types):型システムによる安全性の担保 • テスト(Tests):自動テストによる動作保証 • リント(Lints):コーディング規約の自動チェック •

    ??? AI生成であろうと人間が書いたコードであろうと、同じように適用される基準 むしろAIの高速生成能力があるからこそ、ガードレールや評価を基準にAIを誘導する仕 組みがより重要に
  3. 32 TDD with AI Agents テストをAIへの継続的フィードバック・ガードレールとして活用 • 期待する動作をテストで先に定義し、AIへの仕様として提示 • 自動テストでAIが生成したコードの誤りを即座に検出

    • 包括的なテストスイートで意図しない変更を防止 ◦ (テストコード側を変えて、通過を達成する挙動は制御する必要..) • 回帰テストがセーフティネットとして機能 AIの生成スピードに対応するには、広範囲かつ高速実行可能なテストスイートが不可欠 https://newsletter.pragmaticengineer.com/p/tdd-ai-agents-and-coding-with-kent
  4. 33 例えばAgentic Coding?AI駆動開発にもEval Drivenなアプローチ? Agentic Coding • Vibe Codingは対話的・探索的なア プローチ

    • Agentic Codingは、自律的に動く AIエージェントをどのように導くか? オーケストレートするか? • 「人を増やす」から「Agentを増やす」 へのパラダイムシフト Eval Driven Development • AIプロダクト・エージェント開発で求め られるEval(評価) • Evalを中心に、継続的改善のフライホ イールを回し、poke-and-hope(つ ついて祈る)や印象論的な精度判断か ら脱却 • 自社リポジトリでのAIコーディング エージェントのルールや挙動の改善に も転用するべきアイディア?
  5. 34 例えばAgentic Coding?AI駆動開発にもEval Drivenなアプローチ? Agentic Coding • Vibe Codingは対話的・探索的なア プローチ

    • Agentic Codingは、自律的に動く AIエージェントをどのように導くか? オーケストレートするか? • 「人を増やす」から「Agentを増やす」 へのパラダイムシフト Eval Driven Development • AIプロダクト・エージェント開発で求め られるEval(評価) • Evalを中心に、継続的改善のフライホ イールを回し、poke-and-hope(つ ついて祈る)や印象論的な精度判断か ら脱却 • 自社リポジトリでのAIコーディング エージェントのルールや挙動の改善に も転用するべきアイディア? AIを「使う」から「導く」へのシフト AIをどこに導きたいか? ゴールに近づいてるかをどう図るか?
  6. 35 Vibe Coding vs. Agentic Coding: Fundamentals and Practical Implications

    of Agentic AI • バイブコーディングとエージェントコー ディングの2つのパラダイムを比較分析 し、それぞれの特徴と適用領域をまと めた論文 • 対話型・人間主導のバイブコーディング • 自律型・AI主導のエージェントコーディ ング https://arxiv.org/pdf/2505.19443
  7. 36 人間がドライバーとして介在しなくても良い、一度設定したら裏でよしなにやってくれる世界 Google: LLMコードマイグレーション • Googleでの大規模で手間のかかる マイグレーション作業を自動化 • 変更箇所の発見とLLMを組み合わせ たアプローチ

    • 74%以上のコード変更をLLMが生成 し、作業時間を50%削減 Meta: TestGen-LLM • Metaの既存の単体テストを自動で改 善するツール • LLMとフィルタリング機構を組み合わ せたアプローチ • 75%のテストがビルド成功、25%が カバレッジ向上、73%が本番採用 https://arxiv.org/abs/2504.09691 https://arxiv.org/abs/2402.09171
  8. 40 There’s a lot of chatter in the media that

    software developers will soon lose their jobs to AI. I don’t buy it. It is not the end of programming. It is the end of programming as we know it today. 訳)メディアでは、ソフトウェア開発者がすぐにAIに仕事を奪われるという噂 が広まっています。私はこれを信じません。 これはプログラミングの終わりではありません。現在知られている形でのプ ログラミングの終わりなのです。 私たちの知る開発の終わり
  9. 44 仕様書からPRを出せる時代 • 仕様書変更やGithub IssueからPRを出すこともできる # specs/user-registration.yaml validation: username: min_length:

    3 # これを変更すると... max_length: 20 # 自動でコードとテストが更新される email: pattern: "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$"
  10. 52 TDD, AI agents and coding with Kent Beck https://newsletter.pragmaticengineer.com/p/tdd-ai-agents-and-coding-with-kent

    So I I'm spending 6 8 10 hours a day, sometimes more programming. In 50 years of programming, this is by far the most fun I've ever had. I 訳)だから僕は1日に6時間から10時間、時にはそれ以上かけてプログラミン グをしている。プログラミングを始めて50年になるけど、今が一番楽しいよ。
  11. 53 TDD, AI agents and coding with Kent Beck https://newsletter.pragmaticengineer.com/p/tdd-ai-agents-and-coding-with-kent

    So I I'm spending 6 8 10 hours a day, sometimes more programming. In 50 years of programming, this is by far the most fun I've ever had. I 訳)だから僕は1日に6時間から10時間、時にはそれ以上かけてプログラミン グをしている。プログラミングを始めて50年になるけど、今が一番楽しいよ。 せっかくの大トレンド 逃れることも難しい せっかくなので楽しんでいきたい
  12. • AIコーディングにより様々な前提が変わることは確実 ◦ e.g. AIが生成したコードの全てを人力レビューなどはどこかで無理がでる • 方向性を間違えば、どんなに速くても無意味。品質なき速度は技術的負債を生むだ け • ボトルネックは移動し続ける。コーディングはボトルネックではなくなった

    ◦ では何処に?(みたいな事を考える必要) • “今”のキャッチアップに全力を注ぐ、見えてきた歪みは、“これから”“を見据える貴 重な気づき • 「世界は落下しているので、重力に逆らってはいけない。先に下に落ちよう」 54 まとめ
  13. 55