9月28日、Pierre Pureur、Kurt Bittner、Todd Millerが「Five Ways To Use AI Coding Agents to Improve Your Software Architecture」と題した記事を公開した。AIコーディングエージェントはコードを高速に生成できるが、速さゆえに品質管理を失いやすい。特にアーキテクチャ品質は、機能要件だけを与えても担保されない。品質特性要件(QAR: Quality Attribute Requirements)とトレードオフを明示的に与えなければ、生成されたコードがアーキテクチャ上の品質目標を満たす保証はない、というのが本記事の核心だ。
最も即効性が高いユースケース:セキュリティ監査
5つの手法の中で、多くのチームにとって最も実感しやすいのがセキュリティ監査への活用だ。
AIコーディングエージェントはソースコードをスキャンし、システム設計をマッピングし、脆弱性を発見するテストを自動生成できる。具体的には以下の手順が推奨されている。
- データフローのトレースと危険なファイルの特定(エージェントのアクセスは承認済みファイルの読み取りのみに限定する)
- 複数ファイルにまたがる複雑なロジックフローのスキャン(DBのパスワードや秘密情報はAIプロンプトからマスキングする)
- ハッカースタイルのスクリプト生成による防御のストレステスト(エージェントはネットワーク的に隔離された環境に置き、本番サーバへの誤攻撃を防ぐ)
- セキュリティホールを塞ぐコードパッチの生成(マージ前に必ず人間がコードレビューを実施する)
記事中の実例として、クライアントから複数のnpmパッケージがセキュリティリスクとして報告されたケースが紹介されている。AIコーディングエージェントを活用してリスクを評価した結果、2パッケージを更新、1パッケージを別のものに差し替え、残り1パッケージは誤検知と判断して現状維持、という対応を迅速に行えたという。
レガシーサービスのドキュメント化
モダンなアーキテクチャがレガシーサービスに依存しているケースは多い。数十年前に作られた保険ポリシー管理システムのような古いサービスは、正確なドキュメントが存在しないことが多く、ロジックやデータが十分に理解されていない状態で使うとリスクが生じる。
AIコーディングエージェントはこのような状況に対して以下の形で貢献できる。
- レガシーサービスのシステム設計をコードベースから自動的にマッピングし、最新状態のドキュメントを生成する
- データフローを可視化し、暗黙的な依存関係や潜在的な問題箇所を特定する
- 発見した問題に対して修正案を提示し、場合によってはコーディングエージェント自身がリファクタリングを担う
長年にわたって属人化・形骸化してきたドキュメントを再整備するコストは高いが、AIコーディングエージェントを活用することで、その作業を大幅に加速できると記事は主張している。ただし生成されたドキュメントの正確性は、アーキテクチャを熟知した人間が検証することが前提となる。
アーキテクチャ上の欠陥の発見と修正
AIコーディングエージェントを使って、アーキテクチャ標準が守られていない箇所、コーディングプラクティスが劣化している箇所、**ドメイン駆動設計(DDD)の境界違反**などを発見できる。
たとえば、サービス層の評価を依頼し、あるコンポーネントが別ドメインの内部状態に直接アクセスしていないかを確認する、といった使い方だ。ただし記事は「AIは常に改善点を見つけてくる」と指摘しており、どの指摘が重要かの判断は人間が下す必要があると強調している。
この手法を機能させるには、アーキテクチャ上の課題に精通したチームメンバーがエージェントを適切に誘導できることが前提となる。
開発者向けアーキテクチャ基盤の提供
AIコーディングエージェントをプロトタイプ生成に使うと、ほぼ即座に動くものができる一方、アーキテクチャ品質を無視した使い捨てコードになりがちだ。
この問題への対処として、QAR、コーディングスタイル、DBデザイン、API、使用プラットフォームやフレームワークをMarkdown形式でエージェントに与え、事前に設計された「シェルアプリケーション」を生成させるアプローチが紹介されている。GitHubのテンプレート機能と組み合わせて共通パターンをスタブとして用意しておく方法も有効だという。
ここで記事が強調しているのが、「コーディングスキルより要件定義スキルのほうが重要になる」という点だ。AIの登場で、これまで暗黙知として扱われてきたアーキテクチャ上の前提や制約を、明示的かつテスト可能な形で記述する能力がエンジニアに求められるようになった。
テスト可能なMVA(Minimum Viable Architecture)の生成
MVA(Minimum Viable Architecture:実用最小限のアーキテクチャ)とは、QARを満たすことを証明するためのコードを含む最小構成のアーキテクチャ実装だ。MVPが「動く製品の最小単位」であるのに対し、MVAは「アーキテクチャ品質を検証できる最小単位」として位置づけられる。
AIコーディングエージェントでMVAを生成する場合、テストハーネス、テストデータ、コンテナ設定などのテストコードも同時に生成させることが重要とされている。品質特性の達成を検証可能な形で担保するには、実装コードだけでなくテスト基盤もセットで揃えることが前提となるからだ。
また、生成されたMVAがQARを完全に満たせないリスクに備え、アーキテクチャ変更ケース(Architecture Change Cases:特定のQARが達成できなかった場合に備えた代替アーキテクチャ戦略)を事前に評価しておくことが推奨されている。これにより、MVAが想定どおりに機能しなかった際の手戻りコストを最小化できる。
記事全体を通じて一貫しているメッセージは、「AIコーディングエージェントはガードレールなしには機能しない」という点だ。速度は劇的に向上するが、品質を保証するのはあくまで人間が与えるアーキテクチャ上のコンテキストである。
詳細はFive Ways To Use AI Coding Agents to Improve Your Software Architectureを参照していただきたい。




