AI駆動開発を実現するためのアーキテクチャと取り組み
【概要】
「人間がやるべきことを見極め、それ以外は完全自動化を目指せ」をテーマに、株式会社フライルで実践しているAI駆動開発の全貌を解説した資料です。
ソフトウェア開発の工程を「ドメイン理解」「要件定義・設計」「実装」の3つに分解し、特に人間が注力すべき領域(ドメイン理解)と、徹底的にAIによる自動化を目指す領域(実装)の役割分担について深掘りします。
Cursor、Claude Code、Devin (DeepWiki) などの最新AIツールを組み合わせた実装フローだけでなく、AIコーディング特有の課題である「コードの無秩序化」や「意図しないリグレッション」を防ぐための、静的検査やテストアーキテクチャの具体的な設計についても共有します。
【目次・主なトピック】
■ ソフトウェア開発における人間とAIの役割
・ ソフトウェアの複雑さの核心は「ドメイン」にある
・ ドメイン理解は人間のみが可能な領域
・ 実装フェーズは徹底的な自動化を目指す
■ AI駆動開発の実践フロー
・ 方針検討から実装まで:DeepWiki, Cursor, VIBE-KANBANの活用
・ AIに実装を任せるためのプロセス設計
■ AIコーディングの課題と解決策
1. コードの秩序を維持する「徹底的な静的検査」
・ TypeScript, ESLint, Oxlint, Knip, publint等による品質ゲート
・ 自社特有のルールを強制するカスタムESLintルールの運用
2. 意図しないリグレッションを防ぐ「テスト戦略」
・ モックを極力排除した結合テストの実践
・ AIによるテストコード生成と保守
3. AIによるコードレビュー体制
・ Codex:ロジックや技術的詳細のレビュー
・ Claude Code:プロジェクト方針(AGENTS.md)に基づいた設計レビュー
・ Security Reviewer:脆弱性診断
■ 成果
・ 大規模なデータ構造改革におけるバグゼロリリースの事例
【登壇者】
baseballyama (山下 裕一朗)
株式会社フライル ソフトウェアエンジニア
Svelte コアチームメンバー
【キーワード】
AI駆動開発, 生成AI, GitHub Copilot, Cursor, Claude Code, Devin, TypeScript, ESLint, テスト自動化, アーキテクチャ