Cursor Automations の機能改善

Cursor Automations では、常時稼働のエージェントが反復的なタスクを自動化し、時間を節約できます。このリリースでは、/automate スキル、GitHub と Slack の新しいトリガー、そしてコンピュータ使用のサポートが追加されました。

/automate スキル

/automate を使うと、ローカルエージェントのセッションで直接自動化を作成できます。

自動化したいタスクを自然な言葉で説明するだけで、Cursor がトリガー、指示、ツールを設定してくれます。

Slack 用の絵文字トリガー

指定した絵文字で Slack メッセージにリアクションすると、自動化を開始できます。Cursor では、これを使って、Slack 上から特定の自動化を直接トリガーしています。

新しい GitHub トリガー

自動化で、以下の 5 つの GitHub トリガーが新たにサポートされました。

  • Issue comment: PR ではない Issue にコメントが投稿されたとき
  • PR review comment: プルリクエストの diff にインラインコメントが残されたとき
  • PR review submitted: PR レビューが送信されたとき
  • Review thread updated: プルリクエスト上のレビュー スレッドが解決済みまたは未解決としてマークされたとき
  • Workflow run completed: プルリクエストまたはブランチで GitHub Actions の workflow run が完了したとき

すぐに使い始められるように、失敗した GitHub Actions のトリアージPR レビューコメントの自動修正に使える新しいテンプレートを Cursor マーケットプレイスに追加しました。

自動化向けのコンピュータ使用ツール

自動化によって起動されたクラウドエージェントが、作業のデモやアーティファクトを生成するために専用のコンピュータを使えるようになりました。

コンピュータ使用ツールは、すべての自動化でデフォルトで有効になっています。エージェントが作業内容のデモを含めるよう、指示で伝えるだけです。

利用を開始するには、Cursorを最新バージョンに更新してください。詳しくは、ドキュメントをご覧ください。

  • 自動化を未完成の状態でも保存できるようになったため、進行状況を失うことなく画面を離れてMCP認証を設定できるようになりました
  • 自動化でデフォルトでPRを開けるようになったため、そのツールをUIで指定する必要はなくなりました
  • UIでメモリファイルを削除できるようになり、実行時に古いメモリを削除するよう自動化にプロンプトで指示することもできるようになりました

クラウド環境の設定とクラウドサブエージェントのエージェントウィンドウ

このリリースでは、Cursorデスクトップアプリのエージェントウィンドウにあるクラウドエージェントに関する更新が導入されます。

クラウド環境の設定

Cursor で、クラウド上の開発環境を 10 分足らずで設定できるようになりました。依存関係のインストールなどの設定タスクをエージェントが処理する様子を、共有ターミナルセッションで確認できます。

環境は再利用可能なスナップショットとして保存されるため、以降のクラウドエージェントはよりすばやく起動し、本ソフトウェアを実行して変更をテストできます。出力結果が検証されるまで、長時間にわたって反復実行することもできます。これを .cursor/environment.json にコミットしておけば、チーム全体でその恩恵を受けられます。

クラウド環境の設定

/in-cloud を使ったクラウドサブエージェント

/in-cloud を使うと、次に送信するタスクに取り組むクラウドサブエージェントを、専用の VM 上に起動できます。クラウドサブエージェントは専用の VM とブランチで実行されるため、ローカルのワークスペースをクリーンで快適な状態に保てます。

これは、ローカルで作業を続けながら、CI の修正、Issue の調査、コードベースの探索といった長時間かかる作業や並行作業を切り分けるのに特に役立ちます。

クイックアクションのピルをクリックするか、/babysit を使うことで、クラウドサブエージェントに PR の見守りを任せることもできます。クラウドエージェントはローカルのセッションを占有することなく、PR をマージ可能な状態に整えるための反復作業をリモートで進めます。

クラウドサブエージェントは、親エージェントを中断させることなくバックグラウンドで実行でき、親エージェントは引き続きローカルまたはクラウドで実行できます。

ローカルとクラウド間の引き継ぎ

ローカルコンピュータとクラウドの間で、エージェントセッションをより確実に移動できます。長時間かかる作業を自分のマシンからオフロードし、必要なだけクラウドエージェントを並行して実行できます。クラウドエージェントをローカルにプルして、自分で変更をテストすることもできます。

ローカルとクラウド間の引き継ぎ

Bugbot が3倍以上高速化、コストは22%削減、レビューごとのバグ検出数も10%向上

Bugbot の平均レビュー時間は、これまでの約5分から約90秒へと短縮されました。さらに、1レビューあたりに見つけるバグの数も平均で10%増加し、0.56 から 0.62 になりました。また、1回あたりの実行コストも約22%下がっています。

Bugbot が3倍以上高速化、コストは22%削減、レビューごとのバグ検出数も10%向上。Bugbot が3倍以上高速化、コストは22%削減、レビューごとのバグ検出数も10%向上。

これらのパフォーマンス向上は、現在 Bugbot を支えている Composer 2.5 の学習が進んだことで実現しました。Bugbot はモデルのブロックリストに従い、速度やパフォーマンスは設定によって異なる場合があります。

プッシュする前に Bugbot を実行する

コードをプッシュする前に、/reviewBugbotSecurity Review を実行できるようになりました。/review を使うと、実行するエージェントを選択するよう求められます。/review-bugbot/review-security を直接使うこともできます。

/review は GitHub と GitLab 上の Bugbot とも同期します。/review を実行したあと、同じ diff で PR を開くと、Bugbot がそれを認識してレビューをスキップし、その diff はすでにレビュー済みであることを示すコメントを残します。

Cursor 3.7+ および cursor.com/agents で利用可能です。CLI のサポートも近日提供予定です。

PRで新しく変更された内容だけをレビュー

Bugbotを、前回のレビュー以降で新しく変更された内容だけをレビューするように設定できるようになりました。これにより、フィードバックを最新の更新内容に絞れます。

詳しくは、ドキュメントをご覧ください。

Design Modeの改善

CursorブラウザのDesign Modeでは、クリック、描き込み、音声での変更指示によって、エージェントがUIを更新できるよう支援できます。

複数の要素を選択

ブラウザ上で 2 つ以上の要素をまとめてクリックします。Cursor は、選択された要素、そのコード、周囲のレイアウト、ページ上での視覚的な位置関係を把握します。

一方をもう一方に合わせる、重複したコンテンツを削除する、またはコンポーネントのグループをまとめて調整するようエージェントに依頼します。

音声入力

Design Mode のオーバーレイで、変更内容を音声で伝えられます。エージェントの実行中でもマイクは引き続き利用できるため、前の変更が完了するのを待たずに、音声で次の変更をキューに追加できます。

Cursor SDK のカスタムストア、カスタムツール、自動レビュー

TypeScript SDK と Python SDK に、いくつかの新機能を追加しました。エージェントと実行メタデータの保存方法を選べるようになり、独自の関数をツールとしてエージェントに公開したり、ローカルのツール呼び出しを自動レビュー経由で処理したり、ネストされたサブエージェントを任意の深さで入れ子にしたりできるようになりました。このリリースには信頼性、パフォーマンス、プラットフォームに関する一連の修正も含まれており、ローカルおよびクラウドの SDK エージェントを本番用スクリプト、CI、カスタム統合でより簡単に実行できるようになっています。"

カスタムツール

Agent.create() または send() ごとに local.customTools を通じて関数定義を渡すことで、ローカルエージェントに独自のツールを持たせられるようになりました。SDK は custom-user-tools という組み込みの MCP サーバーを通じてそれらをエージェントに公開するため、モデルはほかの MCP ツールと同じ経路と同じ権限ゲートを通じて、あなたのコードを呼び出します。

以前は、カスタム機能を公開するには、独自の stdio またはリモート HTTP の MCP サーバーを立ち上げてエージェントに接続する必要がありました。今では、関数定義だけで十分です。カスタムツールは親エージェントのすべてのサブエージェントからも参照できるため、一度定義すれば、そのツールを実行全体で利用できます。

自動レビュー

デフォルトでは、ローカル SDK エージェントは承認を求めずにツール呼び出しを実行します。ヘッドレス実行では人間が介在しないためです。代わりにこれらの呼び出しを自動レビューに通すには、local.autoReview を設定します。レビューを完全に迂回するのではなく、分類器がどの呼び出しを自動的に実行し、どれを保留にするかを判断します。

この分類器は、permissions.json 内の自然言語による instructions で調整できます。autoRun.allow_instructions フィールドには許可寄りで扱いたい呼び出しパターンを記述し、autoRun.block_instructions にはレビューのために保留したいものを記述します。たとえば、構築されたアーティファクトの読み取り専用の確認は許可しつつ、削除のような破壊的な操作では常に一時停止するようにできます。

{
  "autoRun": {
    "allow_instructions": [
      "Read-only inspections of build artifacts under ./dist are fine."
    ],
    "block_instructions": [
      "Always pause delete operations so I get a chance to review them."
    ]
  }
}

JSONL とカスタムストア

どちらの SDK も、プロセスの再起動後にエージェントを再開できるよう、エージェントと実行に関するメタデータを永続化します。これまでは、そのストアは SQLite でした。現在は代わりに JSONL ストアを選択でき、読み取りや diff の確認、version control へのチェックインが可能な、プレーンな追記専用ファイルに書き込めます。SqliteLocalAgentStoreJsonlLocalAgentStore はどちらも直接エクスポートされます。

どちらのデフォルトも設定に合わない場合は、public な LocalAgentStore interface を実装し、local.store を通して渡します。エフェメラルな CI 実行向けにインメモリストアを構築したり、エージェントの状態をアプリケーション内の他のデータと一緒に保持したい場合は、永続化先として Postgres を使ったりできます。Python SDK は、host、JSONL、composed JSONL ストアをブリッジ経由で公開しています。

ネストされたサブエージェント

サブエージェントが、自身のサブエージェントをさらに生成できるようになりました。レビュー用のサブエージェントはテスト作成用のサブエージェントに委任でき、その先もさらに委任できます。各階層はそれぞれ独自のプロンプトとモデルを保持します。特別に有効化する設定は必要ありません。サブエージェントのセッションは、Task を呼び出すために必要なエグゼキューターを登録するため、ネストは、サブエージェントを定義するすべてのエージェントで自動的に機能します。

信頼性、パフォーマンス、プラットフォームの改善

今回のリリースには、両方の SDK にわたる使い勝手を向上させるさまざまな修正も含まれています。

  • 実行の相関付け: すべての send() に、プラットフォームで生成された requestId が付与されるようになりました。これは RunRunResult で利用でき、インメモリ、SQLite、JSONL の各ストアにも保存されます。これにより、agentId から推測しなくても、スクリプトや CI の実行をバックエンドログ、アナリティクス、サポートスレッドに結び付けられます。
  • ローカル実行で信頼性の高い wait(): ローカル実行で、ターミナル結果が書き込まれる前に wait() が完了してしまうことがなくなりました。Hydration は実行が最終状態に達するまで更新を続けるため、自動化処理で完全な結果を読み取れます。
  • dispose 時の安全なチェックポイント: ローカルエージェントを破棄しても、ルート参照が見つからない一方でチェックポイント blob が残っている場合、チェックポイントデータは削除されなくなりました。エージェントディレクトリが消去されるのは、保持すべきものが本当に何も残っていない場合だけです。
  • HTTP/1.1 での Cloud ストリーミング: 一部のプロキシ、古い Node の fetch スタック、特定の CI イメージで使われる HTTP/1.1 transport 上でも、クラウドエージェントのセッションが正しくストリーミングされるようになりました。HTTP/2 の動作に変更はありません。

  • 軽量な import: @cursor/sdk を import しても、ローカルエージェントスタック全体が即座に読み込まれなくなりました。Cloud 専用の利用や型だけを使うケースでは、最初のローカル呼び出しまでローカルランタイムのコストが発生せず、API の変更もありません。最初のローカル呼び出し時に一度だけ import コストが発生し、その後はキャッシュされます。
  • 自己完結した TypeScript 型: 公開される .d.ts ファイルが、未公開の workspace パッケージを参照しなくなりました。これにより、skipLibCheck: false 環境での TS2305TS2307 エラー、および TurnEndedUpdate のようなストリーム型で暗黙に any になってしまう問題が修正されます。
  • バンドル版 ripgrep: ローカルシェル実行では、グローバルな PATH を変更せずに、バンドルされたプラットフォームの rg バイナリを使います。Windows では、ripgrep を先頭に追加しても Path 変数を壊さなくなりました。

  • Composer 2 は Composer 2.5 にルーティング: 廃止された composer-2 slug に固定されたままの SDK クライアントは、自動的に Composer 2.5 にルーティングされるようになりました。高速バリアントも維持されるため、古いスクリプトも引き続き実行できます。

  • workspace スコープの list_runs: ClientAsyncClientAgent.list_runs は省略可能な cwd を受け取るようになり、bridge は起動時の workspace にフォールバックします。これにより、bridge がサブプロセスとして実行される際に起きる、誤った「agent not found」結果が修正されます。
  • より分かりやすい not-found エラー: 解決された workspace 内に存在しないエージェントを検索した場合、不明瞭な内部エラーではなく、分かりやすい not-found エラーが返るようになりました。
  • 0.1.6 リリースとアナリティクス: cursor-sdk 0.1.6 では Buildkite のリリース経路が文書化され、SDK の利用状況は sdk-python- としてラベル付けされるため、アナリティクスがより分かりやすくなります。

アップグレードするには npm install @cursor/sdk または pip install cursor-sdk を実行してください。composer-2 に固定されたスクリプトは自動的に Composer 2.5 に移行し、requestId は実行メタデータスキーマに安全に追加できます。詳しくは、TypeScriptPython のドキュメントを参照してください。