HN 日本語サマリー

← 一覧へ戻る
プログラミング

The Agent SDK

The Agent SDK (cursor.com)

32 pointsby torutofu35 コメント

要約

Cursorは、ソフトウェア開発ライフサイクル全体で反復作業を処理するエージェントをコードで定義・管理できるフレームワーク「Agent SDK」をリリースしました。このSDKを使用すると、チームのワークフローに合わせてカスタマイズされたエージェントを迅速に構築・デプロイでき、コードレビューや知識ベースの参照といったタスクを自動化できます。エージェントはコードとして管理され、バージョン管理システムで追跡可能で、Cursorインフラストラクチャまたは自社インフラストラクチャにデプロイできます。

全文翻訳

Introducing the Agent SDK

ソフトウェアチームは、開発ライフサイクル全体にわたる反復作業を処理するために、コードで定義されたエージェントを使用します。これらのエージェントは、チームが作業する場所に接続し、プルリクエストのレビュー、コンプライアンスワークフローの実行、インシデントの調査など、関連するイベントが発生したときに動作します。

最も有用なエージェントは、特定のチームの運用方法に合わせて調整されています。これまで、エージェントを構築することは、一般的に、誰かのワークフローを中心に設計された製品を採用するか、ゼロから始めることを意味していました。

本日、私たちは、Bugbot、Security Reviewer、Rolloutsのようなマネージドエージェントを構築するために使用しているフレームワークであるAgent SDKをリリースします。Agent SDKを使用すると、コードでエージェントを定義し、他のソフトウェアプロジェクトと同様に管理できます。テンプレートから開始するか、コーディングエージェントをドキュメントに向けます。エージェントの準備ができたら、agent-sdk deployコマンド1つでCursorインフラストラクチャにデプロイします。

Build around your workflow

Agent SDKを使用すると、チームの働き方に合わせたエージェントを迅速に構築およびデプロイできます。それらは、チームがすでに処理しているイベントに応答し、チームが検査および変更できるポリシーに従います。

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

例として、Cursor内のチームは、学習済みの知識ベースを大規模かつ急速に成長させ、すべてのプルリクエストがそれに対してチェックされるようにしたいと考えていました。これにより、コードベースが変更されても、チームの過去の決定は維持されます。Agent SDKを使用すると、約1日でkb-reviewerを構築しました。これは現在、メインコードベースのすべてのPRで実行され、記録されたレッスンと矛盾する変更をフラグ付けし、各発見の背後にあるノートを引用し、エンジニアに報告された不一致を解決するように促します。

より複雑な作業の場合、エージェントはタスクを、独自のツールとセッションを持つ別の専門エージェントに引き渡すことができます。また、並列で動作するサブエージェント間でジョブを分割することもできます。

Agent SDKは、評価(evals)とイベントリプレイも標準でサポートしており、重要なワークフローが期待どおりに実行されることを保証しながら、迅速な開発を可能にします。PGA TourはAgent SDKを使用してソフトウェア開発ファクトリを強化しています。評価により、彼らは迅速に進むことができます。

Agent SDKは、PGAがCursorのインフラストラクチャ上にソフトウェアファクトリのすべてのコンポーネントを構築することを可能にしました。それは、開発プロセスを推進するエージェントを構築するために必要な柔軟性を提供します。そして、評価の組み込みサポートにより、新しいアイデアを迅速に反復処理し、既存の機能を確実に最適化できます。

Michael Gyarmathy

Principal Engineer

,

PGA America

Define everything in code

Agent SDKエージェントは、小さなソフトウェアプロジェクトのように編成されます。それをガイドする指示は、そのツールのコード、外部サービスへの接続、およびテストに使用される評価とともに配置されます。

各ファイルは、エージェントが知っていることまたはできることを表します。プロンプトはMarkdownで記述され、ツールはTypeScript関数として定義されます。すべてがコードであるため、変更は他のソフトウェアと同じバージョン管理およびレビュープロセスを経ることができます。

Deploy agents wherever you need them

エージェントを使用する準備ができたら、プロジェクトディレクトリからagent-sdk deployを実行してCursorにデプロイできます。このコマンドはエージェントをビルドし、URLを割り当て、私たちのインフラストラクチャ上で起動します。ダッシュボードからシークレットと統合を管理しながら、ローカルで利用可能な同じログ、評価、およびプレイグラウンドを引き続き使用できます。

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

Get started

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は本日一般公開されています。ドキュメントを読んで開始してください。