クリティックモデルとは、コーディングエージェントの試行を生み出すのではなく、それを評価するよう訓練されたモデルである。OpenHands が AI が生成したコードの検証を学習する で説明している形では、それはエージェントの軌跡(1 回の試行における会話、ツール呼び出し、アクション)を採点する小さく高速なモデルであり、そのスコアは、続行するか、停止するか、改善するかの判断、複数の試行からの選択、そして時間をかけてエージェントを改善するための軽量なフィードバックの収集に使われる。OpenHands は自社のクリティックを、軌跡レベルの検証器であり、同社が検証スタックと呼ぶものの第 1 層として位置づけている。

用法

OpenHands の記事は、先行する学術研究がすでに SWE-bench や SWE-Gym のようなベンチマークデータセットでクリティックモデルを訓練していたことに触れている。そこではユニットテストのような検証済みの報酬があるため、各試行に正解か否かのラベルを付けるのが容易である。記事自身の主張は、目標が変化し、成功のシグナルがまばらだったり遅れて届いたりする現実世界のヒューマン・イン・ザ・ループの開発では、そうした報酬はたいてい存在しないというものであり、ベンチマークのトレースだけで訓練したクリティックは本番環境での成果にうまく結びつかなかったと報告している。そこで OpenHands は、自社のクリティックを現実世界のユーザーとエージェントのやり取りで訓練している。各やり取りはセグメントに分割され、すべてのセグメントにトレースから観察できるルーブリックの特徴量がアノテーションされ、そのうちの小さな部分集合が、プルリクエストがマージされたかどうか、コードが残り続けたかどうかといった、まばらな成果の代理指標に紐づけられる。OpenHands 自身の評価によれば、この 2 つのうちより強い訓練シグナルになったのはコードの残存だった。

記事は、推論時にスコアを使う 2 つの方法を説明している。複数の試行を再ランク付けして最良のものを残す best-of-N 選択と、スコアがしきい値を超えた時点でその試行を受け入れる早期停止である。モデルが小さいため、対話的なセッションの最中に実行できるほど高速かつ安価だと OpenHands は述べている。

関連用語

軌跡評価、LLM-as-a-Judge、Agent as a Judge