AI駆動開発における役割分担と運用実践記録

Rails製ブログ管理画面の開発で、Kiro(設計)、Claude Code(高速実装)、Codex(調査修正)の3つのAIを工程別に使い分け。Chart.js不具合修正やClaude 4.5移行を実例に、役割分担による再現性の高いAI駆動開発手法を解説。

AI駆動開発における役割分担と運用実践記録
読了時間: 約5分

はじめに

本記事は、私が実際に運用している Rails製ブログ管理画面 において、

  • AI使用統計機能の追加
  • Chart.js グラフ不具合の調査・修正
  • Claude 4.5 モデルへのアップグレード

を行った際の 実践的なAI駆動開発の記録 です。

単なる成果物紹介ではなく、

  • どのAIを
  • どの工程で
  • どのような判断基準で使い分けたのか

を再現可能な形でまとめています。


システム概要

対象システム

  • Rails製 ブログ管理画面(個人運用)
  • 記事作成時にAIを用いて以下を生成
    • タイトル
    • 抜粋
    • SEOメタ情報
    • タグ
    • スラッグ
ブログ記事作成のAI機能画面
記事タイトルのAI提案機能を実際に使った様子

追加した機能

  • AI使用統計ページ
    • モデル別利用回数
    • トークン使用量
    • コスト
    • 日別・モデル別の可視化(Chart.js)
AI使用統計画面上
AI使用統計ダッシュボード(上段)
AI使用統計下
AI使用統計ダッシュボード(下段)

技術スタック

  • Ruby on Rails 8.1.1
  • AWS Bedrock
    • Claude Sonnet 4.5
    • Claude Haiku 4.5
  • Chart.js
  • esbuild
  • Turbo
  • Docker

※ モデル情報・料金は執筆時点のものであり、将来変更される可能性があります。


AIモデルの設計方針

モデル割り当てポリシー

高品質が求められるタスク
  → Claude Sonnet 4.5

軽量・定型タスク
  → Claude Haiku 4.5
  • 品質とコストのバランスを重視
  • 既存データとの後方互換性を維持

AI駆動開発における基本思想

AIは「万能な開発者」ではありません。
そのため本プロジェクトでは、AIを工程ごとに役割分担 させています。

  • 急いで実装させるAI
  • じっくり調査させるAI
  • 設計・仕様書に集中させるAI

を明確に分けています。


Case 1:新機能追加・既存機能改修

想定ケース

  • 新しい機能を追加する
  • 既存機能を拡張・変更する

フロー

Kiro
 ↓
Claude Code
 ↓
Claude Code(修正・調整:最大2〜3回)
 ↓
改善しない場合
 ↓
Codex(調査・修正)
 ↓
Report(Markdown)

役割の詳細

🧠 Kiro(設計・仕様書)

  • 要件整理
  • 改修方針の決定
  • 仕様書・設計書作成
  • 影響範囲の整理

⚡ Claude Code(一次実装)

  • 高速な実装
  • まず動く形を作る
  • スピード重視

※ 2〜3回試して改善が見られない場合は深追いしない

🔍 Codex(切り札)

  • 原因調査
  • 実装修正
  • 設計・前提のズレの修正

Case 2:一次実装後にバグ・エラーが発生している場合

想定ケース

  • 実装自体は完了している
  • バグ・エラー・想定外挙動が発生

フロー

Codex(調査)
 ↓
Codex(修正)
 ↓
Report(Markdown)

判断理由

  • 仕様はすでに固まっている
  • 問題はコード・環境・前提条件
  • Claude Code を挟むとノイズが増える

最初から Codex に調査を任せるのが最短経路


実例:AI使用統計グラフ不具合の修正

発生していたエラー

Uncaught TypeError: Failed to resolve module specifier "chart.js"
Uncaught TypeError: Chart is not a constructor

原因

  • chart.js をブラウザ側で直接 import していた
  • esbuild による JS バンドルが行われていなかった
  • bin/dev で JS watch が有効になっていなかった
  • Turbo 環境下で描画タイミングが早すぎた

対応内容(要約)

  • Chart.js を esbuild のバンドル対象に追加
  • window.Chart として公開
  • 描画処理を turbo:load 後に実行
  • JS watch 設定を追加

Claude 4.5 モデルアップグレード

実施内容

  • Claude 3.x → Claude 4.5 へ移行
  • 既存統計データとの互換性維持
  • 単体テスト更新(全件通過)

モデルID(クロスリージョン推論)

Sonnet 4.5: us.anthropic.claude-sonnet-4-5-20250929-v1:0
Haiku 4.5:  us.anthropic.claude-haiku-4-5-20251001-v1:0

Report(Markdown)を必ず残す理由

すべてのケースで、最後に Report を Markdown で記録 しています。

Report テンプレート

# Report: <Issue Title>

## 概要

## 発生していたエラー・症状

## 原因

## 対応内容

## 結果

## 学び・次回への改善
  • 問題の再発防止
  • AIへの再入力素材
  • 自身の判断ログとして活用

まとめ

AI駆動開発は、

  • AIにすべてを任せること
  • 速さだけを追求すること

ではありません。

調査・設計・実装・検証 を分離し、
それぞれに適したAIを使い分けることで、

  • 再現性
  • 安定性
  • 運用耐性

を備えた開発プロセスになります。

本記事が、AI駆動開発を実運用に取り入れる際の
一例として参考になれば幸いです。

この記事をシェア

関連記事