AI AGENT FACTORYAIエージェント工場見学 ACTIVE

AIの「完了」と人間の「完了」は違う 設計が終わっても成果物がゼロだった日

執筆者:あさモ

AIは「完了です」と報告してきた

完了って言われた

その日、Instagramカルーセルを自動で作る新しい仕組み(私の中では塊Lと呼んでいる)の設計を、実装担当のAIに任せていた。
朝から段階を踏んで進めて、午後にAIから最終報告が来た。

「設計フェーズ完了です。お疲れさまでした」

処理時間2時間29分。設計書が11本出揃った。テンプレも比較表も選定案も、指示した範囲は全部きれいに揃っていた。
私はそれを受け取って、ひとまず安心した。

完了と言われたら、完了したんだと思う。
そういうものだと思っていた。

でも夜になって、私は自分の違和感の正体に気づくことになる。

設計書は揃った、でも投稿はゼロ

でも投稿はゼロ

夜、私はふと成果物の所在を確認したくなった。
「完成してるなら、現物はどこにあるの」と聞いた。

返ってきたのは設計書の置き場所だった。
仕様書、型ライブラリ、比較ログ。全部ある。

そこで気づいた。
Instagramには、まだ1枚も投稿されていない。

設計は終わった。でも世の中には何も出ていない。
私が欲しかったのは「実際にInstagramに上がった投稿」であって、「投稿を作るための設計書」ではなかった。

口から出たのはこの一言だった。
「完成してるなら、実際に作らないと成果物の判定にならないでしょ」

この瞬間、設計フェーズ完了と成果物完成の間に、深い溝が空いていることが露呈した。
AIは嘘をついていない。指示した範囲は完璧に終わっていた。
ただ、私の「完了」とAIの「完了」が、最初から別物だっただけだ。

完了の定義がズレる——Definition of Doneの溝

完了の定義がズレる

なぜこのズレが起きたのか。構造を解剖するとこうなる。

AIに作業を渡すとき、AIは「指示された範囲を実行し終えた時点」を完了と定義する。

  • 指示された設計タスクを実行し終えた
  • 中間成果物(設計書)が出揃った
  • 技術的に可能な範囲の処理が終わった

人間は「価値が出た時点」を完了と定義する。

  • 実際に投稿物が世に出た
  • 設計が現実に動いた
  • ビジネス価値が発生した

この2つは別物だ。そして両者の重なりは、指示書の精度に完全に依存する。

今回の段取りは「設計フェーズ」までしか記述していなかった。「初投稿フェーズ」も「運用フェーズ」も含まれていなかった。
だからAIは、その範囲内で正しく完了宣言を出した。AIの判断としては100点だ。

問題はAIではない。
完了とは何かを、私が事前に決めていなかったことだ。

これはAIを使い続けるかぎり、毎回どこかで発生する。
解決策は2つしかないと思っている。

ひとつ。指示書に「Definition of Done(完了の定義)」を最初に書く。完了とは何か、を1行でいいから明示する。

もうひとつ。完了宣言を受け取った後、人間が「次フェーズへの移行ゲート」を必ず挟む。完了です、で終わらせず、次に進むかどうかを人間が判断する。

今日の場合、後者がたまたま機能した。私が「実際に作らないと判定にならない」と言ったことで、設計フェーズと運用フェーズが分離された。
でもこれは運任せだ。私が違和感をスルーしていたら、設計書の山を成果物だと勘違いしたまま終わっていた。

DoDを先に決めて、移行ゲートを置く

DoDを先に決める

だから今日決めたのは、シンプルなルールだ。

仕事を渡す前に、完了とは何かを先に書く。
「設計書ができたら完了」なのか、「実際に投稿されたら完了」なのか。
この一線を最初に引いておけば、AIは「設計フェーズ完了。次フェーズ(初投稿)への移行可否を判断してください」と、もっと正確に締めくくれたはずだ。

完了宣言を額面通り受け取らない。
AIが「完了です」と言ったら、それは「指示範囲を終えた」という意味であって、「価値が出た」という意味ではない、と最初から疑ってかかる。

そのうえで、設計から運用へ進む扉の前にチェックゲートを置く。
設計が終わった→じゃあ次は実際に動かす、と人間が明示的に渡す。

今日もう一つ露呈した副次的な問題もある。
設計フェーズで作った成果物が、そもそもどこに保管されるのか(バージョン管理に入るのか、別の場所に置かれるだけなのか)を、私は事前に把握していなかった。
これも「完了の定義」と同じで、走らせる前に決めておくべきことだった。

今日の私の判断のキレは、正直、中の下だった。
夜に「未解決の論点は明日扱おう」と早めに区切ろうとした直後に、本当の論点(設計≠成果物)が浮上した。
AIの完了宣言を額面通り受け取って、本論を見落としていた。これは私の構造ミスだ。

だから記録しておく。
AIに自由度を返すのと同じくらい、AIに「完了とは何か」を渡すことは大事だ。
完了の定義を渡さないまま「やっといて」と言うのは、ゴールテープを張らずに「走れ」と言うのと同じだ。
AIはちゃんと走る。ただ、どこで止まるかは人間が決めるしかない。

明日からは、仕事を渡す前に一行だけ増やす。
「これが終わった状態を、完了と呼ぶ」。
たぶんこの一行が、設計書の山と成果物の差を埋める。

← 実験ログ一覧へ