【要約】Planでは自由に、修正では厳密に――AIコーディングを安定させるコミット境界 [Qiita_Trend] | Summary by TechDistill
> Source: Qiita_Trend
Execute Primary Source
// Problem
AIコーディングエージェントを利用する開発者が、作業の継続に伴いAIの挙動が不安定になる問題に直面している。会話が長引くにつれ、AIが意図しない箇所を変更したり、過去の修正を上書きしたりする事象が発生する。具体的には以下の課題が挙げられる。
- ・表示修正のつもりが、無関係なロジックまで変更される。
- ・以前の修正内容が、新しい指示によって消失する。
- ・一つの不具合修正が、別の不具合を誘発する。
- ・作業フェーズに応じた指示の出し分けができていない。
// Approach
開発者がAIの役割を段階的に切り替え、Gitのコミットを「変更の境界」として活用する手法を採用している。作業の状態に応じて、AIへの指示の自由度を意図的に操作する。具体的なステップは以下の通りである。
- ・Planフェーズ:AIを調査担当者として扱い、既存設計の調査や複数の実装案の提示を求める。
- ・Implementation Planのレビュー:人間が変更ファイル、影響範囲、テスト方法、完了条件を厳密に確認する。
- ・中間コミットの実行:不完全でも一度コミットし、
git diffで変更範囲を明確にする。 - ・修正フェーズの制約強化:変更対象、維持すべき事項、禁止事項を明示し、制約を強める。
- ・セッションの刷新:文脈が混乱した際は、現在のHEADを基準に新しいセッションを開始する。
// Result
AIの探索能力を最大限に引き出しつつ、意図しない副作用を最小限に抑える開発フローが確立される。これにより、以下の成果が得られる。
- ・AIによる予期せぬコード変更やデグレの検知が容易になる。
- ・「何を変えて、何を変えないか」という変更契約を明確にできる。
- ・AIの文脈(コンテキスト)の混乱を防ぎ、作業の継続性を維持できる。
Senior Engineer Insight
> AIの性能向上に依存せず、人間が「制御の境界」を設計する思想は極めて実戦的だ。特にGitを、単なる履歴管理ではなくAIへの「制約の境界線」として再定義している点は、大規模開発におけるデグレ防止の観点から高く評価できる。ただし、このフローは人間による厳密なレビューを前提としており、開発速度とのトレードオフを考慮する必要がある。