Cursor開発でChatGPT・Gemini・Claudeどれ選ぶ? 私の開発におけるるLLMの使い分け

2024/12/11に公開

こんにちは。MLエンジニアのふるです。

前回の記事ではLLM選定の基準をざっくりとお伝えしましたが、今回は「開発」の観点によりフォーカスして掘り下げていこうと思います。みなさんCursorなどの開発ツールを使って日々コーディングしている中で、LLMはどのように選んでるでしょうか?

私はコーディングの用途に応じて、ケースを瞬時に判断して、LLMのモデルを切り替えて作業することが多いです。フルスタックエンジニアの観点から大きくフロントエンドとバックエンドの観点から比較をしていきます。今回の記事ではIaCのようなインフラ作業に関してはほぼバックエンドとしての用途で事足りると考えてもらって問題ないです。

LLMモデルの比較表(2024/12/10時点)

下記は本日時点でのCodingのChatbot Arenaでのスコア(例示)をもとにしたテーブルです。
注意: このランキングはあくまである時点のスナップショットであり、タスク特性に応じて評価は変動し得ます。

Rank Model Arena Score 特徴
1 Gemini-Exp-1206 1385 高い表現力、日本語の自然さが強み。だが常に最適とは限らない
1 o1-mini 1362 精度が高く、文脈理解に優れるが、CoT推論で誤りが生じること有
2 o1-preview 1355 精度は良い時もあるが、CoT推論でコンテキストが短い場合悪手も。レイテンシーが長くなる時がある。
2 ChatGPT-4o-latest (2024-11-20) 1353 gpt4oは優秀だが、デフォルトで20240806を指すため、バージョン指定必須
3 Gemini-Exp-1121 1341 画像認識精度に強く、フロントエンド向けの画像処理タスクで有利
5 Claude 3.5 Sonnet (20241022) 1322 バランスの良さが特長。迷ったらこれを選択すると良い

gemini-exp-1206だけで充分?

一見すると、ランキング上位のGemini-Exp-1206だけ使っておけば良さそうに思えるかもしれません。しかし、開発環境でのLLM活用はタスクや要求される能力によって異なるため、単純にスコア上位モデルを選ぶのではなく、以下の点を考慮しましょう。

o1-mini:精度と文脈理解はピカイチ、でもCoTで躓くことも

o1-miniは精度が高く、文脈を読む力も強力です。Cursor上でのコード補完時も有用なケースが多いでしょう。しかし、CoT(Chain-of-Thought)推論を多用する状況では、稀に誤った結論に至ることがあります。「何かロジックがおかしいな?」と感じたら、モデル変更やプロンプトの改善を検討しましょう。

フロントエンド向け:画像認識精度を求めるなら「Gemini-Exp-1121」

フロントエンド開発では、UI情報や画像からコード生成を行うケースも出てきます。その場合、画像認識精度が高いGemini-Exp-1121が有利です。一方、バックエンド開発では、純粋なコード生成や理解能力が重要になるため、画像認識特化モデルにこだわらず、o1やGPT4oなどを検討しても良いでしょう。

バランス重視:claude-3-5-sonnet-20241022を選んでおけば無難

「とりあえず精度・推論速度のバランスが良いモデルを選びたい」場合は、claude-3-5-sonnet-20241022が候補に挙がります。コーディング支援やコンテキスト理解など、総合的なバランスに優れており、Cursorでの開発でも一定の満足感が得られるでしょう。

GPT4oのバージョン指定を忘れずに

gpt4oは優れたモデルですが、デフォルト設定では20240806のバージョンが参照されがちです。より新しいバージョン(2024/11/20など)を確実に利用するためには、バージョン指定が不可欠です。この微妙な違いが、開発生産性に影響する場合があります。

o1-preview:コンテキストが短いときの落とし穴

o1-previewは精度が良い時もありますが、CoTが絡む場面でコンテキストが短い場合、誤った回答を返す傾向があります。特にCursorで短いヒントを与える状況では注意が必要です。

フロントエンドとバックエンドでモデルを使い分ける

  • バックエンド: コーディング精度や深い論理的理解が重要なため、o1-miniやGPT4o(最新バージョン指定)、Claudeを検討すると良いでしょう。
  • フロントエンド: 画像からUI生成やOCRなどが絡む場合は、Gemini-Exp-1121など、画像認識に強いモデルを選ぶと開発効率が上がります。

まとめ

LLM選定は単純なランキング上位モデルの選択ではなく、以下の観点が重要になります。

  • タスク特性(バックエンドかフロントエンドか、必要な能力は何か)
  • 使用ツール(Cursorなど)との相性
  • モデルの特性(CoT推論の強弱、画像認識精度、バージョン指定)

開発現場は常に流動的で、LLMは日々進化しています。特定のモデルに固執せず、要件に応じて柔軟に選び分けることが、より効率的な開発と高品質な成果物の実現につながるでしょう。

次は、エージェントをよく使う分析タスクの効率化についてどうモデル選定するかを解説していこうと思います。

Discussion