AIToday
大規模言語モデルAIコーディングZenn AI/ML掲載日時: 2026年10月21日 13:00

16体のAIエージェントでレガシー移行

LINEで送る
16体のAIエージェントでレガシー移行

3つのポイント

  1. 何が起きたか

    10年物のPHP/LaravelモノリスをLaravel 12マイクロサービス+Vue 3に移行する作業を、Zennの執筆者が16体のClaude Codeサブエージェントに分担させた。

  2. なぜ重要か

    各役割は自分の担当範囲しか読めず(フロント担当はレガシーコードを見ず、契約設計担当はコードを一切読まない)、偏った解釈が構造的に起きにくく、受け渡しはdocs/配下のファイル経由で行われる。

わからないところ、AIに聞けます

質問と回答はこのページに公開されます。

こういう要約が、毎朝あなたのメールに届きます。

背景と解説

執筆者の出発点は規模だ。10年物のモノリスでエンドポイントが数百、共有モデルが600超ともなれば、どのAPIがどこまで移ったか、旧ロジックが正しく写っているかを1人で追い切るのは無理がある。作業全体をAIに任せると、4つの失敗が繰り返し起きた。レスポンス構造の捏造、コンテキストの汚染、仕様確定前のコード執筆、依存順序の破綻だ。

診断はこうだ。根本原因はモデルの弱さではなく、1つのコンテキストに役割と情報を詰め込みすぎることにある。新しいコードを見せられた抽出エージェントは「旧実装もこう動くはずだ」に引っ張られ、コードに触れられる契約設計担当は善意で仕様を変え始める。対処は通常のチーム管理と同じで、役割の分離、受け渡し文書、レビューゲートを設け、ファイル受け渡しによって各サブエージェントはきれいなコンテキストから開始でき、PreToolUseフックが定義外ディレクトリへの書き込みを機械的に遮断する。

運用面では、1パスあたり5〜10エンドポイントに上限を設け、1コンテキストにつき1ドメインを分離する。サブエージェントは入れ子で他のサブエージェントを起動できないため、委譲はディスパッチャー経由にする必要があるからだ。レガシーモノリスは読み取り専用のまま維持し、「元実装に存在しない」という結論には再取得が要る。今も活発に更新されているためだ。

よくある質問
エージェント同士はどう情報を渡すのか?
会話ではなくdocs/配下のファイル経由だ。例えば2つの分析出力はdocs/triage-inputs/{domain}/contract.mdに集約され、次段階はそのファイルだけを読むため、毎回コンテキストをリセットできる。
仕様が固まる前にエージェントがコードを書くのをどう防ぐのか?
読み取り専用のプランナーが20-plan.mdを草案として書き、人間が承認する。実行役は計画が承認済みと示されていなければ着手せず、承認済み計画がなければ停止して報告するよう指示されている。
未検証の主張はどう扱うのか?
出力では未確認情報に⚠️UNVERIFIED:タグを付けることが必須で、事実と推測が機械的に分離される。
LINEで送る

あなたの仕事に関係するAIニュースを、毎朝お届けします。

業界と使っているAIツールを選ぶと、仕事に関係するニュースが毎朝届きます。

登録無料・Googleアカウントなら30秒・いつでも解除できますAITodayについて →

AIに質問

この記事についてわからないことをAIに質問できます。AIはこの記事・AIToday の過去記事・Wikipedia を読み、出典を付けて答えます。Q&Aはこのページに公開され、他の読者も読めます。

質問と回答はこのページに公開されます。

関連記事

次の記事へGPT-6シリーズが希少言語の処理精度を大幅改善