02

2:23 - 4:08

なぜ検証だけでは十分ではないのか

この時点から動画を見る

AIエージェントがコードを書くとき、人間もそのコードを理解するべきだ、とよく言われます。その理由として、まず出てくるのは「正しいかどうかを確認するため」です。この章では、その考え方を出発点にして、検証(verification)だけでは理解の目的を説明しきれない、という話者の主張を見ます。

理解は、正しさを確認するためだけなのか

エージェントの出力を人間が理解すれば、間違いを見つけられます。これは重要な理由です。しかし、ここでいう「正しい」には、いくつかの意味があります。

  • 仕様に合っていること。頼んだ動作を実現しているかを確認します。
  • 本番環境で障害を起こさないこと。実際に使われる環境を壊さないかを確認します。
  • 設計としてよくできていること。目の前の動作だけでなく、システム全体の構成として適切かを見ます。

この三つは似ていますが、同じではありません。仕様に合うテストに通っても、本番で問題が起きないとは限りません。また、問題なく動いても、設計がよいとは限りません。

エージェントが検証ループを回す

話者が示す変化は、次のようなものです。人間がエージェントに検証の手順を渡します。するとエージェントは、その手順を使って出力を確認できます。必要な質問を自分で立て、答えを調べ、問題があれば修正し、もう一度確認します。この流れを、検証ループとして何度も回せます。

ここで大切なのは、エージェントが一度だけテストするという話ではないことです。確認と修正を時間をかけて繰り返せる、という話です。エージェントの検証能力が高くなるほど、正しさを確認する作業で人間が担当する部分は小さくなります。

その結果、「コードレビューが作業のボトルネックになっている」という問題も変わります。もしコードレビューの主な目的が、エージェントの出力が正しいかを判定することだけなら、その役割はエージェントの検証ループでかなり置き換えられるかもしれません。

例:同じコードでも、目的によって見る点が違う

例(説明用)

エージェントが、ログイン後に一定時間が過ぎたら利用者を再認証させる変更を書いたとします。

検証の観点では、次の点を確認します。

  1. 仕様どおりの時間で再認証が起きるか。
  2. 本番環境で、正常な利用者まで突然ログアウトされるような障害を起こさないか。
  3. その変更の置き場所や構成が、システムの設計として適切か。

この三つを確認する手順をエージェントに渡せば、エージェントはテストや関連する確認を繰り返せます。人間は、検証結果を見て「合格」か「不合格」かを判断するだけになる可能性があります。これは、検証のための理解を考える場合の例です。

検証のための理解と、参加のための理解

ここで話者は、理解の目的を二つに分けます。

  • 検証のための理解:出力が正しいか、基準を満たすかを判定するための理解です。
  • 参加のための理解:人間がシステムや仕事の流れを把握し、その後の作業に関わり続けるための理解です。

前者だけを考えるなら、エージェントが十分に検証できるようになったとき、人間が理解する必要は減ります。しかし、そこから「人間はもう理解しなくてよい」と結論するのは早すぎます。話者が問題にしているのは、検証が役に立たないことではありません。検証は、理解する理由のすべてではない、ということです。

例(説明用)

先ほどのログイン変更を、エージェントが仕様・本番の安全性・設計の三つの基準で確認し、すべて合格にしたとします。人間はその結果から、コードが基準を満たしていると判断できます。

それでも、検証結果が出たことと、人間が変更の意味を理解していることは同じではありません。この章の区別では、前者は「正しさの判定」です。後者は、プロジェクトに参加するための理解に関わります。人間がどこまで理解すべきかという次の問いは、単なる合否判定より広い問題になります。

正しい出力の先に残る問い

AIエージェントが自分で検証できるようになると、人間の役割は「正しさをチェックすること」だけではなくなります。では、人間は何を理解し、どのように仕事に関わるのでしょうか。話者はこの問いを、検証を超えた理解の問題として提示します。

つまり、エージェントが正しいコードを作れることと、人間がその仕事に参加できることは別です。検証を自動化すると、正しさを確認する負担は減ります。その一方で、人間の理解をどのように保つかという問題が、よりはっきり見えてきます。

この区別が、この講演の転換点です。理解は、間違いを見つけるための安全確認に限られません。人間が作業の中にとどまり、次の考えや貢献につなげるためにも必要です。

出典

この章の話は、Geoffrey Litt氏の講演「Understanding is the new bottleneck — Geoffrey Litt, Notion」の約2分23秒から約4分09秒までの内容に基づいています。講演の該当部分をYouTubeで見る

100% スペースキーとドラッグで移動 | Ctrl/Cmdとホイールで拡大縮小