「横のガードレール」でAIにアーキテクチャを教えるのをやめた話
CRANK
はじめにAI駆動開発、やってますか?Claude Code や Codex に「クリーンアーキテクチャ+DDDで実装して」と指示すると、最初はある程度きれいなコードが出てきます。でも1週間後、気づいたらドメイン層が infrastructure を import してたり、UseCase に presentation のロジックが混入してたり。仕様駆動でも最初の構成は作れる。しかし人の介入なしには維持できない。この問題、どう解決すればいいんでしょうか。!この記事は note で書いた「縦と横のガードレール」の実装版です。思想的な背景が気になる方は、先にそちらをどうぞ。今回は、AIが暴走してもアーキテクチャが崩壊しない仕組みを TypeScript で実装した話をします。!この記事のコードは本質だけに絞っています。エラーハンドリング、型定義、import文は省略。「動くコード」ではなく「考え方」を伝えることが目的です。「横のガードレール」とはnote では「縦と横のガードレール」という概念を書きました。種類問い守るもの横のガードレールどう作るか非機能(実装品質・アーキテクチャ)縦のガードレール何を提供するか機能(ユーザー価値・ビジネスルール)横は静的解析で検証し、縦はテスト実行で検証しま…