第6章:GitHub Agents 運用(Issue→PR→反復→マージ)
この章で扱うこと
- 標準フロー(Issue→PR→レビュー→反復→マージ)
- 失敗パターン(仕様不足、差分肥大、テスト不足)と対処
標準フロー(最小)
GitHub 上でのエージェント運用は、次のループを「短く回す」ことが要点です。
- Issue(実行仕様):目的/スコープ/受入基準/制約/検証を固定
- エージェント実行:調査→実装→テスト→ドキュメント→自己検証
- PR 作成:変更意図、検証結果、リスク、ロールバックを記録
- レビュー:仕様差分(決定事項)をコメントで残す
- 反復:指摘→最小修正→再検証(CI を起点にする)
- マージ:人間が最終責任を持つ
ステアリング(仕様差分を「決定」として残す)
エージェント運用で重要なのは、途中で仕様が変わること自体ではなく、変更理由が残らない ことです。 ステアリングでは、次の粒度でコメントを残します。
- 何を変える決定をしたか(受入基準の追加/緩和、非スコープ化など)
- なぜそうしたか(背景、制約、リスク)
- 影響範囲(誰に/どこに影響するか)
これにより、後から「なぜこの実装になったか」を追跡できます。
ミニ例:ステアリングコメント(決定ログ)
Issue/PR コメントとして残す最小形です。未確定事項は推測で断定せず、追跡できる形で分離します。
[Decision] 受入基準を追加: 「PR 本文にロールバック手順を必須とする」
理由: 変更影響の説明責任を担保し、緊急時に切り戻せる状態を維持するため
影響: PR テンプレ更新が必要(適用は次PRから)
未確定: 既存PRへの遡及適用は要議論(運用負荷の評価が必要)
ミニ例:PR 本文(運用ログ)
PR 本文に「意図/検証/リスク/ロールバック」を固定します。テンプレは一例です。
## 変更内容
- (何を変えたか)
## 検証
- `npm test`: OK
## リスク
- (影響範囲、想定される副作用)
## ロールバック
- revert するコミット/手順(または機能フラグで無効化)
失敗パターンと対処(最小)
仕様不足(曖昧な Issue)
- 症状:成果がブレる、手戻りが増える、レビューで揉める
- 対処:不足情報を質問として返す/選択肢(案A/案B)と判断材料を提示する
差分肥大(1PR が大きい)
- 症状:レビュー不能、リスク評価不能、ロールバックが難しい
- 対処:PR を分割(1PR=1意図)/先に安全柵(テスト/型/静的解析)を置く
テスト不足(検証が弱い)
- 症状:CI は通るが品質が担保できない、回帰が起きる
- 対処:受入基準→テスト観点→粒度選定の順に整理し、必要ならテストを先に追加する
ミニ例:CI 失敗時の反復(Runbook 断片)
CI を起点に「短いループ」で収束させます。
- 失敗ジョブのログから、失敗コマンドとエラー箇所を特定する
- ローカルで同じコマンドを実行し、再現性を確認する(環境差分があれば記録する)
- 最小修正→再実行を繰り返し、原因と対処を PR に残す
Companion 資産(参照先)
Companion repo: itdojp/GitHub-AgentOps-companion
- Issue 実行仕様テンプレ:
.github/ISSUE_TEMPLATE/agent-task.yml - PR テンプレ:
.github/PULL_REQUEST_TEMPLATE.md
章末チェックリスト(ドラフト)
- 反復のログが GitHub 上に残る(Issue コメント / PR コメント)
- 仕様差分が「決定」として追跡できる