产品方法 / 2026年8月17日

AI 已经开始写代码,我却还没想清楚要做什么

一句模糊的语音想法,怎样在没有急着写代码的情况下,一步步变成可以开发的产品方案。

作者 Leon原载 微信公众号查看原文

2026 年 7 月 26 日,我给 AI 发了一条语音转出来的消息。

女儿三岁,最近对恐龙感兴趣,想给她做一个本地的恐龙合集。最好有 3D 效果,我们可以在电脑上看,也可以把恐龙转起来。

2026 年 7 月 26 日,我第一次用 Wayfinder 为这个想法建立产品地图

我发给 Wayfinder 的第一条消息。

语音里有不少口头语,说得还有些绕。当时只是一个父亲想陪女儿看看恐龙。

今天再打开史前动物博物馆,里面已经有十八个展项。它公开上线后登上过 V2EX 当日最热第一,GitHub Stars 当时也过了五百。可在那条语音发出去的时候,我连它该做成网页还是应用都不知道。

现在的史前动物博物馆剑龙产品界面

后来做出来的史前动物博物馆。

我没有马上让 AI 写代码。我用 Wayfinder 先把已经确定的事和暂时没有答案的问题放进同一张 Map,然后一次只解决一个会改变方向的问题。

先不写代码,先把终点说清楚

Wayfinder 做的第一件事,是问我这轮结束时想拿到什么。

它建议先做一份可以交给开发者的首版方案,只保证眼前这台 Mac 能用,暂时不直接做成品。

我接受了先出方案,却改了后半句。我希望它是一个纯静态网页,可以放到 GitHub。别人下载以后也能在本地浏览器里打开,将来还可以在线访问。

这段很短的来回,先拦住了一个会影响后面所有工作的分岔口。假如当时直接开写,我们很可能已经在做一个只适合我自己电脑的本地应用。

这一轮的终点也从做出博物馆变成了把首版需要做的决定问清楚。它要描述一个可下载、可在浏览器里运行的 3D 史前动物馆,供家长陪三岁孩子一起探索。

一次只解决一个能回答的问题

目的地确认以后,Wayfinder 才开始建 Map。

Map 里放着我们要去哪里、已经确认了什么、暂时说不清的地方,以及这轮明确不做什么。一个问题已经能被准确地问出来,才会成为一张 ticket。每张 ticket 只回答一个问题,同时写清它要等哪些前置结果。

需要外部事实时就去调查,需要看见以后才能判断就先做原型,涉及偏好和取舍时再由我选择。每完成一张 ticket,结论都会写回 Map,被它挡住的下一张也随之解锁。

Wayfinder 从 Map 中取出一个能回答的问题,按依赖推进,再把结论写回同一张 Map

每个答案都会更新 Map,随后再打开下一个没有被阻塞的问题。

这比在聊天框里直接列一份计划麻烦,却解决了一个具体问题。新的任务不用重新猜项目是什么,也不用把所有历史对话都塞进上下文。它先读 Map,再接着处理眼前的问题。

先查限制,再做试验,最后才选架构

最能说明这套方法的,是本地怎样不起服务就能打开这条线。

我最初想得很简单。做成纯静态页面,下载到电脑,双击 HTML 文件就能看。

Wayfinder 没有立刻选择技术栈。它先调查浏览器在 file:// 协议下加载 3D 模型和 JavaScript 模块的限制。结果显示,直接双击打开并不可靠。本地版本仍然需要一个很小的服务来启动,或者把所有资源内嵌进构建产物。

下一步才是小试验。它真的加载了一只本地 GLB,播放本地中文音频,切换模型,也故意触发加载失败。到这里,我们知道浏览器路线能走,也知道哪些地方会出问题,却还没有决定正式架构。

最后一轮才选定 React、TypeScript、Vite 和 Three.js。在线版放 GitHub Pages,本地下载版通过一个很小的 Node 服务启动。第一版不做 PWA,也不做桌面安装包。

这三个步骤的顺序不能交换。先查浏览器限制,再跑最小试验,最后做选择,技术方案才有东西可以踩在脚下。

当证据推翻计划,就让计划改掉

Map 里的第一版规模原本大约是十二只动物。

最初的调查只能证明网上存在许可允许公开再分发的候选。它不能证明这些模型放在一起好看,也不能证明文件下载回来以后真的能在浏览器里使用。

于是我把候选逐个下载,检查贴图、动画、大小和结构,再放进同一个 Three.js 场景里转着看。第一轮结果并不理想。一套模型风格很统一,画面却太粗糙。有一只翼龙在列表页里看着没问题,下载后才发现模型是坏的。

第二轮找到了更好的剑龙和肿头龙,也进一步确认免费的候选仍然拼不出一套质量稳定的十二只阵容。

我宁愿先少做几只,也不想为了凑数把明显粗糙的模型放进去。第一版从十二只收缩到六至八只,最后先选八只。

决定留在 Map 里以后,下一轮任务看到八只,也能知道数字为什么变了,不会因为忘记当时的判断,又把十二只塞回计划。

有些答案,要看见以后才能选

页面怎样排,是另一类问题。

这件事继续查资料没有多大帮助。AI 做出几种很粗的页面,里面只有占位的动物轮廓和能点的按钮,目的只是让我比较浏览方式。

方案 A 用柔和水彩风格展示三角龙

方案 A 的柔和水彩绘本方向。

方案 B 换成了分层剪纸绘本的构图

方案 B 的分层剪纸绘本方向。

我最后喜欢另一个方案的故事书式构图,却觉得方案 A 直接显示动物名字的切换栏更直观。正式方向就用了前者的页面结构,拿来后者的切换方式,又加上不同动物之间缓慢变化的背景。

选择发生在我看过页面以后。AI 先把只能靠想象讨论的问题做成可以看、可以点的东西,我再告诉它喜欢哪一部分。

先跑通一只剑龙,再建整座馆

到 7 月 27 日,支撑首版开发的决定已经足够完整。后面的编码也从一只剑龙开始。

它先把内容、3D、音频和响应式界面从头到尾跑通一遍。模型能转,点击能听旁白,手机能看,加载失败还有替代画面。这只剑龙是最小的一次端到端验证。

它通过以后,馆才扩成九种动物,后来又到十二种。今天公开的版本有十八个展项。

十八个展项是后面一轮轮做出来、看出来、改出来的。Wayfinder 的主要工作停在第一只剑龙可以开工之前,它把通往这一步的路问清楚了。

我只在事情真的有雾时用它

现在,我只会在一种情况下开 Wayfinder。

这件事确定要跨很多轮任务,其中还有几项尚未决定。一旦选错,后面的代码、素材或内容都会跟着返工。

能在一两轮里说清并做完的功能,我不会专门建 Map。Wayfinder 很重,逐题确认也会累。它适合那些已经值得认真做,眼前又确实还有雾的事情。

回头再看开头那句话,里面其实已经有了整个项目最重要的东西。我想和女儿一起看恐龙。网页怎么打开,第一版做几只,模型从哪里来,都是后来一项一项问出来的。

每一步都很普通。问一个问题,查一点资料,看一个粗原型,再做一个选择。它们连在一起,真的把那句有点绕的话带到了一座可以打开的博物馆面前。

这篇文章最早发表于微信公众号。

原题
AI 已经开始写代码,我却还没想清楚要做什么
来源平台
微信公众号
来源日期
2026年8月17日
本站收录日
2026年8月26日
打开公众号原文
继续看看女儿看到恐龙就跑,我给她做了一座博物馆