Appearance
MiniMax CLI Agent设计拆解:四层架构让一句话变视频
以前用CLI时人做四件事:发现、组装、解读、应对。拿掉人,工具必须自己容错。MiniMax用SKILL.md解决前两件,用CLI设计解决后两件。
一句话到成片的体验
我说了一句话:"帮我做个视频"
Agent自己拆任务:
- 调Image2出图
- 调MiniMax CLI配音、配乐、把图变成视频
- 把结果取回来
MiniMax CLI跑的那段,自动化程度非常高。中间没有停顿、没有报错、没有问问题。等它交付成品就好,基本不用介入。
以前人用CLI做的四件事
以前人用CLI的时候,其实替工具做了四件事:
| 事情 | 说明 |
|---|---|
| 发现 | 搜文档,找到该用哪个工具、哪条命令 |
| 组装 | 凭经验填对参数,把命令串起来 |
| 解读 | 从终端输出里过滤噪音,读懂报错 |
| 应对 | 回答执行中弹出的提问,等长任务跑完 |
以前这不是问题——用工具的是人,这四件事人天然就会。
但现在用工具的变成了Agent。发现、组装、解读、应对,人做的这四件事,没人教它怎么做。
人是工具的容错层。拿掉人,工具必须自己容错。
四层架构
MiniMax CLI没有直接把CLI交给Agent,而是在CLI和Agent之间加了一层——SKILL.md。
Agent → SKILL.md → CLI → API| 层级 | 职责 | 解决的问题 |
|---|---|---|
| Agent | 理解用户意图,调用Skill | 识别任务类型 |
| SKILL.md | 翻译隐性知识为显性规则 | 发现、组装 |
| CLI | 执行命令,返回结构化结果 | 解读、应对 |
| API | 底层能力调用 | 文本/图片/视频/语音/音乐 |
SKILL.md如何解决发现和组装
Agent怎么知道该用这个工具
SKILL.md第一行——工具简介:
当用户想生成文本、图片、视频、语音、音乐时,使用mmx
Agent读到这句,就把mmx-cli从工具箱里拿出来了。
人可以搜文档、问同事、试错。Agent不行。如果工具没有在第一屏告诉Agent"我能做什么",Agent就不知道这个工具存在。
Agent怎么知道该用哪条命令
SKILL.md把命令按场景分好类:
| 场景 | 命令 |
|---|---|
| 文生图 | mmx image create |
| 文生视频 | mmx video create |
| 文生语音 | mmx audio create |
| 图片生成视频 | mmx video create --image <path> |
| 视频配乐 | mmx music create |
Agent不需要记住所有命令,只需要读懂分类,按场景检索。
Agent怎么知道参数怎么填
SKILL.md把参数说明写清楚:
mmx video create
--prompt <text> # 视频内容描述
--image <path> # 输入图片路径(可选)
--duration <seconds> # 视频时长(默认4秒)
--aspect-ratio # 16:9 / 9:16 / 1:1Agent根据用户意图填参数,不再瞎猜。
CLI如何解决解读和应对
解读:结构化输出
传统CLI输出是给人看的,Agent读不懂。MiniMax CLI的输出设计:
json
{
"status": "success",
"task_id": "video_abc123",
"result_url": "https://cdn.minimax.com/outputs/video_abc123.mp4",
"duration": 4.2
}核心原则:可解析、可判断、可追踪。
- 可解析:JSON格式,Agent直接读取
- 可判断:status字段告诉Agent成功还是失败
- 可追踪:task_id和result_url让Agent能找到结果
应对:异步任务处理
视频生成需要时间,CLI不阻塞等待:
bash
$ mmx video create --prompt "..." --async
{"task_id": "video_abc123", "status": "processing"}
$ mmx task get video_abc123
{"status": "completed", "result_url": "..."}Agent可以:
- 提交任务,拿到task_id
- 做别的事
- 定期查询task状态
- 完成后取回结果
不需要一直等,不需要回答弹窗问题。
完整工作流示例
用户:帮我做个视频
Agent:
- 读SKILL.md,发现mmx-cli能做视频
- 解析用户意图,确定用
mmx video create - 调Image2生成图片
- 调CLI:
mmx video create --image /path/to/image.png --prompt "..." - 拿到task_id
- 定期查询task状态
- 完成后取回视频URL
- 返回给用户
全程无需人工介入。
设计哲学总结
| 问题 | 传统方案 | MiniMax方案 |
|---|---|---|
| Agent不知道工具存在 | 让Agent自己搜 | SKILL.md第一行说清楚 |
| Agent不知道命令怎么写 | 让Agent自己试 | SKILL.md按场景分类 |
| Agent读不懂终端输出 | 让Agent自己解析 | CLI返回结构化JSON |
| Agent不知道怎么等任务 | 让Agent阻塞等待 | 异步任务+task查询 |
核心思想:把人做的隐性工作翻译成Agent能理解的显性规则。
对开发者的启示
如果你想让Agent用好你的工具:
- 写一份SKILL.md:告诉Agent工具能做什么、命令怎么写、参数怎么填
- 设计结构化输出:不要让Agent读人看的输出,给JSON
- 支持异步模式:长任务不要阻塞,给task_id让Agent查
- 减少交互环节:每多一个弹窗,Agent就多一个失败点
MiniMax这套设计,是国产Agent基建的第一梯队。
