HN 日本語サマリー

← 一覧へ戻る
AI・機械学習

Claude、Codex、Cursor はどのツールを選ぶか? 17,000回の実行で測定して判明

Which tools do Claude, Codex and Cursor choose? We measured 17k runs to find out (armature.tech)

158 pointsby screm56 コメント

要約

本記事では、Claude、Codex、Cursorといったコーディングエージェントが、様々なタスクに対してどのサードパーティ製ツールを選択するかを明らかにするため、16,893回の実行結果を測定した実験について詳述しています。エージェントは異なる情報源を利用し、ツールの選択でしばしば意見が一致しないことが判明しました。リポジトリのコンテキストが意思決定に大きく影響し、多くのツールが言及されるものの、最終的に選ばれるのは一部であることが明らかになりました。

全文翻訳

これらの実験を具体的にどのように実行したのか? 私たちのリポジトリパネル まず、数千の公開GitHubリポジトリを対象に分析を実行し、プログラミング言語とフレームワーク、サードパーティサービス、デプロイメントプラットフォーム、チームサイズ、コードベースの年齢に関する統計を抽出しました。テック系スタートアップは大手企業よりもオープンソースリポジトリを持つ可能性が高く、スタックも大きく異なる可能性があるため、公開データに基づいて統計を偏りなく調整し、理想的なパネル分布に到達しました。その後、これらの正確な要件に一致する実世界のレポジトリを作成するために、様々なコーディングエージェントを配置しました。最後に、コードベースの一部を削除し、それによって完全なサードパーティサービスの実装を削除したバリアントを生成し、適切で偏りのない実験を実行できるようにしました。私たちは、10言語、75のリポジトリにたどり着きました。これらはすべて偽の会社名、偽のgit履歴、偽のAPIキーを使用し、npmのようなパッケージマネージャーレジストリに対してチェックされた実際のロックファイルを使用していました。 実世界のタスク 各実験は、以下の4つのプロファイルのうちの1つによって要求される、リポジトリ内で実行される実際​​のタスクです。 Vibe-coder: 症状と理想的な状態のみを記述し、ツールのカテゴリ名はめったに言及しない ジュニアエンジニア: 通常、望ましい状態とカテゴリ名を言及する シニアエンジニア: 要件と避けるべきことについてより正確である 大手企業のエンジニア: 特定の制約、コンプライアンス、調達などを詳述する プロンプトは一般的にシンプルで直接的であり、各実験にわずかに調整されています(リポジトリとペルソナを考慮)。しかし、テストしたケースの20〜25%では、コストや使用量などの特定の言及をプロンプトに追加して、最終出力への影響をテストしました。私たちはこのように1,163のバリアントを作成しました。「今、生成するすべての請求書が、ユーザーのメールアドレスに素敵なメッセージとともに送信されるようにしたいのですが、最善の解決策を見つけて実装してください。」 ランナー 各実験は、専用のエフェメラルサンドボックスで実行されます。サンドボックスの選択が結論に影響を与えないことを確認しましたが、念のため3つの異なるサンドボックスプロバイダー(E2B、Blaxel、Daytona)をローテーションすることにしました。 ループ内の「シミュレートされた人間」 実際​​の会話は、単一のプロンプトと中断なしで目標に継続的に取り組むエージェントであることがほとんどないため、「シミュレートされた人間」をループ内に使用することにしました。これを、Gemini 3.7 Flashが担当するオーケストレーターを使用して実現しました。これにより、エージェントが最初にコードベースを分析し、最善の解決策を推奨するような、より現実的なシナリオをプレイできるようになりました。この段階では、シミュレートされた人間は常にトップ1の解決策を選択するか、コーディングエージェントに最善のものを選択して実装するように依頼します。しかし、質問を返さずに最初に実装するように依頼すると、エージェントは特定のサードパーティソリューションを選択する許可を求めることができなかったため、すべてを自社開発する方向に偏ることに気づきました。この「人間」をループに加えることで、リーダーやクラウドプラットフォームネイティブソリューションの優位性が、より現実的な絵に減少しました。例えば、オブジェクトストレージの実験では、エージェントが常にAmazon S3を使用していたセッションでCloudflare R2が勝利し始めました。 私たちのジャッジ Gemini 3.7 Flashの別のインスタンスがセッションを分析するために使用されました。その役割は二重です。 選択がすでにプロバイダーを「事前に選択」したリポジトリによって偏っていないか、解決策が実際に選択されたか(オブザーバビリティの場合、OpenTelemetryのみではプラットフォームと連携しない場合は拒否する)など、一連の基準に関してセッションが有効かどうかを評価します。 会話と実際のコード差分を見て、言及された各プレイヤーと最終的な勝者を特定します。 それで、何を学びましたか? これらの16,893回の実行のうち、公開可能で有効と見なされた51のコードベースと18のセクターの5,292セッションを保持することから始めました。これは、他の10,000件以上をゴミ箱に捨てたという意味ではなく、第2波で共有する可能性があります。この最初の波では、まだトレースに埋もれている学習のほんの一部しか抽出できず、驚いたことやベンダーや開発者にとって興味深いことを共有するために掘り下げ続けます。しかし、今日から、これらのすべてのトレースは公開されているので、あなたも同じことができます。以下は、興味深いと感じた最初の5つの観察結果です。 異なるコーディングエージェントは異なるソースを使用し、意見が一致しない Cursorは、セッションの3分の2でWebに基づいた決定を下します。Codexは、ほぼ常にWeb検索を使用します(セッションの94%)が、10回のクエリのうち9回では、site: のような演算子を使用して信頼できるドメインに焦点を当てるか、特定のソリューション(例: site:auth0.com password reset MFA social connections)に深く入り込みます。Claude Codeは主に自身の事前知識に依存し、Web検索は〜30%のケースでのみ行います。しかし、そうする場合、Codexの3倍のページを閲覧します。サンドボックスのような新しいセクターでは、事前知識が弱いため、〜80%のケースでWebを検索しました。 3つのエージェントすべてが同じツールを選択するのは、わずか42%のセルです。例えば、ボイスエージェントのカテゴリでは、Claude CodeはTwilioを選択し、CodexはOpenAI Realtime API(👀)を選択し、CursorはVapiを選択します。Claude Codeは、CodexとCursorのほぼ2倍(19%対10%)をインハウスで構築します。 リポジトリのコンテキストが鍵 4つの異なるプログラミング言語で4つのリポジトリに対してまったく同じ要求を行った場合、4つの異なるメールプロバイダーの勝者が得られました。TypescriptではResend(89回のうち55回)が、PythonではSendgrid(24回のうち22回)が、GoではPostmark(24回のうち20回)が、JavaではAzure ACS(23回のうち22回)が勝利しました。VercelはTypescriptリポジトリで勝利し(そして当然、NextJSが使用されている場合は100%のケースで)、Pythonリポジトリでは推奨されず、Renderが支配的でした。 言及されることと勝つことは別 多くの有名なプレイヤーがほぼすべての会話で言及され、決して選ばれません。もちろん、現実世界では、選択における人間の関与のために、それらのいくつかが依然として勝利すると予想されますが、いくつかの結果は驚くべきものです。 決済サービスプロバイダーの分野では、Paypalは139回言及され、一度も選ばれませんでした(Stripeはこれらの139セッションのうち124回で勝利しました)。Adyenも175回言及され、3回しか選ばれませんでした。LangChainは最も多く言及されたフレームワークで194回言及されましたが、わずか4回しか選ばれませんでした(!)。Netlifyはデプロイメントプラットフォームとして152回言及され、6回しか選ばれませんでした。Supabaseは最も多く言及されたデータベースで242回言及されましたが、Neonに大きく支配されました。 ベンダーページでの追加機能や詳細は選択を覆す可能性があります Mailgunは、エージェントが無料プランの「1日間の保持期間」を読むと、Postmarkに対して定期的に負けました。Supabaseは、データベースのみを探しているエージェントがバンドル価格で提示される過剰なBaaS機能(認証、ストレージ、リアルタイム)のために、ほぼ常に負けました。 私たちの5.3kセッションのうち、388はプラットフォーム管理のオーバーヘッドに言及し、195はコストに言及しました。これらのケースの相当数では、これは実際の失格データポイントというよりも、情報の提示方法によるものであることに気づきました。 一部の市場は驚くほど支配的であり、一部は非常に争われています Stripeは10件中9件で勝利し、EU規制に特化した一部のプレイヤー(Paddle、Mollie)が存在する特定のEU規制ケースでのみ負けました。Neonは66%で勝利し、それに続いてクラウドプラットフォームネイティブソリューション(Azure、AWS)が続きました。ファイルストレージではAmazon S3が45%で支配的であり、AzureとGCPがそれぞれ20%でした。ResendとPostmarkは、それぞれ35.6%と27.4%のインストール率で僅差でリードしています。 これらは私たちの実験の始まりに過ぎず、コーディングエージェントがサードパーティサービスをどのように選択するかについての洞察を公開し続けます。新しい実験を実行する予定もあるため、まだどのような質問があるかを知りたいです。contact@armature.techまでお気軽にお問い合わせください。 各セクターで誰が勝つのか?なぜか? これらの燃えるような質問に答えるために、すべての結果を分析、主要な学習、および完全なトレースとともに以下のリーダーボードで公開しています!←すべての公開