AIにはより多くのエンジニアリング規律が必要であり、少なくて済むわけではない
本記事では、AIによるコード生成能力の急速な向上がソフトウェアエンジニアリングの経済性をどのように変えたかを論じ、コードが安価で使い捨て可能になったことを強調する。著者は、真の成果物は共有理解または本番環境であり、Chad Fowlerの「フェニックスアーキテクチャ」の概念を引用して、コードを資産ではなくキャッシュとして扱うよう提唱する。AIがコードレビューやアーキテクチャ設計などの実践を変える中で、エンジニアリング規律と評価能力はこれまで以上に重要であると主張する。
本記事の著者Charity Majorsは、以前のAI関連記事に対する読者からの反応に応え、AIがソフトウェアエンジニアリングに与える影響を深く掘り下げている。彼女は、2025年にAIコード生成能力が根本的に変化したこと、特にOpus 4.5とエージェンティックフレームワークの登場により、AIが中級エンジニアと同等のコードをより高速かつ低コストで生成できるようになったことを指摘する。この変化により、コード生産の経済性が覆された。コードは高価で慎重に維持すべき資産から、安価で使い捨て可能な消耗品へと変わったのである。
Majorsは、AIによるコード生成が驚異的であるからといって、エンジニアリング規律を放棄してよいわけではないと強調する。むしろ、規律はより重要になる。彼女はChad Fowlerの「フェニックスアーキテクチャ」の概念を引用し、コードを「理解の具現化されたビュー」として扱うべきだと主張する。コードの生成が容易になった今、コードは永続的な資産ではなく、現在有効な間は有用だが、古くなれば捨てられるキャッシュのようなものだ。この視点は、エンジニアがシステムの理解、評価、検証により多くの注意を払うことを要求する。
また、記事は手作りサーバーからイミュータブルインフラへの移行を振り返り、この歴史的な類似性が現在のAIによるソフトウェアエンジニアリングの変化を理解するのに役立つと述べている。かつてサーバーはペットのように丁寧に扱われていたが、今では cattle として扱われ、いつでも交換可能になった。同様に、AIはコードを迅速に置き換えることを可能にするが、その背後にある動作、制約、不変条件を理解していなければならない。Majorsは、エンジニアはコードそのものに依存するのではなく、アーキテクチャ設計、評価、テストにより多くの努力を注ぐべきだと主張する。
著者はさらに「削除テスト」の概念を説明する。実装全体を削除することを想像すると、ほとんどのエンジニアは恐怖を感じる。それは、必要な動作、許容できない障害、常に保持すべき不変条件、新しいバージョンの正しさの確認方法、忘れられたエッジケースに対する意図的な修正といったことを理解していないことを暴露するからだ。これらはコードの問題ではなく、評価の問題である。コードが知識を保持する唯一の場所であるときに、コードは貴重になる。しかしAI時代において、書き換えが安価になると、コードは資産ではなくなり、現在有効な間は有用だが古くなれば捨てられるキャッシュとして機能する。この変化は評価におけるエンジニアリング規律を強化することを要求する。
最後に、著者は2025年の過ちを繰り返さないように呼びかける。当時、多くの人がAIコード生成に懐疑的だったが、その懐疑は誤りであった。AIの急速な発展に対して、エンジニアはオープンマインドを保ちつつ、エンジニアリング規律を強化し、AI時代でも信頼性が高く保守可能なソフトウェアシステムを構築できるようにすべきである。彼女はまた、Honeycomb社が昨年8月にAI指令を発行し、この変革を積極的に受け入れたこと、そしてインフラストラクチャ・アズ・コードとイミュータブルインフラの教訓がAI時代にも適用可能であることを述べている。