概要
https://speakerdeck.com/baseballyama/aiqu-dong-kai-fa-woshi-xian-surutamenoakitekutiyatoqu-rizu-mi
詳細内容
## AI駆動開発を実現するためのアーキテクチャと取り組み
https://speakerdeck.com/baseballyama/aiqu-dong-kai-fa-woshi-xian-surutamenoakitekutiyatoqu-rizu-mi
株式会社フライルが実践するAI駆動開発の具体的なアーキテクチャと実装フロー、そしてAIコーディング特有の課題を解決するための静的検査・テスト戦略・AIレビュー体制を詳細に解説する。
**Content Type**: 🛠️ Technical
**Language**: ja
**Scores**: Signal:5/5 | Depth:5/5 | Unique:4/5 | Practical:5/5 | Anti-Hype:5/5
**Main Journal**: 96/100 | **Annex Potential**: 94/100 | **Overall**: 96/100
**Topics**: [[AI駆動開発, 静的検査, テスト戦略, AIコードレビュー, ドメイン理解]]
本資料は、株式会社フライルが「人間がやるべきことを見極め、それ以外は完全自動化を目指す」というテーマのもと実践するAI駆動開発の全貌を解説しています。ソフトウェア開発をドメイン理解、要件定義・設計、実装の3フェーズに分け、特に「ドメイン理解」は複雑さの核心であり人間のみが可能な領域であると明確に位置づけています。著者は、AIが現状のユーザー業務フローや歴史的経緯といった膨大なコンテキストを理解できないため、この領域にAIを適用することは無理だと主張しています。
一方、「実装」フェーズは徹底的なAIによる自動化を目指します。フライル社の実践フローでは、方針検討にGemini, ChatGPT, Claude Code、既存コードベースの理解にはDeepWikiやCursor AgentといったAIツールを活用。実装作業はVIBE-KANBANやClaude CodeといったAIに任せ、人間は生成されたコードの自己レビューと動作確認を行います。
しかし、AIコーディングには「コードの無秩序化」や「意図しないリグレッション」といった課題が伴います。これに対し、同社は以下の具体的な解決策を導入しています。
1. **徹底的な静的検査によるコード秩序の維持**: TypeScript, ESLint, Oxlint, Knipなどを品質ゲートとして活用し、特にHonoのリクエストバリデーション強制やOpen Redirect耐性の強化、未捕捉Promiseの検出など、50以上の自社特有カスタムESLintルールを運用しています。LLMもこれらのルール実装に活用され、AIが生成したコードの品質を担保する上で不可欠であると説明されています。
2. **モックを極力排除した結合テスト戦略によるリグレッション防止**: データベース初期データを定義し、HonoのtestClientでAPIを実行、APIレスポンスとデータベース状態を検証後、データベースをロールバックする「モックしない」結合テストを実践。S3などの外部サービス連携部分のみモックを使用することで変更耐性を確保します。テストコードの生成と保守もAIが担当し、大規模なデータ構造改革においてもバグゼロリリースを達成した実績が紹介されています。
3. **AIによるコードレビュー体制**: ロジックや技術的詳細のレビューにCodex、プロジェクト方針(AGENTS.md)に基づく設計レビューにClaude Code、さらに脆弱性診断にはSecurity Reviewerを活用し、多角的にコード品質と安全性を確保しています。
これらの取り組みにより、AI駆動開発のメリットを享受しつつ、その課題に対する堅牢な対策を講じている点が、ウェブアプリケーションエンジニアにとって非常に示唆に富む内容となっています。