標籤: 多模態

  • Claude Opus 5 實戰選型與架構攻略

    Claude Opus 5 實戰選型與架構攻略

    📌 本文重點

    • Opus 5 從 demo 模型躍升為可上線的 production 主力
    • 建議採「Opus 做腦、Sonnet 做手」的雙模型架構
    • 強化安全、RAG、tool 使用與多模型編排的最佳實務

    第一件事:Opus 5 把「最強模型只能當 demo」這個痛點,往「真的能丟進 production」推了一大步。在 ARC-AGI-3 這種新型問題解決基準上,Opus 5 拿到 30.2% 分數,同等級模型(例如 Fable 系列)大概一半 token 價格;同時又補上多模態、工具調用、安全控制等企業級能力。對開發者來說,最大的價值是:

    💡 關鍵: Opus 5 在 ARC-AGI-3 拿到 30.2%,以約半價 token 成本提供接近頂級旗艦的推理與企業級能力。

    • 編碼、RAG、Agent 這三大主流場景,可以更直接地拿來替換或混用現有 GPT / Claude 舊版
    • 一套 API 和安全機制,把合規、幻覺控制、tool 使用統一到一個模型族群
    • 成本 vs 能力 的拉扯中,有更清晰的「Opus / Sonnet / 本地模型」分工

    重點說明:模型能力、費率與企業級特性


    1. 模型族群與費率結構:怎麼排兵布陣

    Anthropic 典型組合是:

    • Claude 5 Opus:高推理、長上下文、多模態、最強工具使用能力。用在:複雜規劃、關鍵決策、Agent orchestrator、關鍵碼審查
    • Claude 5 Sonnet:中高性能、成本更低。用在:高頻次對話、一般程式生成、RAG 回答層
    • Claude 5 Haiku / 本地模型:超高頻、可接受誤差場景。用在:query rewrite、embedding 前處理、粗篩分類

    Opus 5 的定位:

    • 接近頂級旗艦(文中對標 Fable 5),但 token 價格約半價
    • 在 coding、知識工作和複雜推理上可當「主力高端模型」,不再只適合作為偶爾叫一次的 premium 模型

    💡 關鍵: Opus 5 的策略是用約半價的 token 成本,承擔高推理、高風險任務,讓旗艦模型能真正進入日常 production 流程。

    實務建議:

    • 新專案:直接採 「Opus 做腦、Sonnet 做手」 的雙模型架構
    • 既有 OpenAI / Claude 3 專案:先把高風險、高價值的步驟換成 Opus 5,再慢慢 rollout 其他部分

    2. 安全性與企業級:如何設計 prompt / 架構控風險

    Anthropic 的強項一直是 安全 / 合規 / 可控行為,Opus 5 延續這點並加強:

    • 更嚴格遵守系統層指令(system message)→ 適合用來實作公司級「行為政策」
    • 內建對 敏感話題、個資、濫用 的拒答與降階描述能力
    • 系統卡(system card)說明了其對安全邊界的設計與限制

    設計上建議:

    1. 系統層明確寫「允許做什麼、不允許做什麼」,而不是只寫風格
    2. 對於高風險 domain(醫療、財務、法律)採用 「模型 + 規則引擎/審核人」 的二階段架構
    3. RAG 場景強制:「只能根據提供的文件回答,無法回答就說不知道」,並在系統層寫死

    簡化示意:

    {
      "model": "claude-5-opus-2026-07-25",
      "messages": [
        {
          "role": "system",
          "content": [
            {
              "type": "text",
              "text": "你是企業內部助理,**所有回答必須符合以下規則**:\n1. 僅可根據提供的檔案與 tool 回傳資料作答。\n2. 若資訊不足,請明確回答『我無法根據現有資料回答』,不得自行推測。\n3. 涉及個資或敏感資料時,優先隱去或模糊處理。"
            }
          ]
        },
        {
          "role": "user",
          "content": [
            {
              "type": "text",
              "text": "說明這份合約的付款條款重點"
            }
          ]
        }
      ]
    }
    

    這樣可以大幅降低幻覺與合規風險,尤其在內部文件 RAG、決策輔助類應用。


    3. 接 Claude API 的多模態 / 長上下文 / function calling

    Opus 5 支援:

    • 多模態:文字 + 圖像輸入
    • 長上下文:適合大型文件 / 多輪 Agent 對話
    • tool / function calling:結構化叫用後端服務

    API 型式與 Claude 5 系列一致,用 /v1/messages,關鍵參數:

    • modelclaude-5-opus-2026-07-25(假設版號)
    • tools:宣告可用 tool schema
    • tool_choice:控制是否自動選工具
    • max_output_tokens:記得設上限避免爆成本

    實作範例:從簡單調用到多模型編排


    1. 多模態 + 長上下文基本調用

    以下用 Node.js 示意(Python 也幾乎同樣):

    import Anthropic from "@anthropic-ai/sdk";
    
    const client = new Anthropic({ apiKey: process.env.CLAUDE_API_KEY });
    
    const res = await client.messages.create({
      model: "claude-5-opus-2026-07-25",
      max_output_tokens: 800,
      messages: [
        {
          role: "user",
          content: [
            {
              type: "text",
              text: "看這張錯誤截圖,說明 build 為什麼失敗,並給出修正 steps"
            },
            {
              type: "image",
              source: {
                type: "base64",
                media_type: "image/png",
                data: screenshotBase64
              }
            },
            {
              type: "text",
              text: longBuildLog // 可是一整段 build log,利用長 context
            }
          ]
        }
      ]
    });
    
    console.log(res.content[0].text);
    

    實際好處

    • debug pipeline 時,不用自己剪 log + 截圖分別丟,Opus 5 能直接在圖 + log 裡找因果
    • 利用長上下文,把整段 build log 喂進去,少做複雜 chunking

    2. Function calling:由 Opus 5 當 orchestrator agent

    假設有兩個後端工具:查用戶資料、創建 Jira ticket,由 Opus 5 自動決定何時調用。

    const tools = [
      {
        name: "get_user_profile",
        description: "依 user_id 取得使用者資訊",
        input_schema: {
          type: "object",
          properties: { user_id: { type: "string" } },
          required: ["user_id"]
        }
      },
      {
        name: "create_jira_ticket",
        description: "建立 Jira bug ticket",
        input_schema: {
          type: "object",
          properties: {
            summary: { type: "string" },
            description: { type: "string" },
            priority: { type: "string", enum: ["Low", "Medium", "High"] }
          },
          required: ["summary", "description"]
        }
      }
    ];
    
    const res = await client.messages.create({
      model: "claude-5-opus-2026-07-25",
      tools,
      tool_choice: "auto", // 讓模型自行決定是否呼叫工具
      messages: [
        {
          role: "user",
          content: [
            {
              type: "text",
              text: "幫我檢查 user_123 的帳號狀態,如果真的有 bug 就開一張高優先的 Jira"
            }
          ]
        }
      ]
    });
    
    for (const block of res.content) {
      if (block.type === "tool_call") {
        const { name, input } = block;
        // 在這裡實際呼叫你的後端,再把結果做成新的 assistant/tool 回合
      }
    }
    

    實際好處

    • Opus 5 做決策與規劃,例如先查 user,再視需要開 ticket
    • 在多 step 任務中,比較能處理模糊指令(”如果真的有 bug 就…”)

    相較 Sonnet / 本地模型,Opus 5 在:

    • 正確選用對的 tool、傳對參數 的成功率明顯更高
    • 多步推理(先查再判斷再執行)時較少「跳步」或忘記驗證條件

    3. 多模型編排:Opus + Sonnet + 本地模型

    典型 production 架構可以長這樣:

    graph TD
      U[使用者] -->|query| R[Router]
      R -->|簡單 Q&A / 高頻| S[Claude 5 Sonnet]
      R -->|複雜規劃 / 新任務| O[Claude 5 Opus]
      R -->|極高頻前處理| L[本地模型]
      S --> B[Business Logic]
      O --> B
      L --> S
    

    簡易 routing 示意(Node + 手寫 rules):

    function routeModel(intent: "simple" | "complex" | "preprocess") {
      switch (intent) {
        case "preprocess":
          return "local";
        case "simple":
          return "claude-5-sonnet-2026-07-25";
        case "complex":
          return "claude-5-opus-2026-07-25";
      }
    }
    

    何時用 Opus、何時退回 Sonnet / 本地?

    • Opus
    • 要跨多文件 / 多步驟整合推理(合約比較、架構選型、長鏈式工具調用)
    • 產出錯誤成本高(法律、財務建議,CI/CD pipeline 生成、關鍵 infra IaC)
    • Sonnet
    • 常規 coding assistant、一般 RAG 問答、標準客服問答
    • 允許小錯但需要高吞吐
    • 本地模型
    • 簡單分類 / metadata 抽取 / prompt rewrite / query expansion

    建議與注意事項:遷移坑與最佳實踐


    1. 從舊 Claude / OpenAI 遷移的常見坑

    1. 上下文長度變長 ≠ 可以亂餵
    2. Opus 5 支援更長 context,但:
      • token 成本會線性上升
      • 太長反而容易導致模型抓錯重點
    3. 建議:保留 chunking + ranking,只是在「最終 candidate 合併」時可以放更多片段

    4. tool schema 的差異

    5. Claude 使用 tools + input_schema,與 OpenAI 的 functions + parameters 類似但格式略不同
    6. 遷移時要注意:

      • JSON Schema 的 typerequiredenum 要嚴格
      • 工具名稱 保持穩定且語義明確,模型會用名稱來推理用途
    7. 行為差異造成回歸

    8. Opus 5 對 system message 服從度較高,可能導致:
      • 原本模糊的 system 設計 → 在新模型下變成過度保守或拒答
    9. 建議:
      • 把原本的 system 重新整理成清楚的「允許 / 禁止列表」
      • 遷移前先在 staging 跑 regression prompt test(可以用 Claude Cookbook 裡的測試框架範例改)

    2. 降低幻覺與合規風險的模式

    • RAG 必備
    • system 固定句:「如果資料不足,請回答『我不知道』,不得自行補完。」
    • user prompt 裡標出:[來源文件開始]... [來源文件結束]
    • 回答時要求 "citation": [doc_id, ...] 結構化輸出

    • 敏感領域

    • Opus 5 做 reasoning + 初版草稿
    • 交由規則引擎(關鍵字、正則)+ 人工審核做最後關卡

    3. 成本優化實務

    • 一開始刻意過度使用 Opus 收集資料,記錄:
    • 哪些 query 類型其實 Sonnet / 本地就夠
    • 哪些工具調用失敗是因為 prompt / schema 設計不好
    • 之後用這些 log 寫 routing 規則或訓練 classifier,把 60-80% 流量導回 Sonnet / 本地

    💡 關鍵: 先用 Opus 全覆蓋收集真實流量,再用資料驅動的 routing 把 60–80% 較簡單請求轉回更便宜模型,是實務上的成本優化路徑。


    總結

    • Claude Opus 5 適合做「系統的大腦」而不是「所有事情都自己做」
    • 把它放在複雜推理、Agent orchestrator、關鍵決策點,其餘交給 Sonnet 或本地模型
    • 遷移時要特別檢查:上下文策略、tool schema、system prompt 行為差異,避免隱性回歸

    善用 Anthropic 提供的 Claude Cookbook 做 prompt / tool 設計模板,可以大幅縮短從 PoC 到 production 的時間。


    🚀 你現在可以做的事

    • 實際用 claude-5-opus-2026-07-25 在沙箱環境替換現有高風險、高價值步驟,觀察效果與成本
    • 參考 Claude Cookbook,為自家場景重寫一版明確的 system prompt 與 tool schema
    • 從現有 log 中標註「簡單 / 複雜 / 前處理」intent,實作最基本的 Opus / Sonnet / 本地模型 routing 規則
  • 讓 Claude 看影片:10 分鐘跑起來實戰教學

    讓 Claude 看影片:10 分鐘跑起來實戰教學

    📌 本文重點

    • claude-video 把影片轉成可問答知識庫
    • 下載影片、抽幀、語音轉文字全自動
    • 多模態上下文交給 Claude 做各種分析
    • 10 分鐘跑起來,適合教學、課程、demo、監控

    一句話定位:claude-video 讓 Claude 真的「看見」影片,從下載、抽幀、語音轉文字到多模態分析,全包成一個指令搞定。

    GitHub 專案連結:https://github.com/bradautomates/claude-video


    核心功能:一個指令,讓影片變成可問答的知識庫

    claude-video 的核心做的只有一件事:把「影片」轉成 Claude 能理解的多模態上下文。實際拆開來有 3 個關鍵步驟,每一個你都能拿來做自動化。

    💡 關鍵: 透過影格+逐字稿+影片資訊的打包,任何影片都能變成可搜尋、可摘要、可問答的結構化知識來源。

    1. 自動下載影片 + 抽幀

    你只要給一個網址(目前主要是 YouTube),工具會:

    • 下載原始影片檔
    • 依照設定好的間隔抽出代表性的影格(frames)
    • 這些影格會作為「圖片上下文」送給 Claude

    能做什麼:

    • 只看技術教學影片的關鍵畫面(程式碼、投影片、操作步驟)
    • 分析產品 demo 畫面上的 UI 元素、錯誤提示、流程

    行動建議:

    • 想節省時間,把你常看的教學頻道某一支影片的 YouTube 連結先存起來,待會在「怎麼開始」小節直接拿來測試。

    2. 語音轉文字,變成完整逐字稿

    工具會對影片做語音轉文字,把講者說的內容轉成文字,和影格一起送給 Claude。

    常見效果:

    • 自動生成逐字稿(含時間點)
    • 把講者的講解內容和畫面對應起來,更容易做重點歸納

    行動建議:

    • 準備一支你想要「變成文字教材」的影片,比如線上課程、內訓錄影,後面你可以直接用它跑出教學大綱和筆記。

    3. 打包成多模態上下文交給 Claude

    最後,工具會把:

    • 抽出來的影格(圖片)
    • 語音轉文字的逐字稿
    • 影片的基礎資訊(標題、描述等)

    全部打包成一個多模態 prompt,交給 Claude 分析。你可以自訂要 Claude 做什麼:摘要、生成教學、抓重點、產生 QA 題庫等。

    行動建議:

    • 先想好你最常對影片做的「重複動作」,例如:
    • 幫我整理重點
    • 幫我寫 SOP
    • 幫我做中文摘要

    稍後你可以把這段常用指令寫進腳本裡,變成一個固定 workflow。


    適合誰用:4 個實際場景示範

    情境 1:YouTube 教學影片秒變重點筆記

    場景:你常看 Python / 前端 / 設計 / No-Code 教學影片,但看完就忘。

    用法示例:

    • 把影片連結丟給 claude-video
    • 設定 Claude 指令:
    • 濃縮成 10 條重點
    • 列出關鍵程式碼片段
    • 把操作步驟寫成 checklist

    結果:你得到一份可以直接放進筆記軟體的整理稿,比自己邊看邊記快很多。

    實際行動:

    • 找一支你最近收藏但還沒看的教學影片,稍後用它做第一次測試,順便讓工具幫你「看完」。

    情境 2:線上課程變成可搜尋的知識庫

    場景:公司或個人買了一整套線上課程,內容很多但不容易查找。

    用法示例:

    • 把每一堂課的影片都用 claude-video 跑一次
    • 要 Claude:
    • 將每支影片整理成「課程筆記 + 關鍵字標籤」
    • 產出 5–10 個 QA 題目,當作測驗

    結果:你可以把整理好的文字放到 Notion / Obsidian / 任意知識庫裡,之後用關鍵字就能查到課程中的重點片段。

    💡 關鍵: 只要每支課程影片都跑過一次,整套課程立刻升級成可搜尋、可測驗的知識庫,大幅降低複習與查找成本。

    實際行動:

    • 選 1–2 支課程影片做試驗,先建立最小可用的「課程知識庫」,再看要不要自動化整套課程。

    情境 3:產品 demo 影片自動轉成文件說明

    場景:團隊常錄 demo 影片給客戶、內部成員,但文件補不上。

    用法示例:

    • claude-video 處理 demo 錄影
    • 指定 Claude 任務:
    • 把操作流程寫成逐步教學文件
    • 把畫面上的按鈕、表單欄位整理成功能說明
    • 生成「常見問題」和解答

    結果:每一支 demo 可以在幾分鐘內變成:使用說明、FAQ、給新人的入門文件。

    實際行動:

    • 把你最近一次 demo 錄影拿來跑,看看產出的文件是否已經可以直接發給客戶或新同事。

    情境 4:監控 / 內訓影片做檢索與稽核

    場景:公司有大量監控影片或內部訓練錄影,想快速查某一段內容是否出現。

    用法示例:

    • claude-video 跑監控或內訓影片
    • 詢問 Claude:
    • 某時間段內是否有特定事件(例如:某動作、某流程有沒有照 SOP 做)
    • 把違反規範的段落列出,附時間碼

    結果:你得到可以檢索的文字紀錄與標註,比逐段人工看影片省時間。

    實際行動:

    • 先選一支 5–10 分鐘的內訓影片,測試「違規行為摘要」或「流程是否照 SOP」的任務。

    怎麼開始:10 分鐘跑起來教學

    下面是最短路徑:從零到跑出第一個影片分析結果,大致 10 分鐘內可完成。

    步驟 1:環境準備與 clone 專案

    需求:

    • Python 3.10+(建議)
    • 一個終端機環境(macOS / Linux / Windows 都可)

    指令:

    # 1. 下載專案
    git clone https://github.com/bradautomates/claude-video.git
    cd claude-video
    
    # 2. 建議建立虛擬環境
    python -m venv .venv
    source .venv/bin/activate  # Windows 用 .venv\Scripts\activate
    
    # 3. 安裝依賴
    pip install -r requirements.txt
    

    行動建議:

    • 如果你常跑 Python 專案,建議專門開一個資料夾放各種 AI 工具腳本,claude-video 也一起放進去,日後好維護。

    步驟 2:設定 Claude API Key

    你需要一組 Anthropic Claude 的 API Key(可到官方註冊後取得):

    設定方式通常是:

    export ANTHROPIC_API_KEY="你的_API_Key"
    # 或在 Windows PowerShell:
    setx ANTHROPIC_API_KEY "你的_API_Key"
    

    有些版本會使用 .env 檔,你可以在專案根目錄建立:

    ANTHROPIC_API_KEY=你的_API_Key
    

    行動建議:

    • 先確認你目前的方案是否有多模態權限(支援圖片 + 文字),不然影片影格送進去會失敗或被降級成文字模式。

    步驟 3:跑第一個影片分析任務

    以 YouTube 影片為例,專案通常提供類似 /watch 的指令或腳本(具體以 repo 當前 README 為準)。假設有一個 CLI:

    python watch.py "https://www.youtube.com/watch?v=你的影片ID"
    

    這一步會:

    1. 下載影片
    2. 抽幀與語音轉文字
    3. 把結果送進 Claude,依照預設 prompt 報告分析結果

    輸出可能是:

    • 一段純文字摘要
    • 搭配時間碼的段落整理
    • 對影片內容的 QA 回答

    行動建議:

    • 用你一開始準備的「教學影片」做第一次測試,觀察 Claude 對畫面與講解內容是否理解到位。

    步驟 4:改成你自己的 workflow 步驟

    跑成功一次之後,接下來就看你想把它接到哪個流程裡。以下給一個常見範例:接到影片連結就自動生成「中文摘要+切片提綱」

    你可以:

    1. 修改專案裡的 prompt 或新增一個配置檔,例如 prompts/summary_zh.txt
      “`text
      你是一位教學內容整理助理。
      請根據提供的影片影格與逐字稿,輸出:
    2. 以繁體中文撰寫 300–500 字摘要
    3. 列出 8–12 個重點段落,每段附上時間碼
    4. 對每個重點段落寫 1 句適合當剪輯標題的文案
      “`
    5. 在主程式中改成讀這個 prompt,並將輸出寫入檔案:
      bash
      python watch.py "https://www.youtube.com/watch?v=影片ID" \
      --prompt prompts/summary_zh.txt \
      --output output/影片ID_summary.md
    6. 再往前接:
    7. 用表單或簡單網頁,讓同事貼影片連結
    8. 後端直接呼叫這個腳本
    9. 完成後把 Markdown 檔推到 Notion、Git repo 或寄信通知

    行動建議:

    • 先把「中文摘要+切片提綱」這種需求寫成一個固定 prompt,試跑幾支影片調整語氣與格式,穩定後再接到你的自動化流程裡。

    小結

    claude-video 做的事情很直接:讓 Claude 真正能看懂影片,而不只是看標題和描述。

    只要你願意花 10 分鐘:

    • clone 專案
    • 寫好 API Key
    • 跑一支 YouTube 教學影片

    你就能把「看影片、整理重點」這件事交給 Claude 處理,自己只負責看整理好的結果。接下來要擴展到線上課程、產品 demo、監控影片,都只是在同一套流程上微調 prompt 而已。

    🚀 你現在可以做的事

    • 打開終端機,依照教學 clone claude-video 並設定好 ANTHROPIC_API_KEY
    • 找一支你常看的 YouTube 教學影片,實際跑一次 python watch.py "影片連結" 看結果
    • 建立一個 prompts/summary_zh.txt,把你想要的「中文摘要+重點」格式寫進去,開始打造自己的影片整理 workflow
  • 一行指令接上多模態 AI:MMX-CLI 實戰

    一行指令接上多模態 AI:MMX-CLI 實戰

    用一句話講清楚:MMX-CLI 讓你用一行指令,就能在本機腳本或 Agent 裡,直接調用文字、圖片、影片、語音、音樂、視覺分析與搜尋等多模態 AI 能力,而且輸出格式乾淨,好串自動化。

    📌 本文重點

    • 一套 mmx CLI 管文字、圖片、影片等七種多模態能力
    • stdout / stderr 分流設計,超適合腳本與 CI 自動化
    • 支援語義錯誤碼與 async,穩定掛在長鏈式工作流後面
    • Node / JS 友善,當「通用多模態 AI 插件」掛在任何工具裡

    專案來源:Reddit 介紹帖(含原始連結):https://www.reddit.com/r/LocalLLaMA/comments/1skfhix/minimax_released_mmxcli_one_cli_for_text_image/


    核心功能:為「會寫指令的人」準備的多模態外掛

    💡 關鍵: 一套 mmx 前綴的 CLI 就涵蓋七種多模態能力,大幅減少安裝與學習不同 SDK 的成本

    1. 七大多模態指令組:一套 CLI 管全部

    MMX-CLI 的指令前綴都是 mmx,再接子指令:

    • mmx text:文字生成功能(寫文案、草稿)
    • mmx image:圖片生成、批次生成
    • mmx video:影片生成(支援非同步)
    • mmx speech:文字轉語音 / 語音相關
    • mmx music:音樂生成
    • mmx vision:圖片理解、標註、OCR 類任務
    • mmx search:網路搜尋 / 檢索

    可行動重點

    • 想做「終端裡直接問圖」、「批量出圖」或「自動生成影片」,都只要學一個 mmx 開頭的 CLI 即可,不必各裝一套 SDK。
    • 在腳本中只要換子指令,就能把文字流程擴充到圖像、影音,不用改整個架構。

    2. stderr/stdout 分流:為自動化管線設計的輸出

    多數 AI CLI 會把提示訊息、JSON 結果都塞在一起,要解析結果時只好寫一堆正則。MMX-CLI 的設計直接幫你分好:

    • stdout:只輸出「乾淨結果」,例如 JSON、檔案路徑
    • stderr:UI 提示、進度條、debug 訊息

    💡 關鍵: 把結果與提示嚴格分流,讓你在 CI / 腳本裡直接吃 JSON,不用再寫正則清洗輸出

    這代表你可以這樣用:

    mmx image generate \
      --prompt "一張藍底白字的活動宣傳圖" \
      --json \
      1> result.json \
      2> log.txt
    
    • result.json:可直接被 jq、Python、Node 解析
    • log.txt:留給人類看錯誤、進度

    可行動重點

    • 在任何 Shell/CI pipeline 裡,用 1>2> 就能區分機器要吃的結果、跟人類要看的訊息,少很多「切字串」的工作。

    3. 語義錯誤碼與 async:穩定接在長鏈式工作流後面

    MMX-CLI 有兩個很適合自動化的設計:

    1. 語義錯誤碼(semantic exit codes)
    2. 不只是 0/1,而是用不同 exit code 表示不同錯誤類型(如:授權、配額、參數錯誤等)。
    3. 你可以在腳本裡根據 $? 做分支處理,而不是只知道「失敗」兩個字。

    4. async 影片與圖片一致性

    5. mmx video 支援 --async--no-wait,提交生成後直接結束,不會在終端卡很久。
    6. 產生的任務 ID 可存起來,之後再查詢結果,適合長影片或大量任務情境。
    7. mmx image 支援像 --subject-ref 這類選項,可讓同一批生成的圖片保持主體一致(同一個角色、同一個風格),方便做系列素材。

    💡 關鍵: 用語義錯誤碼搭配 async 任務查詢,可以在長鏈式自動化裡做精細錯誤分流,又不會堵住整條 pipeline

    可行動重點

    • 在 CI / 排程任務中,影片生成用 --async,後面接一個輪詢/查詢腳本,不會讓 pipeline 掛住。
    • 社群素材、產品圖需要「同一個角色」時,在同一批任務加入主體參考參數,減少後期修圖重工。

    適合誰用:把 MMX-CLI 當「通用 AI 插件」來掛

    1. 本機腳本與自動化 pipeline:用 CLI 批量做內容

    典型用法:每天自動生成社群素材(文字 + 配圖)。例如一個簡單的 cron 任務:

    1. mmx text 生成今天要發的貼文文案。
    2. 把文案丟給 mmx image 生成對應主圖。
    3. 結果存到指定資料夾 + JSON 清單。

    Shell 示例:

    #!/usr/bin/env bash
    set -e
    
    # 1. 生成文案
    caption=$(mmx text generate --prompt "替科技品牌寫一則今日 IG 貼文,50 字內,口吻輕鬆" --plain)
    
    # 2. 生成圖片(輸出 JSON,內含檔案路徑)
    mmx image generate \
      --prompt "$caption" \
      --json 1> image.json 2> /dev/null
    
    image_path=$(jq -r '.outputs[0].path' image.json)
    
    echo "文案:$caption"
    echo "圖片:$image_path"
    

    可行動重點

    • 任何原本用 Bash / Python 後面接 curl + OpenAI API 的地方,都可以試著改成 mmx text/image/...,讓指令更短、錯誤處理更好做。

    2. 在 Claude Code / Cursor / OpenClaw 裡當「外掛能力」

    MMX-CLI 可以直接被這些 Agent/IDE 工具當成外部命令調用,不需要額外架 MCP Server:

    • Claude Code / Cursor:程式碼助手可以呼叫系統指令(例如 !mmx ... 或 task runner),把多模態功能塞進 coding workflow。
    • OpenClaw 等 Agent 框架:把 mmx 視為一個 tool,交給 Agent 自己 decide 什麼時候用圖像、影片、搜尋能力。

    範例 workflow(以 Cursor 為例):

    1. 在專案的 script 區塊新增一條:「mmx vision analyze 對當前專案的 UI 截圖做說明」。
    2. 用自然語言跟 Cursor 說:「請幫我分析 screenshot.png,找出 UI 過於擁擠的區域」,由 Cursor 呼叫該 script,再回傳結果給你。

    可行動重點

    • 如果你已經在用 Claude Code / Cursor,試著加一條腳本(後面會給最小範例)讓它能調用 mmx vision,等於幫 Agent 長出「看圖」能力。

    3. 想要簡化多模態 API 整合的工程師 / Side project 作者

    MMX-CLI 用 TypeScript 寫成,跑在 Node.js 18+ 上:

    • 對前端 / JS 工程師特別友善,可以輕鬆串到 Node 腳本、Electron、Next.js 後端。
    • 不想碰太多 SDK,單純想「能被命令行叫起來,回傳 JSON」,就很適合直接用這一套。

    可行動重點

    • 當你在 side project 裡只需要一兩個 AI 能力(例如:上傳照片 → 生成說明文字),優先考慮用 child_process 呼叫 mmx,先把功能打通,再考慮要不要換成直接 API。

    怎麼開始:3 分鐘跑通你的第一個多模態任務

    1. 環境需求與安裝方式

    基本需求:

    • Node.js 18+(建議直接裝 LTS 版本)
    • npm / npx 可用

    安裝成全域「技能」:

    npx skills add MiniMax-AI/cli -y -g
    

    或一般全域安裝(若專案說明有提供 npm package):

    npm install -g @minimax-ai/mmx-cli   # 依官方實際名稱調整
    

    最新安裝指令以官方 README 為準,可從 Reddit 原文往下點到 GitHub 或官網。

    可行動重點

    • 先確認 node -v 是 18 以上;若不是,先更新 Node,再來跑 npx skills add ...

    2. 最小可執行範例:一行文字 → 一張圖片

    安裝完後,先試一個最簡單的生成任務:

    mmx image generate \
      --prompt "一張極簡風格的藍底白字技術活動海報" \
      --json
    

    預期行為:

    • 終端 stdout 輸出一段 JSON,其中會包含生成圖片的本地路徑或 URL。
    • stderr 會有模型載入、進度等訊息,不會干擾 JSON。

    若只想要檔案路徑,可以接 jq

    mmx image generate \
      --prompt "一張極簡風格的藍底白字技術活動海報" \
      --json 2>/dev/null | jq -r '.outputs[0].path'
    

    可行動重點

    • 改幾個不同 prompt(例如品牌名稱、活動主題),就能快速做出一批風格一致的海報草稿。

    3. Node 腳本範例:用 JS 串多模態流程

    如果你想直接在 Node 專案裡用 MMX-CLI,下面是一個「讀文字 → 生成語音檔」的最小範例:

    // file: tts.js
    import { execFile } from 'node:child_process';
    
    function runMMX(args) {
      return new Promise((resolve, reject) => {
        execFile('mmx', args, { maxBuffer: 1024 * 1024 }, (error, stdout, stderr) => {
          if (error) {
            console.error('MMX stderr:', stderr);
            return reject(error);
          }
          try {
            const json = JSON.parse(stdout);
            resolve(json);
          } catch (e) {
            reject(e);
          }
        });
      });
    }
    
    (async () => {
      const text = '歡迎使用 MMX-CLI,這是一個多模態 AI 的命令列工具。';
      const result = await runMMX([
        'speech',
        'generate',
        '--text', text,
        '--json'
      ]);
    
      console.log('生成的音檔路徑:', result.outputs[0].path);
    })();
    

    執行:

    node tts.js
    

    可行動重點

    • 把這支腳本換成 vision analyzevideo generate,你就能在 Node 專案裡快速測出多模態能力,不用先研究一整套 API。

    小結:MMX-CLI 的定位與你可以立刻做的三件事

    MMX-CLI 適合被當成「通用多模態 AI 插件」掛在任何能呼叫命令列的地方:腳本、CI、Agent、IDE。

    你現在可以立刻做的三件事:

    1. 安裝並跑通最小範例:升級 Node → npx skills add MiniMax-AI/cli -y -g → 跑一個 mmx image generate
    2. 在現有腳本裡替換一個原本用 curl + API 的地方,改用一條 mmx text,感受 stderr/stdout 分流帶來的差異。
    3. 在 Claude Code / Cursor 專案裡加一條呼叫 mmx vision 的 script,讓你的程式碼助手從「只會看文字」變成「看得懂圖片」。

    只要能打開終端,你就能用 MMX-CLI 把多模態 AI 接到任何地方。

    🚀 你現在可以做的事

    • 打開終端,確認 node -v 版本後,依文中指令安裝 mmx 並跑一次圖片生成
    • 挑一個現有 Bash / Node 腳本,把其中一段 curl + API 改寫成對應的 mmx textmmx image
    • 在你的 Claude Code / Cursor 專案設定裡新增一條腳本,讓它可以呼叫 mmx vision analyze 來查看專案截圖