So sánh AI Model 2026: GPT-5.2, Claude Opus 4.6 / Sonnet 4.6 và Gemini 3.1 Pro — Chọn model nào?

Artificial Intelligence tutorial - IT technology blog
Artificial Intelligence tutorial - IT technology blog

Quá nhiều lựa chọn — và không ai nói thẳng cái nào phù hợp

Đầu năm 2026, mình quản lý một dự án automation nhỏ và cần AI xử lý nhiều tác vụ: phân tích log, viết code, tóm tắt tài liệu, trả lời câu hỏi từ user. Mỗi lần hỏi “nên dùng model nào?” trên forum thì nhận được chục câu trả lời mâu thuẫn nhau.

Sau khoảng 3–4 tháng thử nghiệm và tiêu không ít credit, đây là những gì mình thực sự thấy — không phải benchmark trên paper, mà là cảm nhận khi làm việc thật với code thật. Ba model đang được dùng nhiều nhất: GPT-5.2 (OpenAI), Claude Opus 4.6 / Sonnet 4.6 (Anthropic), và Gemini 3.1 Pro (Google). Mỗi cái có cá tính riêng. Chọn sai model cho task không chỉ tốn tiền — nó còn cho ra kết quả tệ hơn hẳn.

Ba triết lý thiết kế khác nhau

Trước khi so sánh số liệu, cần hiểu rằng ba model này không chỉ khác về hiệu năng — chúng đại diện cho ba hướng đi khác nhau trong cách xây dựng AI.

GPT-5.2 — “The Generalist”

OpenAI tiếp tục tối ưu GPT theo hướng đa năng: viết lách, code, phân tích ảnh, gọi tool đều ổn. GPT-5.2 cải thiện đáng kể về multi-step reasoning so với GPT-4o, đặc biệt với bài toán logic nhiều bước hoặc cần parallel function calling. Ecosystem của OpenAI mature: Assistants API, file handling, vector store — nếu bạn cần build agent phức tạp từ đầu, tài liệu và community support của GPT vẫn dày nhất.

Claude Opus 4.6 / Sonnet 4.6 — “The Analyst”

Mình dùng Claude nhiều nhất trong công việc hàng ngày, lý do đơn giản: ít hallucinate hơn và thẳng thắn nói “tôi không chắc” khi không biết thay vì bịa ra câu trả lời nghe có vẻ đúng. Claude Opus 4.6 xử lý document dài cực tốt — context window lớn cho phép đưa cả codebase vào để phân tích mà không bị mất context.

Sonnet 4.6 là lựa chọn balanced: nhanh hơn Opus, rẻ hơn khoảng 5–6x, chất lượng vẫn rất cao cho 80% use case thông thường. Model này mình set làm default cho hầu hết task.

Gemini 3.1 Pro — “The Integrator”

Google xây Gemini để tích hợp sâu vào hệ sinh thái: Google Search, Drive, Gmail. Điểm khác biệt lớn nhất? Grounding với real-time web search. Khi cần thông tin mới nhất — CVE vừa công bố, thư viện mới release, hay sự kiện hôm qua — Gemini search thật sự thay vì chỉ dựa vào training data. Kết quả chính xác hơn đáng kể so với hai đối thủ kia trong trường hợp này.

Thực hành: Gọi API và so sánh trực tiếp

Thay vì đọc benchmark trừu tượng, mình sẽ cho xem code thực tế. Cùng một prompt, ba cách gọi API khác nhau:

Setup cơ bản

# Cài đặt các SDK cần thiết
pip install openai anthropic google-generativeai
import openai
import anthropic
import google.generativeai as genai

# GPT-5.2
openai_client = openai.OpenAI(api_key="sk-...")

# Claude Opus 4.6 / Sonnet 4.6
claude_client = anthropic.Anthropic(api_key="sk-ant-...")

# Gemini 3.1 Pro
genai.configure(api_key="AIza...")
gemini_model = genai.GenerativeModel("gemini-3.1-pro")

Gọi cùng một prompt, so sánh response

PROMPT = "Giải thích Docker networking trong 3 bullet points cho junior dev"

# GPT-5.2
gpt_resp = openai_client.chat.completions.create(
    model="gpt-5.2",
    messages=[{"role": "user", "content": PROMPT}],
    max_tokens=500
)
print("GPT-5.2:", gpt_resp.choices[0].message.content)

# Claude Sonnet 4.6 — cost-effective
claude_resp = claude_client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=500,
    messages=[{"role": "user", "content": PROMPT}]
)
print("Claude Sonnet 4.6:", claude_resp.content[0].text)

# Gemini 3.1 Pro
gemini_resp = gemini_model.generate_content(PROMPT)
print("Gemini 3.1 Pro:", gemini_resp.text)

Tips thực chiến khi chọn model

Tip 1: Dùng Claude Opus 4.6 cho debug và phân tích codebase lớn

Đừng chỉ paste đoạn code bị lỗi vào. Claude xử lý context dài tốt — khi đưa cả file vào, nó hiểu được relationship giữa các module và tìm ra vấn đề ở chỗ bạn không ngờ tới.

# Claude Opus 4.6 — đưa toàn bộ file vào để phân tích
with open("my_service.py", "r") as f:
    code = f.read()

response = claude_client.messages.create(
    model="claude-opus-4-6",
    max_tokens=2000,
    messages=[{
        "role": "user",
        "content": f"Review code này, tìm potential bugs và race conditions:\n\n{code}"
    }]
)
print(response.content[0].text)

Tip 2: Dùng GPT-5.2 cho agent cần gọi nhiều tool liên tiếp

Function calling của GPT vẫn là điểm mạnh — đặc biệt khi build agent cần parallel tool calls. Mình từng build monitoring bot gọi đồng thời 5–6 API để check server metrics, GPT xử lý flow này mượt hơn hẳn hai đối thủ kia.

tools = [
    {
        "type": "function",
        "function": {
            "name": "get_server_metrics",
            "description": "Lấy CPU, RAM, disk usage",
            "parameters": {
                "type": "object",
                "properties": {
                    "server_id": {"type": "string"}
                },
                "required": ["server_id"]
            }
        }
    }
]

response = openai_client.chat.completions.create(
    model="gpt-5.2",
    messages=[{"role": "user", "content": "Check server prod-01 và prod-02 cùng lúc"}],
    tools=tools,
    tool_choice="auto"  # GPT tự quyết định khi nào gọi tool
)

Tip 3: Gemini khi cần real-time info hoặc làm việc với Google Workspace

# Gemini 3.1 Pro với Google Search grounding
model_with_search = genai.GenerativeModel(
    "gemini-3.1-pro",
    tools=[{"google_search": {}}]
)

response = model_with_search.generate_content(
    "Có CVE mới nào nghiêm trọng cho OpenSSL tháng này không?"
)
print(response.text)
# Kết quả có source citations thực từ web search

Phân tier task theo chi phí thực tế

Cách mình phân bổ task hiện tại — để không lãng phí credit vào những việc model rẻ hơn làm tốt không kém:

  • Task đơn giản, volume cao (classify text, extract fields, summarize ngắn): Claude Haiku 4.5 — rẻ nhất, đủ dùng
  • Task trung bình (code review, viết content, Q&A, translation): Claude Sonnet 4.6 — best value hiện tại
  • Task phức tạp (debug codebase lớn, phân tích document dài, research sâu): Claude Opus 4.6
  • Task cần real-time web hoặc Google integration: Gemini 3.1 Pro
  • Agent với nhiều tool calls phức tạp: GPT-5.2

Một pattern mình hay dùng là two-tier routing: dùng model nhỏ để classify task trước, rồi mới route sang model phù hợp:

def route_to_model(task: str, context: str) -> str:
    """Classify task và trả về model phù hợp"""
    # Dùng model rẻ để classify
    resp = claude_client.messages.create(
        model="claude-haiku-4-5-20251001",
        max_tokens=50,
        messages=[{
            "role": "user",
            "content": f"""Classify task này: '{task}'
            Trả về JSON: {{"complexity": "simple|medium|complex", "needs_web": true|false}}"""
        }]
    )
    import json
    result = json.loads(resp.content[0].text)

    if result["needs_web"]:
        return "gemini-3.1-pro"
    elif result["complexity"] == "complex":
        return "claude-opus-4-6"
    elif result["complexity"] == "medium":
        return "claude-sonnet-4-6"
    else:
        return "claude-haiku-4-5-20251001"

Kết luận: Đừng “loyal” với một model

Thật ra mình không trung thành với model nào. Mỗi cái mạnh một chỗ — và workflow hiệu quả không phải là dùng model tốt nhất, mà là dùng đúng model cho từng việc.

Claude Sonnet 4.6 làm default cho khoảng 70% task vì cân bằng tốt giữa chất lượng và giá. Claude Opus 4.6 cho phân tích phức tạp. GPT-5.2 khi cần agent với tool calls phức tạp. Gemini khi cần thông tin mới nhất từ web.

Thay vì tranh luận “GPT hay Claude tốt hơn”, hãy build một script nhỏ gửi 10 task thực tế của bạn cho cả ba model. So sánh output đó. 30 phút thử nghiệm sẽ cho câu trả lời rõ ràng hơn bất kỳ leaderboard nào.

Share: