AIにウィンチェスター・ミステリー・ハウスを建てさせてはいけない
この記事は、構造が不十分なソフトウェアを、一貫した計画なしに38年間建設されたウィンチェスター・ミステリー・ハウスに例えています。このアナロジーは、基盤となる構造なしに機能が断片的に追加される、現代のAI駆動型アプリ開発にも当てはまります。著者は、根本的な設計原則への回帰を強調し、これを是正するための6つのアーキテクチャ上の動きを提案しています。最初の動きは、機能が開発される前に共有オブジェクトモデルを定義することによって、足場とハーネスを最初に固定することです。これにより、アクションがシステム内で定義された場所と目的を持つことが保証されます。2番目の動きは、再利用可能な動作と相互作用のための制御された語彙を確立することによって、定義されたパターンとコンポーネントから最初に構成することです。このアプローチは、特にエラー状態において、機能がどのように動作するかを標準化し、それらが情報をどのように提示するかを指示します。3番目の動きは、製品とともに進化する生きた文書として扱い、実行中の情報アーキテクチャを維持することです。これにより、継続的な開発に必要な概要とコンテキストが提供されます。4番目の動きは、技術的負債が蓄積するのを許すのではなく、調整とクリーンアップのための時間をスケジュールすることによって、定期的なリズムでリファクタリングすることです。これにより、ウィンチェスター・ハウスで見られる「損傷した翼を封鎖する」アプローチが防止されます。5番目の動きは、機能のスコープを場所にバインドし、機能ができることがユーザーのアプリケーション内の現在の位置に関連して文脈的に関連していることを保証することです。これにより、機能が有用すぎるほど一般的である「全知全能の箱」の問題が回避されます。最後に、この記事は、これらのアーキテクチャ原則が、完全な再構築を必要とするのではなく、既存のアプリケーションにレトロフィットとして適用されることを強調しています。これらの動きを実装することは、より一貫性があり、保守しやすく、ユーザーフレンドリーなソフトウェアを作成するのに役立ちます。