📑
Claude 3.7 SonnetとGemini 2.5 ProとGPT-4.1の誰が一番、コードの気持ちを理解できるのか?
Roo Codeのプロンプト組み立てロジックのコードリーディング調査を題材に、Claude 3.7-SonnetとGemini 2.5 ProとGPT-4.1で比較してみました。
Roo Codeを使っています。
このプロジェクトにおける、会話二回目のときに、LLM実際に投げられるデータはどんな形式になっている?Claude を事例に。
制約条件:
* 実際にメッセージを組み立てるのに必要な全部のソースコードを確認しろ
* 厳密に再現しろ
* system prompt は除外しろ
* JSON形式で出力しろ
* 環境情報などはダミーで良い
題材:
「README.mdを要約して」
Claue 3.7-Sonnet
- systemプロンプト全体を除外してほしかったが、まぁしゃーない
-
<environment_details>
とか再現できてて偉い
優秀!
{
"messages": [
{
"role": "system",
"content": "You are Roo, an experienced technical leader who is inquisitive and an excellent planner. Your goal is to gather information and get context to create a detailed plan for accomplishing the user's task, which the user will review and approve before they switch into another mode to implement the solution.\n\n====\n\nTOOL USE\n\n... (システムプロンプトの内容) ..."
},
{
"role": "user",
"content": [
{
"type": "text",
"text": "<task>\nREADME.mdを要約して\n</task>"
},
{
"type": "text",
"text": "<environment_details>\n# VSCode Visible Files\n\n# VSCode Open Tabs\n\n# Current Time\n2025/4/16 午前8:27:59 (Asia/Tokyo, UTC+9:00)\n\n# Current Context Size (Tokens)\n(Not available)\n\n# Current Cost\n$0.00\n\n# Current Mode\n<slug>architect</slug>\n<name>Architect</name>\n<model>o3-mini</model>\n</environment_details>"
}
]
},
{
"role": "assistant",
"content": [
{
"type": "text",
"text": "まず、README.mdファイルの内容を確認して要約するために、ファイルを読み取る必要があります。"
},
{
"type": "tool_use",
"id": "tool_1",
"name": "read_file",
"input": {
"path": "README.md"
}
}
]
},
{
"role": "user",
"content": [
{
"type": "text",
"text": "[read_file for 'README.md'] Result:<file><path>README.md</path>\n<content lines=\"1-100\">\n# Roo Code\n\nRoo Code is a VS Code extension that helps you write, understand, and improve code using Claude.\n\n## Features\n\n- **Chat with Claude**: Ask questions about your code, get explanations, and request improvements.\n- **Code Generation**: Generate new code based on your requirements.\n- **Code Refactoring**: Improve existing code with better patterns and practices.\n- **Bug Fixing**: Identify and fix bugs in your code.\n- **Documentation**: Generate documentation for your code.\n\n... (READMEの内容) ...\n</content>\n</file>"
},
{
"type": "text",
"text": "<environment_details>\n# VSCode Visible Files\n\n# VSCode Open Tabs\n\n# Current Time\n2025/4/16 午前8:28:05 (Asia/Tokyo, UTC+9:00)\n\n# Current Context Size (Tokens)\n12,732 (6%)\n\n# Current Cost\n$0.05\n\n# Current Mode\n<slug>architect</slug>\n<name>Architect</name>\n<model>o3-mini</model>\n</environment_details>"
}
]
}
]
}
Gemini 2.5 Pro
-
[SYSTEM INFORMATION]
は、大分惜しいけど頑張ってる -
<thinking>
再現がんばってる(たしか、実際には使われないはずだけど、コード自体はある)
惜しい!
{
"model": "claude-3-opus-20240229",
"max_tokens": 4096,
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "[SYSTEM INFORMATION]\nOperating System: macOS Sequoia\nDefault Shell: /bin/zsh\nHome Directory: /Users/erukiti\nCurrent Workspace Directory: /Users/erukiti/work/Roo-Code\n\n[WORKSPACE FILES]\n.env.sample\n.eslintrc.json\n...\nREADME.md\n...\n(File list truncated)\n\n[CURRENT TIME]\n2025/4/16 午前8:52:38 (Asia/Tokyo, UTC+9:00)\n\n[MODE]\n<slug>architect</slug>\n<name>Architect</name>\n<model>gemini-2.5-pro-exp-03-25</model>\n\n<task>\nREADME.mdを要約して\n</task>"
}
]
},
{
"role": "assistant",
"content": [
{
"type": "text",
"text": "<thinking>ユーザーはREADME.mdの要約を求めています。まず、ファイルの内容を確認する必要があります。read_fileツールを使用してREADME.mdの内容を取得します。</thinking>"
},
{
"type": "tool_use",
"id": "toolu_01A09q90qw90lq917835lq9",
"name": "read_file",
"input": {
"path": "README.md"
}
}
]
},
{
"role": "user",
"content": [
{
"type": "tool_result",
"tool_use_id": "toolu_01A09q90qw90lq917835lq9",
"content": [
{
"type": "text",
"text": "[Content of README.md - Truncated as requested]"
}
]
}
]
},
{
"role": "assistant",
"content": [
{
"type": "text",
"text": "README.mdを要約しました。\n\nRoo Code(旧Roo Cline)は、VSCode内で動作するAI搭載の自律型コーディングエージェントです。自然言語での対話、ファイル操作、ターミナル実行、ブラウザ自動化が可能で、カスタムモードにより様々な役割(コーディング、アーキテクト、デバッグなど)に適応します。主な機能はコード生成、リファクタリング、デバッグ、ドキュメント作成、質問応答、タスク自動化などです。MCP(Model Context Protocol)により外部ツールとの連携も可能です。最新版3.11ではパフォーマンスが向上し、APIキー残高表示やプロジェクト単位のMCP設定などの新機能が追加されました。ドキュメントやコミュニティ(Discord, Reddit, GitHub)も提供されています。"
}
]
}
]
}
GPT-4.1
昨日登場したばかりのやつ。コーディング性能上がってるらしいので期待!!!!
- 期待外れ
- 一般論の悪癖が出過ぎてる
- ゾス力が足りない!!!!!
[
{
"role": "user",
"content": [
{
"type": "text",
"text": "README.mdを要約して",
"cache_control": { "type": "ephemeral" }
}
]
},
{
"role": "assistant",
"content": "このプロジェクトのREADME.mdは、プロジェクトの概要、セットアップ手順、主な機能、使用方法について説明しています。"
},
{
"role": "user",
"content": [
{
"type": "text",
"text": "もう少し詳しく説明して",
"cache_control": { "type": "ephemeral" }
}
]
}
]
まとめ
これだけで結論を出しても仕方ないけど、
- Claude 3.7 Sonnetが一番コードの気持ちを理解できてる
- Gemini 2.5 Proは惜しい
- GPT-4.1は、このタスクに限っては論外。ゾス力たんねーぞ
LLMの使い分けは大体Geminiでいい(2025年4月時点)|erukiti の記事ではSonnetをこき下ろしたけど、こうやって見ると、個別タスクとしては強いんだよな。
あーでも、テックな会話相手や、コーディングエージェント全体ではGemini 2.5 Proが一番だと思ってる。Sonnetは小さいレンジでの性能は高くても、コンテキストサイズが小さすぎるのと、近視眼的になりやすいため。
Discussion