プロダクト

Agent SDK のご紹介

Rustam Lalkaka読了時間 2分

ソフトウェアチームは、開発ライフサイクル全体で発生する定型作業を、コードとして定義したエージェントに任せています。こうしたエージェントはチームが普段使っているツールやサービスに接続し、関連するイベントが発生すると動き出します。PR のレビュー、コンプライアンスワークフローの実行、インシデントの調査など、その役割はさまざまです。

本当に役に立つエージェントとは、チームごとの仕事の進め方に合わせて作られたものです。しかしこれまで、そうしたエージェントを構築するには、他者のワークフローを前提に設計された製品を導入するか、一から作るかのどちらかしかありませんでした。

本日、Bugbot、Security Reviewer、Rollouts など、Cursor 自身のマネージドエージェントの構築に使っているフレームワーク、Agent SDK をリリースします。Agent SDK を使えば、エージェントをコードで定義し、通常のソフトウェアプロジェクトと同じように管理できます。テンプレートから始めることも、コーディングエージェントに Cursor のドキュメントを読み込ませて作ることもできます。エージェントの準備ができたら、agent-sdk deploy コマンド 1 つで Cursor のインフラストラクチャにデプロイできます。

ワークフローに合わせて構築する

Agent SDK を使えば、チームの働き方に沿ったエージェントをすばやく構築・デプロイできます。エージェントは、チームが普段から扱っているイベントに応答し、チームが確認・変更できるポリシーに従って動作します。

コードレビューはその一例です。何に注意すべきか、誰がレビューすべきかについては、チームごとに独自の基準があります。Agent SDK を使えば、GitHub、GitLab、Bitbucket の PR イベントに応答するエージェントを構築できます。このエージェントは変更のリスクを評価し、適切なチームに振り分け、ポリシーを満たす変更を承認できます。

たとえば、Cursor 社内のあるチームは、これまでに得た教訓をまとめたナレッジベースを構築していました。このナレッジベースは規模が大きく、急速に拡大しており、チームはすべての PR をこれと照合したいと考えていました。そうすれば、コードベースが変化しても、過去の判断を一貫して守り続けられるからです。チームは Agent SDK を使い、わずか1日ほどで kb-reviewer を構築しました。現在、kb-reviewer はメインのコードベースのすべての PR で実行され、記録済みの教訓と矛盾する変更を検出し、各指摘の根拠となるノートを示したうえで、報告した不整合を解消するようエンジニアに促しています。

より複雑な作業では、エージェントが独自のツールとセッションを持つ別の特化型エージェントにタスクを引き継ぐことができます。また、並列で動作する複数のサブエージェントに作業を分担させることも可能です。

さらに Agent SDK は、評価とイベントリプレイを標準でサポートしています。重要なワークフローが期待どおりに実行されることを確かめながら、スピーディーに開発を進められます。PGA Tour は Agent SDK を活用してソフトウェア開発工場を運用しており、評価の仕組みによって開発スピードを維持しています。

Agent SDK のおかげで、PGA はソフトウェアファクトリーのあらゆるコンポーネントを Cursor のインフラストラクチャ上に構築できるようになりました。開発プロセスを推進するエージェントを構築するうえで必要な柔軟性が備わっています。さらに、評価機能が組み込まれているため、新しいアイデアをすばやく試行錯誤し、既存の機能を確実に最適化できます。

Michael Gyarmathy
プリンシパルエンジニア, PGA America

すべてをコードで定義する

Agent SDK のエージェントは、小さなソフトウェアプロジェクトのような構成になっています。エージェントの動作を導く指示は、ツールのコード、外部サービスへの接続、テスト用の評価とともに同じ場所に置かれます。

各ファイルは、エージェントが知っていること、またはできることを表します。プロンプトは Markdown で記述し、ツールは TypeScript の関数として定義します。すべてがコードなので、変更内容もほかのソフトウェアと同じく、バージョン管理とレビューのプロセスに乗せることができます。

必要な場所にエージェントをデプロイ

エージェントを実際に使う準備ができたら、プロジェクトディレクトリで agent-sdk deploy を実行するだけで Cursor にデプロイできます。このコマンドはエージェントをビルドして URL を割り当て、Cursor のインフラストラクチャ上で起動します。シークレットや連携はダッシュボードから管理でき、ローカルで使っているログ、評価、プレイグラウンドもそのまま引き続き利用できます。

エージェントは自社のインフラストラクチャ上で実行することもできます。各エージェントは単一の Node プロセスとして動作するため、コンテナにパッケージ化できます。

はじめる

Agent SDK を使い始める手順は、ほかのソフトウェアプロジェクトを開始する場合とほとんど変わりません。プロジェクトディレクトリを作成し、ローカルのプレイグラウンドを起動します。

import { homedir } from "node:os";
import { join } from "node:path";
import { defineAgent } from "@cursor/agent-sdk";

export default defineAgent({
  name: "Robo",
  model: {
    id: "composer-2.5",
    params: [
      { id: "effort", value: "high" },
      { id: "fast", value: "true" },
    ],
  },
  local: {
    cwd: join(homedir(), ".cache", "factory", "robo"),
  },
})

その後は、ローカルで改良を重ねながら評価を実行し、agent-sdk deploy でデプロイできます。

Agent SDK には、コーディングエージェントを開発プロセスに沿って導くスキルも同梱されています。エージェントにドキュメントを参照させれば、一緒にボットを構築してもらうこともできます。

Agent SDK は本日より一般提供を開始しました。ドキュメントを読んで、さっそくはじめましょう。