匠人学院 JR Academy学AI来匠人
匠人学院 JR Academy学AI来匠人

Follow Us

linkedinfacebooktwitterinstagramweiboyoutubebilibilitiktokxigua

We Accept

/image/layout/pay-paypal.png/image/layout/pay-visa.png/image/layout/pay-master-card.png/image/layout/pay-airwallex.png/image/layout/pay-alipay.png
EN

关于公司

关于我们元宇宙课堂新闻资讯匠人工作成为导师匠人导师联系我们匠人商店J3.Club

匠人资源

工作内推匠人活动1对1私教行业白皮书线上学习平台面试中心分享面试经验Internship会员中心

AI 工具

AI 工具箱考证匠 Cert Master求职匠 Job Hunter牛小匠 UniMate AI

AI 学习方向

全部学习方向AI EngineerContext EngineeringVibe CodingPrompt MasterAI BuilderAI 产品经理Python 入门

AI 应用提效

AI 办公提效AI 数据分析AI 财务AI 内容创作AI 视觉创作前端开发Hermes AgentOpenClaw 本地智能体

大学资源

墨尔本大学昆士兰大学新南威尔士大学悉尼大学莫那什大学阿德莱德大学RMITQUTUTS

少儿 AI 教育

Airbotix 少儿 AI 编程澳洲家长实用资料库NAPLAN 成绩单怎么看My School 学校数据指南悉尼私校学费 2026少儿编程课程与训练营

移民服务

澳洲移民技术移民189/190/491雇主担保482/186/494投资移民188/888英国移民美国移民加拿大移民

企业合作

P3职业孵化器Enterprise (EN)企业培训实习合作招聘合作申请合作

求职代理

岗位代投职位监控LinkedIn代运营LinkedIn人脉代加了解P3项目

匠人支持

FAQsTerms & ConditionsPrivacy PolicyCancellation & Refund PolicySite map

Top Categories

Web全栈班DevOps项目班数据工程全栈班数据分析项目班编程入门班Business Analyst实习算法集训营

求职就业

BA和产品经理实习数据科学实习数据分析实习Marketing实习简历修改面试指导导师指导VIP

地址

Level 10b, 144 Edward Street, Brisbane CBD(Headquarter)
Level 2, 171 La Trobe St, Melbourne VIC 3000
四川省成都市武侯区桂溪街道天府大道中段500号D5东方希望天祥广场B座45A13号
Business Hub, 155 Waymouth St, Adelaide SA 5000

联系方式

hello@jiangren.com.au0421-672-555

Disclaimer

footer-disclaimerfooter-disclaimer

JR Academy acknowledges Traditional Owners of Country throughout Australia and recognises the continuing connection to lands, waters and communities. We pay our respect to Aboriginal and Torres Strait Islander cultures; and to Elders past and present. Aboriginal and Torres Strait Islander peoples should be aware that this website may contain images or names of people who have since passed away.

匠人学院网站上的所有内容,包括课程材料、徽标和匠人学院网站上提供的信息,均受澳大利亚政府知识产权法的保护。严禁未经授权使用、销售、分发、复制或修改。违规行为可能会导致法律诉讼。通过访问我们的网站,您同意尊重我们的知识产权。JR Academy Pty Ltd 保留所有权利,包括专利、商标和版权。任何侵权行为都将受到法律追究。查看用户协议

© 2017-2026 JR Academy Pty Ltd. All rights reserved.

ABN 26621887572

首页/资源中心/文章详情
JR Academy · Blog职业洞察

Prompt Engineering 实战指南 — 多模态 Prompting:让 AI 读图、分析文档、理解截图

2026 年主流模型已全面支持图像输入,本章覆盖图像/截图/PDF/图表的 Prompt 写法、Claude Vision API 实战代码,以及多模态场景的常见坑

发布日期2026-09-20
阅读时长3 分钟
作者

快速导航

  • 为什么多模态 Prompting 是 2026 年的必备技能
  • 图像在 API 中怎么传
  • 方法 1:URL 引用(最简单)
  • 方法 2:Base64 编码(本地图片)
  • 方法 3:Files API(批量处理首选)
  • 多模态 Prompt 的核心原则
  • 原则 1:图片放在文字前面
  • 原则 2:用指令动词明确任务类型
  • 原则 3:告诉 AI 你知道什么,让它专注于你不知道的
  • 四种典型场景的 Prompt 模板
  • 场景 1:截图转代码
  • 场景 2:图表数据提取
  • 场景 3:错误截图诊断
  • 场景 4:多图对比分析
  • 成本和性能注意事项
  • 多模态 Prompt 的常见坑

多模态 Prompt 架构

为什么多模态 Prompting 是 2026 年的必备技能

2024 年底之前,AI 主要处理文字。2025 年开始,Claude、GPT-4o、Gemini 全面支持图像输入,现在这已经是日常工作流的标准能力:

  • 产品经理:截一张 Figma 设计图,让 AI 直接写前端代码
  • 运营人员:把竞品截图发给 AI,让它分析差异、生成对比报告
  • 开发者:截一张报错截图,AI 比纯文字描述更准确地定位问题
  • 分析师:上传图表/PDF,AI 提取数据并给出洞察

写多模态 Prompt 和写纯文字 Prompt 有几个关键区别。这章专门讲这些区别。


图像在 API 中怎么传

主流做法有三种,选哪种取决于你的场景:

方法 1:URL 引用(最简单)

import anthropic

client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-opus-4-6",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "url",
                        "url": "https://example.com/product-screenshot.png",
                    },
                },
                {
                    "type": "text",
                    "text": "这是我们产品的首页截图。分析用户体验的 3 个主要问题,每个问题附上修改建议。"
                }
            ],
        }
    ],
)
print(response.content[0].text)

适合场景:图片已有公开 URL,不需要上传,最省事。

方法 2:Base64 编码(本地图片)

import anthropic
import base64

# 读取本地图片
with open("design-mockup.png", "rb") as f:
    image_data = base64.standard_b64encode(f.read()).decode("utf-8")

client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-opus-4-6",
    max_tokens=2048,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": "image/png",
                        "data": image_data,
                    },
                },
                {
                    "type": "text",
                    "text": "根据这个设计稿,用 React + Tailwind CSS 写出对应的组件代码。"
                }
            ],
        }
    ],
)

适合场景:处理本地文件、用户上传的图片、不能公开暴露 URL 的内容。

方法 3:Files API(批量处理首选)

import anthropic

client = anthropic.Anthropic()

# 第一步:上传图片(只需上传一次)
with open("analytics-chart.png", "rb") as f:
    uploaded_file = client.beta.files.upload(
        file=("analytics-chart.png", f, "image/png"),
    )
file_id = uploaded_file.id  # 保存这个 ID,可以复用

# 第二步:用 file_id 引用图片(不需要重复上传)
response = client.messages.create(
    model="claude-opus-4-6",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {"type": "file", "file_id": file_id},
                },
                {
                    "type": "text",
                    "text": "提取这张图表里的所有数据点,输出为 JSON 格式。"
                }
            ],
        }
    ],
    betas=["files-api-2025-04-14"],
)

适合场景:同一张图要问多个问题(比如多轮对话),或者批量处理大量图片。每次请求不重新传图,省 token 也省钱。


多模态 Prompt 的核心原则

原则 1:图片放在文字前面

Claude 处理图像时,图片放在 Prompt 前面比放在后面效果更好:

# ✅ 正确顺序:图片 → 文字
content = [
    {"type": "image", "source": {...}},
    {"type": "text", "text": "分析这张图片中的..."}
]

# ❌ 效果稍差:文字 → 图片
content = [
    {"type": "text", "text": "请分析以下图片中的..."},
    {"type": "image", "source": {...}}
]

原因:模型处理时按顺序建立上下文,先看到图像再读指令,视觉信息能更好地整合到后续推理中。

原则 2:用指令动词明确任务类型

不同任务用不同的动词,让模型知道你要什么深度的分析:

动词 场景 示例
描述 快速了解图片内容 "描述这张截图的主要 UI 元素"
分析 深度解读 "分析这张图表的趋势,找出异常点"
提取 结构化输出 "提取图片中的所有文字,输出 JSON"
对比 多图比较 "对比这两张设计稿,列出差异"
评估 质量判断 "评估这个 UI 设计的可用性问题"

原则 3:告诉 AI 你知道什么,让它专注于你不知道的

❌ "分析这张图"
→ AI 不知道你的目标,会给出泛泛的描述

✅ "这是我们 SaaS 产品的用户注册页面截图,转化率只有 3%(行业均值 8%)。
   分析可能导致转化率低的 UX 问题,不需要描述你能看到什么,直接给问题和改进建议。"
→ 明确背景 + 目标 + 约束,AI 直接给有价值的输出

四种典型场景的 Prompt 模板

场景 1:截图转代码

最常见的用法,把设计稿或界面截图变成可运行代码:

你是一个 React + Tailwind CSS 专家。

根据截图,实现这个 UI 组件:
- 技术栈:React 18 + TypeScript + Tailwind CSS
- 要求像素级还原,包括颜色、间距、字体大小
- 使用语义化 HTML
- 组件接受 props:[列出你需要的 props]
- 不需要解释,直接输出完整的 .tsx 文件

实际效果:设计稿截图 → Claude 输出 React 组件,通常一次成功率 70-80%,比口头描述高得多。

场景 2:图表数据提取

CHART_EXTRACTION_PROMPT = """
从这张图表中提取数据,严格按以下 JSON 格式输出:

{
  "chart_type": "bar/line/pie/scatter",
  "title": "图表标题(如有)",
  "x_axis": {"label": "", "unit": ""},
  "y_axis": {"label": "", "unit": ""},
  "data_points": [
    {"x": "", "y": 0, "label": ""}
  ],
  "source": "图表来源(如有)",
  "notes": "你对数据准确性的信心和任何不确定的地方"
}

规则:
- 数字尽量精确到图表显示的精度
- 如果某个值看不清楚,在 notes 里说明
- 不要猜测,宁可标注为 null
"""

场景 3:错误截图诊断

这是一个 [Python/JavaScript/浏览器] 的错误截图。

帮我诊断:
1. 错误的根本原因是什么(一句话)
2. 最可能的触发场景
3. 修复步骤(给出具体代码)

上下文:
- 这段代码是做 [功能描述]
- 这个错误 [总是出现/偶尔出现,触发条件是...]

场景 4:多图对比分析

# 同时发两张图进行比较
response = client.messages.create(
    model="claude-opus-4-6",
    max_tokens=2048,
    messages=[
        {
            "role": "user",
            "content": [
                {"type": "text", "text": "图片 1:我们的产品首页"},
                {"type": "image", "source": {"type": "base64", "media_type": "image/png", "data": our_page}},
                {"type": "text", "text": "图片 2:竞品 A 的首页"},
                {"type": "image", "source": {"type": "base64", "media_type": "image/png", "data": competitor_page}},
                {
                    "type": "text",
                    "text": """对比这两个首页,从以下维度分析:
1. 视觉层级(用户眼睛先看哪里)
2. 核心价值主张的清晰度
3. CTA 按钮的设计和位置
4. 信息密度(是否过载)
总结:我们在哪些方面落后,哪些方面更好。"""
                }
            ],
        }
    ],
)

成本和性能注意事项

图像会消耗 token,不是免费的:

token 计算公式:tokens ≈ (width × height) / 750

1000×1000 像素的图 ≈ 1,334 tokens
以 Claude Sonnet 4.6 计算 ≈ $0.004/张图

控制成本的实际建议:

  1. 提交前压缩图片:长边不超过 1568px,超过了 API 会自动缩小但你白付了传输时间
  2. 截图时裁剪到关键区域:不要发整个 4K 屏幕截图,只截你要分析的部分
  3. 批量任务用 Files API:同一张图问多个问题,用 file_id 引用,不重复计费

多模态 Prompt 的常见坑

坑 1:AI 描述了图片但没有完成任务

❌ "看看这张截图"
→ AI 开始详细描述图片内容,不是你要的

✅ "不需要描述图片内容,直接:[你的具体任务]"

坑 2:AI 对图中文字识别出错但没有告诉你

小字体、中文手写、艺术字体的 OCR 准确率下降。在 Prompt 里加:

如果图中有文字你无法确定,请标注 [?] 而不是猜测。

坑 3:发了截图但 AI 说"作为文字 AI 我没法看图"

这不是模型能力问题,是代码里没有正确传入图像内容块。检查你的 content 数组是否包含 {"type": "image", ...}。

坑 4:期望 AI 分析图表时像素级准确

AI 读图表时的误差约为 ±5-10%,用于快速洞察没问题,如果需要精确数据应该用表格数据而不是图片。

作者
一键分享或复制链接
Lightman Wang
Reviewer: Lightman Wang

Founder of JR Academy

查看该作者的更多文章 →

相关学习资源

  • Prompt Master 学习路径
← 上一篇Prompt Engineering 实战指南 — 踩坑合集:90% 的人都犯过的 Prompt 错误下一篇 →Prompt Engineering 实战指南 — Agentic Prompt 设计:让 AI 自主完成多步任务

相关文章推荐

太狠了太狠了😭 NVIDIA这个AI免费项目真的太狠了

2026-09-21

GitHub Copilot 实战指南 — 常见问题、定价与选型建议

2026-09-20

GitHub Copilot 实战指南 — 进阶玩法:Coding Agent、自定义指令与 MCP

2026-09-20

GitHub Copilot 实战指南 — 核心功能深度解析:补全、Chat 与 Agent Mode

2026-09-20

GitHub Copilot 实战指南 — 快速上手:注册免费版 + 第一次 AI 编程

2026-09-20

GitHub Copilot 实战指南 — GitHub Copilot 是什么:全球最大的 AI 编程助手

2026-09-20
查看全部文章 →
JR Academy
全球华人学习 AI 第一站
✓15000+ 学员
✓50+ 课程
✓AI 驱动学习平台
训练营免费资源AI学习职业辅导
精选推荐
AI 职业影响地图
测测你的职业风险等级,查看转型路径与学习方向
热门工具
AI & 数据训练营
系统化课程 + 真实项目实战,快速提升竞争力
热门课程
1v1 就业辅导
资深导师一对一指导,简历优化 + 面试准备
就业保障
企业内训定制
AI 技能培训方案,助力团队升级
企业服务
热门标签
Vibe CodingAI 编程CursorClaude求职攻略Prompt前端开发后端开发
订阅更新

获取最新 AI 学习资源、技术教程和求职攻略,直接送达邮箱。

我们尊重您的隐私,不会发送垃圾邮件