自律開発エージェントにPR数ゲートを設けてスループットを制御する
スケジュールタスクで自律的にissueを拾って実装・PR作成するエージェントを動かしていたが、レビューが追いつかないまま次々とPRが作られて並行ブランチが増えすぎる問題があった。
仕組み:
- エージェント起動時にオープンPR数をチェックし、閾値(例: 3件)以上なら何もせず終了する
- レビュー・マージが進んでPR数が減ると、次回のスケジュール実行で新しいissueを拾い始める
# scheduled-task prompt
事前にGitHubのPull Requestを確認し3つ以上が存在している場合は、
以降の処理を行わず。ここで処理をやめる
(並行作業が発生しすぎないように)
エージェント側の実装:
open_prs=$(gh pr list --state open --json number --jq 'length')
if [ "$open_prs" -ge 3 ]; then
echo "Open PRs: $open_prs (threshold: 3). Skipping."
exit 0
fi
やってみてどうだったか:
- レビュー待ちPRが溜まらなくなり、1つずつ確実にマージできるペースになった
- 閾値は「1人でレビューできるPR数」に合わせるのがよさそう。個人プロジェクトなら2〜3件
- PR数だけでなく「最後のPRが何時間前に作られたか」も見ると、バースト的な生成をさらに抑制できそう