

(この文章は90% AIで書かれて・描かれています)
Transformerの仕組みから考えると、ステージゲートが効く理由は意外とシンプルです。
AIはプログラムのように「if文」や「状態変数」を持っているわけではありません。Transformerは入力された文章全体を見て、Attentionによって「次に来そうな単語」を予測し続けています。
そのため、
まず要件整理をして、その後計画を作り、作業をして、最後に評価を書く
と書かれているだけだと、AIは「要件整理」「プラン」「作業」「評価」のすべてを同時に見ています。Transformerには「今はステージ1だけ実行中」という内部状態がないため、「全部まとめて出力するパターン」の確率が高くなります。
一方、ステージゲートでは次のように構造化します。
【ステージ1】 やること ... やらないこと ... 出力形式 ... 停止条件 ...
するとAttentionは、「ステージ1」「やること」「やらないこと」「停止条件」という近くの情報を強く参照します。
つまりAIは、
- 今はステージ1
- やることは要件整理
- 計画は作らない
- 出力後に停止する
という文章パターンを読み取りやすくなります。
特に重要なのが「やらないこと」です。
Transformerは基本的に「関連しそうな情報」を広げながら生成します。要件整理の話をすると、Attentionによって作業や評価規準の情報も活性化されます。
そのため、
計画はまだ作らない
という文を入れることで、
要件整理 → 計画
という連想パターンの確率を下げられます。
また、出力フォーマットを指定し、さらにLinterで固定するのもTransformerの特性に合っています。
例えば、
1. 前提条件 2. 不明点 3. 次のアクション
と書くと、AIは学習データ中の「番号付きリスト」のパターンを利用して続きを生成します。
これは「理解している」というより、
この見出しの後にはこういう文章が続く
という統計的パターンを利用しているためです。
さらに自己チェックも同じ原理です。
自己チェック - 条件の漏れはないか - 勝手な仮定をしていないか
と書くと、生成直前にAttentionがこのチェックリストを参照しやすくなります。
つまり自己チェックとは、AIに新しい能力を与えるのではなく、
生成時に参照してほしい情報を入力の中で目立たせる工夫
なのです。
結局、ステージゲートとは、
Transformerに存在しない「作業状態」を、文章構造によって擬似的に作る技術
と言えます。
- ステージ名 → 現在地を示す
- やること → 目的を示す
- やらないこと → 探索範囲を狭める
- 出力形式 → 生成パターンを固定する
- 自己チェック → 参照すべき観点を強調する
- 停止条件 → 次ステージへの暴走を防ぐ
という役割を持っています。
つまりステージゲートは「AIを管理する仕組み」ではなく、
Attentionが参照しやすい形で情報を整理し、次トークン予測の方向を制御するプロンプト設計手法
だと考えると、Transformerの動作原理ときれいにつながります。
(著者もまだまだ検証中ですが、だいぶうまく動いていると感じています)