AI 产品经理作品集 · 8 个 AGENT · 5 个 SPRINT · 277 件文物

我没把 AI 当写代码的工具。
我把它的三个约束,当成了设计原则。

做这个文博产品,真正难的不是让 AI 写出 demo。是 AI 自己带着三条硬约束——角色有边界、上下文冷启动、文件系统即状态。 多数人把它们当限制绕过去;我把它们翻成产品和协作的设计原则。点一张卡,看每条约束逼出了什么决定。

往下看怎么做的 ↓
命题

AI PM 的关键不是用 AI 写代码,是把 AI 的约束当成设计原则

这是一个完整的作品集:给博物馆中度爱好者的 AI 原生陪看 / 收藏产品,以青铜器为第一个垂类。产品定位、PRD、四份 ADR、一个能跑的 demo、277 件结构化文物数据、一套 RAG 知识发现管道——以及把这一切做出来的方法。

但它不是一个「功能很全的 demo」。它最强的气质是诚实纪律:拒绝伪造数字、把找不到当产品哲学、主动抓自己的双标。下面这一页,我让方法论先讲——多 agent 怎么搭、审计怎么驱动迭代、RAG 怎么把幻觉挡在门外——产品和 demo,是这套方法指向的实物证据。

01

一个 CC0 的反讽底座

THE FOUNDING IRONY
最干净的底座,不在任何国内馆

做中文文博 AI,第一个工程问题是:图像和元数据的底座从哪来。国内没有一家馆达到 Met、V&A、Smithsonian 那种开放度——没有公开 API、没有 CC0,立体文物的高清摄影还在著作权灰区。

反讽在这里:约 1900 年起大量流散海外的中国文物(北朝佛造像、青铜、玉、瓷),近十年被 Met、克利夫兰、弗利尔、V&A 等海外馆以 CC0 释出了高清图加元数据。

做一个面向中国大陆用户的 AI 文博产品,最稳、最干净、最可放心向量化的图像底座,不是任何一家国内馆,而是这些海外馆的 CC0 数据集。

— 我把它从 ADR-003 的附录,提升成了 PRD 的 founding insight

于是一期切片定为「天龙山:从晋阳到世界——北朝佛造像的流散与数字回归」。流散叙事本身就是产品的内容,不是被叙事服务的题材。这条线后面会在地图上画出来。

02

把一个人,拆成一支队伍

THE AGENT TOPOLOGY
病根是单人没有制衡

一开始是我一个人。下了 4,466 张 Met 的图、写了 800 行 chunks pipeline 之后才意识到一件事:我既出方案又评方案,没有任何制衡。这正是第一个 AI 约束——角色有边界——给的解法:与其要一个全能助手,不如组一支职责单一、互相制衡的 agent 队伍。

每个 agent 有自己的 constitution。Builder 只从已签的清单取活、不评自己的产出、不顺手扩 scope、产出要 PM-Critic 和 Strategy-Curator 双签才能合并。点节点看它的边界;切换两套拓扑——白天的常驻团队,和夜跑时的生产编队。

只有三件事能打断我这个人类 PM:
T2 边界违反 违反 PRD 的人格 / 拒绝清单 / 隐私边界。
T3 外部资源 花钱 / 对外发信 / 联系馆方 / 公开承诺——签字前不执行。
T4 僵局 同一产出 Critic 与 Builder 顶到第 3 回合无果。

全程 escalations.md 是 0 条目——这支队伍从没真正需要打断我。成本也按判断重量路由:Opus 给判断重的角色,Sonnet 给执行,全 Opus 要贵三倍以上。

03

审计者,直接驱动下一轮

AUDIT-DRIVEN ITERATION
审计不是终点,是迭代触发器

审计者写完 report,同时产出 next-iteration-brief,直接驱动下一轮;严重的问题可以推翻整轮,回到 Researcher 或 Designer 级重做,而不是在 Builder 级打补丁。六个审计人格,各看一个面:

初次硬核观众(UX)讲究的设计师(Aesthetic)青铜学研究生(Content)早期重度用户(Motivation)字节腾讯招聘官(PM)综合五家的 Comparative

然后出了一件事,它成了整个作品集最强的反思信号。v3 的 demo 被这五个只读审计全部放行。我自己一点——点了后母戊鼎和何尊以外的任何一件——每次都跳回后母戊鼎。

UX ✓Aesthetic ✓Content ✓Motivation ✓PM ✓ 用户一点 · 28 个详情页全回退后母戊鼎

根因:2 条硬编码的 MOCK 静默覆盖了其余 275 件。五个只读审计都是「近视读者」,读源码、看一两页,没人真去点。于是我加了第 7 个 Runtime Auditor——唯一一个真去点击、开 DevTools、查 network 的审计,它的判定对其他审计 binding,外加 8 项强制验证清单。

Persona Auditor 判 demo 好不好;Runtime Auditor 判 demo 存不存在。

— BUG-001 之后定的一条规矩
04

反幻觉,靠一台状态机硬门

OPEN DISCOVERY PIPELINE
不靠模型自觉,靠字段门挡

知识底座需要为每件展品,从馆方、海外 OA、学术、现场、数字人文五类源里,拼出一个多维 bundle。幻觉就藏在这一步。我没让模型「自觉别编」——我让它走一台状态机:每条资料必须带齐五个字段,缺一个就降级或拒收。喂一条进去看它怎么判:

三个子 agent 不能合并,因为三件样本暴露的是三种不同的幻觉:Discovery 只列 URL 候选不抓,Verifier 逐条抓加指纹加 license,Compiler 装订加反幻觉硬门。它们还跑在两个环境里——沙箱对所有外网返回 403(白名单只剩 GitHub 和 pypi),所以拆成「沙箱动脑、我本机动手」。

最后我连操作员都不想当了:贴一段 prompt 给本机的 Claude 就去睡。7 个阶段各带时间盒、8 小时硬截止、不中断我。2026-06-07 那夜约 1 小时跑完——104 条 verified chunk(100 ok / 4 failed)、28 个 bundle、平均 3.6 类源每件,T3 零违反:0 次注册、0 封邮件、0 次绕过。

05

诚实,不是态度是纪律

THE HONESTY GENE
它甚至抓到了我自己的双标

反幻觉硬门最干净的一次自证,是它拒绝替我编一个真相。同一件文物,三套互相打架的产地叙事——AI 没有挑一个当真相,而是把三层叠在一起,呈现张力。点「让 AI 编一个真相」看它怎么回。

北齐白石佛立像 上海博物馆东馆 · 中国古代雕塑馆
它来自河北响堂山,还是山西?
媒体解读 展线挂牌 / 媒体

「北齐白石佛立像(响堂山系)」——暗示来源在河北响堂山、邺城域。

上博展线 + 澎湃报道 · (c) all-rights
馆方一手 上博藏品库一手字段

题名「石佛像」,北齐,高 144cm;产地『山西』,来源『山西省博物院调拨』。馆方自己的字段,并不背书『响堂山 / 河北』。

shanghaimuseum.net · CI00159756 · (c) all-rights
海外 OA 海外馆著录

V&A:『probably from Xiangtangshan, Hebei』;Met 42704:culture『China (Southern Xiangtangshan)』——同窗口北齐佛头,出处都写河北响堂山。

V&A / Metropolitan Museum · V&A unknown · Met CC0
红山文化玉神人兽像 震旦博物馆 · 历代玉器展厅
它真是五千年前的红山玉,还是只是「风格上像」?
馆方一手 震旦馆方

定为红山文化(约前 4500–3000)。私立馆无公开编号,本件无考古出处——私人收藏捐入。

震旦博物馆典藏 · (c) all-rights
官方专题 国博背书

2020《玉出红山》专题,以牛河梁科学发掘背书『红山五千年』的文化序列。

中国国家博物馆 · (c) all-rights
学术 OA 独立学术

『所有被归为红山的玉神人,没有一件经科学发掘出土;它们的红山归属基于风格判断,不是地层学。』

OCS 讲座 + MDPI Arts(CC-BY) · CC-BY / OA

这条纪律也对着我自己。round-2 的冷审计逐字抓出我的双标:

你在 §5.9 拒绝伪造一个 CLIP 的 P@5 数字、说「假数字直接 disqualify」,却在同一周的商业文档里伪造了 9 个 load-bearing 的商业指标、零引用——这种诚实是选择性表演,不是纪律。

— round-2 冷审计对我的指控

指控成立。这是双标。修法不是道歉,是上标签纪律:建一份 assumptions-register,24 个数字逐个打 [M] 实测 [B] benchmark [A] 假设,任何假设数字出现的地方必须带「假设」标注,不许裸奔成事实。沙箱里那个 pHash 基线真跑出 P@5 = 0.667——一个故意诚实的、近乎无用的真数字,作为 CLIP 必须打败的下限,而不是一个好看的假数字。

06

方法论指向的实物:一个能跑的 demo

THE RUNNING DEMO
14 个页面 · 28/28 绿 · 同屏三联动

上面那套方法,落地成 14 个 HTML、28/28 Playwright 绿的可跑 demo。最能说明问题的是这个三联动 dashboard:六个 window 事件(带 source 字段防环)把时代柱、古国地图、文物卡串起来。点任一处,三处一起响应。

样例数据 · 自 277 件 curate 的 12 件
博物志 v3 三联动 dashboard:时代柱、古国地图与文物卡片同屏联动
三联动 dashboard 原始截图 · demos/v3-converged/dashboard.html

诚实标一句:这套事件总线不能跨标签页(CustomEvent 的局限),同屏三联动是 workaround——5 个审计和 D2 都把它标成 P0。它证明的是联动这件事成立,不是它已经产品化。

07

流散与数字回归

THE DIASPORA MAP
真实地形 · 三视图 · 回答「为什么在那里」

接 01 那条反讽底座,把它画出来。真实地理地形——12 条山脉、6 大河、盆地——用兰勃特等积圆锥投影渲染,不是示意图。它回答两个产品要讲的问题:为什么三星堆在那里(它和中原之间隔着整个秦岭加大巴山),以及这些文物如今流散在哪。切换三视图,海外那一档会画出从出土地到海外馆的流散弧。

真实数据:30 出土点 · 24 馆(含海外)· 4 套古国疆域 · 流散弧为示意路径
真实地形地理系统:山脉、河流与文物出土点、馆藏点
真实地形系统原始截图 · demos/v3-converged/geo-system.html
08

一个反成瘾的收藏产品

THE PRODUCT, RESTRAINED
克制基因 · 7+1 维度 · 北极星不选 DAU

产品的人格是「同行的资深爱好者」,不是讲解员——自称我和咱们、默认不教学、先反问。它有一条克制基因:零 push、零红点、零徽章、零连胜,黑底巨大留白,每张卡都有一个「合上手机」按钮,把人推回到实物面前。

青铜器的意义被拆成 7+1 个维度,每个维度映射一个产品形态,再挂一个驱动收集的动机钩子:

形制 谱系树 · 实景⇄线稿 Completion
时代 真比例时间柱 Temporal
地理 真实地形 · 流散三视图 Spatial · Story
纹饰 演化树 · 拓片放大镜 Identity
铭文 逐字释读 · 何尊长卷 Identity · Story
用途 礼器归位场景 ×5 Spatial · Story
铸主 列传卡 · 关系图谱 Connection
★ 稀有度 全局光晕层 · 4 级 跨七维渲染

北极星是 WAC——周活跃收藏者,过去 7 天往个人博物馆加过至少 1 件的注册用户。我特意没用 DAU 或时长:用 DAU 当北极星会逼出打卡推送,等于用一个指标做坏产品;时长还跟核心价值负相关。下面这些是我明确拒绝做的:

打卡 / 集章 / 徽章排行榜 / 热门 Top10AR 合成 / 复原动画社交广场 / UGC行程 / 票务 / 餐饮一键讲完整馆文物百科长文连胜 / 红点 / push
09

它不是什么

WHAT IT IS NOT
一个讲反幻觉的页面,自己不能假完成
MVP 未发布

没有小程序移植。这是作品集与原型,不是上线产品。

真实识别未端到端

沙箱防火墙挡了 HuggingFace / Wikimedia / pytorch,CLIP 识别只是生产形态 stub,真 P@1/P@5 待本机跑。

无真实用户 beta

只有 9 人粗访。所有 KPI——含 WAC 目标、商业模型——都是标了「假设」的数字。

跨页联动没做成

CustomEvent 不能跨标签页。同屏三联动是 workaround,被 5/5 审计标 P0。

10

摊在桌上的数字

BY THE NUMBERS
每个都带出处
8个有边界的 agent
5 个 sprint · 约 32 次子 agent 调用
277件 ×11 字段
300 的 92%(DE-4 撞 token 上限少 23 件)
28/ 28 测试绿
16 桌面 + 12 移动 · Playwright
104条 verified chunk
夜跑约 1 小时 · 100 ok / 4 failed · T3 零违反
11份多视角审计
+ 2 轮冷审计 · 2 份 merged-spec
56条 wiki 词条
77,215 汉字 · 约 20 个并行 research agent

杠杆大约 30–40×:8 到 9 个人周的活,2 个夜班里跑完。$40–50 的成本、4.5M tokens 都有账,人周折算是我自己拍的,标「假设」。

11

现在的状态

STATUS
该留的 caveat 都留着
demo 可跑 · 28/28 绿RAG 夜跑已执行 · 104 chunk277 件 ×11 字段方法论成文 · 约 10,600 字MVP 未发布

这个项目最值钱的不是 demo,也不是那 277 件数据。是一套能复用的方法:把 AI 的约束当设计原则,把审计做成能推翻自己的牙齿,把诚实做成挡在门口的状态机。对一个 AI 产品经理,这比多做几个功能更说明问题。

版本号有两套口径,我按「做了什么」讲、少纠缠编号。数据与交互的真实数据出自源仓库分支 claude/museum-photo-sharing-8qJiz;dashboard 的 12 件是 277 件里 curate 的样例子集(已标),地图的地形、出土点、馆藏点是真实 geojson,流散弧为示意路径。RAG 夜跑日期 2026-06-07。