← Agent-First Development
チームワークフロー
はじめに
Agent-First Development はツールの使い方だけの話ではない。チームの働き方そのものが変わる。PR のサイズ感、ブランチ戦略、知識共有の方法、生産性の測り方。すべてを再考する必要がある。
本モジュールでは、エージェントを活用するチームのワークフローを具体的に設計する。
High-Throughput Merge: 高速マージの哲学
従来のモデルの限界
従来:
大きな PR → 詳細レビュー → 修正依頼 → 再レビュー → Approve → マージ
期間: 数日〜1 週間
問題:
- マージまでの時間が長い
- コンフリクトが増える
- レビュアーの負担が大きい
- フィードバックループが遅い
Agent-First モデル
Agent-First:
小さな PR → 自動チェック + 軽いレビュー → マージ → follow-up PR で改善
期間: 数時間
原則:
- 小さく、頻繁にマージする
- 完璧を求めず、改善を継続する
- blocking より follow-up
Short-lived PR の実践
目安:
- 変更ファイル数: 1-5 ファイル
- 変更行数: 50-200 行
- レビュー時間: 15-30 分
- PR の寿命: 当日〜翌日マージ
大きな機能の分割例:
機能: 患者検索 API の実装
従来: 1 つの大きな PR
→ 15 ファイル変更、500 行追加
Agent-First: 5 つの小さな PR
PR 1: domain model の定義 (2 ファイル, 60 行)
PR 2: repository interface + 実装 (3 ファイル, 120 行)
PR 3: API handler (2 ファイル, 80 行)
PR 4: テスト (3 ファイル, 150 行)
PR 5: ドキュメント更新 (2 ファイル, 40 行)
Follow-up over Blocking
従来:
レビュアー: 「この変数名は patientName の方がいい」
→ PR がブロックされる → 修正 → 再レビュー
Agent-First:
レビュアー: 「命名を改善する follow-up PR を作ってもらえますか?」
→ 現在の PR はマージ → follow-up PR で改善
(または、エージェントに follow-up PR を依頼)
Blocking が正当化される場合:
- セキュリティ上の問題
- データ破損のリスク
- Golden Principles への違反
- ビジネスロジックの明確な誤り
Follow-up で十分な場合:
- 命名の改善
- コメントの追加
- テストケースの追加
- リファクタリング
ブランチ戦略
エージェント作業用のブランチ
main
├── feature/patient-search ← 人間が設計、エージェントが実装
├── feature/notification-system ← 別のエージェントが並列作業
├── fix/error-handling ← エージェントによるクリーンアップ
└── chore/doc-update ← エージェントによるドキュメント更新
Worktree を使った並列作業
# ブランチごとに worktree を作成
git worktree add ../raica-patient-search feature/patient-search
git worktree add ../raica-notification feature/notification-system
# 各 worktree で独立したエージェントを実行
# → 互いに干渉しない
命名規則
feature/xxx - 新機能
fix/xxx - バグ修正
chore/xxx - クリーンアップ、ドキュメント更新
agent/xxx - エージェントが自律的に作成した PR(自動クリーンアップ等)
知識共有: ミーティングからリポジトリへ
従来の知識共有
・週次のテックミーティングで共有
・Slack で質問 → 口頭で回答
・新メンバーに OJT で伝達
・「あの PR のレビューコメント見て」
Agent-First の知識共有
・設計判断は ADR (Architecture Decision Record) に記録
・規約は docs/conventions/ に明文化
・「なぜこうなっているか」はコード内のコメントに
・ミーティングの結論は design doc に反映
リポジトリを Single Source of Truth にする
## 知識共有のフロー
1. Slack で議論が発生する
2. 結論が出たら design doc にまとめる
3. PR で design doc を追加する
4. 実装が完了したら、設計の「なぜ」をコードコメントに
5. Slack には design doc へのリンクを貼る
→ 3 ヶ月後に同じ質問が出ても、design doc を参照すれば答えがある
→ エージェントも design doc を読んで正しい実装ができる
Show & Tell の進化
チーム内の知識共有セッション(Show & Tell)も変わる:
Before:
「この機能をこう実装しました」→ コードを画面共有
After:
「エージェントがこの環境で良い結果を出すために、
こういう仕組みを作りました」→ CLAUDE.md, テスト, linter を共有
共有すべきは「書いたコード」ではなく「エージェントが良いコードを書くために整備した環境」。
オンボーディング
Agent-First 時代のオンボーディング
新しいメンバーが最初に学ぶべきことが変わる。
従来のオンボーディング:
Week 1: 開発環境セットアップ
Week 2: コードベースの構造を学ぶ
Week 3: 小さなバグ修正を担当
Week 4: 新機能の実装に参加
Agent-First のオンボーディング:
Day 1-2: 開発環境 + AI ツールのセットアップ
Day 3-4: AGENTS.md → docs/ を読んでプロジェクトを理解
Day 5: エージェントと一緒に小さなタスクを実行
Week 2: エージェントに計画を渡して機能を実装
Week 3: フィードバックループの改善に貢献
Week 4: 新しい Golden Principles の提案
オンボーディングチェックリスト
## Agent-First オンボーディング
### Day 1-2: セットアップ
- [ ] リポジトリをクローン
- [ ] `make build` と `make test` が通ることを確認
- [ ] Claude Code をインストールし、CLAUDE.md を読む
- [ ] Cursor をインストールし、.cursorrules を確認
### Day 3-4: 理解
- [ ] AGENTS.md を読む
- [ ] docs/architecture/overview.md を読む
- [ ] docs/conventions/ を一通り読む
- [ ] 既存のコードパターンを 2-3 個確認する
### Day 5: 最初のタスク
- [ ] 小さなタスクを選ぶ(例: エラーメッセージの改善)
- [ ] docs/exec-plans/ に計画を書く
- [ ] Claude Code で実装する
- [ ] make check で品質を確認する
- [ ] PR を作成する
### Week 2: 本格的な実装
- [ ] 新機能のタスクを受ける
- [ ] 設計を design doc にまとめる
- [ ] エージェントに実装を依頼する
- [ ] レビューを受けてマージする
### Week 3: 環境改善
- [ ] テストやドキュメントの不足を特定する
- [ ] フィードバックループの改善を 1 つ提案する
- [ ] CLAUDE.md の改善 PR を出す
生産性の測定
測るべきでないもの
❌ Lines of Code (LoC)
エージェントは大量のコードを生成する。LoC は品質を反映しない。
❌ コミット数
小さな PR を高速で回す戦略では、コミット数は増えるが意味はない。
❌ PR 数
同上。PR のサイズが小さくなれば数は増える。
測るべきもの
✅ Cycle Time (PR 作成からマージまでの時間)
目標: 24 時間以内
✅ Deployment Frequency (デプロイ頻度)
目標: 1 日 1 回以上
✅ Change Failure Rate (変更による障害率)
目標: 5% 以下
✅ Time to Recovery (障害からの復旧時間)
目標: 1 時間以内
これは DORA metrics として知られる指標であり、Agent-First Development においても有効。
チーム固有の指標
✅ フィードバックループの網羅率
Golden Principles のうち機械的に検証されているものの割合
✅ ドキュメントの鮮度
90 日以内に更新されたドキュメントの割合
✅ エージェント成功率
エージェントに依頼したタスクのうち、大きな手直しなしで完了した割合
✅ 自動化されたレビュー指摘の割合
レビューコメントのうち、本来 CI で検出できたものの割合
(低いほど良い = CI が十分に機能している)
自律性と制御のバランス
Autonomy Spectrum
低い自律性 高い自律性
|──────────────────────────────────────────|
Copilot Cursor Chat Claude Code
(補完) (対話) (自律実行)
制御: 高い 制御: 低い
リスク: 低い リスク: 高い
速度: 遅い 速度: 速い
タスクのリスクに応じた自律性の調整
高リスクタスク(患者データ、認証):
→ 低い自律性: 人間が設計 → エージェントが実装 → 人間が詳細レビュー
中リスクタスク(新機能、API):
→ 中程度の自律性: 人間が計画 → エージェントが実装 → CI + 軽いレビュー
低リスクタスク(リファクタリング、ドキュメント):
→ 高い自律性: エージェントに任せる → CI で検証 → 自動マージ
自律性を高めるための投資
自律性を高めるには、「エージェントを信頼する」のではなく「エージェントが失敗しても安全な環境を作る」。
もっと自律的に動かしたい
↓
テストカバレッジを上げる
↓
linter ルールを追加する
↓
構造テストを充実させる
↓
CI パイプラインを強化する
↓
安全に自律性を高められる
定期的なチームプラクティス
Weekly: エージェント改善振り返り
## エージェント改善振り返り (15分)
1. 今週エージェントがうまくいったこと
- どんなタスクで成功したか
- 何が成功の要因だったか
2. 今週エージェントがうまくいかなかったこと
- どんなタスクで失敗したか
- 何が原因だったか
- → 「何の能力が足りなかったか?」
3. 次週の改善アクション
- ドキュメントの追加
- テストの追加
- linter ルールの追加
- CLAUDE.md の更新
Monthly: Golden Principles レビュー
## Golden Principles レビュー (30分)
1. 既存の Principles は今も有効か?
2. 新しく追加すべき Principles はあるか?
3. すべての Principles が機械的に検証されているか?
4. エラーメッセージは十分に分かりやすいか?
Quarterly: Doc Gardening Day
## Doc Gardening Day (半日)
1. 全ドキュメントの鮮度チェック
2. 古いドキュメントの更新/アーカイブ
3. 不足しているドキュメントの特定と作成
4. AGENTS.md の全面レビュー
5. 新メンバー目線でのオンボーディング体験確認
Try This: チームワークフローの改善
Exercise 1: PR サイズの分析
過去 1 ヶ月の PR を分析する:
- 各 PR の変更行数とレビュー時間を記録する
- 大きな PR(200 行超)を特定する
- それぞれ「どう分割できたか」を検討する
- 次のスプリントから分割を実践する
Exercise 2: 知識の棚卸し
チームの暗黙知を特定する:
- 新メンバーが最初の 1 ヶ月で「人に聞かないと分からなかったこと」をリストアップする
- それぞれについて、リポジトリ内のドキュメントがあるか確認する
- ないものは docs/ に追加する
Exercise 3: 生産性指標の導入
DORA metrics の測定を開始する:
- Cycle Time を 1 週間計測する
- 現状のベースラインを記録する
- 改善目標を設定する
- 月次で推移を確認する
Exercise 4: 自律性マッピング
プロジェクトの各モジュールについて:
- リスクレベル(高/中/低)を判定する
- 現在の自律性レベルを確認する
- 自律性を高めるために必要な投資(テスト、linter 等)を特定する
- 優先度をつけて実行計画を立てる
まとめ
Agent-First チームワークフローの原則:
- 小さく速くマージする: Short-lived PR + follow-up で改善を継続
- リポジトリが Single Source of Truth: 知識はリポジトリに集約する
- オンボーディングは環境の理解から: コードの読み方ではなく、環境の使い方
- 正しい指標を測る: LoC ではなく DORA metrics
- 自律性は環境の整備で高める: 信頼ではなく安全な仕組みで
- 定期的な振り返り: エージェントの改善も継続的なプラクティス
学習パスの全体
このモジュールで Agent-First Development の学習パスは完了です。以下の順序で復習できます:
- パラダイムシフト - 役割の変化を理解する
- プロンプトエンジニアリング - エージェントに意図を伝える
- リポジトリ = 知識ベース - 知識を集約する
- フィードバックループ - 品質を機械的に保証する
- エージェントに優しいアーキテクチャ - 構造を設計する
- AI 開発ツール - ツールを使いこなす
- レビューと品質管理 - 品質を管理する
- チームワークフロー - チームで実践する(本モジュール)