gemini-3.1-pro-preview と gemini-3.1-pro-preview-customtools は、Googleが同日にリリースした2つのモデルエンドポイントです。価格や推論能力は同じですが、その振る舞いは大きく異なります。本記事では、6つの重要な視点から両者の違いを比較し、Agent開発における正しい選択をサポートします。
コアバリュー: この記事を読み終える頃には、標準版と customtools 版のどちらをどのようなシーンで使うべきかが明確になり、Agent開発における「落とし穴」を回避できるようになります。

まず結論から: どちらのバージョンを使うべきか
お急ぎの方は、こちらの表をご覧ください:
| 利用シーン | 推奨モデル | 理由 |
|---|---|---|
| 純粋な対話・質疑応答 | 標準版 | 生成品質が最も安定しているため |
| テキスト翻訳・分析 | 標準版 | ツール呼び出しを必要としないため |
| コード生成 (ツールなし) | 標準版 | 直接コードを出力させるのに適しているため |
| コーディングアシスタント (view_file 等のツールあり) | customtools 版 | ツールが正しく呼び出されることを保証するため |
| DevOps Agent (bash + カスタムツール) | customtools 版 | モデルが bash だけで解決しようとしてツールを無視するのを防ぐため |
| MCP ワークフロー | customtools 版 | ツールの優先順位を確保するため |
| どちらか迷った場合 | まずは標準版を試し、ツールが無視されるようなら customtools 版へ | Google公式の推奨アプローチ |
🎯 Google公式のコメント: 「もし gemini-3.1-pro-preview を使用していて、モデルがカスタムツールを無視して bash コマンドを優先してしまう場合は、代わりに gemini-3.1-pro-preview-customtools モデルを試してみてください。」
違い 1: ツール呼び出しの優先順位 — 核心的な違い
これが2つのバージョンの唯一の本質的な違いです。モデルが「bash 実行」と「カスタムツール」の両方の能力を持っている場合、どのように選択するのでしょうか?
標準版の問題:こっそり bash を使ってしまう
標準版に view_file ツールを登録した状態で、ファイルを表示するように指示すると:
ユーザー: "src/main.py の内容を表示して"
標準版の挙動: bash コマンド `cat src/main.py` を実行 ← ツールがスキップされた!
Hacker News の開発者コミュニティでは、多くの開発者から同様のフィードバックが寄せられています:
- 「モデルが提供されたテキスト編集ツールを使わず、奇妙な方法でファイルを編集しようとする」
- 「ツールの呼び出し能力が低く、よく遠回りをする」
- 「ループに陥りやすく、先に進めない」
customtools 版の修正:ツールを尊重する
ユーザー: "src/main.py の内容を表示して"
customtools 版の挙動: view_file("src/main.py") を呼び出し ← 登録したツールを使用 ✓
| シナリオ | 標準版の挙動 | customtools 版の挙動 |
|---|---|---|
| ファイル表示 | cat src/main.py (bash) |
view_file("src/main.py") |
| コード検索 | grep -r "TODO" *.py (bash) |
search_code("TODO", "*.py") |
| ファイル編集 | sed -i 's/old/new/' file (bash) |
edit_file(path, old, new) |
| ファイル一覧 | ls -la src/ (bash) |
list_files("src/") |
| テスト実行 | pytest tests/ (bash) |
run_tests("tests/") |
違い 2: 汎用的な品質パフォーマンス — 標準版の方が安定
Google は公式ドキュメントで、重要な警告を明示しています:
"While gemini-3.1-pro-preview-customtools is optimized for agentic workflows that use custom tools and bash, you may see quality fluctuations in some use cases which don't benefit from such tools."
(gemini-3.1-pro-preview-customtools は、カスタムツールや bash を使用するエージェント的なワークフロー向けに最適化されていますが、これらのツールを活用しない一部のユースケースでは、品質に変動が見られる場合があります。)
これは、customtools 版が以下のシナリオにおいて、標準版ほど安定しない可能性があることを意味します:
| シナリオタイプ | 標準版の品質 | customtools 版の品質 | 説明 |
|---|---|---|---|
| テキストのみの対話 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | わずかな変動の可能性あり |
| 長文作成 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ツールが関与しない場合、標準版の方が優れている |
| 数学的な推論 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | 推論の核となる能力は同じ |
| コード生成(ツールなし) | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | 標準版がわずかに優位 |
| エージェント + カスタムツール | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | customtools の方が明らかに優れている |
| bash + カスタムツールの混用 | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | customtools の核心的な強み |
重要な認識: customtools 版は「より強力な」モデルではなく、「ツール呼び出しにより特化した」チューニング版です。ツールが関与しないシナリオでは、むしろ標準版の方が優れています。
💡 選択のアドバイス: アプリケーションのリクエストの 50% 以上がツール呼び出しに関係ない場合は、標準版をデフォルトのままにし、エージェントのワークフローでのみ customtools 版に切り替えることをお勧めします。APIYI(apiyi.com)は、コード内でシナリオに応じて model パラメータを動的に切り替えることをサポートしています。
違い 3: モデルのパラメータと仕様 — 完全に同一
2つのバージョンは「ハードウェア仕様」のレベルでは完全に一致しています。
| 仕様 | 標準版 | customtools 版 |
|---|---|---|
| 入力コンテキスト | 1,048,576 tokens | 1,048,576 tokens |
| 最大出力 | 65,536 tokens | 65,536 tokens |
| 入力料金 (≤200K) | $2.00 / 1M tokens | $2.00 / 1M tokens |
| 入力料金 (>200K) | $4.00 / 1M tokens | $4.00 / 1M tokens |
| 出力料金 (≤200K) | $12.00 / 1M tokens | $12.00 / 1M tokens |
| 出力料金 (>200K) | $18.00 / 1M tokens | $18.00 / 1M tokens |
| コンテキストキャッシュ | $0.20-$0.40 / 1M | $0.20-$0.40 / 1M |
| ARC-AGI-2 | 77.1% | 同一(個別データなし) |
| SWE-Bench | 80.6% | 同一(個別データなし) |
| GPQA Diamond | 94.3% | 同一(個別データなし) |
| 思考システム | Low / Medium / High | Low / Medium / High |
| マルチモーダル入力 | テキスト/画像/音声/動画 | テキスト/画像/音声/動画 |
ポイント: Googleはcustomtools版に対して個別のベンチマークデータを公開していません。これは、基盤となるモデルが同一であるためです。違いは、ツール呼び出し動作のチューニングのみにあります。
違い 4: API 呼び出し方法 — model パラメータのみが異なる

コード例: 標準版と customtools 版をワンクリックで切り替え
import openai
client = openai.OpenAI(
api_key="YOUR_API_KEY",
base_url="https://api.apiyi.com/v1" # APIYI 統一インターフェース
)
# カスタムツールの定義
tools = [{
"type": "function",
"function": {
"name": "view_file",
"description": "指定したファイルの内容を表示",
"parameters": {
"type": "object",
"properties": {
"file_path": {"type": "string", "description": "ファイルパス"}
},
"required": ["file_path"]
}
}
}]
# 標準版: ツールをスキップする可能性あり
resp_standard = client.chat.completions.create(
model="gemini-3.1-pro-preview",
messages=[{"role": "user", "content": "src/main.py を表示して"}],
tools=tools
)
# customtools 版: ツールの使用を優先
resp_custom = client.chat.completions.create(
model="gemini-3.1-pro-preview-customtools",
messages=[{"role": "user", "content": "src/main.py を表示して"}],
tools=tools
)
# 動作の違いを比較
print("標準版:", resp_standard.choices[0].message)
print("customtools:", resp_custom.choices[0].message)
違い 5:開発者の実際の体験 — コミュニティのフィードバック
Hacker News や GitHub における開発者のフィードバックから、エージェント(Agent)シナリオにおける標準版の課題が見えてきました。
標準版におけるエージェント・シナリオの課題
Hacker News の議論から抽出した開発者のフィードバック:
| 問題の説明 | 原因の分析 | customtools で解決できるか |
|---|---|---|
| 「モデルが提供されたテキスト編集ツールを使わず、奇妙な方法でファイルを編集しようとする」 | 標準版は bash を優先する傾向がある | 解決可能 — カスタムツールを優先的に使用 |
| 「ツールの呼び出し能力が低く、遠回りすることが多い」 | ツールの優先度が低い | 解決可能 — ツールの優先度を向上 |
| 「ループに陥りやすく、先に進めない」 | ツールと bash の切り替えが混乱している | 部分的に解決 — ツールのパスがより明確になる |
| 「思考トークンを大量に消費した挙句、不可解な行動をとる」 | モデルの推論とツール選択の競合 | 部分的に解決 — ツール選択の確実性が向上 |
| 「常に『続けて』や『完了して』と指示し続ける必要がある」 | エージェントのメインループの問題 | 解決不可 — これはモデル全般の課題 |
GitHub Copilot の実践
GitHub Copilot チームが Gemini 3.1 Pro を統合した際、次のように指摘しています:
「モデルは edit-then-test(編集してテスト)のループにおいて優れたパフォーマンスを発揮し、高いツール精度を持ち、より少ないツール呼び出しで目標を達成できます。」
これは、適切なツール呼び出しの枠組みがあれば、Gemini 3.1 Pro のエージェント能力は非常に強力であることを示しています。customtools 版は、まさにこの「高いツール精度」をより確実に引き出すために設計されています。
🚀 実践的なアドバイス: コーディングアシスタント系の製品を構築している場合は、標準版のツールスキップ問題を避けるために、最初から customtools 版を使用することをお勧めします。APIYI (apiyi.com) を通じて、迅速にデプロイとテストが可能です。
違い 6:適したエージェント・フレームワークとコーディングツール
| ツール / フレームワーク | 推奨バージョン | 理由 |
|---|---|---|
| 独自開発エージェント(カスタムツールあり) | customtools | ツールが正しく呼び出されることを保証 |
| Claude Code 系の製品 | customtools | view_file や edit_file などのツールが必要 |
| Cursor | customtools | IDE ツールセットの優先度を確保する必要がある |
| GitHub Copilot | すでに最適化済み | Copilot 側でツールの呼び出しを独自に最適化している |
| LangChain エージェント | customtools | フレームワークに登録されたツールを優先的に呼び出す必要がある |
| MCP プロトコル・エージェント | customtools | MCP ツールの優先度が必要 |
| 純粋な RAG アプリケーション | 標準版 | 通常、bash とツールの競合は発生しない |
| チャットアプリ | 標準版 | ツールの呼び出しを伴わない |
| コンテンツ生成 API | 標準版 | 純粋なテキスト出力 |
如何判断是否需要从标准版切换到 customtools 版

快速诊断清单
如果你在使用标准版时遇到以下情况,说明应该切换到 customtools 版:
- 模型执行
cat而不是调用你的view_file - 模型执行
grep而不是调用你的search_code - 模型执行
sed而不是调用你的edit_file - 模型在工具调用日志中频繁出现 bash 命令
- 模型的工具调用率低于预期 (低于 50%)
- 模型似乎「不知道」有自定义工具可用
出现 2 条以上,建议立即切换到 gemini-3.1-pro-preview-customtools。
进阶: 在代码中动态切换两个版本
最佳实践不是「二选一」,而是根据请求类型动态路由:
import openai
client = openai.OpenAI(
api_key="YOUR_API_KEY",
base_url="https://api.apiyi.com/v1" # APIYI 统一接口
)
def smart_route(messages, tools=None):
"""根据是否需要工具,动态选择模型版本"""
if tools and len(tools) > 0:
# 有自定义工具 → 用 customtools 版确保工具被调用
model = "gemini-3.1-pro-preview-customtools"
else:
# 纯对话/推理 → 用标准版确保质量稳定
model = "gemini-3.1-pro-preview"
return client.chat.completions.create(
model=model,
messages=messages,
tools=tools
)
# 场景 1: 纯推理 → 自动选标准版
resp1 = smart_route(
messages=[{"role": "user", "content": "解释量子纠缠原理"}]
)
# 场景 2: Agent 工作流 → 自动选 customtools 版
tools = [{"type": "function", "function": {
"name": "view_file",
"description": "查看文件",
"parameters": {"type": "object", "properties": {
"path": {"type": "string"}
}, "required": ["path"]}
}}]
resp2 = smart_route(
messages=[{"role": "user", "content": "查看 config.py"}],
tools=tools
)
💰 成本提示: 两个版本价格完全相同,动态路由不会增加任何额外成本。通过 APIYI apiyi.com 的统一接口,切换模型就像改一个字符串一样简单。
よくある質問
Q1: customtools版は高くなりますか?
いいえ、高くなりません。両バージョンの価格は完全に同じです:入力 $2.00 / 1M tokens、出力 $12.00 / 1M tokens。APIYI(apiyi.com)プラットフォーム経由で呼び出す場合、同じAPIキーで両方のバージョンを利用できます。
Q2: function calling(関数呼び出し)のみを使用し、bashの実行権限を与えていない場合、customtools版を使う必要はありますか?
通常は必要ありません。customtools版は主に「bashとカスタムツールが共存する場合、モデルがbashを優先してしまう」という問題を解決するためのものです。お使いのエージェントにbashの実行能力がないのであれば、標準版のツール呼び出しで十分に信頼性があります。
Q3: customtools版の「品質の変動」とは具体的にどのようなものですか?
Googleは具体的なデータを公開していません。開発者からのフィードバックによると、主に純粋な対話や長文生成など、ツールを使用しないシーンにおいて、出力の一貫性や文体にわずかな変動が見られる場合があるようです。ツールを多用するエージェントのシナリオでは、むしろcustomtools版の方が全体的な品質は向上します。
Q4: 2つのバージョンを同時に使用することはできますか?
もちろんです。リクエストの種類に応じてコード内で動的にルーティングすることをお勧めします。ツール呼び出しを含むリクエストはcustomtools版へ、純粋なテキストリクエストは標準版へ送信します。APIYI(apiyi.com)の統合インターフェースを使えば、modelパラメータを変更するだけで済みます。
まとめ:標準版 vs customtools版 6つの比較チェック
| # | 比較の観点 | 標準版 | customtools版 | 選択のアドバイス |
|---|---|---|---|---|
| 1 | ツールの優先順位 | bashを優先する可能性あり | カスタムツールを優先 | エージェントにはcustomtools |
| 2 | 汎用的な品質 | 全シーンでバランスが良い | ツール以外のシーンで微小な変動あり | 汎用タスクには標準版 |
| 3 | 仕様/価格 | 完全に同じ | 完全に同じ | コストの差はなし |
| 4 | API呼び出し | modelパラメータのみ異なる | modelパラメータのみ異なる | ワンクリックで切り替え |
| 5 | コミュニティの反応 | 標準版はツール呼び出しが不安定 | ツール呼び出しがより信頼できる | エージェント開発ならcustomtools |
| 6 | 適用フレームワーク | Chat/RAG/純粋な推論 | Cursor/Claude Code/MCP | アプリの種類による |
一言で言えば:customtoolsはアップグレード版ではなく専用版です。脳は同じですが、ツールの選択戦略が異なります。エージェント開発にはcustomtoolsを、その他のシーンでは標準版を使いましょう。APIYI(apiyi.com)を通じて、同じAPIキーで自由に行き来できます。
選択の意思決定クイックチェック
| あなたの状況 | 答え |
|---|---|
| 対話アプリのみ作成している | 標準版を使用 |
| エージェントを開発している | customtools版を使用 |
| 2つのバージョン、どちらが強力? | 推論能力は同じ、ツール呼び出しはcustomtoolsの方が信頼できる |
| 切り替えにコード修正は必要? | modelパラメータを変えるだけ、他のコードはそのまま |
| コストに差はある? | 完全に同じ |
参考文献
-
Google AI ドキュメント: Gemini 3.1 Pro Preview モデルページ
- リンク:
ai.google.dev/gemini-api/docs/models/gemini-3.1-pro-preview - 説明: customtools エンドポイントの紹介と使用上の注意点
- リンク:
-
Gemini 3 開発者ガイド: FAQ — モデルの切り替えタイミング
- リンク:
ai.google.dev/gemini-api/docs/gemini-3 - 説明: 標準版から customtools 版へ切り替えるタイミングに関する公式の推奨事項
- リンク:
-
Gemini API Changelog: 2026年2月19日 リリースノート
- リンク:
ai.google.dev/gemini-api/docs/changelog - 説明: customtools バリアントの初回リリース告知
- リンク:
-
Hacker News での議論: Gemini 3.1 Pro のツール呼び出しに対する開発者のフィードバック
- リンク:
news.ycombinator.com/item?id=47074735 - 説明: 実際の開発者の体験談と問題報告
- リンク:
-
GitHub Copilot Changelog: Gemini 3.1 Pro の統合
- リンク:
github.blog/changelog/2026-02-19-gemini-3-1-pro-is-now-in-public-preview-in-github-copilot - 説明: コーディングアシスタントにおけるツールの精度評価
- リンク:
📝 著者: APIYI チーム | 技術交流については APIYI apiyi.com をご覧ください
📅 更新日: 2026年2月20日
🏷️ キーワード: gemini-3.1-pro-preview-customtools, 標準版との比較, エージェント開発, ツール呼び出し, function calling, モデルの選択