OpenCode.io.vn
Quay lại Blog
1 tháng 6, 2026OpenCode Vietnam10 phút đọc

MiniMax M3 ra mắt: 1M context, multimodal, agent coding và cú nhảy từ M2.7

Phân tích MiniMax M3 cho developer dùng OpenCode: 1M context, MiniMax Sparse Attention, native multimodal, model id, cách dùng qua API/OpenRouter/Vercel và khi nào nên nâng từ M2.7.

#minimax#m3#opencode#ai-coding#agent-coding#long-context#multimodal#openrouter

MiniMax M3 ra mắt: 1M context, multimodal, agent coding và cú nhảy từ M2.7

Một tháng trước, câu chuyện MiniMax với developer khá đơn giản: M2.7 là model coding giá tốt, chạy agent ổn, hợp với OpenCode. Context 200K đã đủ rộng cho phần lớn repo, chi phí dễ chịu hơn nhiều model phương Tây, và hướng đi "model biết tự cải thiện workflow" làm cộng đồng coding agent chú ý.

Đến cuối tháng 5 năm 2026, MiniMax đổi nhịp. MiniMax M3 không chỉ là bản nâng cấp điểm số. Đây là bước chuyển từ "model coding rẻ" sang "model cho agent dài hơi": 1M context, native multimodal, MiniMax Sparse Attention, và các demo chạy tự động nhiều giờ.

Nếu bạn dùng OpenCode, câu hỏi thực dụng không phải là "M3 có hype không?". Câu hỏi đúng hơn là: M3 thay đổi workflow coding agent như thế nào, và khi nào đáng chuyển từ M2.7 lên M3?

Lưu ý: bài viết này tổng hợp từ trang chính thức MiniMax M3, OpenRouter, Vercel AI Gateway và các cập nhật công khai tại thời điểm ngày 1 tháng 6 năm 2026. Giá, model id, mức quota và trạng thái API có thể thay đổi theo provider.


Tóm tắt nhanh

Điểm mớiÝ nghĩa với developer
1M context windowĐưa repo lớn, log dài, issue dài, tài liệu kỹ thuật và lịch sử chat vào cùng một phiên agent
MiniMax Sparse AttentionGiảm chi phí xử lý context dài so với full attention, đặc biệt khi agent phải đọc lại nhiều token
Native multimodalCho phép agent đọc screenshot lỗi, UI, chart, công thức, tài liệu scan hoặc video frame
Coding + agentic benchmark tốt hơnNhắm thẳng vào workflow nhiều bước: đọc code, gọi tool, sửa file, chạy test, lặp lại
Tích hợp qua API, OpenRouter, Vercel AI Gateway, MiniMax CodeDễ đưa vào toolchain hiện có nếu bạn dùng OpenAI-compatible gateway hoặc AI SDK

Kết luận ngắn: M2.7 vẫn hợp cho coding hằng ngày nếu bạn tối ưu chi phí. M3 đáng thử khi task có context dài, nhiều bước, hoặc cần hiểu cả hình ảnh lẫn code.


MiniMax M3 là gì?

MiniMax định vị M3 là model open-weight đầu tiên có đủ ba năng lực ở mức frontier:

  • coding và agentic task,
  • context lên tới 1M token,
  • native multimodal.

Ba ý này phải đi cùng nhau mới đáng chú ý. Một model coding giỏi nhưng context ngắn sẽ vấp khi đọc repo lớn. Một model context dài nhưng yếu tool-use sẽ chỉ trở thành "máy tóm tắt tài liệu". Một model multimodal nhưng không bền trong agent loop thì hữu ích cho hỏi đáp ảnh, nhưng chưa chắc giúp sửa bug UI.

M3 cố gắng nối ba mảnh đó thành một model cho công việc dài hơi. MiniMax đưa ra các ví dụ như:

  • tự reproduce một paper ICLR trong gần 12 giờ,
  • tối ưu CUDA kernel qua 147 vòng lặp,
  • tự chạy pipeline training/evaluation trong PostTrainBench,
  • dùng multimodal để đọc chart, công thức và hình trong tài liệu.

Đây là cách MiniMax nói rằng M3 không chỉ trả lời tốt một prompt. Nó được thiết kế cho vòng lặp agent.


Vì sao 1M context quan trọng với OpenCode?

Với coding agent, context không chỉ là "dán được nhiều chữ hơn". Context là trí nhớ làm việc của agent.

Một task thực tế trong OpenCode thường có nhiều lớp:

  • yêu cầu ban đầu của user,
  • cấu trúc repo,
  • file code liên quan,
  • test đang fail,
  • log terminal,
  • diff đã sửa,
  • comment review,
  • tài liệu nội bộ,
  • quyết định kỹ thuật trong AGENTS.md, CLAUDE.md, docs/rules.

Với context 100K đến 200K, agent phải chọn lọc mạnh. Chọn đúng thì tốt. Chọn sai thì mất mạch: quên ràng buộc, sửa sai module, hoặc lặp lại phân tích đã làm.

Với 1M context, cách làm thay đổi:

  • đọc được nhiều file hơn trước khi quyết định,
  • giữ được lịch sử debug dài hơn,
  • đưa cả spec, plan, docs và test output vào cùng một vòng suy luận,
  • giảm số lần phải tóm tắt mất thông tin,
  • phù hợp hơn với multi-agent hoặc long-running session.

Điểm quan trọng: 1M context không tự động làm model giỏi hơn. Nhưng nó giảm tình huống agent phải làm việc trong một căn phòng quá nhỏ.


MSA: MiniMax Sparse Attention giải quyết bài toán chi phí

Context dài luôn có một vấn đề: đắt.

Trong agent coding, model không chỉ đọc context một lần. Mỗi vòng lặp có thể phải xử lý lại phần lớn prompt: đọc file, xem log, gọi tool, nhận output, suy luận tiếp. Khi context phình lên hàng trăm nghìn token, prefill và decode trở thành chi phí lớn.

MiniMax M3 dùng MiniMax Sparse Attention (MSA). Thay vì full attention trên toàn bộ context, MSA chọn các block KV quan trọng để giảm compute ở context dài. Theo mô tả từ các provider, hướng này giúp M3 rẻ và nhanh hơn đáng kể ở vùng 1M token so với thế hệ trước.

Với developer, ý nghĩa thực dụng là:

  • có thể dùng context rất dài mà không trả giá như full attention truyền thống,
  • agent dài hơi đỡ tốn hơn khi phải lặp nhiều turn,
  • workload kiểu "đọc cả repo + log + docs" trở nên khả thi hơn.

Đây là lý do M3 đáng chú ý hơn một model chỉ tăng benchmark. Nó tấn công đúng điểm đau của coding agent: context dài không được quá đắt.


Native multimodal: từ screenshot lỗi đến chart trong paper

M2.7 chủ yếu là câu chuyện text/code. M3 chuyển sang native multimodal.

Điều này có ích trong coding hơn nhiều người nghĩ. Developer không chỉ xử lý code thuần chữ. Rất nhiều bug đi qua hình ảnh:

  • screenshot UI bị vỡ layout,
  • ảnh test report,
  • chart benchmark,
  • diagram kiến trúc,
  • bảng trong PDF,
  • công thức trong paper,
  • video frame khi debug giao diện hoặc automation.

Nếu model có thể đọc ảnh trong cùng context với code, workflow trở nên tự nhiên hơn:

  1. Dán screenshot lỗi UI.
  2. Đưa file component và CSS liên quan.
  3. Yêu cầu model tìm nguyên nhân.
  4. Agent sửa code.
  5. Chạy test hoặc so sánh ảnh.

Vercel AI Gateway cũng đã đưa ví dụ dùng minimax/minimax-m3 với message chứa cả text và image. Đây là tín hiệu M3 không chỉ được công bố trên giấy mà đã bắt đầu đi vào đường tích hợp developer.


M3 khác gì M2.7?

M2.7 vẫn là mốc quan trọng của MiniMax: model coding chi phí tốt, context khoảng 200K, tập trung agent và self-evolution. Nhưng M3 đổi trục.

Tiêu chíMiniMax M2.7MiniMax M3
Định vịCoding agent giá tốtCoding + agentic frontier
ContextKhoảng 200KLên tới 1M, tối thiểu đảm bảo 512K theo công bố
MultimodalKhông phải trọng tâm chínhNative multimodal
Kiến trúc attentionMoE/full attention theo dòng M2MiniMax Sparse Attention
Task phù hợpCoding hằng ngày, chi phí thấpRepo lớn, session dài, task nhiều bước, ảnh + code
Cách nghĩModel coding hiệu quảNền tảng cho long-horizon agent

Nói gọn: M2.7 là lựa chọn kinh tế. M3 là lựa chọn khi context và độ bền agent quan trọng hơn giá mỗi request.


Dùng M3 qua đâu?

Tại thời điểm viết, có vài đường đáng chú ý.

MiniMax API

Trang MiniMax hiển thị endpoint chat completion v2 với model:

import requests

url = "https://api.minimax.io/v1/text/chatcompletion_v2"
payload = {
    "model": "MiniMax-M3",
    "messages": [
        {"role": "user", "content": "Hello"}
    ]
}
headers = {"Authorization": "Bearer <token>"}

response = requests.post(url, json=payload, headers=headers)
print(response.text)

OpenRouter

OpenRouter đã có model:

minimax/minimax-m3

Trang model ghi nhận M3 release ngày 31 tháng 5 năm 2026, context 1M, hỗ trợ text/image/video input và text output. Giá hiển thị có thể thay đổi theo khuyến mãi hoặc provider, nên trước khi dùng production cần kiểm tra lại dashboard.

Vercel AI Gateway

Vercel công bố M3 trên AI Gateway ngày 31 tháng 5 năm 2026. Nếu dùng AI SDK, model id là:

import { streamText } from "ai";

const result = streamText({
  model: "minimax/minimax-m3",
  prompt: "Reproduce the bug in this GitHub issue and submit a fix.",
});

Với multimodal input, bạn có thể truyền cả text và image trong messages.

MiniMax Code và OpenCode

Trang MiniMax cũng nhắc đến MiniMax Code và khả năng dùng M3 cho AI coding tools. Với OpenCode, hướng thực dụng là kiểm tra provider bạn đang dùng:

  • nếu dùng MiniMax trực tiếp, kiểm tra model list và quyền gói hiện tại,
  • nếu dùng OpenRouter, thử model minimax/minimax-m3,
  • nếu dùng gateway khác, kiểm tra model id tương ứng,
  • nếu dùng OpenCode Go hoặc token plan, kiểm tra model đã được bật trong UI/API chưa.

Template config OpenCode cho MiniMax M3

Nếu muốn cấu hình MiniMax trực tiếp trong ~/.config/opencode/opencode.json, bạn có thể thêm riêng block provider MiniMax như sau. Đừng hard-code API key thật vào file nếu bạn chia sẻ config công khai; hãy thay bằng biến môi trường hoặc placeholder riêng của bạn.

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "minimax": {
      "npm": "@ai-sdk/anthropic",
      "name": "MiniMax",
      "options": {
        "baseURL": "https://api.minimax.io/anthropic/v1",
        "apiKey": "${MINIMAX_API_KEY}"
      },
      "models": {
        "MiniMax-M3": {
          "name": "MiniMax M3",
          "modalities": {
            "input": ["text", "image"],
            "output": ["text"]
          },
          "limit": {
            "context": 1000000,
            "output": 524288
          }
        },
        "MiniMax-M2.7-highspeed": {
          "name": "MiniMax M2.7 HighSpeed"
        }
      }
    }
  },
  "model": "minimax/MiniMax-M3",
  "small_model": "minimax/MiniMax-M2.7-highspeed"
}

Nếu bạn chỉ muốn dùng M3 làm model chính còn model nhỏ vẫn dùng provider khác, giữ dòng model như trên và thay small_model theo setup hiện tại của bạn.


Khi nào nên chọn M3?

Chọn M3 khi task có một trong các dấu hiệu sau:

  • repo lớn, nhiều package, nhiều file liên quan,
  • cần đưa nhiều log/test output vào prompt,
  • cần agent chạy nhiều vòng mà vẫn nhớ bối cảnh,
  • task liên quan screenshot, UI, chart hoặc tài liệu có hình,
  • cần đọc paper/spec dài rồi viết code,
  • muốn thử workflow autonomous dài hơi thay vì hỏi đáp ngắn.

Ví dụ hợp với M3:

Đọc toàn bộ flow checkout, docs payment, log webhook và test output.
Tìm nguyên nhân order bị stuck ở pending, sửa code, thêm test, rồi giải thích diff.

Ví dụ khác:

Đây là screenshot UI mobile bị vỡ layout.
Đọc component, CSS, breakpoint hiện tại và sửa sao cho không overlap trên 375px.

Những task này hưởng lợi từ context dài và multimodal.


Khi nào vẫn nên dùng M2.7 hoặc model rẻ hơn?

Không phải task nào cũng cần M3.

Nếu bạn chỉ cần:

  • sửa một function nhỏ,
  • viết test đơn giản,
  • giải thích một đoạn code,
  • tạo commit message,
  • refactor vài dòng,
  • hỏi nhanh trong terminal,

thì M2.7, DeepSeek, GLM HighSpeed hoặc model rẻ hơn có thể kinh tế hơn. M3 có ý nghĩa nhất khi context là điểm nghẽn.

Quy tắc đơn giản:

TaskModel nên cân nhắc
Hỏi đáp nhanh, ít fileModel rẻ/nhanh
Coding hằng ngày, repo vừaM2.7 hoặc model coding tối ưu chi phí
Debug dài, nhiều log, nhiều fileM3
UI bug có screenshotM3
Đọc paper/spec dài rồi codeM3
Agent tự chạy nhiều vòngM3 hoặc model frontier có tool-use rất tốt

Đừng dùng M3 chỉ vì nó mới. Dùng M3 khi nó giảm thời gian tìm context, giảm lỗi quên bối cảnh, hoặc xử lý được input mà model text-only không xử lý tốt.


Gợi ý workflow M3 trong OpenCode

Với OpenCode, M3 nên được dùng như model "deep context" thay vì model mặc định cho mọi việc.

Một workflow hợp lý:

  1. Dùng model nhanh/rẻ để explore sơ bộ.
  2. Khi task bắt đầu lan ra nhiều file, chuyển sang M3.
  3. Đưa docs, rules, test output và error log vào cùng phiên.
  4. Yêu cầu agent lập plan ngắn trước khi sửa.
  5. Sau khi patch, dùng model rẻ hơn để review diff hoặc viết commit message.

Prompt mẫu:

Bạn đang làm trong repo này. Hãy đọc AGENTS.md, docs/rules liên quan,
flow code của feature X, test output bên dưới và log build.

Mục tiêu:
- tìm nguyên nhân bug,
- đề xuất plan ngắn,
- sửa code theo pattern hiện có,
- thêm hoặc cập nhật test nếu cần,
- không refactor ngoài phạm vi.

Với screenshot:

Ảnh đính kèm là màn hình mobile đang lỗi layout.
Hãy đối chiếu với component hiện tại, tìm rule CSS gây overlap,
sửa responsive constraints và giải thích vì sao fix này ổn.

Điểm chính: tận dụng M3 để giữ nhiều ngữ cảnh có giá trị, không phải để nhồi mọi thứ vô tội vạ.


Rủi ro cần theo dõi

M3 mới ra, nên vẫn cần thận trọng.

Trạng thái availability

Một số người dùng có thể thấy M3 trên OpenRouter/Vercel/OpenCode trước khi tài khoản MiniMax trực tiếp có quyền tương ứng. Khi triển khai thật, hãy kiểm tra model list của provider bạn dùng.

Giá và quota có thể đổi

OpenRouter đang hiển thị giá khuyến mãi và weekly token. Các con số này có thể thay đổi. Với team dùng nhiều token, đừng hard-code giả định chi phí vào tài liệu nội bộ.

Open-weight không đồng nghĩa open-source

MiniMax dùng thông điệp open-weight/open world. Cần kiểm tra license cụ thể khi weights chính thức xuất hiện trên Hugging Face/GitHub. Open-weight có thể vẫn có hạn chế thương mại.

Benchmark không thay thế workload thật

Các demo 12 giờ, CUDA kernel, PostTrainBench rất ấn tượng, nhưng production coding agent còn phụ thuộc:

  • chất lượng tool integration,
  • latency provider,
  • cache,
  • timeout,
  • khả năng tạo diff sạch,
  • độ ổn định khi chạy nhiều turn,
  • cách bạn viết instruction và plan.

Hãy benchmark trên repo thật của bạn trước khi đổi default model cho cả team.


Kết luận: M3 là tín hiệu mới của cuộc đua coding agent

MiniMax M3 đáng chú ý không phải vì nó có thêm một benchmark đẹp. Điểm đáng chú ý là nó gom ba thứ developer đang cần cho agent dài hơi:

  • context rất dài,
  • chi phí context dài hợp lý hơn nhờ sparse attention,
  • khả năng hiểu cả code lẫn hình ảnh.

Với OpenCode, M3 nên được xem là model cho những phiên làm việc nặng: debug phức tạp, repo lớn, tài liệu dài, screenshot lỗi, hoặc agent loop nhiều bước. Còn với task nhỏ, model rẻ hơn vẫn có chỗ đứng.

Nếu M2.7 là câu trả lời của MiniMax cho bài toán "coding model giá tốt", thì M3 là câu trả lời cho câu hỏi lớn hơn: làm sao để AI agent làm việc lâu hơn, nhớ nhiều hơn, và xử lý nhiều dạng input hơn mà chi phí không vỡ trận?


Nguồn tham khảo

Đọc tiếp

Một vài bài liên quan có thể bạn sẽ thích