ローマ神話では、扉と移行の神ヤヌスは二つの顔を持つ姿で描かれます。一方は過去の教訓やパターンを振り返り、もう一方は未来の変化を見据えています。この二重の視点は、AIコーディング支援を使ってソフトウェアを作る際に重要です。今日では、動作するプロトタイプを数時間で作ることができ、コードは生成が安価になり、変更も容易になりました。しかし、この速さには新たなリスクが伴います。明確な構造がないまま急いでコードが生み出されると、プロジェクトは理解・保守・拡張が難しくなるのです。
データサイエンティストにとって、この変化は大きな意味を持ちます。かつては多くのソフトウェアエンジニアリングの支援を必要としたアプリケーションも、自然言語やコーディングエージェントを通じて試作できるようになり、ノートブックからAPIや本番アプリケーションへの移行がより身近になりました。ただし、動くアプリケーションを生成することと、進化できるシステムを設計することは同じではありません。コーディングエージェントは、その場で最も簡単な場所、たとえばエンドポイントやフレームワーク固有のオブジェクト、ヘルパー関数などに、責任の所在を考えずにロジックを置いてしまうことがあります。
筆者は、AIプロジェクトにはこのヤヌスのような視点が必要だと主張します。過去を振り返り、チームは苦労して得た教訓を蓄積すべきです。責任を分離すること、重複した設定を避けること、契約を明確に保つこと、中核となるロジックをテストすること、そして外部ツールがアプリケーションのあらゆる部分に染み出すのを防ぐことです。未来を見据えるなら、プロジェクトは全面的な再設計をせずに、新たな要件や技術、機能を取り込める柔軟性を備える必要があります。
目的はアーキテクチャそのものではなく、迅速な開発をより安全で再現性のあるものにすることです。ベースラインとは、どのプロジェクトでも毎回作り直すべきではない最低限のアーキテクチャ上の決定事項を定めたものであり、ツールに依存しないコード、交換可能なインフラ、テスト可能な中核ロジックなどが含まれます。これを再利用可能なテンプレートとしてまとめたものがスキャフォールドであり、チームに実用的な出発点を与え、毎回場当たり的な構造を作ることなく、より速く前進する助けとなります。
出典: Towards Data Science · 要約:HeadlinesBriefing