公開日: 更新日: 状態: 公開中 / Snapshot

AI Agent並列開発:導入レベルと判断表

本編は、初めてローカルで複数 Agent を並べる人が、1つのケーススタディを追って最初の 2 並列を完走できるようにしている。 このページでは、導入段階や作業内容ごとにどこまで分けるかを決める。

判断に迷った時の参照表

このページは、作業内容ごとにどこまで分けるかを判断するための表。 初回は Level 1 として branch / worktree を分け、起動、検証、PR、cleanup は人間が順番に行う。

導入段階の見方

この資料では、並列 Agent 開発を 2 つの軸で考える。

1 つ目は、同時に進める作業数。 最初は 1 作業を確実に完走し、次に 2 作業へ増やす。

2 つ目は、どこまで環境を分離するか。 この資料では、これを Level 1〜3 と cleanup の注意に分ける。

  • Level 1: 差分作成を並列化し、検証以降は作業ごとに直列で進める
  • Level 2: ローカル起動まで並列化する
  • Level 3: 検証まで独立させる
  • cleanup 自動化: 本資料の主対象外。必要な場合だけ、所有者確認と停止条件をプロジェクト側で設計する
まず 1 作業で流れを確認 2 作業に増やす
Level 1 1 Agent で差分作成から検証、PR、cleanup までの流れを確認する 2 Agent が別 worktree で差分作成し、検証、PR、cleanup は作業ごとに直列で進める
Level 2 起動中の URL / port を記録し、どの作業の画面かを説明できるようにする 2 つを別 URL で同時起動する
Level 3 検証対象と artifact(検証成果物)を対応付ける 2 つの test / E2E を独立して同時実行する
cleanup の注意 担当と対象を明示して人間が確認する 自動化する場合も、他作業のリソースを消さない停止条件を先に決める

Level 1〜3 と cleanup の注意

Level 分けるもの 説明
Level 1: 差分作成だけ並列 branch / worktree 複数 Agent に別 worktree で変更作業を進めさせる。起動、test、E2E、PR、cleanup は作業ごとに直列で進める。
Level 2: 同時起動 process、port、URL、必要なら Docker Compose project 2 つのアプリを同時に見るなら、port と URL を分ける。Compose で起動するなら project name を分ける
Level 3: 同時検証 DB、schema、cache prefix、queue、artifact path test / E2E が状態を書き換えるなら、共有リソース内で作業ごとに名前を分ける
cleanup の注意 cleanup 対象、所有者、停止条件 cleanup で他作業を壊しそうになったら、並列数を増やさず、人間が対象と所有者を確認する

状態把握の段階

Level 状態把握の方法
Level 1 terminal、dashboard、作業メモで branch / worktree の対応を管理し、PR の検証欄にはレビューアに意味のある検証結果を書く
Level 2 起動中の URL、port、terminal、Agent session を一覧できるようにする
Level 3 test / E2E の結果、artifact、対象 URL を作業ごとに追えるようにする
cleanup の注意 削除してよい process、container、volume、artifact を作業ごとに説明できるようにする

dashboard や terminal 一覧は高度な自動化専用ではない。 Level 1〜2 でも、どの Agent が何をしているかを見る時に使える。 ただし、一覧できるだけでは、DB、cache、queue、artifact、cleanup の安全性は保証されない。

作業別の分離判断表

この表の表記は次の意味で使う。

表記 意味
不要 この作業では分離しなくてよい
任意 必要な場合だけ記録または分離する
条件付き共有可 読み取り専用、同時書き込みなし、reset で既知状態へ戻せる場合のみ共有できる
分ける 特別に安全を説明できない限り分ける
必ず分ける この作業を安全に並列化するなら共有しない
作業例 branch / worktree port / URL DB / schema cache / queue artifact 推奨レベル
ドキュメント修正 同時編集なら分ける 不要 不要 不要 任意 Level 1
lint・型エラー修正 分ける 不要 不要 不要 任意 Level 1
DBを使わない unit test / flaky test 修正 分ける 不要 不要 不要 test log は任意 Level 1
UI実装後、人間が順番に確認 分ける 同時起動しないなら共有可 条件付き共有可 条件付き共有可 任意 Level 1
2つの画面を同時起動して比較 分ける 必ず分ける 条件付き共有可 条件付き共有可 URLごとに分ける Level 2
2つの E2E を同時実行 分ける 必ず分ける 分ける 分ける 必ず分ける Level 3
seed や更新系 test を同時実行 分ける 条件付き共有可 必ず分ける 利用するなら分ける 分ける Level 3
DB migration を複数並列で開発 分ける 分ける 分ける(完全分離を推奨) 分ける 必ず分ける Level 3。cleanup 自動化は急がない
読み取り専用の調査・レビュー Agent 実装しないなら不要な場合あり 不要 不要 不要 レビュー結果のみ Level 1

次のレベルへ進む判断

  • 起動の順番待ちが増えたら、port と URL を分ける。
  • test / E2E の順番待ちが増えたら、DB / schema、cache、queue、artifact を分ける。
  • cleanup で他作業を壊しそうになったら、並列数を増やさず、cleanup 対象と所有者を人間が確認する。
  • 人間がどの作業の状態か追えなくなったら、同時実行数を減らすか状態一覧を作る。

関連ページ

このページは発表資料の補足です。