Cursorのコード編集はClineよりどの程度早いのか?
CursorとClineを併用しているユーザーは既知だと思うのですが、コードを編集して適用する速度に差があります。大抵はCursorの方が早く完了します。
そこで、どの程度差が生じているのかというのを比較するためにシンプルな比較動画を撮影しました。
環境
- Cline3.9.2
- VS Code 1.99.0
- Cursor 0.48.7
- 全ての拡張機能を無効にする
- モデルはClaude 3.7 Sonnetをextended thinkingなしで指定する
- ClineのAPI Providerは「Cline」、Cursorはデフォルトの設定(Cursorのサーバーに接続)
- カスタムルール設定はなし
- 承認待ちが発生しないように設定で全てを許可する
実験方法
- 事前にチャットウィンドウにプロンプトを入力しておき、Cline→Cursorの順でウィンドウを切り替え連続で送信する
- 左のウィンドウがClineで右がCursor
実験1:新規作成
このディレクトリに、以下の仕様でNode.jsの簡単なサーバーファイルを作成してください:
1. ファイル名は`server.js`とする。
2. Express.jsを使用し、`npm install express`が必要な依存関係をpackage.jsonに追加。
3. サーバーはポート3000で起動し、"/"エンドポイントにGETリクエストが来た場合、"Hello, World!"を返す。
4. コードは以下の形式で正確に書いてください:
const express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => {
res.send('Hello, World!');
});
app.listen(port, () => {
console.log(`Server running at http://localhost:${port}`);
});
実験2:編集
既存の`server.js`を以下の仕様で編集してください:
1. "/users"エンドポイントを追加し、GETリクエストで固定のユーザー配列をJSON形式で返す。
2. ユーザー配列は以下を使用:
- [{ id: 1, name: "Alice" }, { id: 2, name: "Bob" }]
3. 編集後のコードは以下の形式で正確にしてください:
const express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => {
res.send('Hello, World!');
});
app.get('/users', (req, res) => {
const users = [
{ id: 1, name: "Alice" },
{ id: 2, name: "Bob" }
];
res.send(users);
});
app.listen(port, () => {
console.log(`Server running at http://localhost:${port}`);
});
結果
このようなシンプルな例ではCursorの方が数秒近く完了が早い。
補足
- Roo Codeなどより適用速度が改善されたバージョンは未検証
- またCopilot、Windsurfも実施していない
- ClineとCursorの比較で十分と判断したため
- もし、Claude 3.7 SonnetのAPI呼び出しのレイテンシが支配的になる場合は、OpenRouterを通していると思われるProvider「Cline」ではなくAnthropic APIに変更した方がClineの編集完了の速度が改善する
- 実際の開発では、モジュールの規模が大きくなるほど単体コーディング速度だけでは効率が改善しないということを留意させてください