Milvus
Zilliz
  • Home
  • Blog
  • GLM-5 vs MiniMax M2.5 vs Gemini 3 ディープシンク:AIエージェントスタックに合うモデルは?

GLM-5 vs MiniMax M2.5 vs Gemini 3 ディープシンク:AIエージェントスタックに合うモデルは?

  • Engineering
February 14, 2026
Lumina Wang, Julie Xia

わずか2日あまりの間に、3つの主要モデルが立て続けに発売された:GLM-5、MiniMax M2.5、そしてGemini 3 Deep Thinkだ。3つとも、コーディング、深い推論、エージェント型ワークフローという同じ機能をヘッドラインにしている。3つとも最先端の結果を謳っている。スペックシートに目を凝らせば、ほとんどマッチングゲームをすることができ、3つとも同じ論点を排除することができるだろう。

もっと怖いのは、あなたの上司がすでにその発表を見ていることだ。あなたの上司はおそらくすでに発表を見ていて、週が明ける前に3つのモデルを使って9つの社内アプリを作るようにうずうずしていることだろう。

では、実際にこれらのモデルの違いは何なのか?どのように選択すべきなのか?そして(いつものように)社内ナレッジベースを出荷するためにMilvusとどのように接続するのでしょうか?このページをブックマークしてください。必要なものはすべて揃っています。

GLM-5、MiniMax M2.5、Gemini 3ディープシンクの概要

GLM-5が複雑なシステムエンジニアリングと長周期エージェントタスクをリード

2月12日、Zhipuは複雑なシステムエンジニアリングと長時間エージェントワークフローを得意とするGLM-5を正式に発表した。

このモデルは355B-744Bのパラメータ(アクティブ40B)を持ち、28.5Tトークンで学習される。疎な注意メカニズムをSlimeと呼ばれる非同期強化学習フレームワークと統合することで、展開コストを抑えながら、品質を損なうことなく超長時間のコンテキストを処理することを可能にしている。

GLM-5は主要なベンチマークでオープンソースのパックをリードし、SWE-bench Verifiedでは1位(77.8)、Terminal Bench 2.0では1位(56.2)となり、MiniMax 2.5とGemini 3 Deep Thinkを上回った。とはいえ、そのヘッドラインスコアは、クロード・オーパス4.5やGPT-5.2のようなトップクラスのクローズドソースモデルには及ばない。ビジネスシミュレーション評価であるVending Bench 2では、GLM-5の年間利益は4,432ドルで、クローズドソースシステムとほぼ同じ範囲であった。

GLM-5はまた、システムエンジニアリングとロングホライズンエージェントの機能を大幅にアップグレードした。テキストや原材料を.docx、.pdf、.xlsxファイルに直接変換し、製品要求文書、授業計画、試験、スプレッドシート、財務報告書、フローチャート、メニューなどの特定の成果物を生成できるようになった。

ジェミニ3ディープシンク、科学的推論の新たな基準を設定

2026年2月13日未明、グーグルはGemini 3 Deep Thinkを正式にリリースした。これは、私が(仮に)地球上で最強の研究・推論モデルと呼ぶメジャーアップグレードである。結局、ジェミニは洗車テストに合格した唯一のモデルだった:「洗車をしたいのだが、洗車場は50メートル先にある。車を洗車したいが、洗車場は50メートル先にある。

Codeforcesで3455Eloを記録し、これは世界8位の競技プログラマーに相当する。2025年国際物理学、化学、数学オリンピックの筆記部門では金メダルに輝いた。コスト効率も画期的だ。ARC-AGI-1はタスクあたりわずか7.17ドルで、14ヶ月前のOpenAIのo3-previewと比べて280倍から420倍のコスト削減を実現している。応用面では、ディープシンクの最大の成果は科学研究である。専門家はすでに、専門的な数学論文の査読や、複雑な結晶成長準備ワークフローの最適化に利用している。

MiniMax M2.5、生産ワークロードのコストとスピードで競争

同日、MiniMaxはM2.5をリリースし、生産ユースケースにおけるコストと効率のチャンピオンに位置づけた。

M2.5は、業界で最も高速に動作するモデルファミリーの1つであり、コーディング、ツール呼び出し、検索、オフィス生産性において、SOTAの新記録を打ち立てた。コストは最大のセールスポイントである。高速バージョンはおよそ100TPSで動作し、入力は100万トークンあたり0.30パーミリオントークンと0.30アウトプット、出力は100万トークンあたり0.40。50TPSバージョンは出力コストをさらに半分に削減する。スピードは従来のM2.1より37%向上し、SWEベンチ検証済みタスクを平均22.8分で完了し、クロード・オーパス4.6とほぼ同等です。機能面では、M2.5はGo、Rust、Kotlinを含む10以上の言語でのフルスタック開発をサポートしており、ゼロ・トゥ・ワンのシステム設計から完全なコードレビューまでをカバーする。オフィスワークフローでは、Office Skills機能がWord、PPT、Excelと深く統合されている。金融や法律のドメイン知識と組み合わせることで、直接使用できる調査レポートや財務モデルを生成することができる。

これがハイレベルな概要だ。次に、ハンズオン・テストでの実際のパフォーマンスを見てみよう。

ハンズオン比較

3Dシーンレンダリング:Gemini 3 Deep Thinkが最もリアルな結果を生成

Gemini 3 Deep Thinkでユーザーがすでにテストしたプロンプトを、GLM-5とMiniMax M2.5で実行し、直接比較してみた。プロンプト:美術館にある古典的な油絵と見分けがつかないような完全な3Dの室内をレンダリングする、完全なThree.jsシーンを1つのHTMLファイルで構築する。

ジェミニ3ディープシンク

GLM-5

ミニマックスM2.5

Gemini 3 Deep Thinkは、最強の結果をもたらした。プロンプトを正確に解釈し、高品質の3Dシーンを生成した。ライティングが際立っていた。シャドウの方向とフォールオフが自然で、窓から差し込む自然光の空間関係を明確に表現していた。ロウソクの半分溶けたような質感や赤い蝋シールの素材感など、細かいディテールも印象的だった。全体的なビジュアルの忠実度は高かった。

GLM-5では、オブジェクトのモデリングやテクスチャの作り込みは細かかったが、ライティングシステムに課題が目立った。テーブルの影は、ソフトなトランジションのない硬い真っ黒なブロックとしてレンダリングされた。ワックスシールはテーブルの表面から浮いているように見え、オブジェクトとテーブルトップの接触関係を正しく処理できていませんでした。これらのアーティファクトは、グローバルイルミネーションと空間推論に改善の余地があることを示している。

MiniMax M2.5は、複雑なシーン記述を効果的に解析することができませんでした。出力されたのは無秩序なパーティクルの動きだけで、正確な視覚的要件を持つ多層的なセマンティック命令を扱う際の、理解と生成の両方における重大な限界を示しています。

SVG生成:3つのモデルで扱いが異なる

プロンプトカリフォルニア・ブラウン・ペリカンが自転車に乗っているSVGを生成せよ。自転車にはスポークと正しい形の自転車フレームがなければならない。ペリカンには特徴的な大きな袋があり、羽毛がはっきりと見えること。ペリカンがはっきりと自転車をこいでいること。画像には、カリフォルニア・ブラウン・ペリカンの繁殖期の羽が写っていること。

ジェミニ3 ディープシンク

Gemini 3 Deep Think ジェミニ3ディープシンク

GLM-5

GLM-5 GLM-5

ミニマックスM2.5

MiniMax M2.5 ミニマックスM2.5

ジェミニ3ディープシンクは、全体的に最も完成度の高いSVGを作り出した。ペリカンの乗車姿勢は正確で、重心は自然にシートにあり、足はペダルにのってダイナミックなサイクリングポーズをとっている。羽のテクスチャは詳細でレイヤーになっている。弱点は、ペリカンの特徴である喉袋が大きく描かれすぎていて、全体のプロポーションが若干崩れていること。

GLM-5は姿勢の問題が目立った。足はペダルの上に正しく置かれているが、全体的に座った姿勢が自然なライディング姿勢から離れており、ボディとシートの関係がずれて見える。とはいえ、スロートポーチのプロポーションはよく、羽の質感も申し分ない。

MiniMax M2.5はミニマルなスタイルを採用し、背景の要素を完全に省略した。自転車上のペリカンの位置はおおよそ正しいが、ディテールワークが不十分。ハンドルの形は間違っており、羽のテクスチャはほとんど存在せず、首は太すぎ、画像にはあるはずのない白い楕円形のアーチファクトがある。

GLM-5、MiniMax M2.5、ジェミン3ディープシンクの選び方

すべてのテストにおいて、MiniMax M2.5は出力に最も時間がかかり、思考と推論に最も長い時間を要した。GLM-5は安定しており、ジェミニ3ディープシンクとほぼ同等のスピードであった。

以下は、私たちがまとめた簡単な選択ガイドです:

コアユースケース推奨モデル主な強み
科学研究、高度な推論(物理、化学、数学、複雑なアルゴリズム設計)ジェミニ3ディープシンクアカデミックコンテストで金メダル級のパフォーマンス。トップレベルの科学データ検証Codeforcesでの世界トップクラスの競技プログラミング専門論文の論理的欠陥の特定など、実証済みの研究アプリケーション。(現在はGoogle AI Ultraの契約者と一部の企業ユーザーに限定されており、タスクごとのコストは比較的高い)
オープンソースの導入、企業イントラネットのカスタマイズ、フルスタック開発、オフィススキルの統合Zhipu GLM-5トップクラスのオープンソースモデル。システムレベルのエンジニアリング能力が高い。管理可能なコストでローカル展開をサポート。
コスト重視のワークロード、多言語プログラミング、クロスプラットフォーム開発(Web/Android/iOS/Windows)、オフィス互換性ミニマックスM2.5100TPSの場合:100万入力トークンあたり0.30パーミリオントークン100万出力トークンあたり02.40パーミリオントークン。オフィス、コーディング、ツール・コールの各ベンチマークでSOTAを獲得。Multi-SWE-Benchで1位。強力な汎化。Droid/OpenCodeでの合格率はClaude Opus 4.6を上回る。

RAGチュートリアル:GLM-5とmilvusの知識ベースへの配線

GLM-5とMiniMax M2.5はどちらもOpenRouterから入手可能です。サインアップして、OPENROUTER_API_KEY

このチュートリアルではZhipuのGLM-5をLLMの例として使います。代わりにMiniMaxを使用するには、モデル名をminimax/minimax-m2.5 に置き換えるだけです。

依存関係と環境設定

pymilvus、openai、requests、tqdmをインストールまたは最新版にアップグレードしてください:

pip install --upgrade pymilvus openai requests tqdm 

このチュートリアルでは、LLMとしてGLM-5、埋め込みモデルとしてOpenAIのtext-embedding-3-smallを使用します。

import os
os.environ["OPENROUTER_API_KEY"] = "**********" 

データの準備

Milvus 2.4.xのドキュメントのFAQページを私的知識ベースとして使用します。

zipファイルをダウンロードし、milvus_docs フォルダにドキュメントを解凍します:

wget https://github.com/milvus-io/milvus-docs/releases/download/v2.4.6-preview/milvus_docs_2.4.x_en.zip
unzip -q milvus_docs_2.4.x_en.zip -d milvus_docs

milvus_docs/en/faq からすべてのMarkdownファイルを読み込みます。"# " で各ファイルを分割し、主要なセクションごとに内容を大まかに分けます:

from glob import glob
text_lines = []
for file_path in glob("milvus_docs/en/faq/*.md", recursive=True):
    with open(file_path, "r") as file:
        file_text = file.read()
    text_lines += file_text.split("# ")

LLMと埋め込みモデルのセットアップ

LLMにはGLM-5を、埋め込みモデルにはtext-embedding-3-smallを使います:

from openai import OpenAI
glm_client = OpenAI(
    api_key=os.environ["OPENROUTER_API_KEY"],
    base_url="https://openrouter.ai/api/v1",
)

テスト埋め込みを生成し、その次元と最初のいくつかの要素を表示します:

EMBEDDING_MODEL = "openai/text-embedding-3-small"  # OpenRouter embedding model
resp = glm_client.embeddings.create(
    model=EMBEDDING_MODEL,
    input=["This is a test1", "This is a test2"],
)
test_embeddings = [d.embedding for d in resp.data]
embedding_dim = len(test_embeddings[0])
print(embedding_dim)
print(test_embeddings[0][:10])

出力

1536
[0.010637564584612846, -0.017222722992300987, 0.05409347265958786, -0.04377825930714607, -0.017545074224472046, -0.04196695610880852, -0.0011963422875851393, 0.03837504982948303, 0.0008855042979121208, 0.015181170776486397]

Milvusにデータをロードする

コレクションを作成する:

from pymilvus import MilvusClient
milvus_client = MilvusClient(uri="./milvus_demo.db")
collection_name = "my_rag_collection"

MilvusClientの設定についてのメモ:

  • URIをローカルファイル(例:./milvus.db)に設定するのが最も簡単なオプションです。これは自動的にMilvus Liteを使用し、そのファイルにすべてのデータを保存します。

  • 大規模なデータの場合は、DockerやKubernetes上に、よりパフォーマンスの高いMilvusサーバをデプロイすることができます。その場合、サーバURI(例:http://localhost:19530 )を使用してください。

  • Zilliz Cloud(Milvusのフルマネージドクラウド版)を利用する場合は、Zilliz CloudコンソールからURIとトークンをPublic EndpointとAPIキーに設定します。

コレクションが既に存在するか確認し、存在する場合は削除します:

if milvus_client.has_collection(collection_name):
    milvus_client.drop_collection(collection_name)

指定したパラメータで新しいコレクションを作成します。フィールド定義を提供しない場合、Milvusは自動的にプライマリキーとしてデフォルトのid フィールドを作成し、ベクトルデータ用にvector フィールドを作成します。予約 JSON フィールドには、スキーマで定義されていないフィールドと値が格納されます:

milvus_client.create_collection(
    collection_name=collection_name,
    dimension=embedding_dim,
    metric_type="COSINE",
    consistency_level="Strong",
)

データの挿入

テキスト行を繰り返し、埋め込みデータを生成し、Milvusにデータを挿入します。ここでのtext フィールドはスキーマで定義されていません。Milvusの予約されたJSONフィールドにバックされたダイナミックフィールドとして自動的に追加されます:

from tqdm import tqdm
data = []
resp = glm_client.embeddings.create(model=EMBEDDING_MODEL, input=text_lines)
doc_embeddings = [d.embedding for d in resp.data]
for i, line in enumerate(tqdm(text_lines, desc="Creating embeddings")):
    data.append({"id": i, "vector": doc_embeddings[i], "text": line})
milvus_client.insert(collection_name=collection_name, data=data)

出力する:

Creating embeddings: 100%|██████████████████████████| 72/72 [00:00<00:00, 125203.10it/s]
{'insert_count': 72, 'ids': [0, 1, 2, ..., 71], 'cost': 0}

RAGパイプラインの構築

関連ドキュメントを取得する

Milvusに関する一般的な質問をしてみましょう:

question = "How is data stored in milvus?"

コレクションを検索して、最も関連性の高い上位3つの結果を探します:

resp = glm_client.embeddings.create(model=EMBEDDING_MODEL, input=[question])
question_embedding = resp.data[0].embedding
search_res = milvus_client.search(
    collection_name=collection_name,
    data=[question_embedding],
    limit=3,
    search_params={"metric_type": "COSINE", "params": {}},
    output_fields=["text"],
)

結果は距離順にソートされる:

import json

retrieved_lines_with_distances = [ (res[“entity”][“text”], res[“distance”]) for res in search_res[0] ] print(json.dumps(retrieved_lines_with_distances, indent=4))

[ [ " Where does Milvus store data?\n\nMilvus deals with two types of data, inserted data and metadata. \n\nInserted data, including vector data, scalar data, and collection-specific schema, are stored in persistent storage as incremental log. Milvus supports multiple object storage backends, including MinIO, AWS S3, Google Cloud Storage (GCS), Azure Blob Storage, Alibaba Cloud OSS, and Tencent Cloud Object Storage (COS).\n\nMetadata are generated within Milvus. Each Milvus module has its own metadata that are stored in etcd.\n\n###", 0.7826977372169495 ], [ “How does Milvus handle vector data types and precision?\n\nMilvus supports Binary, Float32, Float16, and BFloat16 vector types.\n\n- Binary vectors: Store binary data as sequences of 0s and 1s, used in image processing and information retrieval.\n- Float32 vectors: Default storage with a precision of about 7 decimal digits. Even Float64 values are stored with Float32 precision, leading to potential precision loss upon retrieval.\n- Float16 and BFloat16 vectors: Offer reduced precision and memory usage. Float16 is suitable for applications with limited bandwidth and storage, while BFloat16 balances range and efficiency, commonly used in deep learning to reduce computational requirements without significantly impacting accuracy.\n\n###”, 0.6772387027740479 ], [ “How much does Milvus cost?\n\nMilvus is a 100% free open-source project.\n\nPlease adhere to Apache License 2.0 when using Milvus for production or distribution purposes.\n\nZilliz, the company behind Milvus, also offers a fully managed cloud version of the platform for those that don’t want to build and maintain their own distributed instance. Zilliz Cloud automatically maintains data reliability and allows users to pay only for what they use.\n\n###”, 0.6467022895812988 ] ]

LLMで応答を生成する:

検索された文書をコンテキスト文字列に結合する:

context = "\n".join(
    [line_with_distance[0] for line_with_distance in retrieved_lines_with_distances]
)

システムプロンプトとユーザープロンプトを設定する。ユーザープロンプトはmilvusから検索された文書から作成される:

SYSTEM_PROMPT = """
Human: You are an AI assistant. You can find answers to the questions in the contextual passage snippets provided.
"""
USER_PROMPT = f"""
Use the following pieces of information enclosed in <context> tags to provide an answer to the question enclosed in <question> tags.
<context>
{context}
</context>
<question>
{question}
</question>
"""

GLM-5を呼び出し、最終的な回答を生成する:

response = glm_client.chat.completions.create(
    model="z-ai/glm-5",
    messages=[
        {"role": "system", "content": SYSTEM_PROMPT},
        {"role": "user", "content": USER_PROMPT},
    ],
)
print(response.choices[0].message.content)

GLM-5は構造化された回答を返す:

Based on the provided context, Milvus stores data in two main ways, depending on the data type:

1. Inserted Data

  • What it includes: vector data, scalar data, and collection-specific schema.
  • How it is stored: in persistent storage as an incremental log.
  • Storage Backends: Milvus supports multiple object storage backends, including MinIO, AWS S3, Google Cloud Storage (GCS), Azure Blob Storage, Alibaba Cloud OSS, and Tencent Cloud Object Storage (COS).
  • Vector Specifics: vector data can be stored as Binary vectors (sequences of 0s and 1s), Float32 vectors (default storage), or Float16 and BFloat16 vectors (offering reduced precision and memory usage).
  1. Metadata
    • What it includes: data generated within Milvus modules.
    • How it is stored: in etcd.

結論モデルを選び、次にパイプラインを構築する

3つのモデルはどれも強力だが、得意とするものが異なる。Gemini 3 Deep Thinkは、推論の深さがコストよりも重要な場合に選ぶべきモデルである。GLM-5は、ローカル展開とシステムレベルのエンジニアリングを必要とするチームにとって、最高のオープンソースオプションである。MiniMax M2.5は、本番ワークロード全体のスループットと予算を最適化する場合に理にかなっている。

選択するモデルは、方程式の半分に過ぎない。これらのいずれかを有用なアプリケーションにするには、データとともに拡張できる検索レイヤーが必要です。そこでMilvusの出番となる。上記のRAGチュートリアルは、OpenAI互換のモデルで動作するため、GLM-5、MiniMax M2.5、または将来のリリースを入れ替えるには、1行の変更で済みます。

もしあなたがローカルまたはオンプレミスのAIエージェントを設計していて、ストレージアーキテクチャ、セッション設計、または安全なロールバックについてもっと詳しく議論したい場合は、お気軽にSlackチャンネルにご参加ください。

また、Milvus Office Hoursで20分間の個別指導を予約することもできます。AIエージェントの構築についてさらに詳しく知りたい方は、こちらをご覧ください。

    Try Managed Milvus for Free

    Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

    Get Started

    Like the article? Spread the word

    続けて読む