0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

レビューAIの指摘を全部反映すると、要件定義が終わらない ― 採否基準とREQUIREMENTS.mdで止める

0
Posted at

レビューAIの指摘を全部反映すると、要件定義が終わらない ― 採否基準とREQUIREMENTS.mdで止める

TL;DR(結論)

  • レビューAIは「穴を見つける」のが仕事なので、放っておくと無限に穴を出す。全部反映すると要件定義が永遠に確定しない(=終わらない要件定義ループ)。
  • 原因はAIの精度ではなく、採否を決める「司令塔」を人間が空けていること。
  • 対策は2つ。(1) 採否基準を「従わなかったら実際に誰が困るか」に固定する。(2) REQUIREMENTS.md の冒頭に「解決する穴 / やらないこと / レビューAIへの指示」を先に書く。
  • 納品前に、コードを一行ずつ説明できるか確認する。

何が起きたか

AIとプログラムを詰めていて、技術で詰まったわけではないのに前に進まなくなった。要件定義が終わらない構造に入っていた。

穴を指摘される → 補強する → 補強したら新しい穴が見える → また補強する。これが延々と回る。特にレビューAI(コードや設計の穴を出させるAI)を噛ませると加速する。レビューAIの仕事は穴を見つけることなので、放っておけばいくらでも穴を出す。それを全部反映すると、完成のための要件定義ではなく、未完成を延命するための要件定義になる。

いわゆるスコープクリープの一種だが、穴→補強→新しい穴のフィードバックが自走する点が特徴だ。この記事では「終わらない要件定義ループ」と呼ぶ。

なぜ止まらないのか:原因はAIではなく「司令塔の空席」

最初はAIの精度の問題だと思った。でも違った。

問題は、AIを「決定を承認する権威」として扱っていたことにある。穴を出させること自体は悪くない。悪いのは、出したあとの採否を自分が中心で決めなかったことだ。中心が空席になると、AIの正論にそのまま引きずられる。

正直に書くと、正論を見せられると、それを反映しないことに罪悪感が出る。「理論上ありうる穴」と「今回塞がないと実際に困る穴」を、自分は分けきれていなかった。詰まりの正体は技術ではなく、ここだった。

対処1:採否基準を一つに固定する

基準はこれ一つに絞った。

その指摘に従わなかったら、実際に誰が困るか。

レビューAIが出す穴の大半は「理論上ありうる」だが、誰も困っていないことがある。困る人を名前で挙げられない指摘は、正しくても今回の要件には入れない。正しい指摘でも、今回の完成に直接効かなければ「将来課題」へ送る。抽象的な完璧さで判断しない。

問いの仕分けも効いた。

その問いに答えても、次の具体的な手が変わらないなら、それは「止まる問い」。

「また膨張するのでは」と考えるだけなら止まる問い。防ぐために何を書くか、何を今回やらないと決めるか、まで落ちるなら進む問い。

対処2:REQUIREMENTS.md に「完成を守る制約」を先に書く

要件定義では、機能要件より先に「完成を守るための制約」を書く。具体的には、REQUIREMENTS.md の冒頭にこれを置く。

## このシステムが解決する穴(これ以外はやらない)

1.
2.
3.

## やらないこと(明示的に範囲外)

-

## レビューAIへの指示(重要)

指摘は「このシステムが解決する穴 1, 2, 3 に直接効くか」で採否する。
効かない穴、将来の穴、理論上だけの穴は「将来課題」へ記録し、今回の要件には足さない。

この制約があれば、レビューAIが10個穴を出しても、1, 2, 3 に効く2個だけ反映し、残り8個は将来課題に送れる。完成を止めるのはコードの難しさではなく、線引きの不在である。

ポイントは、レビューAIを呼ぶ前にこれを書いておくこと。呼んでから書くと、もう増殖が始まっている。

納品前のルール:一行ずつ説明できるか

AIに実装を任せても、コードを目の前に置いて一行ずつ「これは何か」を説明できなければ納品しない。これは自分を責めるためではなく、知識を捨てられなくするための仕組みだ。わからない行があると納品が止まるので、脳がそれを「捨てていい情報」として扱えなくなる。

まとめ(チェックリスト)

  • レビューAIを呼ぶ前に「解決する穴 / やらないこと / 採否基準」を書いたか
  • 指摘の採否を「従わなかったら誰が困るか」「名前で挙げられるか」で決めたか
  • その問いに答えると、次の手が変わるか(変わらないなら深掘りしない)
  • 納品前に、コードを一行ずつ説明できるか確認したか

AIに任せるほど、人間側の問い・意思・責任は残る。便利になった分だけ、司令塔の椅子の重さが増す。その椅子だけは、空けてはいけない。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?