【Gemini 3.5 Flash】FlashなのにProを超えた!Google最強のエージェント特化モデルを徹底解説

押さえておきたいポイント
  • Google I/O 2026で発表されたGemini 3.5シリーズの第一弾モデル
  • コーディング・エージェントベンチマークでGemini 3.1 Proを上回る性能を達成しながら、出力速度は他のフロンティアモデルの約4倍
  • Geminiアプリ・Google検索のAIモード・Google AI Studioなどで5/20より一般提供(GA)開始

2026年5月20日(日本時間)、GoogleはGoogle I/O 2026にて、Geminiシリーズの最新モデルファミリー「Gemini 3.5」を発表し、その第一弾として「Gemini 3.5 Flash」の一般提供を開始しました!

これまでFlashシリーズは、軽量・高速だけど性能はProに及ばないという位置づけでしたが、今回のGemini 3.5 Flashはその常識を覆し、コーディングやエージェント系のベンチマークでGemini 3.1 Proを超えるスコアを叩き出しています。しかも、出力速度は他のフロンティアモデルと比較して約4倍というとんでもないスピードを実現しています。

とはいえ、「具体的にどう使えるの?」「料金はどのくらい?」と気になっている方も多いのではないでしょうか。そこで本記事では、Gemini 3.5 Flashの概要から技術的な仕組み、料金体系、具体的な使い方まで徹底的に解説していきます。ぜひ最後までご覧ください!

\生成AIを活用して業務プロセスを自動化/

  1. Gemini 3.5 Flashとは?
  2. Gemini 3.5 Flashの仕組み
  3. Gemini 3.5 Flashの特徴
  4. X上で話題:「FlashなのにProより高い」料金論争
  5. Gemini 3.5 Flashの安全性・制約
  6. Gemini 3.5 Flashの料金
  7. Gemini 3.5 Flashのライセンス
  8. Gemini 3.5 Flashの使い方
    1. Google AI Studioからブラウザで試す
    2. Google AI Studioにアクセス
    3. モデルを選択
    4. プロンプトを入力して実行
    5. コードを取得(開発者向け)
    6. Python(Gemini API)から利用する
    7. SDKをインストール
    8. APIキーを取得
    9. Pythonコードを実行
    10. マルチモーダル入力を試す(画像+テキスト)
    11. Geminiアプリで試す
    12. Geminiアプリにアクセス
    13. モデルを確認
    14. プロンプトを入力
  9. 【業界別】Gemini 3.5 Flashの活用シーン
    1. 金融・保険業界
    2. マーケティング・コンテンツ制作
    3. 教育・研究機関
  10. 【課題別】Gemini 3.5 Flashが解決できること
    1. 長時間かかるエージェントタスクの高速化
    2. フロンティアモデルの高コスト問題解決
    3. レスポンス速度が求められるリアルタイムアプリケーション
  11. Gemini 3.5 Flashを使ってみた
    1. 検証①:複数ファイルを横断したコードリファクタリング
    2. 検証②:学術論文の図表を読み解いてもらう
    3. 検証③:アニメーション付きSVGの生成
  12. よくある質問
    1. Gemini 3.5 FlashとGemini 3.1 Proのどちらを使うべきですか?
    2. Gemini 3.5 Flashは無料で使えますか?
    3. Gemini 3.5 Proはいつリリースされますか?
  13. Gemini 3.5 Flashでエージェント開発を加速させよう!
  14. 最後に

Gemini 3.5 Flashとは?

Gemini 3.5 Flashとは?
参考:https://blog.google/innovation-and-ai/models-and-research/gemini-models/gemini-3-5/?utm_source=x&utm_medium=social&utm_campaign=&utm_content=#richer-graphics

Gemini 3.5 Flashは、Google DeepMindが開発したGemini 3.5シリーズの第一弾となる大規模マルチモーダルAIモデルです。

2026年5月20日のGoogle I/O 2026で発表され、同日より一般提供(GA)が開始されました。これまでのGemini 3シリーズ(3 Pro Preview、3.1 Pro Previewなど)が「Preview」として提供されてきたのに対し、Gemini 3.5 Flashは最初からGA(一般提供)としてリリースされた点が大きな違いです。Googleとしても、プロダクション環境での利用を前提に投入してきたことが伺えますね。

テキスト・画像・音声・動画といった複数のモダリティをネイティブに処理でき、コンテキストウィンドウは最大100万トークン(入力)、出力は最大64,000トークンに対応しています。API上のモデルIDは gemini-3.5-flash で、Previewサフィックスなしで呼び出せます。

Googleは公式ブログで、Gemini 3.5を「フロンティアレベルのインテリジェンスとアクションを組み合わせたモデル」と表現しています。従来のFlashモデルが、安くて速いがProには劣るという立ち位置だったのに対し、3.5 FlashはTerminal-Bench 2.1で76.2%、MCP Atlasで83.6%、GDPval-AAで1656 Eloと、いずれもGemini 3.1 Proのスコアを上回る結果を記録しています。

2026年5月20日時点で、Geminiアプリ(デフォルトモデルとして展開中)、Google検索のAIモード、Google AI Studio、Google Antigravity、Gemini API、Android Studio、Vertex AI、Gemini Enterprise Agent Platformなど、幅広い環境からアクセス可能です。なお、上位モデルとなるGemini 3.5 Proは現在Google社内で利用中で、2026年6月に一般提供が予定されています。

Gemini 3.5 Flashの仕組み

Gemini 3.5 Flashの仕組み

Gemini 3.5 Flashのアーキテクチャについて、Googleは詳細なパラメータ数を公開していませんが、Gemini 3 Flashの推論基盤をベースに構築されたモデルであることをモデルカードで明記しています。

Gemini 3シリーズに共通するスパースMixture of Experts(MoE)型のTransformerアーキテクチャを採用していると考えられ、入力トークンごとにモデルパラメータの一部のみを選択的に活性化する仕組みです。これにより、巨大なモデル容量を持ちながらも推論時の計算コストを抑え、Flashシリーズならではの高速レスポンスを実現しています。

もう1つの重要な特徴が、thinking_levelパラメータによる推論深度のコントロールです。Gemini 3.5 FlashではDynamic Thinking(動的思考)がデフォルトでオンになっており、タスクの難易度に応じて計算リソースの配分を自動調整します。簡単な質問には素早く回答し、複雑なコーディングや分析タスクにはより多くの計算資源を割り当てることで、コストとレイテンシのバランスを最適化する設計となっています。

さらに、関数呼び出し(Function Calling)、構造化出力、Google検索によるグラウンディング、コード実行といったツール使用機能が標準搭載されており、エージェンティックなワークフローを構築するための基盤として活用できます。

Gemini 3.5 Flashの特徴

Gemini 3.5 Flashの特徴
参考:https://blog.google/innovation-and-ai/models-and-research/gemini-models/gemini-3-5/?utm_source=x&utm_medium=social&utm_campaign=&utm_content=#richer-graphics

Gemini 3.5 Flashの性能面での最大の注目ポイントは、Flash系モデルでありながらGemini 3.1 Proを複数のベンチマークで上回ったという点にあります。

具体的なスコアを比較すると、Terminal-Bench 2.1(ターミナル上のコーディングタスク)では70.3%→76.2%へ、GDPval-AA(実世界の専門家タスクのEloレーティング)では1314→1656へ、MCP Atlas(エージェント統合評価)では78.2%→83.6%へ、Finance Agent v2(金融エージェント)では43.0%→57.9%へと、いずれも大幅な改善が見られます。マルチモーダル理解のCharXiv Reasoningでも84.2%という高いスコアを記録しています。

Gemini 3.5 Flashの特徴
参考:https://blog.google/innovation-and-ai/models-and-research/gemini-models/gemini-3-5/?utm_source=x&utm_medium=social&utm_campaign=&utm_content=#richer-graphics

出力速度の面でも圧倒的で、Artificial Analysisの計測によると毎秒約284トークンの出力速度を達成しています。これはGemini 3.1 Proの約135トークン/秒と比較して2倍以上、他のフロンティアモデルと比較すると約4倍という驚異的な数値です。Artificial AnalysisのIntelligence Index上でも「インテリジェンス対スピードのパレートフロンティアにおいて明確なリーダー」と評価されています。

ただし、すべてのベンチマークで首位というわけではありません。長文コンテキスト評価のMRCR v2や、深い知識を要するHumanity’s Last ExamなどではGemini 3.1 Proに及ばない領域も残っています。また、SWE-bench VerifiedではClaude Opus 4.7が依然として高い評価を受けており、エージェント系ワークフローではGPT-5.5が多くのベンチマークをリードしているという報告もあります。用途に応じた使い分けが重要になりそうです。

X上で話題:「FlashなのにProより高い」料金論争

Gemini 3.5 Flashのリリース直後からX上で大きな話題になっているのが、Flashモデルとしての料金設定に関する議論です。

今回解説する事例において、弊社がX(旧Twitter)で発見した参考となるツイートを紹介させていただいております。取り下げなどのご連絡は、contact@weel.co.jp からご連絡ください。

上記のポストでは、Gemini 3.5 Flashの出力トークン単価が100万トークンあたり9ドルと、Gemini 3 Flashの約3倍、Gemini 1.5 Flashの約30倍に達している点が指摘されています。「Flashモデルは安さが売りだったはずなのに、Proモデル並みの価格設定になっている」という声が多く上がっています。

一方で、Artificial Analysisのポストでは「インテリジェンスと速度の両立という観点ではパレートフロンティアの明確なリーダー」と評価されており、性能に見合った価格設定ではないかという反論もあります。

また、Google CEOのSundar Pichai氏も自身のXアカウントで、3.5 Flashがほぼすべてのベンチマークで3.1 Proを上回ったことに言及しています。

この料金論争は、AIモデルの「クラス分け」そのものが変わりつつあることの表れとも言えます。Flash=安い・Pro=高性能という従来の区分が崩れつつある中、われわれ利用者としてはベンチマークスコアと料金のバランスを総合的に判断する必要がありそうです。

Gemini 3.5 Flashの安全性・制約

Gemini 3.5 Flashは、Googleの「Frontier Safety Framework」に基づいて開発されています。

モデルカードによると、Gemini 3.1 Proのフロンティア安全性評価でCritical Capability Levels(CCLs)に到達していないことが確認されており、Gemini 3.5 Flashもエージェントやコーディングに優れるものの、安全性面でGemini 3.1 Proと比較して有意な新機能や性能の大幅向上はないため、CCLsに到達する可能性は低いと判断されています。

サイバーセキュリティ分野ではGemini 3シリーズでアラート閾値に到達した経緯があり、追加テストが実施されましたが、Gemini 3.5 FlashはサイバーCCLの閾値を下回っています。

また、CBRN(化学・生物・放射線・核)関連の安全対策も強化され、有害なコンテンツの生成抑制と、安全なクエリへの誤拒否の低減が図られています。さらに、モデルの内部推論をレスポンス前に検査する解釈可能性(Interpretability)ツールも新たに導入されています。

Gemini 3.5 Flashの料金

Gemini 3.5 Flashの料金体系は、Gemini Developer APIの有料ティアとして提供されています。Gemini 3.1 Proと比べると入力単価は安めですが、出力単価は同水準に近く、従来のFlash系モデルとの比較では値上がりしている点に注意が必要です。

スクロールできます
項目料金
入力(100万トークンあたり)1.50ドル
出力(100万トークンあたり)9.00ドル
キャッシュ入力(100万トークンあたり)0.15ドル
非グローバルリージョン(入力/出力)1.65ドル / 9.90ドル
Gemini 3.5 Flashの料金

Gemini 3.1 Proの料金(入力2ドル/出力12ドル、200Kトークン以下の場合)と比較すると、入力は約25%安く、出力も約25%安い計算になります。同等以上の性能をより低コストで利用できるのは嬉しいポイントです。

一方で、Gemini 3 Flash(入力0.50ドル/出力3ドル程度)と比べると約3倍のコストアップとなっており、この点がX上での料金論争の原因にもなっています。なお、Geminiアプリ経由での利用はGoogle AI Plus・Pro・Ultraプランのサブスクリプションで利用可能で、Google AI Studioの無料枠も用意されています。

Gemini 3.5 Flashのライセンス

Gemini 3.5 Flashはオープンソースモデルではなく、GoogleのプロプライエタリモデルとしてクラウドAPI経由で提供されるSaaS形式のサービスです。

スクロールできます
利用用途可否備考
商用利用⭕有料ティアでの利用推奨
改変❌モデル自体の改変は不可
再配布❌モデルの再配布は不可
特許使用個別確認が必要
私的使用⭕
Gemini 3.5 Flashのライセンス

無料ティア(Google AI Studioの無料枠など)を利用する場合、送信したコンテンツと生成された応答がGoogleの製品・サービス改善に利用される可能性があります。機密性の高いデータを扱う場合は、有料ティアまたはVertex AIの利用が推奨されます。Vertex AIでは、プロンプトや応答がGoogleのモデル学習に利用されないことが保証されています。

Gemini 3.5 Flashの使い方

Gemini 3.5 Flashにはいくつかのアクセス方法があります。ここでは代表的な3つの方法をステップ・バイ・ステップでご紹介します。

Google AI Studioからブラウザで試す

コードを書かずにブラウザ上ですぐにGemini 3.5 Flashを試せる方法です。

STEP

Google AI Studioにアクセス

ブラウザで Google AI Studio を開き、Googleアカウントでログインします。初めて利用する場合は、デフォルトのGoogle CloudプロジェクトとAPIキーが自動的に作成されるかと思います。

STEP

モデルを選択

画面のモデル選択メニューから「Gemini 3.5 Flash」を選びます。Previewサフィックスは付かず、そのまま「Gemini 3.5 Flash」として表示されます。

Gemini 3.5 Flashの使い方
STEP

プロンプトを入力して実行

テキストボックスにプロンプトを入力し、送信します。画像やPDFなどのファイルをアップロードしてマルチモーダルな入力を試すことも可能です。

Gemini 3.5 Flashの使い方
STEP

コードを取得(開発者向け)

想定通りの結果が出たら、画面右上の「Get code」ボタンをクリックすると、Python・JavaScript・curlなどの言語でAPI呼び出しコードをそのままエクスポートすることもできます。

Python(Gemini API)から利用する

プログラムに組み込む場合の標準的な方法です。Python 3.9以上が必要です。

STEP

SDKをインストール

以下のコードでSDKをインストールします。

pip install -q -U google-genai
STEP

APIキーを取得

Google AI Studioの左下「Get API Key」からAPIキーを作成します。

Gemini 3.5 Flash の使い方

取得したキーを環境変数に設定してください。

export GEMINI_API_KEY="your-api-key-here"
STEP

Pythonコードを実行

以下はPythonコード例です。

import os
from google import genai

# クライアントを初期化
client = genai.Client(api_key=os.environ["GEMINI_API_KEY"])

# Gemini 3.5 Flashにリクエストを送信
response = client.models.generate_content(
    model="gemini-3.5-flash",
    contents="量子コンピューティングの基本原理を、プログラマー向けに簡潔に説明してください。"
)

# 結果を表示
print(response.text)
STEP

マルチモーダル入力を試す(画像+テキスト)

以下のような形式で、マルチモーダル入力にも対応しています。

from google.genai import types

# 画像ファイルを読み込んでテキストと一緒に送信
with open("diagram.png", "rb") as f:
    image_data = f.read()

response = client.models.generate_content(
    model="gemini-3.5-flash",
    contents=[
        types.Part.from_bytes(data=image_data, mime_type="image/png"),
        "この図の内容を解説してください。"
    ]
)

print(response.text)

Geminiアプリで試す

最も手軽にGemini 3.5 Flashの性能を体験する方法です。2026年5月20日時点で既に、Geminiアプリのデフォルトモデルとして展開が始まっています

STEP

Geminiアプリにアクセス

ブラウザで gemini.google.com にアクセスするか、スマートフォンのGeminiアプリを開きます。

Gemini 3.5 Flashの使い方
STEP

モデルを確認

モデル選択メニューで「Gemini 3.5 Flash」が選択されていることを確認します。展開はローリングアウト中のため、まだ3.1 Flashが表示される方もいるかもしれません。

Gemini 3.5 Flashの使い方
STEP

プロンプトを入力

テキストや画像を入力して対話を開始します。Google AI Plus・Pro・Ultraプランのサブスクリプション会員であれば、拡張機能とともにフル機能を利用できます。

【業界別】Gemini 3.5 Flashの活用シーン

Gemini 3.5 Flashの高速性とエージェント性能は、さまざまな業界での活用が期待されています。ここからは、特に導入効果の高い業界別の活用シーンを紹介します。

金融・保険業界

Gemini 3.5 Flashが記録した、Finance Agent v2で57.9%(3.1 Proの43.0%から大幅向上)、GDPval-AAで1656 Eloという実績から、財務文書の分析、リスク評価レポートの作成、コンプライアンスチェックの自動化といった金融業務との相性が良いことがわかります。100万トークンのコンテキストウィンドウにより、大量の契約書や規制文書を一度に処理することも可能でしょう。

金融業界における生成AI活用について、詳しく知りたい方は以下の記事も参考にしてみてください。

マーケティング・コンテンツ制作

高速なレスポンスとマルチモーダル対応を活かして、広告コピーの大量生成、SNS投稿の自動作成、画像を含むキャンペーン素材の分析への活用が期待できます。毎秒約284トークンの出力速度は、大量のコンテンツバリエーションを素早く生成したいマーケティング部門にとって大きなメリットです。

広告業界における生成AI活用について、詳しく知りたい方は以下の記事も参考にしてみてください。

教育・研究機関

CharXiv Reasoning(84.2%)に見られるマルチモーダル理解力は、学術論文のグラフや図表の解析、教材の自動生成、研究データの可視化に役立つでしょう。Google AI Studioの無料枠を活用すれば、研究予算が限られた環境でもフロンティアレベルのモデルを試すことができます。

教育業界における生成AI活用について、詳しく知りたい方は以下の記事も参考にしてみてください。

【課題別】Gemini 3.5 Flashが解決できること

Gemini 3.5 Flashは特定の課題解決に特化した設計がなされています。ここからは、このモデルが解決できる課題を整理していきます。

長時間かかるエージェントタスクの高速化

これまで、開発者が数日かけていた作業や、監査担当者が数週間かけていた業務を、Gemini 3.5 Flashは短時間で処理することができます。Googleの公式ブログでは「他のフロンティアモデルの半分以下のコストで」と言及されており、長期間にわたる複雑なワークフローの自動化に最適です。

フロンティアモデルの高コスト問題解決

GPT-5.5やClaude Opus 4.7といったフラグシップモデルは高性能ですが、いかんせんコストも高くなりますよね。Gemini 3.5 Flashは同等レベルの性能をより低い価格帯で提供しているため、大量のAPIコールが発生するプロダクション環境でのコスト削減が期待できます。

レスポンス速度が求められるリアルタイムアプリケーション

チャットボットや対話型UIなど、低レイテンシが求められるアプリケーションにおいて、Gemini 3.5 Flashの高速性は大きなアドバンテージになるでしょう。毎秒284トークンの出力速度を活かせば、ユーザー体験を損なうことなくフロンティアレベルの応答品質を得ることができそうです。

Gemini 3.5 Flashを使ってみた

それでは実際に、Gemini 3.5 Flashの実力を体感するためにGeminiアプリでいくつかのタスクを検証してみましょう。

検証①:複数ファイルを横断したコードリファクタリング

まず、Gemini 3.5 Flashの最大の売りであるコーディング性能を試すため、あえて複雑な指示を出してみました。

※デモ用に3つのファイルを準備しています。

プロンプトはこちら
添付のPythonファイル3つ(app.py / utils.py / config.py)を分析して、①重複しているロジックの統合案、②型ヒントの追加、③テストケースの自動生成を行ってください。
結果はこちら
Gemini 3.5 Flashを使ってみた
ご提示いただいた3つのファイルを分析しました。全体として、utils.py や config.py に汎用的な関数が定義されているものの、app.py 側でそれらが使われずにインラインで再実装(重複)している箇所がいくつか見受けられます。

これらを解消し、ご要望の3点(ロジックの統合、型ヒントの追加、テストケースの生成)を反映した修正案を提案します。

1. 重複ロジックの統合案と型ヒントの追加
config.py
既存の構成を維持しつつ、関数と変数に適切な型ヒントを追加しました。

Python
import os

DATABASE_HOST: str = "localhost"
DATABASE_PORT: int = 5432
DATABASE_NAME: str = "appdb"

API_BASE_URL: str = "https://api.example.com"
API_TIMEOUT: int = 30
API_MAX_RETRIES: int = 3

CACHE_TTL: int = 3600
LOG_LEVEL: str = "INFO"


def get_db_url() -> str:
    return f"postgresql://{DATABASE_HOST}:{DATABASE_PORT}/{DATABASE_NAME}"


def get_api_url(endpoint: str) -> str:
    if endpoint.startswith("/"):
        return API_BASE_URL + endpoint
    else:
        return API_BASE_URL + "/" + endpoint


def is_production() -> bool:
    env = os.environ.get("APP_ENV", "development")
    return env == "production"
utils.py
関数の型ヒント(typing モジュール含む)を追加し、リソースリークを防ぐためファイル操作を with 構文に改善しました。

Python
from datetime import datetime
import json
import time
from typing import Any, Callable, List, Optional, TypeVar

T = TypeVar("T")


def format_datetime(dt: datetime) -> str:
    return dt.strftime("%Y-%m-%d %H:%M:%S")


def parse_datetime(s: str) -> datetime:
    return datetime.strptime(s, "%Y-%m-%d %H:%M:%S")


def safe_divide(a: float, b: float) -> Optional[float]:
    if b == 0:
        return None
    return a / b


def calculate_average(numbers: List[float]) -> float:
    if len(numbers) == 0:
        return 0.0
    total = 0.0
    for n in numbers:
        total = total + n
    return total / len(numbers)


def calculate_sum(numbers: List[float]) -> float:
    total = 0.0
    for n in numbers:
        total = total + n
    return total


def filter_positive(numbers: List[int]) -> List[int]:
    result: List[int] = []
    for n in numbers:
        if n > 0:
            result.append(n)
    return result


def retry_request(func: Callable[[], T], max_retries: int = 3, delay: float = 1.0) -> Optional[T]:
    attempt = 0
    while attempt < max_retries:
        try:
            return func()
        except Exception as e:
            attempt = attempt + 1
            if attempt >= max_retries:
                raise e
            time.sleep(delay)
    return None


def load_json_file(path: str) -> Any:
    with open(path, "r") as f:
        return json.load(f)


def save_json_file(path: str, data: Any) -> None:
    with open(path, "w") as f:
        json.dump(data, f, indent=2)


def normalize_email(email: str) -> str:
    return email.strip().lower()


def validate_email(email: str) -> bool:
    if "@" not in email:
        return False
    parts = email.split("@")
    if len(parts) != 2:
        return False
    if len(parts[0]) == 0 or len(parts[1]) == 0:
        return False
    return True
app.py (統合版)
以下の重複・未最適化ロジックを utils および config の共通関数に置き換え、型ヒントを付与しました。

メールバリデーションと正規化: utils.validate_email と utils.normalize_email を使用。

日時フォーマット: utils.format_datetime を使用。

統計計算: utils.calculate_sum や utils.calculate_average を流用。

API URL構築とリトライ: config.get_api_url と utils.retry_request に処理を委譲。

JSON入出力: utils.load_json_file と utils.save_json_file を使用。

Python
from datetime import datetime
from typing import Any, Dict, List, TypedDict, Union

import config
import utils


class User(TypedDict):
    id: int
    name: str
    email: str
    age: int
    created_at: str


class UserStats(TypedDict):
    count: int
    average_age: float
    total_age: float


# インメモリDBの型定義
users_db: List[User] = []


def register_user(name: str, email: str, age: int) -> Dict[str, Union[bool, str, User]]:
    if not utils.validate_email(email):
        return {"success": False, "error": "invalid email"}

    normalized_email = utils.normalize_email(email)

    for user in users_db:
        if user["email"] == normalized_email:
            return {"success": False, "error": "email already exists"}

    user_data: User = {
        "id": len(users_db) + 1,
        "name": name,
        "email": normalized_email,
        "age": age,
        "created_at": utils.format_datetime(datetime.now()),
    }
    users_db.append(user_data)
    return {"success": True, "user": user_data}


def get_user_statistics() -> UserStats:
    if len(users_db) == 0:
        return {"count": 0, "average_age": 0.0, "total_age": 0.0}

    ages = [u["age"] for u in users_db]
    total_age = utils.calculate_sum(ages)
    average_age = utils.calculate_average(ages)

    return {
        "count": len(users_db),
        "average_age": average_age,
        "total_age": total_age,
    }


def fetch_user_data(user_id: int, retries: int = 3) -> Any:
    endpoint = f"/users/{user_id}"
    url = config.get_api_url(endpoint)

    # utils.retry_request を利用して共通化
    return utils.retry_request(lambda: _http_get(url), max_retries=retries, delay=1.0)


def _http_get(url: str) -> Dict[str, Union[str, bool]]:
    return {"url": url, "ok": True}


def export_users_to_json(path: str) -> None:
    utils.save_json_file(path, users_db)


def import_users_from_json(path: str) -> Any:
    return utils.load_json_file(path)


def get_active_user_ages() -> List[int]:
    ages = [u["age"] for u in users_db]
    return utils.filter_positive(ages)
2. テストケースの自動生成
上記の統合・型安全化されたコードに対応する、pytest をベースにしたテストコードです。エッジケース(無効なメール、空のDB、APIリトライ失敗など)を網羅しています。

test_app.py
Python
import pytest
import app
import utils
import config
from unittest.mock import patch

@pytest.fixture(autouse=True)
def clear_chunks():
    """各テストの実行前にインメモリDBを初期化する"""
    app.users_db.clear()


# --- register_user のテスト ---
def test_register_user_success():
    res = app.register_user("Alice", "Alice@Example.com", 25)
    assert res["success"] is True
    assert res["user"]["email"] == "alice@example.com"  # 正規化の検証
    assert len(app.users_db) == 1

def test_register_user_invalid_email():
    res = app.register_user("Bob", "invalid-email", 30)
    assert res["success"] is False
    assert res["error"] == "invalid email"

def test_register_user_duplicate_email():
    app.register_user("Alice", "alice@example.com", 25)
    res = app.register_user("Bob", "ALICE@example.com", 30)  # 大文字小文字違い
    assert res["success"] is False
    assert res["error"] == "email already exists"


# --- get_user_statistics のテスト ---
def test_get_user_statistics_empty():
    stats = app.get_user_statistics()
    assert stats["count"] == 0
    assert stats["average_age"] == 0.0

def test_get_user_statistics_with_data():
    app.register_user("Alice", "alice@example.com", 20)
    app.register_user("Bob", "bob@example.com", 40)
    stats = app.get_user_statistics()
    assert stats["count"] == 2
    assert stats["total_age"] == 60.0
    assert stats["average_age"] == 30.0


# --- fetch_user_data のテスト ---
def test_fetch_user_data_success():
    res = app.fetch_user_data(123)
    assert res["url"] == "https://api.example.com/users/123"
    assert res["ok"] is True

def test_fetch_user_data_retry_and_fail():
    # _http_get が常に例外を投げるようにモック化
    with patch("app._http_get", side_effect=Exception("Connection Error")) as mock_get:
        with pytest.raises(Exception) as exc_info:
            app.fetch_user_data(123, retries=2)
        assert "Connection Error" in str(exc_info.value)
        assert mock_get.call_count == 2


# --- JSONファイル入出力のテスト ---
def test_json_export_and_import(tmp_path):
    file_path = str(tmp_path / "users.json")
    app.register_user("Alice", "alice@example.com", 25)
    
    app.export_users_to_json(file_path)
    imported_data = app.import_users_from_json(file_path)
    
    assert len(imported_data) == 1
    assert imported_data[0]["name"] == "Alice"


# --- get_active_user_ages のテスト ---
def test_get_active_user_ages():
    app.register_user("Alice", "alice@example.com", 25)
    app.register_user("Bob", "bob@example.com", -5)  # 無効(非ポジティブ)な年齢
    app.register_user("Charlie", "charlie@example.com", 0)
    
    ages = app.get_active_user_ages()
    assert ages == [25]

結果として、3ファイル分のコードを一度に読み込み、重複ロジックの特定から統合案の提示、型ヒントの付与、pytestベースのテストコード生成までを1回のターンで完結させてくれました。レスポンスも体感でかなり速く、数秒程度で長大な出力が返ってきます。

検証②:学術論文の図表を読み解いてもらう

CharXiv Reasoning(84.2%)の実力を検証するため、学術論文のグラフ画像をアップロードし、分析を依頼してみました。

※デモ用に1つの棒グラフ画像を準備しています。

プロンプトはこちら
この棒グラフの傾向を分析し、3つの主要な知見を日本語でまとめてください。
結果はこちら
Gemini 3.5 Flashを使ってみた
提供されたグラフ(NLPモデルのMMLU正解率と推論遅延の比較)から読み取れる、主要な3つの知見は以下の通りです。

1. 世代交代による「高精度化」と「高速化」の両立
一般的にモデルが高度化すると計算量が増えて遅延(Latency)が大きくなりがちですが、最新モデルではそのトレードオフが打破されています。
GPT-3.5 は 86.1% の精度を出すために 320 ms を要していました。
しかし、後発の Llama-3-8B や Gemini-3.5-Flash は、GPT-3.5を大幅に上回る精度(それぞれ 88.9%、92.4%)を達成しながら、遅延は 180 ms、95 ms と劇的に短縮されています。

2. 初期エンコーダー型モデルの限界と特徴(低遅延・低精度)
BERT-base、RoBERTa、DeBERTa-v3 などの比較的初期のモデル群は、独自の傾向を示しています。
遅延が 45 ms 〜 68 ms と非常に小さく、リアルタイム処理には非常に有利です。
一方で、MMLUの精度は 78.2% 〜 84.7% に留まっており、大規模なLLM(生成AI)世代と比較すると、複雑なタスクにおける性能に限界があることが分かります。

3. Gemini-3.5-Flashの圧倒的なコストパフォーマンス(パレート最適)
グラフ全体の中で、Gemini-3.5-Flash の性能の高さが際立っています。
精度は全モデル中最高(92.4%)でありながら、遅延はわずか 95 ms に抑えられています。
これは、一世代前の GPT-3.5 と比較して精度が 6.3% 向上し、速度は約3.3倍に高速化していることを意味しており、現在のLLMにおいて「高精度かつ軽量・高速」なモデルがいかに進化しているかを象徴しています。

グラフの軸ラベルや凡例を正確に読み取り、数値の比較や傾向の変化を的確に言語化してくれました。裏で別途実行したGemini 3.1 Proでも類似の結果は得られましたが、レスポンスの速さはGemini 3.5 Flashが圧倒的です。

検証③:アニメーション付きSVGの生成

最後に、Gemini 3シリーズで話題になったSVG生成能力がどこまで進化しているか試してみました。

プロンプトはこちら
これは **コード生成タスク** です。画像生成ではありません。**画像(PNG / JPG)は絶対に返さないでください**。

以下の仕様を満たす SVG ファイルの **ソースコード** を、コードブロック(```svg ... ```)で1つだけ返してください。前置き・説明・後書きはすべて不要。コードブロックだけ返してください。

## 仕様

太陽系の惑星の公転をシミュレートするアニメーション付き SVG。

**描画対象**
- 中心に太陽(放射状グラデーション、ぼんやり光る)
- 8惑星: 水星 / 金星 / 地球 / 火星 / 木星 / 土星 / 天王星 / 海王星
- 各惑星に対応する楕円軌道線(薄いグレーの破線)
- 土星には環(リング)

**アニメーション**
- 各惑星が自分の軌道上を公転する(`<animateTransform>` または CSS `@keyframes` を使う)
- 公転速度は実際の公転周期に比例した相対速度
  - 水星: 4秒で1周
  - 金星: 10秒で1周
  - 地球: 16秒で1周
  - 火星: 30秒で1周
  - 木星: 190秒で1周
  - 土星: 470秒で1周
  - 天王星: 1340秒で1周
  - 海王星: 2630秒で1周
- 太陽中心の光彩がゆっくり脈動する(3秒周期)
- **JavaScript は使わない**(CSS と SVG アニメ要素のみ)

**スタイル**
- `viewBox="0 0 800 800"`
- 背景: ダークネイビー(#0a0e27)
- 星: ランダムな位置に小さな白い円を 50 個程度
- 惑星色:
  - 水星: グレー
  - 金星: 黄土色
  - 地球: 青と緑
  - 火星: 赤茶
  - 木星: オレンジの縞模様
  - 土星: 薄黄色+環
  - 天王星: 水色
  - 海王星: 濃い青

**出力フォーマット(厳守)**
- ` ```svg ` で始まり ` ``` ` で終わる、たった1つのコードブロック
- そのコードを HTML にコピペすると、ブラウザでそのまま動作する完結した SVG
- 説明文・「以下が SVG です」のような前置き不要
結果はこちら
Gemini 3.5 Flashを使ってみた
Gemini 3.5 Flashを使ってみた

CSS animationを活用した動きのあるSVGコードが生成され、ブラウザ上でそのまま動作を確認できました。各惑星の公転速度の違いも再現されており、教育用途や資料として実用的なレベルだと思います。

よくある質問

最後に、Gemini 3.5 Flashについて、よくある質問とその回答をご紹介します。

Gemini 3.5 FlashとGemini 3.1 Proのどちらを使うべきですか?

コーディング・エージェント系タスクではGemini 3.5 Flashが上回っています。一方、ARC-AGI-2のような深い推論やHumanity’s Last Examのような広範な知識を要するタスクでは、Gemini 3.1 Proが優位な可能性があります。速度とコスト効率を重視するなら3.5 Flash、最深部の推論力を求めるなら3.1 Proという使い分けがよいでしょう。

Gemini 3.5 Flashは無料で使えますか?

はい、GeminiアプリやGoogle検索のAIモードでは無料で利用できます。また、Google AI Studioにも無料枠が用意されています。API経由で大量に利用する場合は有料ティアとなり、入力100万トークンあたり1.50ドル、出力100万トークンあたり9.00ドルの料金が発生します。

Gemini 3.5 Proはいつリリースされますか?

Googleは2026年6月に一般提供を予定していると発表しています。現在は社内で利用中とのことで、Google I/O 2026のキーノートでSundar Pichai氏がこの件に触れた際、会場からはやや残念がる声も上がっていたそうです。

Gemini 3.5 Flashでエージェント開発を加速させよう!

Gemini 3.5 Flashは、Flashシリーズの常識を覆し、フロンティアレベルの知能と圧倒的な速度を両立させた画期的なモデルです。コーディングやエージェント系タスクでGemini 3.1 Proを上回る性能を発揮しながら、他のフロンティアモデルの約4倍の出力速度と低コストを実現しています。

特にAntigravity 2.0やManaged Agentsとの統合により、AIエージェントの開発・デプロイがこれまでにないほど手軽になった点は見逃せません。開発者はもちろん、ビジネスユーザーにとっても、業務自動化やコスト削減の強力な武器になるはずです。

最後に

いかがだったでしょうか?

弊社では、AI導入を検討中の企業向けに、業務効率化や新しい価値創出を支援する情報提供・導入支援を行っています。最新のAIを活用し、効率的な業務改善や高度な分析が可能です。

株式会社WEELは、自社・業務特化の効果が出るAIプロダクト開発が強みです!

開発実績として、

・新規事業室での「リサーチ」「分析」「事業計画検討」を70%自動化するAIエージェント
・社内お問い合わせの1次回答を自動化するRAG型のチャットボット
・過去事例や最新情報を加味して、10秒で記事のたたき台を作成できるAIプロダクト
・お客様からのメール対応の工数を80%削減したAIメール
・サーバーやAI PCを活用したオンプレでの生成AI活用
・生徒の感情や学習状況を踏まえ、勉強をアシストするAIアシスタント

などの開発実績がございます。

生成AIを活用したプロダクト開発の支援内容は、以下のページでも詳しくご覧いただけます。
➡株式会社WEELのサービスを詳しく見る。

まずは、「無料相談」にてご相談を承っておりますので、ご興味がある方はぜひご連絡ください。
➡︎生成AIを使った業務効率化、生成AIツールの開発について相談をしてみる。

大規模言語モデル(LLM)比較レポート
LLM比較レポート

「生成AIを社内で活用したい」「生成AIの事業をやっていきたい」という方に向けて、生成AI社内セミナー・勉強会をさせていただいております。

セミナー内容や料金については、ご相談ください。

また、大規模言語モデル(LLM)を対象に、言語理解能力、生成能力、応答速度の各側面について比較・検証した資料も配布しております。この機会にぜひご活用ください。

タイトルとURLをコピーしました