AI 可以替我上传图片,但它怎么证明自己没拿错?
我改完一份本地化 PSD,让 AI 重新导出 10 张 Shopify 图片。它覆盖旧图以后告诉我已经完成,但我卡在了一个很具体的问题上:它准备上传的,到底是不是我刚确认的那一版?
文件名跟旧图一模一样,缩略图看起来也差不多。光靠 AI 一句“已经完成”,我没办法判断它拿的是新版、旧版,还是中间某次导出的版本。
这篇 7 分钟能读完。你会拿到一套不用学编程的图片检查方法,以及一段可以直接复制给 AI 的 Prompt,让它在上传前替你逐张对账。
AI 说已经完成,但它拿什么证明?
我先看了最容易拿到的东西:文件名、文件夹、修改时间、尺寸和缩略图。
文件名好比纸箱外面的标签,可以复制,也可以被旧文件覆盖。修改时间看着比较新,也可能只是文件刚被复制、解压或同步过。图片尺寸能抓到明显错误,比如 1200×1500 突然变成 300×300,但两张内容不同的图完全可以拥有相同尺寸。
肉眼检查能看出文案错没错、图片跟文章搭不搭。不过它回答不了另一个问题:两个看起来一样的文件,电脑里保存的内容是不是完全相同?
我需要的不是 AI 再说一遍“没拿错”,而是一份不依赖它自我汇报的证据。只要待上传文件跟我确认过的版本有任何变化,流程就应该自己停下来。
这时候才轮到哈希。
哈希怎么证明 AI 没拿错?
哈希可以先理解成文件指纹,这只是帮助理解的类比。SHA-256 是计算这枚指纹的方法:它会读完文件里的全部内容,最后给出一串固定长度的字符。
同一份文件,无论算多少次,SHA-256 都一样。图片哪怕只改一个像素,结果通常也会变成完全不同的一串字符。
具体做法是先给确认正确的图片计算一次 SHA-256,保存成基准清单。AI 准备上传前再算一次。两次结果相同,说明待上传文件的字节内容没变;只要有一张不同,就停止上传并让我重新确认。
15 条记录,为什么只有 13 个哈希?
我这次的清单里一共有 15 条记录:原始 PSD 处理前后各 1 条、本地化 PSD 1 条、10 张导出图片,还有 2 张完整预览图。
最后得到 13 个不同的哈希。原因不复杂:原始 PSD 处理前后的哈希相同,说明这两个时间点的文件内容没变;两张完整预览图的哈希也相同,说明它们其实是同一份内容。15 条记录里有两组重复,所以剩下 13 个不同值。
这里有个前提:我必须先确认哪一批图才是正确版本,再为它们计算哈希。如果一开始拿错了,哈希只会非常准确地证明后面的文件跟这个错误版本一样。
哈希解决了哪一步,又漏了哪两步?
我一开始把这件事想简单了,以为只要哈希相同,图片就算检查完成。后来盘了一下,独立站图片的“对不对”其实有三层:
- 内容对不对:这张图讲的是不是文章这一段的内容,文案和排版有没有错。
- 版本对不对:AI 准备上传的文件,是不是我刚刚确认过的那一份。
- 上传对不对:Shopify 页面最后引用的,是不是这张图,而不是旧 URL 或平台重新生成的另一版。
哈希只解决第 2 层。第 1 层还是要看图,第 3 层要等上传后再看页面。
不想研究 SHA-256?把这段 Prompt 直接发给 AI
下面这段可以粘到 Codex、Claude Code、Cursor、OpenCode,或者任何能读取本地文件的 AI 工具。如果你用的 ChatGPT 不能直接访问电脑文件,它也会改成一步一步教你操作。
想知道 AI 背后做了什么?展开看 6 行代码
import hashlib
from pathlib import Path
def sha256(path):
return hashlib.sha256(Path(path).read_bytes()).hexdigest()
print(sha256("product-image.jpg"))
这段代码会读完图片的全部内容,再算出它的 SHA-256。它本身不会判断对错,也不会停止上传;还要把结果跟 manifest.json 里的记录比较,发现不同才停。
它比肉眼检查好在哪里,又差在哪里?
我现在不会在“肉眼”和“哈希”之间二选一。它们检查的是不同问题。
| 方法 | 能看出什么 | 看不出什么 |
|---|---|---|
| 文件名、文件夹 | 文件放在哪里、叫什么 | 内容有没有被替换 |
| 修改时间、尺寸 | 明显异常和错误规格 | 是不是我确认的那一版 |
| 肉眼预览 | 文案、排版、图片是否对应文章 | 两个文件的底层内容是否相同 |
| SHA-256 | 文件内容有没有发生变化 | 设计是否正确、图片是否好看 |
SHA-256 不会加密图片,也不能通过哈希把图片还原出来。不同文件在技术上可能出现相同哈希,这叫碰撞;在普通的 Shopify 图片对账里,这个概率几乎可以忽略,但不能说绝对不可能。
这次还没有验证到 Shopify 远端
这次我只完成了本地文件校验,还没有上传 Shopify,所以结论只能到 LOCAL_FILES_CONFIRMED,不能写成远端已经验证。
以后要检查上传结果,还得先说清楚比较什么。Shopify 或 CDN(负责把图片快速分发给访客的服务)可能会重新压缩图片、改格式或生成缩略图。加工后的图片肉眼看起来接近,哈希也会变化,不能拿它跟本地原图硬比。
目前也不是我的所有图片上传流程都接入了哈希。部分本地化图片部署会在上传前重新计算 SHA-256,不一致就终止;通用图片上传流程还没有全部接上。
我现在更在意的是:AI 说完成以后,能不能留下一个绕开它自己说法的证据。图片内容靠人看,文件版本靠哈希,上传结果靠页面再验。三层分开,才知道到底是哪一步真的对了。