AI News HubLIVE
サイト内リライト2 分で読了

クラウドエージェント構築で学んだこと – Cursor

Cursorチームがクラウドエージェント(cloud agents)の構築で得た重要な教訓を共有します。クラウドエージェントは専用の仮想マシン上で動作し、独自の環境、依存関係、ネットワークアクセスを持ち、並行作業、無人実行、ローカルエージェントよりも長時間のタスクが可能です。記事では、開発環境の重要性、長期実行の信頼性課題、コンポーネントの分離、エージェントを信頼するタイミング、自己修復環境の将来像について述べています。

ソースCursor Blog

Cursorチームは、クラウドエージェントの構築を通じて多くの知見を得ました。当初はローカルエージェントの単純な拡張と考えられていましたが、クラウドエージェントは専用の仮想マシン上で動作し、独自の環境、依存関係、ネットワークアクセスを持ちます。これにより、並行作業、無人実行、ローカルエージェントよりも長時間のタスクが可能になります。しかし、環境設定、信頼性、オーケストレーションに関する課題が浮き彫りになりました。

開発環境は、クラウドエージェントの出力品質を左右する最大の要因です。ローカルではエージェントが開発者の作業環境をそのまま継承できますが、クラウドではゼロから環境を再構築する必要があります。環境が不完全でもクラッシュやエラーメッセージが表示されるとは限らず、出力品質の微妙な低下として現れます。モデルの性能が向上するにつれ、環境設定がエージェントの潜在能力を最大限に引き出すための決定的な要素となっています。Cursorチームは、ユーザーツールの改善、VMの休止と再開、チェックポイントと復元、統合のための緊密なハーネスなど、多くのインフラを再構築しました。

長期実行するクラウドエージェントは、信頼性に関して異なる課題を抱えています。ローカルではラップトップのリソースを競合しますが、クラウドでは分離されたVM上で動作し、推論プロバイダーの停止やノードのダウンなどの障害にさらされます。初期の「ワークスティーリング」アーキテクチャでは信頼性が1つの9に過ぎませんでしたが、Temporalに移行することで耐久性のある実行が可能になり、信頼性は2つの9以上に向上しました。現在、Temporalは1日あたり5000万以上のアクションを処理し、Cursor内部のPRの40%以上がクラウドエージェントから生成されています。

柔軟性と拡張性を実現するため、エージェントループ、マシン状態、会話状態を分離しています。エージェントループはTemporal上で動作し、VMのライフサイクルを独立して管理できます。会話の保存とストリーミングはコアのエージェントワークフローから分離され、効率的な追記型ストレージを採用し、リトライやストリームの巻き戻しをサポートしています。

モデルの知能が向上するにつれ、Cursorはエージェントに対する厳格な制御を緩和してきました。初期は各タスク後に強制的にコミットとプッシュを行っていましたが、現在はエージェントが自律的に作業方法を決定できるようになっています。例えば、マルチリポジトリ設定はハードコードされた動作を必要とせず、CI自動修正機能もエージェントにツールを提供する形に変わりました。コンピューター使用機能は現在も専用のサブエージェントとカスタムプロンプトを必要としますが、エージェントが呼び出すタイミングを制御します。また、クラウドエージェントのプロンプトはより自律性を促すよう設計されており、人間の応答を待つコストが高いことを考慮しています。

将来的には、エージェントが自ら問題を報告し、修復できる自己修復環境の実現を目指しています。例えば、シークレットの欠落やネットワークブロックを検出し、自動的に対処する機能です。最近の研究ブログで紹介した「自動インストール」はその一つの道筋です。クラウドエージェントの能力はここ数ヶ月で大幅に向上しており、今後も加速すると期待されます。Cursorのクラウドエージェントは、チームがインフラを構築・保守することなく、この拡大する領域を活用できるようにします。