技术笔记 · 2026.06.16
三生镜开发笔记:让 AI 生成「不随机」
AI 生成天然是随机的,但「前世命格」必须是注定的。同一张脸,必须永远是同一个前世——这是三生镜最核心的设计取舍。
三生镜(Mirror of Lives)还在 Building。它做的事很简单:上传一张脸,AI 锁定你的「前世命格身份」(书生 / 剑客 / 将军 / 女官 / 僧人……),再生成一张古风水墨画像配人设解说。
但有一个反直觉的设计约束,决定了整个技术方案:
同一张脸,必须永远得到同一个前世。
为什么「不随机」才是对的
AI 生成天然随机。同一张照片连传两次,大模型大概率给出两个不同的身份、两张不同的画像。对大多数 AI 玩具来说这无所谓,甚至是卖点。
但「前世命格」不一样。如果用户重传一次就变成另一个人,「命格」这个概念当场崩塌——它会从「注定」退化成「抽卡」。产品的情绪价值全靠那一句「这就是你的前世」,而这句话只有在结果稳定时才成立。
所以「同图同命」不是技术细节,是产品的命根子。
怎么做到的
核心是把「随机生成」改造成「确定性映射」:
照片 → 压缩成缩略图 → FNV-1a 32 位哈希 → 作为种子/缓存键
↓
命格身份 + 画像 URL(本地缓存)
- 图像哈希做指纹。 对压缩后的 PNG 缩略图算 FNV-1a 32 位哈希,得到一个稳定指纹。同一张脸 → 同一个哈希。
- 哈希驱动身份。 用哈希决定命格身份的映射,而不是让模型每次自由发挥。
- 本地缓存兜底。 首次分析与生成的结果(命格 + 画像 URL)按哈希缓存在本地,重复上传直接命中缓存——既保证「同图同命」,又省掉一次昂贵的生成。
几个取舍
- 纯前端,无自建后端。 脸不上传到我的服务器,分析与生成全部走 AI 中台(
ai.chuchuang.work):视觉用 GPT-4o(兜底 Qwen3-VL),画像用 Gemini 2.5 Flash。隐私更轻,维护成本也更低。 - 复用底座,不造轮子。 AI 能力直接接现有的 AI Gateway,新产品零成本接入——这正是「任何新产品都建立在现有底座之上」的实践。
- 视觉签名优先。 铜镜外框 + 古风水墨,是这个 App 的辨识度来源。娱乐工具的传播,长得不一样比功能多更重要。
接下来
三生镜还没上架(即将上线)。上线后第一个要验证的不是收入,而是传播:一个「同图同命」的前世画像,用户愿不愿意截图分享出去。这决定了它是 Scale 还是 Kill。
Related Experiment
三生镜 · iOS App · AI 前世画像