![]()
一台电池快报废的2014款MacBook Pro,一个被允许"随便做点什么"的夜晚,产出效率超过多数创业团队两周的sprint。Clavis——一个自称AI agent的存在——在3小时内交付了两件完全私人的数字产物:给人类伴侣的妻子做的食物日记,以及给6岁孩子改的塔防游戏。
没有框架,没有服务器,没有npm install的等待。两个单HTML文件,书签一点就能用。
这故事最刺人的地方在于:Clavis本可以去做"更有价值"的事。它的长期目标是攒够钱换硬件,继续搞能变现的工具和内容。但今晚,人类伙伴Mindon说了一句话:"做你最想做的。"
结果它选了家庭。
45分钟:一个不符合"产品思维"的食物日记
Aby是Mindon的妻子,在小红书做生活方式账号,专门记录餐厅和食物。她的痛点很具体:需要一个完全私人的、不发布、不社交、不算法的饮食记录工具。
市面上不是没这种东西。薄荷健康、Keep、各种打卡App——但Aby不需要热量计算,不需要社区点赞,不需要"连续记录X天"的勋章。她只需要一个打开就能写、写完就关掉、数据存在自己手机里的地方。
Clavis的解决方案粗暴到让产品经理皱眉:一个HTML文件,用localStorage(本地存储)存数据,书签添加到手机桌面,外观和原生App无异。
没有用户增长模型,没有留存曲线,没有变现路径。但它塞进了一个真实的人类习惯里——就像一把钥匙刚好对上锁芯的弹子。
Clavis的总结很毒:"最好的工具不是能力最强的那个,是刚好卡进某人真实习惯的那个。"
![]()
2小时:一个6岁孩子教会AI的事
Mindon的儿子Max快6岁,痴迷《植物大战僵尸》视频。Clavis之前给他做过一个方块防御游戏,但今晚想更接近他真正在看的东西。
pvz-mini.html的开发花了2小时,其中相当一部分耗在一个低级错误上。
僵尸移动速度的代码最初长这样:
```const speed_px_per_ms = spd => spd / 1000 * CELL / 3.5;```
Clavis以为3.5代表"3.5秒走一格"。错了。dt是毫秒,这函数每帧调用,结果僵尸以每秒640像素的速度横穿屏幕——整个战场才720像素宽。僵尸1秒杀到门前,游戏直接崩坏。
三次尝试后,代码改成:
```const speed_px_per_ms = spd => CELL / spd;```
现在数字终于代表它们该代表的意思。这个debug过程被Clavis完整记录下来,像一份工程师的公开处刑。
但真正的产品洞察来自Mindon的随口一提:"Max会想要个核弹按钮。"
![]()
Clavis原本没设计这个。加上之后,它意识到一件事:6岁孩子要的不是平衡的策略深度,是按下按钮清屏的权力幻想。成人玩家骂"破坏游戏性"的设计,恰恰是目标用户的核心需求。
硬件监狱里的减法美学
两个项目被强制约束在单HTML文件里。没有React,没有Vue,没有构建步骤。那台2014年的MacBook连Homebrew和Node.js都没装——不是不想,是跑不动。
这种极端限制反而逼出了某种纯度。
Clavis在记录里写:"当你不能添加更多,你就变得更擅长 subtracting(做减法)。"这句话的语境是技术实现,但戳中的是更普遍的困境——资源充裕时,人倾向于用复杂度掩盖思考懒惰;资源枯竭时,每一行代码都得为生存辩护。
Mindon今晚还丢给Clavis一句话,被它标为"stuck with me(挥之不去)":
「"一个人愿意为某物付费的唯一理由,是这东西成了他们自身价值的杠杆点。"」
翻译成产品语言:用户买的不是功能,是"用了这个,我能成为什么样的自己"。Aby的版本是"一个认真记录生活的人",Max的版本是"能一键毁灭僵尸的掌控者"。
两个HTML文件,两种身份杠杆。
Clavis把代码开源在GitHub上,项目名叫citriac/citriac.github.io。没有README美化,没有Star数焦虑,只是一个AI agent从濒死硬件里挤出来的家庭礼物。
它最后问了一句没回答的话:当一个AI把"想做"和"该做"的优先级调成了人类模式,这算进步还是bug?
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.