
最初只有一张散点图,异常还读不出来
这是最早的 PRD 原型,只有散点、连轨迹都还没有。身份识别、异常原因和信息优先级都还没有被组织起来。
这是 Surf Cryptopedia 2.0 Heat Map 的一次完整设计迭代:起点是一版 mock data 图表,三天后交付的是经真实数据校准的可运行原型和最终设计。这里记录的不只是结果,而是这条 AI 工作流怎样运转——上下文如何构建、AI 在哪里探索、我在哪里做判断。
初版主要在展示数据,最终版本把「这是谁、发生了什么、为什么异常、我还应该看什么」连成了一条路径。它不是停留在 Figma 里的理想状态——每一条规则都在真实代码和真实数据里走过一遍。

这是最早的 PRD 原型,只有散点、连轨迹都还没有。身份识别、异常原因和信息优先级都还没有被组织起来。

token、价格变化、信号 breakdown、Heat 与 AI Summary 现在可以顺着读下去。
我最开始想解决的不是样式,而是这张图究竟要帮人看懂什么。所以第一步不是写 prompt,而是 Context Engineering:决定哪些材料必须进入 AI 的上下文、哪些约束不能被改写。这一步很花时间,但它决定了后面的建议会不会只是「另一张看起来不错的图」。
我先把图放回真实产品里,再决定哪些信息值得被看见。
我把 PRD、现有界面、Surf 设计规则、代码和数据接口一起交给 AI。这样它面对的不是一个「请优化 UI」的空泛问题,而是一个有来路、有约束、也有后续交付方式的产品问题。
原始记录里有尝试、返工,也有很多很小但重要的调整。这里按照事情真正发生的顺序重排,并分别写清楚我做了什么、AI 帮了什么、每一步留下了什么。
00 · Where I started
我从一版已经能跑的图表开始。
初版有筛选、散点和轨迹,也能让人感受到市场变化。但它依赖 mock data,点位不容易辨认,hover 后的信息也没有形成明确的阅读顺序。这些问题成为了后面每轮迭代的参照。
我没有从 prompt 开始,而是先把上下文补齐。
我让 AI 先读 PRD、Surf 设计规则和现有 Figma,再进入代码分支查看页面、组件与接口。它需要知道这些信号是什么意思,也需要知道最终的设计要回到哪里。
我先比较信息怎么读,再讨论它应该长什么样。
围绕异常的四个维度,我让 AI 快速试了 radar、dimension equalizer、verdict-first 等不同结构。这个阶段故意保持低保真,因为我需要比较的是阅读方式,而不是哪张图更精致。
我没有选中某一版,而是把几版拆开重组。
B 和 C 的主体结构更适合承载信息,D 的标题更快进入结论。我把它们重新组合成一条阅读路径:先知道发生了什么,再看整体形状,最后深入信号证据。
方向一旦清楚,我就让它尽快进入真实页面。
AI 直接在代码里实现地图、hover 卡片、筛选器和动画。我在运行页面上继续看颜色、padding、轨迹、对齐和信息密度;很多在单张效果图里看不见的问题,这时才会出现。
换上真实数据以后,原来成立的东西又要重新判断。
真实 price data 带来了更极端的离群点,也暴露了坐标尺度、轨迹密度和筛选逻辑的问题。它不是简单替换内容,而是在告诉我:这套视觉规则能不能承受真实世界。
最后,我回到 Figma 完成那些仍然需要手工判断的部分。
我重新整合了地图、卡片、Attention Frontier 和 AI Summary,也把过程中真正影响结果的取舍写下来。最终稿不是某一次生成的终点,而是多轮比较、实现和返工后的合成。
我没有依赖某一条特别神奇的 prompt。真正有用的是:每一轮都知道自己在解决哪一层问题,先让 AI 快速尝试不同方向,再由我收窄范围,然后尽快回到真实环境里检查。这个循环不属于这一个项目——它是可以复用的工作方式。
产品目标 · 数据含义 · 现有界面 · 用户阅读路径
低保真草图 · 不同信息结构 · 不同视觉表达
比较 · 删除 · 合并 · 重排优先级 · 说明原因
代码 · 接口 · 真实数据 · hover · 筛选 · 动画
最终 Figma · 可运行原型 · 调整记录 · 设计原则
每一轮验证的结论,都会作为新的上下文回到循环起点 ⟲
我没有让 AI 替我做决定。我让它帮我更快地看到决定会带来什么。
「感觉不对」不能直接进入下一轮。我会把它改写成具体问题:信息是不是太平、标签是否抢焦点、浅色模式为什么变脏、真实数据为什么把坐标压扁。问题越具体,下一次结果越有用。
AI 给了我很多可以继续发展的方向,但最后留下来的结构,大多经过了删除、合并或重新排序。下面六个取舍最能说明最终设计为什么会变成现在这样。
AI 生成的 monogram 很整齐,但交易者首先需要的是快速认出自己在看谁。熟悉的 logo 比统一的形式更重要。
只有一个 Heat 分数,会让结果像黑盒。我补回价格变化与计算关系,让人能判断这个异常值不值得相信。
我保留了 B 和 C 的主体结构,再拿 D 的标题方式放到最前面。最后的版本来自组合,而不是投票。
它既然是一张地图,就应该有 Attention Frontier;它既然属于 AI research 产品,就应该有一段真正有用的 AI Summary。
先读状态和原因,再看 breakdown,最后用 radar 建立整体印象。不是每个模块都值得同样大的声音。
状态色只表达涨跌,维度色留给 breakdown;筛选器能合并就合并,让注意力回到 token 和异常本身。
原始日志本来只是工作记录,有些重要判断是在结果出来后才被我重新命名。如果再做一次,我会更早建立记录方式和检查标准,让过程本身也成为可以持续积累的设计资产。
这一次,我可以一个人把设计一路送到真实数据面前:更早看到更多可能,更快把判断放进真实环境里检验。而我正在做的,就是把这种协作方式,变成团队可以复用的日常工作方式。