公開日:
更新日:
状態: 公開中 / Snapshot
AI Agent並列開発:プロジェクト設定
最初に揃えるのは、完全な自動化ではなく責任境界。 チーム共通は方針と入口、プロジェクト固有は実処理、個人設定は個人だけの上書きに分ける。
固定入口は推奨であり初回導入の絶対条件ではない
初回は既存の make dev、make test、make e2e を作業ごとに直列で使ってよい。
agent-setup、agent-up、agent-clean は、Level 2〜3 へ進む時や、cleanup を明示的に整理したい時に Agent へ渡しやすい入口名の例。
責務分担
| 項目 | チーム共通 | プロジェクト固有 | 個人設定 |
|---|---|---|---|
| branch / worktree | 同時編集時は分ける方針、命名規則 | monorepo / service prefix の有無 | worktree root の保存先 |
| setup | 入口名と、必須か任意か | package install、DB migrate、seed、依存 service 起動 | 個人だけの追加 setup |
| 起動 | 実 URL を記録する方針 | pnpm dev、docker compose up、worker 起動 |
debug flag、個人ポート設定 |
| test / E2E | 検証した branch と結果を対応付ける方針 | Playwright / Cypress 設定、artifact 保存先 | headed mode、debug option |
| 実行リソースの分離 | Level 2〜3 で追加する分離方針 | Compose project、DB / schema、cache prefix、queue 名 | ローカル DB 接続先、認証情報 path |
| cleanup | 担当者と対象を必ず決める | process、container、volume、artifact、cache の実削除処理 | 片付けの skip、個人 override |
| Agent instructions | 共通原則 | AGENTS.md / CLAUDE.md の workflow |
個人 override、個人メモ |
既存コマンドを入口へ対応付ける
| 目的 | 初回導入で十分な状態 | Level 2〜3 で追加する状態 |
|---|---|---|
| setup | 人間が既存手順で依存関係を揃える | agent-setup で dependency、DB migrate、seed、ローカル設定を再現できる |
| 起動 | 作業ごとに片方ずつ起動し、見ている URL を確認する | agent-up が実 URL、実行状態、readiness 結果を出す |
| readiness | 人間がアプリ表示や health check を確認する | port 割当と利用可能状態を分け、timeout 付きで記録する |
| test | 対象 branch で make test を実行する |
exit code、log、artifact path を作業ごとの環境名へ結び付ける |
| E2E | 接続先 URL を確認して実行する | 固定 URL ではなく実行状態に記録された URL を読む |
| cleanup | 担当と対象を確認して片付ける | 作業ごとの環境名と worktree の対応を確認し、対象リソースだけ片付ける |
導入レベルごとの設定追加
-
Level 1: 差分作成だけを並列化
Agent session と、同時編集する branch / worktree を分ける。起動、test、E2E、PR、cleanup は作業ごとに直列で進める。
-
Level 2: 起動まで並列化
process / container、port / URL、cleanup 対象を作業ごとに識別する。DB、cache、queue は、読み取り専用、または同時書き込みがなく相互影響もしない場合だけ共有を許容してよい。状態を変更する確認は直列化し、既知状態へ reset できないリソースは分離する。
-
Level 3: 検証まで独立
DB または schema、cache prefix、queue 名、E2E 接続先、artifact path を分ける。
-
cleanup を整理する
cleanup 対象と担当を明示し、所有者が分からない process、container、volume、artifact は削除しない。
実装で決めること
| 決めること | 具体化する場所 |
|---|---|
| worktree の作成規則 | 利用ツールの worktree / workspace 機能、または scripts/agent-worktree-start のような代替 script |
| ローカル専用ファイル | .agent-worktree-files、利用ツールの copy 機能、許可リスト付き copy script。secret は除外する |
| 作業ごとの環境名の使い道 | Level 2 以降で、port、URL、DB、cache、artifact、cleanup 対象を同じ作業へ結び付ける |
| 動的ポートの記録 | 利用ツールの port 表示、workspace metadata、作業メモ、または project 固有の状態ファイル |
| E2E の接続先 | 固定 URL ではなく、検証対象の実 URL を読む方法 |
| cleanup の所有権 | 作業ごとの環境名、worktree、session metadata、Compose label、明示確認値を照合してから削除する方法 |