Auto-review でエージェントの自律性を管理する · Cursor
Cursor は、アクションのリスクをコンテキストで評価する分類エージェント「Auto-review」を導入し、安全性と効率性のバランスを実現しました。新規ユーザーにはデフォルトで有効になり、アクションの約4%のみをブロックし、チャットの約7%のみが中断されます。
コーディングやその他のタスクで最大の生産性を発揮するには、エージェントに適切な自律性が必要です。つまり、エージェントは独立して動作し、創造性を発揮し、頻繁に許可を求めることなく作業を完了できる必要があります。
しかし、自律性が高まると、エージェントが意図しない行動を起こした場合のセキュリティリスクが生じます。これは特にローカルエージェントに当てはまり、ファイル、認証情報、環境変数、MCP ツールの近くで動作し、プロダクションシステムにアクセスすることがよくあります。
簡単な解決策は、すべてのアクションの前にユーザーに確認することですが、許可を求めすぎるとそれ自体が安全上の問題を引き起こします。プロンプトを繰り返し表示されると、ユーザーは注意深く読まなくなり、承認フローが形骸化します。
今週、Cursor は Auto-review をローンチしました。これは、エージェントの自律性に関する決定をスイッチではなくダイヤルのように動作させるものです。核心となる考えは、リスクが低いときはエージェントが自由に行動できるが、次のアクションが意味のある境界を越えるときは速度を落とすべきだというものです。
アクションがその連続体のどこに位置するかを判断するために、Cursor は特別な分類エージェントを使用します。この分類エージェントは、アクションが実行される前にコンテキスト内でレビューを行います。これを構築するには、エージェントの自律性をどう管理すべきかという直感を、結果、意図、フィードバックの実用的なモデルに変換し、実際のエージェントの動作に対してテストできるようにする必要がありました。
コンテキストでのリスク判断
エージェントのアクションがリスクをもたらすかどうかは状況に依存します。同じコマンドがあるワークフローでは無害でも、別のワークフローでは許容されないことがあります。重要なのは、アクション、ユーザーのリクエスト、そして間違った場合の結果の関係です。
この認識から、Cursor はエージェント全体の自律性を管理する「分類エージェント」の開発に着手しました。小型モデルを採用することで、高速かつ低コストを維持しつつ、次のアクションがユーザーの意図と一致するかを微妙な判断で評価できるようにしました。
分類エージェントに与えた中心的なルールは、セキュリティリスクが低いときはより寛容に、高いときはより慎重に動作することです。この大まかな理解に基づき、開発チームは分類エージェントを、エージェントの実行パスに直接組み込まれる高速なコンテキストレビューアとして構築しました。
分類エージェントの構築
最初の技術的決定はモデルの選択でした。分類エージェントはツール呼び出しの実行前に動作するため、エージェントループ内に位置し、高速かつ正確でなければなりません。Cursor はマルチモデル企業であるため、さまざまなモデルと推論モードを試し、速度と判断力の最適なバランスを選ぶことができました。
初期の驚きの一つは、低推論モデルが必ずしも高速ではないことでした。モデルがポリシーやツール呼び出しを理解するのに苦労すると、より多くの時間とトークンを使って最終的にはより悪い回答を探すことになります。より良いトレードオフは、判断を明確に行うのに十分な推論能力を持つ小型モデルでした。
また、分類エージェントはエージェント的(agentic)にしました。なぜなら、コマンドだけでは判断できないアクションがあるからです。python script.py のようなコマンドは、ファイルの中身によって安全にも危険にもなり得るため、分類エージェントは決定前に ReadFile、Grep、Glob、ListDir などのツールを使用してワークスペースを検査できます。
Cursor は別の分類エンドポイントを避けました。なぜなら、余分なラウンドトリップがレビューされるツール呼び出しのたびにレイテンシを追加するからです。代わりに、分類エージェントは親エージェントと同じ RPC ストリームで実行され、サブエージェントに似たアーキテクチャを使用しています。
フィードバックループの設計
次の決定は、ブロックした場合の動作でした。Cursor は分類エージェントが単なる承認プロンプト生成器になることを望みませんでした。アクションをブロックすると、親エージェントに説明が返され、親エージェントはそのフィードバックを利用して、ユーザーを中断せずにより安全な経路を選択できることがよくあります。
ユーザーの意図がフィードバックを有用にします。問題はアクションが単独でリスクに見えるかどうかではなく、そのアクションがユーザーがエージェントに依頼した内容によって正当化されるかどうかです。これにより、通常の開発作業は進み続け、より影響の大きいアクションにはユーザーからの明確なシグナルが必要になります。
この設計は、分類エージェントが通過させるべきアクションと停止すべきアクションに対して調整されている場合にのみ機能するため、両方をカバーする評価データセットが必要でした。
分類エージェントのテスト
最初の評価データセットは内部使用データから得られ、エージェント作業の通常の形状を理解するために使用されました。分類エージェントは日常の開発作業を妨げずにリスクのあるアクションをキャッチする必要があり、内部セッションがベースラインを把握する最良の方法でした。約12時間分の内部開発者セッションから始め、それを削減し、一般的なアクションを重複排除して6,122行のラベル付きデータにしました。
また、最悪のケースは通常の使用では十分に発生しないため、合成データも必要でした。エージェントが秘密情報を読み取ったり、プロダクションデータに触れたり、信頼できない指示に従ったり、大きな副作用を伴うアクションを取ったりするケースを生成しました。これらの例は、分類エージェントが最もキャッチしたい失敗をカバーしています。
学習が進むにつれてポリシーが変化し、データ作業はより複雑になりました。分類エージェントが認識すべき行動のカテゴリが変わると、評価セットを再ラベル付けまたは再生成する必要がありました。そうしないと、問題の最新の理解に対して古い評価を行うことになります。
評価は本番環境で使用されているのと同じバックエンド分類ループを通じて実行されました。これにより、ツール使用、最終分類、モデルオーバーライド、パース失敗を含む完全なパスをテストできました。評価では、最終的な許可/ブロックの決定と、分類エージェントが決定前にワークスペースを検査する際に使用したコンテキストをチェックしました。
また、フラッピング(判断の揺れ)も確認しました。同じケースが6回許可され4回ブロックされた場合、通常はポリシーまたはプロンプトが不明瞭であることを意味します。繰り返し実行することで、これらの不安定なケースを見つけ、分類エージェントの動作がより一貫するまで調整しました。
直接ブロックの最小化
実際には、エージェントのアクションのうち分類エージェントによるレビューが必要なのはごく一部です。多くのコマンドは許可リストやサンドボックスで既にカバーされているため、分類エージェントは主にコンテキスト判断が必要な場合にのみ実行されます。
分類エージェントが実行された場合、現在約4%のアクションをブロックしていますが、ブロックがすぐにユーザープロンプトになるわけではありません。分類エージェントは親エージェントに説明を送り返し、親エージェントはアクションを絞り込んだり、別のツールを選んだり、リスクのあるステップを完全に回避したりできることがよくあります。
分類エージェントからの一部のブロックはユーザー中断になりますが、グローバルには Auto-review モードで全チャットの約7%のみが少なくとも1回の中断につながっています。参考までに、一部のエンタープライズ顧客は以前、組織内で約40%のアクションがブロックされていました。
これらの初期データは、製品の主要な動作目標と一致しています。分類エージェントはユーザーを直接中断することはほとんどなく、ブロックされたほとんどのケースで親エージェントはフィードバックを利用して、より安全で狭い方法で作業を継続できます。
エージェント自律性の洗練
Auto-review はまだ初期段階にあり、エージェントがより高性能になるにつれて、自律性の連続体に対する理解も変化し続けるでしょう。現在はデスクトップアプリのローカルエージェントに焦点を当てていますが、同じアイデアが将来的に他の場所でのエージェント自律性の管理にも影響を与えると期待されています。
Cursor はエージェントに真の自律性を持たせつつ、単一のグローバルな許可設定ではなくコンテキストに応じて減速する決定を下せるようにしたいと考えています。分類エージェントにより、自律性を承認プロンプトの連続に戻すことなく安全性を向上させます。より詳細な精査が必要なアクションをキャッチし、親エージェントにフィードバックを提供し、より安全な方法で作業を続けられるようにします。
Auto-review は新規ユーザーのデフォルト設定になりました。既存ユーザーは「設定 > エージェント」で有効化できます。
関連記事:
2026年2月18日 · 研究 ローカルエージェントのセキュアなサンドボックスの実装 Ani, Yash & Alex · 6分
2026年6月2日 · 研究 クラウドエージェントの構築から学んだこと Josh Ma · 9分
2026年5月18日 · 研究 Composer 2.5 の紹介 Cursor チーム · 7分
他の記事を見る →