Deep Agents は、エージェントが自身の作業を評価し修正できるようにするミドルウェア「RubricMiddleware」を発表しました。このツールは、複雑なタスクをこなすエージェントが最初の試行で完璧に達しないことが多いという問題を解決します。
RubricMiddleware は、メインエージェントの実行後、別の評価用サブエージェントがルーブリックに従って出力をレビューします。ルーブリックは改行区切りのチェックリストで、例えば「すべてのテストに合格」「関数名が正しい」などの条件を指定します。評価サブエージェントは各条件を満たしているか判断し、満たしていない場合は具体的なフィードバックを生成してメインエージェントに戻します。このループは、すべての条件が満たされるか、設定された最大反復回数に達するまで続きます。
使用方法はシンプルです。まず、モデルやシステムプロンプト、ツール、最大反復回数を指定して RubricMiddleware を定義します。次に、このミドルウェアをメインエージェントにアタッチします。最後に、呼び出し時に人間のメッセージとルーブリックを渡します。例えばコード生成タスクでは、エージェントの初回出力が一部のテストに失敗した場合、評価サブエージェントが「test_unhashable が失敗:リスト内のハッシュ化不可能な型でエラー」というフィードバックを返し、エージェントはそれを修正して再実行し、最終的にすべてのテストに合格します。
この仕組みにより、開発者は出力を手動で検査して再実行する必要がなくなり、エージェントの信頼性が向上します。評価サブエージェントはツールを呼び出して証拠を収集することもでき、ツールが提供されていない場合はトランスクリプトから推論します。
Claude Code や Codex の /goal 機能に似ていますが、RubricMiddleware の実装はより柔軟で、評価を専任のサブエージェントが行います。各基準ごとに個別の判定が出るため、エージェントは何を修正すべきか正確に把握できます。
RubricMiddleware はベータ版であり、API は変更される可能性があります。構成、可観測性、ルーブリックの永続化に関する詳細なチュートリアルについては、ドキュメントを参照してください。