Multi-Modal 多模態提示
多模態提示,指的是用「不只是純文字」的內容去提示模型(圖片、音訊、影片或文件)並換回文字或結構化輸出。你在文字提示上學到的那套紀律依然成立:說得具體、給足脈絡、指定明確的輸出格式。唯一改變的,是你的部分輸入現在變成了一張照片、一段聲音,或一頁掃描檔。
這件事在 2026 年特別重要,因為真實世界的工作幾乎不是純文字的。一個 bug 是以截圖出現的;一份規格是以 PDF 寄來的;一個設計稿是 Figma 匯出的;一張發票需要變成試算表裡的一列。多模態模型讓你可以直接指著原始檔案發問,而不必先用手把它逐字謄一遍。
截至 2026-06,主流的前沿模型(Anthropic Claude、OpenAI GPT、Google Gemini)全都接受圖片輸入,其中數個也接受音訊與影片。確切的限制(檔案大小、解析度上限、支援格式、單次請求可放幾張圖)會因模型而異,也會隨時間改變。在你打算倚賴某個特定限制之前,請查閱當前的模型官方文件。本頁聚焦在「提示技巧」,因為技巧是耐久的;數字則不是。
圖片輸入:最主力的能力
圖片理解是目前最成熟、也最普及的多模態能力,所以值得花最多篇幅。底下每一種任務,背後的模式都一樣:講清楚你要什麼、指出真正重要的區域、要求結構化的輸出格式。模糊的圖片提示只會換來模糊的答案,這點跟文字提示一模一樣。
描述與圖說(Caption)
最單純的任務。適合用在 alt text、內容審查的初步分流,以及建檔歸類。
為這張圖片寫一句適合螢幕報讀軟體使用的 alt-text 圖說。
要客觀、精簡。不要臆測任何畫面上看不到的東西。
若需要更豐富的描述,請改要結構,而不是要一段散文:
請以 JSON 描述這張圖片,欄位如下:
- "subject": 主體,用 3 到 6 個字描述
- "setting": 場景發生的地點
- "objects": 顯著物件的陣列
- "mood": 從 ["neutral", "positive", "negative"] 三者擇一
只回傳合法的 JSON。
視覺問答(VQA)
針對圖片問一個單一、具體的問題,而不是丟一句「跟我說說這張圖」。
只看這張路邊停車告示牌的照片:哪幾天、哪些時段「禁止」停車?
如果牌面被部分遮住或語意不清,請明白說出來,不要用猜的。
模型回答聚焦問題的可靠度,遠高於回答開放式問題。如果你有好幾個問題,要嘛把它們寫成編號清單、每題各配一個清楚的輸出欄位,要嘛拆成多次請求分開問。
從圖表、表格、發票擷取結構化資料
這是價值最高的圖片任務之一。永遠把你想要的 schema 明確寫出來,輸出才能直接給機器用。
這張圖片是一張收據。請把每一項明細擷取成 JSON:
{
"merchant": string,
"date": "YYYY-MM-DD",看不到日期就填 null,
"items": [{ "name": string, "qty": number, "unit_price": number }],
"subtotal": number,
"tax": number,
"total": number
}
任何讀不出來的欄位請填 null。不要自己編造數值。
只回傳這個 JSON 物件。
如果是圖表,請把座標軸與單位講清楚,模型才會讀到正確的數字:
這是一張月營收長條圖。x 軸是月份(1 月到 12 月),
y 軸是營收,單位為「千元」。請對每一根你能讀出的長條,
回傳一個 JSON 陣列,元素格式為 { "month": string, "revenue_k": number }。
若某根長條的高度落在格線之間,請估算,並為該筆資料加上
"approx": true。
OCR:把圖片裡的文字讀出來
當你要的是「字面上的文字」而非「解讀」時,請明確要求逐字轉錄,並告訴模型如何處理讀不清楚的地方。
請把這張圖片中所有可見的文字,原樣逐字轉錄,保留換行與原始拼寫。
任何你無法有把握辨識的字詞,請標記為 [無法辨識]。
不要修正文法,也不要翻譯。
理解流程圖或 UI 截圖
流程圖與截圖承載的是「結構」(方框、箭頭、版面配置)而不只是像素。請告訴模型這是哪一種圖,它才會去讀出當中的關係。
這是一張系統架構圖。請列出每個元件(方框);並對每一條箭頭,
說明其方向以及代表的意義(例如:「API Gateway ->
Auth Service:驗證 token」)。最後,標出任何沒有任何
進入或離開連線的元件。
如果是 UI 截圖,請把模型錨定到某個區域:
這是一張網頁表單的截圖。請聚焦在標題「帳單地址」底下的區塊。
列出該區塊中的每一個輸入欄位、它的標籤文字,以及它看起來是
必填(標有星號 *)還是選填。
比較兩張圖片
當你一次送出超過一張圖片時,請在提示中替它們編號標記,這樣你才能毫無歧義地指稱每一張。
我會送出兩張截圖:第一張是設計稿,第二張是實作出來的頁面。
請列出兩者之間的每一處視覺差異,並依下列類別分組:
版面/間距、顏色、字體排版,以及缺少或多出來的元素。
請按差異的明顯程度由高到低排序。
這個「比較」模式, 正是底下要談的 agentic 驗證迴圈的基礎。
音訊與影片
音訊與影片的理解能力,比圖片輸入更「看模型而定」:支援程度、品質與長度上限在不同模型之間差異很大,而且更新頻繁,所以在拿它們來搭建系統之前,務必先驗證。
轉錄(語音轉文字) 是最常見的音訊任務。跟 OCR 一樣,請把格式和不確定處的處理方式講明白:
請轉錄這段音訊。把每位說話者標為 "Speaker 1"、"Speaker 2" 等。
在每一次說話者輪替的開頭加上時間戳 [mm:ss]。
聽不清楚的段落請標記為 [inaudible]。
音訊理解 則超越字面文字:語氣、摘要、意圖。例如:「請把這段會議錄音裡的關鍵決議與待辦事項整理成條列清單,並註明每一項的負責人是誰。」
影片 通常結合了視覺理解(抽樣的影格)與音訊。常見用途包括摘要一段螢幕錄影、描述一段片段裡發生了什麼,或定位某個事件出現的那一刻。因為抽幀方式與長度上限差異極大,請盡量讓片段短一點,並講明你在意 的是什麼:「在這段 30 秒的螢幕錄影中,找出錯誤對話框第一次出現的確切步驟,並把它的文字內容引用出來。」
文件(PDF)
一份 PDF,或一張文件的截圖,本身就是一種多模態輸入;把它當成多模態輸入處理,往往比先跑純文字擷取要好。版面是會傳遞意義的:欄位、表格、表頭、核取方塊、簽名、圖表,這些在粗糙的文字擷取下都會遺失或錯亂,但多模態模型能就地把它們讀出來。
這是一份 3 頁的掃描合約。請擷取成 JSON:
{
"parties": [string],
"effective_date": "YYYY-MM-DD" 或 null,
"term_months": number 或 null,
"termination_notice_days": number 或 null,
"signed": boolean
}
請在另一個 "evidence" 欄位裡,原樣引用你用來判斷
"termination_notice_days" 的那段條文。任何文中未載明的內容請回傳 null。
額外要一個 evidence 欄位、把來源條文原文引用出來,會讓整個擷取結果「可稽核」:你不必把整份文件重讀一遍,就能查核模型的判讀是否正確。
與 Agent 的連結
現代的程式開發 agent 在實務上就是多模態的,而這正是多模態提示從「玩票把戲」變成「每天的工作流程」的地方。你貼上一張壞掉的 UI 截圖,agent 讀懂錯誤、改好程式碼;你丟進一張設計稿,agent 把它實作出來。
最強大的模式,是截圖驗證迴圈:
1. 把附上的設計稿 [image] 實作成一個 React 元件。
2. 跑起 app,對結果擷取一張截圖。
3. 把你的截圖跟原始設計稿比對,列出差異
(間距、顏色、缺少的元素)。
4. 修正差異,並重複以上步驟,直到兩者吻合為止。
這裡,agent 把圖片輸出(它自己截的圖)當成下一輪比對的圖片輸入,就像人類靠瞄一眼螢幕來確認結果一樣,把「意圖」與「成果」之間的迴圈閉合起來。這遠比叫 agent 蒙著眼睛把 UI 兜出來、然後祈禱它長得對要可靠得多。
Vibe Coding 總覽 介紹了這種由 agent 驅動的開發風格,而 Claude Code 實戰指南 則更具體地說明了以截圖為基礎的驗證。
最佳實務
- 送出高品質、看得清楚的圖片。 裁切到相關區域、確保文字對焦清晰、避免過度壓縮。人都讀不出來的東西,模型也讀不出來。
- 每次請求只問一個清楚的問題。 聚焦的提示勝過開放式的提示,在細節密集的圖片上尤其如此。
- 要求結構化的輸出格式。 帶有具名 schema 的 JSON,能把「一段描述」變成「你能直接拿來用的資料」。
- 驗證擷取出來的資料,不要假設模型能把小字讀得完美無誤。 小字體、低對比、手寫字、密集表格都很容易出錯。請要一個
evidence或approx欄位,並對重要的數字做抽查。下游的驗證做法可參考 資料分析。 - 注意隱私。 含有敏感個資 、醫療資訊或機密商業資料的圖片、文件或錄音,除非你已確認允許上傳且會被妥善處理,否則不要丟給模型。有疑慮時,先去識別化(遮蔽)再送出。
- 留意成本。 圖片、音訊、影片輸入消耗的 token,遠多於等量的文字。高解析度圖片與長片段累積得很快,把它縮小或修剪到任務真正需要的程度就好。
多模態提示建立在與文字提示相同的基本功之上,如果你想回頭複習,可以從 什麼是提示工程 開始。想再往下深入:
- 思維鏈推理:把逐步推理與圖片分析結合,處理更難的視覺任務。
- 提示鏈(Prompt Chaining):把多模態步驟串接進更大的工作流程。
- Vibe Coding 總覽:看看 agent 在真實開發迴圈裡如何運用截圖與設計稿。
- 程式碼生成: 把一張設計稿或流程圖變成可運作的程式碼。
拿你自己工作裡的素材來練習:一張你需要變成資料的圖表、一張你需要被解釋清楚的截圖、一份你需要解析的 PDF。多模態提示最快回本的地方,正是那些你目前還在用手逐字謄打的工作。