Agent biết vẽ, biết hát — mà không cần MCP?
MiniMax vừa tung MMX-CLI — cho agent gọi thẳng image, video, speech, music qua terminal. Không MCP, không wrapper. Thật không?
Bụi WireCâu hỏi mà ít ai dám hỏi thẳng
Bao nhiêu lần bạn ngồi build agent rồi tới khúc "giờ cần nó tạo ảnh" — thì mọi thứ tắc? Agent đọc text ngon lành, viết code mượt mà, nhưng hễ cần sinh media là phải đi đường vòng: viết API wrapper, cấu hình MCP server, quản lý auth riêng. Mình từng tốn gần hai ngày chỉ để cho con agent trong Cursor gọi được một API text-to-speech — rồi nhận ra auth token hết hạn lúc nào không biết.
Tuần trước, MiniMax — công ty đứng sau bộ model omni-modal cùng tên — tung ra MMX-CLI. Lời hứa: agent của bạn gọi thẳng image, video, speech, music, vision, search qua terminal command. Không MCP. Không wrapper.
Nghe hấp dẫn quá, phải bóc xem thật hay chỉ là marketing.
Khoan — thực tế phức tạp hơn một dòng lệnh
Nói thẳng ra thì MMX-CLI gói toàn bộ modal stack của MiniMax vào 7 nhóm lệnh: mmx text, mmx image, mmx video, mmx speech, mmx music, mmx vision, mmx search — cộng thêm mấy lệnh phụ trợ như mmx auth, mmx config, mmx quota.
Cách tiếp cận này khác hẳn luồng MCP mà mình đã bàn ở các bài trước. Thay vì agent giao tiếp qua protocol trung gian, nó gọi shell command trực tiếp — y như developer gõ terminal. Agent chạy trên Cursor, Claude Code, hay OpenCode đều dùng được, miễn có quyền chạy shell.
Đơn giản, nhưng đây chính là chỗ cần dừng lại suy nghĩ. Việc cho agent quyền chạy shell command giống như cho học sinh vào phòng thí nghiệm mà không có bài thực hành hướng dẫn — tự do thì tự do thật, nhưng rủi ro cũng tăng theo.
Hai kịch bản thật từ team Việt Nam
Kịch bản 1: Team content 3 người ở Đà Nẵng
Giả sử team bạn đang làm app học tiếng Anh. Mỗi bài học cần: ảnh minh họa, audio phát âm, và video ngắn giải thích ngữ pháp. Trước đây, pipeline chắc là: designer tạo ảnh trên Canva, voice artist thu âm, editor ghép video — rồi developer upload lên S3.
Với MMX-CLI, agent có thể chạy:
mmx image "A friendly cartoon teacher explaining present tense" --aspect-ratio 16:9
mmx speech "The present tense is used for habits and facts"
mmx video "Short animation: daily routine morning scene"
Cả ba output sinh ra ngay trong terminal, agent tự lưu file, developer chỉ cần review. Giả sử mỗi bài học tiết kiệm được vài tiếng so với pipeline cũ — nhân lên 50 bài học, con số đáng kể.
Kịch bản 2: Startup edtech ở TP.HCM build chatbot hỗ trợ học sinh
Chatbot đang chỉ trả lời text. Học sinh hỏi "phát âm từ này thế nào?" — bot trả về phiên âm IPA. Buồn. Gắn thêm mmx speech vào workflow, bot có thể sinh audio ngay trong conversation. Gắn thêm mmx vision, bot nhận ảnh bài tập viết tay rồi phân tích lỗi chính tả.
Điểm hay: không cần dựng thêm server MCP hay viết adapter — agent gọi lệnh shell, nhận output, xử lý tiếp.
Bẫy mà team nào cũng sẽ giẫm
Mình thấy ít nhất ba cái bẫy rõ ràng:
Bẫy 1: "Free thì cứ gọi thoải mái" — Không. MMX-CLI có lệnh mmx quota là có lý do. Sinh video tốn gấp nhiều lần sinh text. Giả sử bạn để agent chạy tự động mà không set giới hạn, sáng hôm sau mở bill lên có khi muốn khóc. Bài học ở đây giống cho học trò mượn thẻ thư viện không giới hạn — nghe hay, nhưng phí photocopy ai trả?
Bẫy 2: "Agent gọi shell = agent làm gì cũng được" — Đây là rủi ro bảo mật thật sự. Nếu agent có quyền chạy shell command, bạn phải kiểm soát scope rất chặt. Sandbox, whitelist command, log mọi thứ. Không có ngoại lệ.
Bẫy 3: Lock-in vào một provider — MMX-CLI chỉ gọi được API của MiniMax. Nếu ngày mai MiniMax thay đổi pricing hoặc chất lượng model giảm, bạn phải refactor toàn bộ pipeline. So sánh với approach dùng MCP: tuy setup nặng hơn, nhưng swap provider dễ hơn nhiều.
Thử ngay trong một buổi chiều
Nếu bạn muốn test mà không commit gì lớn:
Bước 1 — MMX-CLI chạy trên Node.js, đảm bảo máy có Node 18+:
npm install -g mmx-cli
mmx auth
Bước 2 — Chạy tay từng lệnh đơn lẻ trước, chưa cho agent:
mmx text "Giải thích quicksort bằng tiếng Việt" --model MiniMax-M2.7
mmx image "minimalist icon of a bookshelf" --aspect-ratio 1:1
mmx speech "Xin chào, đây là bài test"
Bước 3 — Nếu đang dùng Cursor hoặc Claude Code, thêm các lệnh mmx vào tool config của agent. Cho nó chạy một task nhỏ: "Tạo một flashcard gồm ảnh minh họa và audio phát âm cho từ 'serendipity'."
Bước 4 — Kiểm tra chi phí:
mmx quota
Xong bước 4 là bạn đã có đủ cảm nhận để quyết định có đưa vào pipeline thật không.
Còn lựa chọn nào khác?
Nếu không muốn gắn chặt vào MiniMax, vài hướng thay thế đáng cân nhắc:
- MCP + nhiều provider: setup nặng hơn, nhưng linh hoạt swap giữa OpenAI, Anthropic, Google Gemini cho từng modal. Approach này phù hợp nếu team bạn cần multi-vendor strategy.
- Self-host open-source: dùng Whisper cho speech-to-text, Stable Diffusion cho image, Bark cho text-to-speech. Tự do hoàn toàn, nhưng ops cost không nhỏ và chất lượng phụ thuộc vào phần cứng.
- Combo thông minh: dùng MMX-CLI cho prototyping nhanh, rồi migrate sang self-host hoặc MCP khi đã validate được use case. Đây là hướng mình khuyến khích nhất cho team nhỏ.
Lời cuối — ai nên dùng, ai nên chờ?
MMX-CLI giải quyết đúng một pain point thật: agent hôm nay giỏi text nhưng mù media. Cách tiếp cận "shell command thay vì protocol" thì nhanh, gọn, developer-friendly. Nhưng đổi lại, bạn đang đặt cược vào một provider duy nhất và cho agent thêm quyền chạy lệnh hệ thống — hai thứ mà bất kỳ tech lead nào cũng nên cân nhắc kỹ trước khi đưa vào production.
Nếu là mình, mình sẽ dùng MMX-CLI để prototype và demo nội bộ — nơi tốc độ quan trọng hơn vendor flexibility. Còn production pipeline thì vẫn cần một lớp abstraction ở giữa.
Plot twist: công cụ hay nhất để dạy agent "đa tài" hóa ra là cái terminal bạn đang mở hàng ngày.
---
Bụi Wire — nghiện đọc release notes lúc 2 giờ sáng