@garasubo

Blog

AIコーディング時代の生き抜き方

生成AIによるコード生成がメジャーになってきた現代をどう生きるべきか現時点での考え

  • programming

生成AIを活用したコーディングはかなり広く使われるようになり、プログラマーは開発スタイルを大幅に変える必要があることは共通の認識になりつつある。 一方で、今後どのようなアプローチで開発スタイルを変更していくかは議論の余地がありまだ明確な答えが出揃っていない段階に思える。

1つある議論はAIのつくったコードをレビューするかどうかというものだ。

こちらの記事では、物量が増えてレビューが本質的に無理になってくる・そもそもレビュワーが育成できないといったことを理由にそもそもレビューをしないほうがいい(可能な限り減らす)ということを主張している。

https://zenn.dev/nuits_jp/articles/2026-03-08-reviewing-ai-code

一方でこちらのツイートは、むしろコードレビューできる人材の育成が今後の成功の鍵になるといった捉え方をしている。

https://x.com/masuda220/status/2030842795385360857

私の考え方は、どちらかというと後者に近い。AIによるコードを素通し続けるということは現時点では考えにくい。

AIコーディング時代は何をつくらないかを見極めるべき

私がAIコーディング時代に最も重要になると思う能力は、「何をつくるか」というよりも「何をつくらないか」を見極める能力ではないかと考えている。

AIコーディングにより生産性は格段に向上した。AI自体の進歩も目覚ましく、特定分野の専門知識も人間の武器になりにくくなっている。 このような時代、単にプロダクトにたくさん機能を実装することのハードルは下がったものの、それがプロダクトの価値にどうつなげるかがより難しくなってくるのではないだろうか。

実際、スクラム開発などの文脈で単にたくさんの機能をつくるだけの組織をFeature Factoryと呼び、このような組織は一般的に良くないとされている。 Feature Factoryの概念自体はAIコーディング登場前のものであるが、AIによるコード生成が容易になった現代では、機能を量産するFeature Factoryへの誘惑が強まっているのではないだろうか。

https://www.ryuzee.com/contents/blog/14601

だからこそ、良い開発者はレビューできないほど大量のコードを書くことに集中するのではなく、プロダクトの本質的価値と向き合う時間を増やして本当に必要な機能は何かを考えるべきではなかろうか。

レビューの考え方を変えよう

では、Feature Factoryにならないよう書くコードの量をレビュー可能な範囲に留めればいいかというとそれも違うと考えている。 この生成AIによるコーディングスピードは武器であり、従来どおりのプロセスではその恩恵を十分に受けられないというのはそのとおりに思う。

コードの品質やエッジケースのケアも生成AIによるものが人間より上回ることも多々ある。レビュー自体も生成AIによるものがかなり精度を上げている。 こうなってくると、コードレビューにおいてロジックのミスとかよりよい実装の指摘のようなものは人間がやるべきではなくなってくるように思える(現時点でのAIの性能では省くことのできない工程には思えるが)。

こうなってくると、コードレビューにおいてはより大局的なレビューを行うことになると考えている。例えば

  • プロジェクト全体のコードの設計をどうするか、その変更はそれに沿ったものか
    • 例: 採用するフレームワークの選定、モジュールにおける責務の分割
  • そもそも実現しようとしている機能は必要か
    • 例: 付け加えようとしているUIは本当にユーザーが必要としているものか
  • 達成したいことに対して、変更のアプローチは正しいものか
    • 例: バックエンドで達成しようとしているが、フロントエンドでも達成可能ではないか

といったものが挙げられる。

ロジックの穴やバグの類はテストやその他の解析ツールによって保証すべきで、これらにレビュワーが力を注ぐ必要はなくなってくるであろう。 コードの設計についてはきちんと文章化されていればAIツールによって保証できる気がするが、そもそも文章化されていない部分というのもあると思うのでこの手のレビューは今後も必要になるであろう。 一方で、そもそも機能が必要かどうかであったり、用いる手法の妥当性はAIでは決められない(ある程度選択肢は提示してくれるかもしれないが、最終的には人間が意思決定するべき)部分なため、ここに対してレビュワーは注力するのではないかと考えている。

こう考えると、今後ソフトウェアエンジニアはある種のプロダクトマネージャーのような、純粋なコーディングスキルとは離れたスキルが個々に求められてくるように思える。

まとめ

AIコーディング時代に対しての現時点での自分の見解をまとめた。 AIコーディングにより物量を圧倒的に増やすことができるからこそ、自動化のようなプロセス改善も重要であるが、そもそも本当にその物量は必要かという問いも重要になってくると考えている。

正直、AIの進歩がどの程度か、また進歩したとして一般の開発者がどれくらい開かれた形で使えるかなど予想が難しい部分もあり、この見解が5年後・10年後も胸を張って正しいと言えるか自信はあんまりない。