動画

twadaさん、naoyaさんが出演されたイベント「AI時代の開発スピードと品質 / 本当の意味で開発生産性を上げるために必要なこと」の動画がYouTubeが良かったのでメモ。

メモ

iwashi さんの講演メモに要点がほぼまとまっているので、引用。

  • AIによってコードを書く量や速度、つまり「アウトプット」は増えたと感じる人は多い
  • 一方で、事業成果や顧客価値、つまり「アウトカム」が増えたと自信を持って言える人は少ない
  • 経営者目線では、会社のアウトカムは劇的に増えてはいない。
  • 開発プロセスは、計画、設計、実装、レビュー、QAといった流れで進む
  • AIは特に「実装」のフェーズを加速させる
  • 実装だけが速くなると、後工程であるレビューやQAにしわ寄せがいく
  • AIが生成した質の低いコードが増えると、レビューの負担が増えたり、バグによる手戻りが発生したりする
  • 本番環境で障害が起きれば、結局スピードは上がらず、むしろ会社の信用を失うことにもなりかねない
  • 簡単なツール作成は速くなったが、20年かけて開発してきた既存のコアシステムの改修では、大きな速度向上は起きていない
  • 現場のエンジニアは「生産性が上がった」と言うが、それは「楽になった」「作業負荷が減った」という意味合いが強い
  • つまり、AIで時間が空いても、エンジニアは必ずしも本質的な課題に取り組むわけではなく、楽になったと感じてQOLが上がるだけの場合があるということ
  • AIの社会的なインパクトとして、エンジニア以外の人が簡単なソフトウェアを自分で作れるようになる点が大きい
  • その結果、小規模な受託開発案件は、発注者が自分でAIを使って作るようになり、減少し始めている
  • 非エンジニアであるデザイナーが、AIを使って簡単なUI修正のコードを書き、PRを送る事例も出ている
  • ただし、非エンジニアはコード変更の影響範囲を理解していないため、レビューコストが逆に増大する問題も起こりうる
  • AIが書いたコードをレビューする際、最も重要なのは、コードそのものよりも「モデリング」が正しく行われているかどうか
  • 大規模システムでは、実装の詳細よりも、その背景にあるモデルが品質を決定づける
  • AIをモデル設計の「壁打ち相手」として使うのは有効だが、モデルはチームの共有財産であるため、AIとの対話だけで完結させてはならない
  • AIの支援によって、テストコードを書くハードルは下がった
  • AIは0からテストコードを書かせると質が低いが、良い「型」(お手本)を示して「模倣」させるのは得意
  • AIでコードカバレッジは上がりやすいが、安易なモック(の多用による「誤った安心感」を生む危険がある
  • これは過去に「モック地獄」と呼ばれた、モックのメンテナンスに追われて破綻する歴史の繰り返しになる可能性がある
  • 結局、AIに質の高いコードを書かせるには、指示する人間側に高いスキルや、過去の歴史を踏まえた知見が求められる
  • ただし一方で、自分が全く知らない分野や、書き慣れない言語のコードをとりあえず書かせる、といった「0を1にする」用途ではAIは非常に有効

関連記事