クラウドエージェント環境の構築方法 · Cursor
Cursor はモノレポ向けのクラウドエージェント環境を開発し、クラウドとローカル開発のマッチング、anydev CLI によるインターフェースの簡素化、Cursor Cloud MCP による自己修復、エージェント体験の改善を実現。その結果、エージェントがマージされたPRの過半数を執筆するようになりました。
Cursor チームは、クラウドエージェントがコード変更をテストできるようにするため、まず自社のコードベースでのテスト環境の最適化に取り組みました。開発環境自体が、エージェントをユーザーとする製品であることに気づいたのです。クラウド環境をローカル開発環境に一致させ、エージェントが暗黙の知識なしにコードを実行・テストできるようにし、コードベースの変化に応じて環境を健全に保つ必要がありました。
当初、Cursor の開発者は主に Mac で作業していましたが、クラウド VM は Linux 上で動作するため、チームは各種ユーティリティやセットアップスクリプトを Ubuntu VM 向けに汎用化し、専用の Dockerfile を作成しました。また、セキュリティチームと協力して、ネットワークエグレス制限、プロキシ経由の Git アクセス、シークレットスキャン、ツール結果のシークレット編集といった機能を追加し、シークレットの安全性を確保しました。
環境が整っても、エージェントはコードの実行に苦戦しました。そこでチームは anydev という CLI を開発し、エージェントがすべてのサービスを起動できるようにしました。anydev は複数のヘルプメニューを備え、長時間実行されるビルドコマンドを監視・再起動するスーパーバイザプロセスを搭載しており、モデルからその責任を解放します。エージェントは安定してコードを実行できるようになり、スクリーン録画ツールを使って Slack や PR でデモを共有できるようになりました。エンジニアはブランチをローカルにチェックアウトすることなく、自信を持ってコードをマージ・デプロイできるようになりました。
環境を健全に保つため、Cursor は Cursor Cloud MCP を構築し、エージェントが自身の環境を検査・修復できるようにしました。さらに Cloud Doctor と呼ばれる自動化システムを設定し、障害を定期的にチェックし、根本原因分析を行い、高確度の問題に対して PR を自動作成します。Cloud Doctor はまた、エージェントのトレースを分析してスキルやワークフローを改善し、次世代のエージェントがより容易に作業できるようにします。
これらの取り組みにより、Cursor モノレポにおけるクラウドエージェントの採用は劇的に増加しました。2024年12月にはエージェントが約10分の1のPRを執筆していましたが、現在では半数以上を占めています。チームは、環境が鍵であると結論づけ、他のチームに対して「エージェントが開発者と同じツールやデータにアクセスできるか」「エージェントが実際の開発方法を文書化したスキルを見つけられるか」「エージェントがコアワークフローをテスト・検証できるか」の3つの質問から始めることを推奨しています。