Gemini 3.1 Pro のエージェンティック・コーディングを徹底解剖
2026年2月にリリースされた Gemini 3.1 Pro は、Google DeepMind が「最も賢いベースラインモデル」と位置づけるフラッグシップです。ARC-AGI-2 ベンチマークで77.1%を達成し、先代の3 Pro を推論性能で2倍以上引き離しました。
ここでは3.1 Pro のエージェンティック・コーディング能力を中心に、実践的なワークフローの設計方法を深掘りします。
3.1 Pro のスペックを把握する
Gemini 3.1 Pro の主要スペックをまとめます。入力コンテキストは1,048,576トークン(約100万トークン)で、テキスト、画像、音声、動画のマルチモーダル入力に対応しています。出力は最大65,536トークンで、先代の8,192トークンから大幅に拡張されましました。
マルチモーダル入力の詳細として、1プロンプトあたり最大900枚の画像を処理でき、音声は最大8.4時間、動画は最大1時間(音声なし)に対応しています。
ARC-AGI-2 で77.1%という数字は、未知のロジックパターンを解く能力を示しています。つまり、学習データに含まれないタイプの問題でも高い正答率を出せるということです。コーディングにおいて、これは「見たことのないバグ」や「新しいアーキテクチャパターン」への対応力として現れます。
エージェンティック・コーディングとは
エージェンティック・コーディングとは、AI がコードの生成だけでなく、実行・テスト・修正・デプロイまでを自律的に行うパラダイムです。人間が指示を出し、AI がエージェントとして一連の作業を完遂します。
3.1 Pro がこの領域で強力な理由は3つあります。
第一に、ツール使用の精度が大幅に改善されましました。Function Calling の正確性が上がり、複数のツールを適切な順序で呼び出す能力が向上しています。
第二に、長いコンテキストの中での指示追従が改善されましました。100万トークンのコンテキストに大規模なコードベースを読み込ませても、指示に正確に従い続けます。
第三に、65,536トークンの出力枠により、大規模なファイルの一括生成や、複数ファイルにまたがるリファクタリングを1回のレスポンスで完了できます。
Gemini CLI でのエージェンティック・コーディング
Gemini CLI は、ターミナルから Gemini を直接呼び出せるコマンドラインツールです。3.1 Pro と組み合わせることで、強力なエージェンティック・コーディング環境が構築できます。
セットアップ
# Gemini CLI のインストール
npm install -g @anthropic-ai/gemini-cli
# 3.1 Pro をデフォルトモデルに設定
export GEMINI_MODEL=gemini-3.1-pro
# プロジェクトディレクトリで起動
cd your-project
geminiコードベース全体の解析
100万トークンのコンテキストを活かし、プロジェクト全体をコンテキストに読み込ませた上で作業を指示できます。
> このプロジェクトの全ソースコードを読み、アーキテクチャを把握してから
以下のリファクタリングを実行してください:
1. 認証ロジックをミドルウェアとして分離
2. データベースクエリをリポジトリパターンに移行
3. エラーハンドリングを統一的なエラーバウンダリに集約
3.1 Pro は、この種の複数ファイルにまたがる大規模なリファクタリングにおいて、ファイル間の依存関係を正しく追跡し、整合性を保った状態でコードを書き換えます。
バグ修正ワークフロー
> エラーログを分析し、根本原因を特定して修正してください。
テストも追加して、修正が正しいことを検証してください。
エラーログ:
TypeError: Cannot read property 'id' of undefined
at UserService.getProfile (src/services/user.ts:42)
at async ProfileController.show (src/controllers/profile.ts:18)
3.1 Pro のエージェンティックな動作により、以下のステップが自動的に実行されます。エラーログからスタックトレースを解析し、該当ファイルを読み込み、コンテキストを把握した上で修正を適用し、テストコードを書き、テストを実行して結果を確認します。
Vertex AI でのプロダクション運用
プロダクション環境では Vertex AI 経由で 3.1 Pro を使うのが推奨されます。
import vertexai
from vertexai.generative_models import GenerativeModel, Tool, FunctionDeclaration
vertexai.init(project="your-project", location="us-central1")
# ツール定義
run_tests = FunctionDeclaration(
name="run_tests",
description="指定されたテストスイートを実行する",
parameters={
"type": "object",
"properties": {
"test_path": {
"type": "string",
"description": "テストファイルまたはディレクトリのパス"
},
"coverage": {
"type": "boolean",
"description": "カバレッジレポートを生成するかどうか"
}
},
"required": ["test_path"]
}
)
deploy_to_staging = FunctionDeclaration(
name="deploy_to_staging",
description="ステージング環境にデプロイする",
parameters={
"type": "object",
"properties": {
"branch": {
"type": "string",
"description": "デプロイするブランチ名"
}
},
"required": ["branch"]
}
)
tools = [Tool(function_declarations=[run_tests, deploy_to_staging])]
model = GenerativeModel(
"gemini-3.1-pro",
tools=tools,
system_instruction="""
あなたはシニアソフトウェアエンジニアです。
コード変更後は必ずテストを実行し、
全テストが通過した場合のみステージングにデプロイしてください。
"""
)
chat = model.start_chat()
response = chat.send_message(
"認証ミドルウェアに rate limiting を追加してください。"
"テストを実行し、成功すればステージングにデプロイしてください。"
)thinking_level パラメータの活用
3.1 Pro では thinking_level パラメータで推論の深さを制御できます。
generation_config = {
"thinking_level": "high", # low, medium, high
"max_output_tokens": 65536,
"temperature": 0.1,
}
response = model.generate_content(
"このコードのセキュリティ脆弱性を特定し、修正してください。",
generation_config=generation_config,
)thinking_level: "high" は、セキュリティレビューやアーキテクチャ設計のように、深い分析が必要な場面で使います。"low" は、単純なコード生成やフォーマット変換に適しています。
3 Pro との使い分け
3.1 Pro は3 Pro の上位互換ではなく、特性が異なります。
3.1 Pro が適しているのは、複雑な推論が必要なタスク、大規模コードベースの解析、セキュリティ監査、アーキテクチャ設計です。
3 Pro や 3 Flash が適しているのは、単純なコード生成、チャットボット、レイテンシが重要なリアルタイム処理です。
コスト面でも、3.1 Pro は3 Pro より高額です。すべてのリクエストに 3.1 Pro を使うのではなく、タスクの複雑さに応じてモデルを使い分けるのが合理的です。
全体を振り返って
Gemini 3.1 Pro のエージェンティック・コーディング能力は、100万トークンのコンテキスト、65Kトークンの出力、ARC-AGI-2 77.1%の推論力という3つの柱に支えられています。Gemini CLI でのインタラクティブな開発から、Vertex AI でのプロダクション運用まで、幅広いユースケースに対応できるモデルです。