Image2 + MiniMax CLI,一句話到成片。拆解 MiniMax CLI 的Agent 設計哲學
整理版優先睇
MiniMax CLI 透過SKILL.md同面向Agent嘅CLI設計,令Agent可以自主完成多模態生成任務。
呢篇文章係作者對MiniMax CLI嘅體驗同分析,作者發現MiniMax嘅模型好強,但更值得拆解嘅係佢哋嘅Agent基建搭建。以前人用CLI嗰陣,要自己做四件事:發現(揾文檔揾啱命令)、組裝(填參數串命令)、解讀(過濾終端輸出)、應對(答問題等長任務)。但而家用工具嘅變成Agent,呢四件事冇人教佢點做。
MiniMax CLI嘅做法係加咗一層SKILL.md說明書,將人做嘅隱性工作翻譯成Agent規則,解決發現同組裝;同時改進CLI本身,用--non-interactive、--quiet、退出碼、--async等方法,解決解讀同應對。成個設計令Agent可以由一句「幫我做個視頻」開始,自動拆任務、調用Image2出圖、調MiniMax CLI配音配樂、生成視頻,中間唔使停頓報錯,直接交付成品。
SKILL.md嘅核心係提供工具簡介、命令列表、每條命令嘅固定格式(能力說明、命令句式、參數、例子、返回結果),Agent讀完就知道用咩工具、點樣調用、結果係點,仲可以將多條命令串成鏈。CLI層面就專為Agent設計:--non-interactive避免中途問問題,--quiet同--output json將輸出分離,退出碼統一失敗類型,--async將長任務變成可管理嘅task id。呢啲設計加埋,令Agent可以唔靠人,自己完成成個工作流程。作者最後總結,一個工具適唔適合Agent,就睇人做嘅隱性工作有冇被工具自己…
- MiniMax CLI透過SKILL.md同面向Agent嘅CLI設計,令Agent可以自主完成多模態生成任務,唔需要人介入。
- SKILL.md係一份畀Agent睇嘅說明書,包含工具簡介、命令列表同參數格式,解決Agent嘅「發現」同「組裝」問題。
- 傳統CLI需要人做容錯,MiniMax CLI用--non-interactive、--quiet、退出碼等方法,將互動轉為狀態判斷,適合Agent執行。
- 啟發:工具要真正適合Agent,必須將人做嘅隱性容錯工作內建到工具本身,而唔係靠Agent理解自然語言。
- 下次評估一個工具係咪適合Agent,可以睇佢有冇Skills層(調用前)同執行層(調用後)嘅設計。
人係工具嘅容錯層
以前人用CLI嗰陣,其實替工具做咗四件事:發現、組裝、解讀、應對。但而家用工具嘅變成Agent,呢四件事冇人教佢點做。
人係工具嘅容錯層。拿掉人,工具必須自己容錯。
MiniMax CLI嘅做法係喺CLI同Agent之間加咗一層SKILL.md說明書,將人做嘅隱性工作翻譯成Agent能理解嘅規則。
SKILL.md:Agent嘅說明書
SKILL.md第一行嘅工具簡介寫明「當用戶想生成文本、圖片、視頻、語音、音樂時,使用mmx」,Agent讀到呢句就知嗰個工具啱用。
Agent 唔需要從零拼命令,SKILL.md 畀曬所有資訊:能力說明、命令句式、參數、例子、返回結果。
- • 工具簡介:話畀Agent知呢個工具做咩。
- • Commands能力地圖:逐項列曬每條命令嘅用途。
- • 每條命令固定格式:能力說明 → 命令句式 → 參數 → 例子 → 返回結果。
mmx speech synthesize --text "*****" --output json --quiet
# → audio file path
CLI設計:唔中斷、低token、標準化
面向 Agent 嘅 CLI,唔係將終端變好睇,係將終端變成接口。
MiniMax CLI用咗以下設計令Agent執行唔會卡住:
- 1 --non-interactive:缺參數直接失敗,唔會問Agent問題,將互動變成成功或失敗狀態。
- 2 --quiet 同 --output json:將輸出分兩路,結果走json,進度提示走垃圾桶,Agent淨係睇結果,減少token消耗。
- 3 退出碼:0成功、2參數錯、3認證錯、4額度不足、5超時、10內容安全,Agent睇數字就知點處理,唔使讀英文報錯。
- 4 --async:將長任務(例如視頻生成)變成task id,Agent先發起,再查進度,最後下載,唔使等喺終端前面。
總結:Agent友好工具嘅三句判別
下次用新工具,先問:佢有Skills嗎?
Agent 自己拆任務
叫 Image2 出圖
叫 MiniMax CLI 配音、配樂、將啲圖變成視頻
將結果攞返嚟。
MiniMax CLI 行緊嗰段
自動化程度好高
中間冇停頓、冇報錯、冇問我問題
等佢交成品就得
基本上唔使插手。

MiniMax 嘅模型一向好強
OpenClaw 同 Hermes 都推薦用
@steipete 話"their model slays"

試過佢哋嘅CLI
發現佢哋嘅 Agent 基建搭建,都係國產第一梯隊
值得拆解一次。
Agent 係點樣做到㗎
MiniMax CLI 係點樣令 Agent 做到㗎?
喺討論呢個問題之前
先睇一個容易忽略嘅嘢
以前人用 CLI 嘅時候,其實幫工具做咗四件事:
發現——揾文檔,揾到應該用邊個工具、邊條命令
組裝——靠經驗填啱參數,將命令串起嚟
解讀——由終端輸出裏面過濾噪音,睇明報錯
應對——回答執行期間彈出嘅提問,等長任務行完
以前呢個唔係問題——用工具嘅係人,呢四件事人天然就識。
但而家工具嘅使用者變咗做 Agent
發現、組裝、解讀、應對
人做嘅呢四件事,冇人教佢點樣做。
人係工具嘅容錯層。冇咗人,工具要自己容錯。

CLI 本身淨係負責執行——文字、圖片、視頻、語音、音樂、睇圖、搜索,每項一條命令
佢將調用門檻由寫代碼降到淨係填參數:
網頁端:人撳
API:Agent 要先寫一段連接代碼
CLI:Agent 直接填參數
但淨係得 CLI 唔夠
CLI 係為人設計——人知道應該叫邊條命令、參數點樣填、結果點樣接
就咁將 CLI 掟俾 Agent,佢用唔到。
之後去睇佢嘅文檔
我發現 MiniMax 冇直接將 CLI 交俾 Agent
佢喺 CLI 同 Agent 之間加咗一層——一份叫 SKILL.md 嘅說明書
將人做嘅隱性工作翻譯做 Agent 識得嘅規則:

Agent 點樣揾到每一步嘅命令
人做嘅四件事裏面嘅前兩件——發現和組裝——全部寫喺 SKILL.md 裏面。
Agent 唔係直接叫 CLI
佢先讀 SKILL.md
由裏面知道應該用咩命令、參數點填、結果係點樣
然後先去叫 CLI
首先,Agent 點樣知道應該用呢個工具。
Agent 嘅工具箱裏面有好多工具
你話"幫我做一個短視頻"
佢點樣知道應該用 mmx-cli?
答案喺 SKILL.md 嘅第一行——工具簡介入面寫咗"當用戶想生成文字、圖片、視頻、語音、音樂時,用 mmx"
Agent 讀到呢句
就將 mmx-cli 由工具箱入面拎出嚟。
人可以搜文檔、問同事、試錯
Agent 唔得
如果工具冇喺第一屏話俾 Agent 知“我能做啲咩”
Agent 就唔知有呢個工具存在。
然後,佢要知道應該用邊條命令。
Agent 決定用 mmx-cli 之後
你要佢生成配音
用 speech synthesize 還是 text chat?
SKILL.md 嘅 Commands 將能力逐項列曬出嚟:

一張攤開嘅能力地圖——Agent 睇一眼就知道邊條命令做邊件事,唔使估。
跟住,參數點樣填。
揀好命令之後
SKILL.md 入面每條命令都用固定格式寫:能力說明 → 命令句式 → 參數 → 例子 → 返回結果。
例如生成配音:
mmx speech synthesize --text "*****" --output json --quiet
# → audio file path視頻生成、音樂生成都係同樣格式。Agent 唔需要由頭砌命令:
能力說明話俾佢知"做到啲咩"
命令句式話俾佢知"點樣調用"
例子話俾佢知"完整調用係點樣"
返回結果話俾佢知"下一步可以攞到啲咩"
最後,呢啲命令可以串成鏈。
每一步嘅輸出係下一步嘅輸入:

Agent 可以串起嚟,因為 Skills 話俾佢知每一步會返回啲咩:
Image2 返回圖片地址
speech synthesize 返回音頻文件
video generate 接收圖片 + 音頻,返回任務號
一步嘅輸出就係下一步嘅輸入。跨工具都可以串成鏈。
呢條鏈點解冇卡住
調用嘅問題 SKILL.md 解決咗
但執行之後呢?
人做嘅四件事入面仲有後兩件——解讀和應對
過濾噪音、睇明報錯、回答提問、等長任務行完
呢啲 SKILL.md 管唔到
要靠 CLI 本身嘅設計嚟接。
可以串起嚟,唔代表行得通
四個會斷嘅地方。

冇參數會被問住
Agent 發出 mmx video generate 命令
如果 CLI 行到一半問"Choose aspect ratio: 1) 16:9 2) 1:1"(揀一個畫面比例)
Agent 就卡咗——佢發嘅係一次完整命令調用,中間唔答題。
人見到提示會輸入選項
Agent 唔會
佢只會停喺"我發出嘅命令仲未結束"。
mmx-cli 嘅做法:--non-interactive 冇參數就直接失敗,--yes 跳過確認。
將"等人補充資料"嘅交互
變成"成功或失敗"嘅狀態
Agent 唔需要回答終端問題
只需要根據狀態決定下一步。
終端噪音太多
Agent 調用 speech synthesize 之後
終端可能會輸出進度條、提示語、耗時統計、報錯信息、最終文件路徑
人可以自己跳過噪音揾結果
Agent 唔得。
而且 Agent 嘅上下文係有成本㗎
終端輸出越長,消耗嘅 token 越多
如果將進度、提示、耗時都塞入上下文
好快就會俾無關信息佔曬。
mmx-cli 嘅做法:將輸出分成兩路——結果行一路,進度同提示行另一路
就好似快遞分揀,包裹行傳送帶,廣告單行垃圾桶--quiet 剝走裝飾--output json 返回機器可讀結果
Agent 只睇結果嗰一路,攞到路徑,交俾下一步。

結果唔係俾人複製嘅,而係直接俾下一步命令用嘅:
AUDIO=$(mmx speech synthesize --text "一段旁白" --quiet)
mmx video generate --image "sunset.png" --audio "$AUDIO" --quiet
失敗咗冇分類
如果 video generate 失敗咗
Agent 見到一段英文報錯:“authentication failed”(認證失敗)
人睇得明
但 Agent 唔應該靠睇一段英文嚟判斷下一步。
mmx-cli 嘅做法係退出碼:
0 成功 2 參數錯 3 認證錯
4 額度不足 5 超時 10 內容安全
失敗由"睇一段自由文本"
變成"睇一個標準狀態"
Agent 先睇數字做一級判斷:係參數錯就補參數,係認證錯就提示用戶,係額度唔夠就換策略。
唔靠自己估一段報錯文字嘅原因。
視頻未生成完
呢個係任務鏈入面最容易卡住嘅一步
視頻生成需要幾分鐘
如果 CLI 一直等到完成,成條鏈就會停咗。
mmx-cli 嘅做法係 --async:
mmx video generate --async --quiet → taskId
mmx video task get --task-id <id> → Processing / Success
mmx video download --file-id <id> → preview.mp4
視頻任務唔係"等喺終端前面"
而係變成"拎到任務號,後面繼續查同攞"
task id 將長任務變成可管理對象:先發起,再查詢,最後下載。
面向 Agent 嘅 CLI,唔係令終端好睇。係將終端變成接口。
你可能會問:呢個 SKILL.md 邊個寫?
答案係 MiniMax 官方維護嘅,跟 CLI 一齊發佈
你唔需要自己寫說明書
裝好 mmx-cli,Agent 就可以讀到佢。
以後點樣睇一個工具得唔得
MiniMax CLI 係一個案例
但"人係容錯層"呢件事係通用嘅——以後睇一個工具適唔適合 Agent
就睇人做嘅嗰啲隱性工作
有冇真正俾工具自己取代咗:
調用前(Skills 層)
發現:Agent 能不能找到該用什麼工具、什麼命令
組裝:能不能知道參數怎麼填、命令怎麼串
執行後(CLI 層)
解讀:結果乾不乾淨、失敗分不分類
應對:會不會中途問人、長任務能不能繼續
三句說話:Agent 拆任務。Skills 教調用。CLI 唔中斷、低 token、標準化交結果。

MiniMax CLI 唔係取代 Agent
佢係 Agent 嘅多模態執行層。
下次俾 Agent 用一個工具,先睇一眼:佢有 Skills 嗎?
Agent 自己拆任務
調 Image2 出圖
調 MiniMax CLI 配音、配樂、把圖變成視頻
把結果取回來。
MiniMax CLI 跑的那段
自動化程度非常高
中間沒有停頓、沒有報錯、沒有問我問題
等它交付成品就好
基本不用介入。

MiniMax 的模型一直很強
OpenClaw 和 Hermes 都推薦使用
@steipete 說"their model slays"

體驗了他們的CLI
發現他們的 Agent 基建搭建,同樣是國產第一梯隊
值得拆解一遍。
Agent 是怎麼做到的
MiniMax CLI 是怎麼讓 Agent 做到的?
在討論這個問題之前
先看一個容易忽略的事
以前人用 CLI 的時候,其實替工具做了四件事:
發現——搜文檔,找到該用哪個工具、哪條命令
組裝——憑經驗填對參數,把命令串起來
解讀——從終端輸出裏過濾噪音,讀懂報錯
應對——回答執行中彈出的提問,等長任務跑完
以前這不是問題——用工具的是人,這四件事人天然就會。
但現在用工具的變成了 Agent
發現、組裝、解讀、應對
人做的這四件事,沒人教它怎麼做。
人是工具的容錯層。拿掉人,工具必須自己容錯。

CLI 本身只管執行——文本、圖片、視頻、語音、音樂、看圖、搜索,每項一條命令
它把調用門檻從寫代碼降成了填參數:
網頁端:人點
API:Agent 先寫一段連接代碼
CLI:Agent 直接填參數
但光有 CLI 不夠
CLI 是給人設計的——人知道該調哪條命令、參數怎麼填、結果怎麼接
直接把 CLI 扔給 Agent,它用不起來。
後來去看它的文檔
我發現 MiniMax 沒有直接把 CLI 交給 Agent
它在 CLI 和 Agent 之間加了一層——一份叫 SKILL.md 的說明書
把人做的那些隱性工作翻譯成 Agent 能理解的規則:

Agent 怎麼找到每一步的命令
人做的四件事裏的前兩件——發現和組裝——全寫在 SKILL.md 裏。
Agent 不是直接調 CLI
它先讀 SKILL.md
從裏面知道該用什麼命令、參數怎麼填、結果長什麼樣
然後才去調 CLI
首先,Agent 怎麼知道該用這個工具。
Agent 的工具箱裏有很多工具
你說"幫我做一個短視頻"
它怎麼知道該用 mmx-cli?
答案在 SKILL.md 的第一行——工具簡介裏寫了"當用戶想生成文本、圖片、視頻、語音、音樂時,使用 mmx"
Agent 讀到這句
就把 mmx-cli 從工具箱裏拿出來了。
人可以搜文檔、問同事、試錯
Agent 不行
如果工具沒有在第一屏告訴 Agent “我能做什麼”
Agent 就不知道這個工具存在。
然後,它要知道該用哪條命令。
Agent 決定用 mmx-cli 以後
你要它生成配音
用 speech synthesize 還是 text chat?
SKILL.md 的 Commands 把能力逐項列出來了:

一張攤開的能力地圖——Agent 看一眼就知道哪個命令做哪件事,不需要猜。
接下來,參數怎麼填。
選好命令以後
SKILL.md 裏每條命令都用固定格式寫:能力說明 → 命令句式 → 參數 → 例子 → 返回結果。
比如生成配音:
mmx speech synthesize --text "*****" --output json --quiet
# → audio file path視頻生成、音樂生成也是同樣的格式。Agent 不需要從零拼命令:
能力說明告訴它"能做什麼"
命令句式告訴它"怎麼調用"
例子告訴它"完整調用長什麼樣"
返回結果告訴它"下一步能拿到什麼"
最後,這些命令能串成鏈。
每一步的輸出是下一步的輸入:

Agent 能串起來,因為 Skills 告訴它每一步會返回什麼:
Image2 返回圖片地址
speech synthesize 返回音頻文件
video generate 接收圖片 + 音頻,返回任務號
一步的輸出就是下一步的輸入。跨工具也能串成鏈。
這條鏈為什麼沒卡住
調用的問題 SKILL.md 解決了
但執行之後呢?
人做的四件事裏還有後兩件——解讀和應對
過濾噪音、讀懂報錯、回答提問、等長任務跑完
這些 SKILL.md 管不了
得靠 CLI 本身的設計來接。
能串起來,不代表跑得通
四個會斷的地方。

缺參數會被問住
Agent 發出 mmx video generate 命令
如果 CLI 運行到一半問"Choose aspect ratio: 1) 16:9 2) 1:1"(選一個畫面比例)
Agent 就卡了——它發的是一次完整命令調用,中間不答題。
人看到提示會輸入選項
Agent 不會
它只會停在"我發出的命令還沒有結束"。
mmx-cli 的做法:--non-interactive 缺參數直接失敗,--yes 跳過確認。
把"等人補充信息"的交互
變成"成功或失敗"的狀態
Agent 不需要回答終端問題
只需要根據狀態決定下一步。
終端噪音太多
Agent 調用 speech synthesize 以後
終端可能輸出進度條、提示語、耗時統計、報錯信息、最終文件路徑
人能自己跳過噪音找結果
Agent 不行。
而且 Agent 的上下文是有成本的
終端輸出越長,消耗的 token 越多
如果把進度、提示、耗時都塞進上下文
很快就被無關信息佔掉了。
mmx-cli 的做法:把輸出分成兩路——結果走一路,進度和提示走另一路
就像快遞分揀,包裹走傳送帶,廣告單走垃圾桶--quiet 去掉裝飾--output json 返回機器可讀結果
Agent 只看結果那一路,拿到路徑,交給下一步。

結果不是給人複製的,而是直接給下一步命令使用的:
AUDIO=$(mmx speech synthesize --text "一段旁白" --quiet)
mmx video generate --image "sunset.png" --audio "$AUDIO" --quiet
失敗了沒有分類
如果 video generate 失敗了
Agent 看到一段英文報錯:“authentication failed”(認證失敗)
人能讀懂
但 Agent 不應該靠理解一段英文來判斷下一步。
mmx-cli 的做法是退出碼:
0 成功 2 參數錯 3 認證錯
4 額度不足 5 超時 10 內容安全
失敗從"讀一段自由文本"
變成"看一個標準狀態"
Agent 先看數字做一級判斷:是參數錯就補參數,是認證錯就提示用戶,是額度不足就換策略。
不靠一段報錯文字自己聯想原因。
視頻沒生成完
這是任務鏈裏最容易卡住的一步
視頻生成需要幾分鐘
如果 CLI 一直等到完成,整條鏈就停了。
mmx-cli 的做法是 --async:
mmx video generate --async --quiet → taskId
mmx video task get --task-id <id> → Processing / Success
mmx video download --file-id <id> → preview.mp4
視頻任務不是"等在終端前"
而是變成"拿到任務號,後面繼續查和取"
task id 把長任務變成可管理對象:先發起,再查詢,最後下載。
面向 Agent 的 CLI,不是把終端變好看。是把終端變成接口。
你可能會問:這個 SKILL.md 誰來寫?
答案是 MiniMax 官方維護的,隨 CLI 一起發佈
你不需要自己寫說明書
裝好 mmx-cli,Agent 就能讀到它。
以後怎麼看一個工具行不行
MiniMax CLI 是一個案例
但"人是容錯層"這件事是通用的——以後看一個工具適不適合 Agent
就看人做的那些隱性工作
有沒有真正被工具自己替代:
調用前(Skills 層)
發現:Agent 能不能找到該用什麼工具、什麼命令
組裝:能不能知道參數怎麼填、命令怎麼串
執行後(CLI 層)
解讀:結果乾不乾淨、失敗分不分類
應對:會不會中途問人、長任務能不能繼續
三句話:Agent 拆任務。Skills 教調用。CLI 不中斷、低 token、標準化交結果。

MiniMax CLI 不是取代 Agent
它是 Agent 的多模態執行層。
下次讓 Agent 用一個工具,先看一眼:它有 Skills 嗎?