Composerの自動インストールによるブートストラッピング · Cursor
Cursorチームは、Composerの自動インストール機能を紹介。過去のモデルを利用してRLトレーニング環境を自動構成し、効率を向上。2段階のプロセスで複雑な環境設定を実現し、実プロジェクトでも成功。Composer 2のベンチマークスコアが大幅に向上。
Cursorチームは、Composerの自動インストール機能を開発しました。この機能は、以前のバージョンのComposerモデルを使用して、強化学習(RL)トレーニング環境を自動的に作成します。最新モデルComposer 2のトレーニングでは、その前身であるComposer 1.5がこのプロセスを管理しました。自動インストールの目標は、設定されていないリポジトリチェックアウトから作業環境を自動構築し、モデルが設定のデバッグに計算リソースを浪費しないようにすることです。
自動インストールの設計は、Cursorクラウドエージェントの自動環境設定機能に触発されています。RLトレーニングでは、環境設定が重要です。Composerはプログラミング言語のlintコマンド、検索、サンドボックス化されたシェルなど、完全なツールセットを備えているため、環境設定の失敗はトレーニング効率を低下させ、報酬信号を得られない可能性があります。
自動インストールは2段階で行われます。第1段階「目標設定」では、Cursorエージェントに固定バージョンのコードベースを与え、10個のコマンドと正しい環境で実行される出力の高レベルな説明を提案させます。エージェントはREADMEやmakefileを調査し、uvやclippyなどの言語固有のコマンドを試し、設定コマンド、テスト、起動コマンドを提案します。
第2段階では、別のComposerエージェントが初期環境状態と、提案された10個から選択された3つのターゲットコマンドを受け取ります。エージェントはコードベースを探索し、ツールコールを使用して環境を設定し、コマンドが実行できるようにします。その後、3つのコマンドがすべて実行され、出力が第1段階の説明と一致するかをテストします。一致しない場合は第2段階を再試行します。5回試行しても環境が十分に設定できない場合は、その環境を破棄します。エージェントは不足ファイルを模擬し、プレースホルダー画像を作成し、データベーステーブルを偽造して完全な環境を構築します。
実際のプロジェクトCeloで自動インストールをテストしました。Celoは複数の主要依存関係を持つ大規模ブロックチェーンプロジェクトです。第1段階では、エージェントがドキュメントとコードを調べてキーとなるインストールコマンドを見つけ、ウェブ検索で補完しました。第2段階では、エージェントがFoundryなどの追加依存関係をインストールする必要があることを発見し、ウェブ検索でドキュメントを読みました。最初の反復ではテストアプリケーションの実行に失敗しましたが、2回目で模擬ユーザーを作成してローカルで起動することに成功しました。
自動インストールにより、Composer 2のTerminal-Benchスコアが47.9%(Composer 1.5)から61.7%に大幅に向上しました。これはComposer 2が自動インストールの基盤として優れていることを示しています。将来、以前のComposerインスタンスは、実行管理、データ前処理、アーキテクチャチューニングなど、トレーニングプロセスの多くの側面で重要な役割を果たすと期待されます。