科技爱好者周刊(第 373 期):数据模型是新产品的核心

作者: 阮一峰

日期: 2025年11月14日

这里记录每周值得分享的科技内容,周五发布。

本杂志开源,欢迎投稿。另有《谁在招人》服务,发布程序员招聘信息。合作请邮件联系([email protected])。

封面图

甘肃省酒泉市今年开业的悬泉置景区,是一个汉代的丝绸之路驿站,供往来西域的客人投宿。中国现存的8万多片汉代简牍,有3万多片发现于这个驿站。(via)

数据模型是新产品的核心

(1)

著名计算机学家、Pascal 语言之父沃斯说过一句著名的话。

算法 + 数据结构 = 程序

他甚至写了一本书,书名就是这句话。

在他看来,数据结构跟算法一样,是最重要的事情,反倒是编程语言不怎么重要。

如果数据结构不对,程序十有八九会有问题;反之,数据结构对了,解法往往很容易看出来。

(2)

我前些天看到一篇文章,也是这个观点,甚至更进一步提出,数据模型不仅是程序的核心,也是新产品的核心。

他认为,数据结构决定了产品的形态,只要改变一下数据模型,往往就是一种新产品。

文章举了很多例子,非常有启发,我跟大家分享。

(3)

最初的聊天软件,都是以人为中心,两人或两人以上组成一个聊天。

它的数据模型就是围绕人建模,要是成员全部退出,聊天就结束。

后来,新的群聊软件 Slack 诞生了。

它的数据模型变了,核心不是人,而是话题。一个话题就是一个容器,所有相关的聊天都在里面,又叫做频道(channel)。

即使成员全部退出,没人聊天了,频道依然存在,话题的完整上下文也不会消失。新成员加入后,可以看到以前的所有讨论。

由于这个特点,Slack 特别受企业欢迎,是目前公司内网工作聊天软件的首选。

你看,就因为 Slack 的数据模型变了,哪怕其他都没变,它就成了一个全然不同的产品,杀出了聊天软件的重围,在企业市场大放异彩。

(4)

再看两个例子。Notion 和谷歌文档都是文档软件,都用来写文档,但是它们的数据模型不一样。

谷歌文档就是传统模型,以单篇文档为中心。

Notion 模型的核心其实不是文档,而是页面。一个页面就是一个容器,你可以组合多篇文档,呈现在一起。

Figma 和 Photoshop 都是设计软件。

PhotoShop 模型的核心是图像,所有编辑都归属于某张图像。

Figma 模型的核心,我觉得,是工作区。一个设计稿就是一个工作区,里面可以有多张图像,其他人可以参与进来,留言讨论。

(5)

总之,数据模型稍作变化,就会产生一种新产品。它跟现有的产品有区别,从而能够打开新的市场。

这启发我们,如果你的产品跟别人雷同,那么不妨思考一下,能否改变数据模型。

科技动态

1、澳大利亚安装了大量光伏板,出现了一个新的烦恼。

那就是电太多,白天用不完。政府打算推出一个计划,中午太阳光最强的时候,用电免费。

政府要求电力公司每天至少向所有人免费提供三个小时的电。如果你自己购买电池,把电储存起来,甚至可以全天免费用电。

随着太阳能的发展,人类有望进入低电价甚至零电价的时代(至少在白天)。

2、

最近,纽约市的地铁站出现了同一个 AI 广告。

那是一个 AI 吊坠,佩戴者可以跟它说话,售价129美元。

这个广告到处都是,墙壁、车身、车厢,无处不在。

该公司的 CEO 说,当他得知买下纽约地铁的广告,每月仅需不到100万美元,觉得很便宜,立刻就买下了。

但是,广告投放一个多月后,产品只卖出3100个,货值不到40万美元,怎么看都是一笔巨亏的买卖。

不过,CEO 很乐观,相信等到产品在沃尔玛上架,销量就会快速提升。他认为,人们会需要这个吊坠作为 AI 伴侣,它帮助用户"显著提高情商,重新定义朋友",为此他还准备在洛杉矶和芝加哥,投入巨额广告费。

这就是 AI 设备和应用的现状:实际的销量不大,但需要巨额推广费用,AI 公司对此毫无怨言。

3、世界最大的捕风伞,最近在内蒙古阿拉善左旗试验场成功开伞和收伞。

它的展开面积达到5000平方米,在高空中吸收风力,进行发电。

高空才有大风,科学家很早就想出捕风伞,它就像一个放大的风筝,升到300米以上的高空捕获风能,再通过牵引缆绳,拉动地面的发电机转动发电。

4、苹果的 Vision Pro 头盔刚发布的 VisionOS 26 系统,增加了一个空间头像功能。

它通过内部摄像头,拍摄用户的头部,然后使用高斯泼溅算法,将 2D 头像变成逼真的空间 3D 头像。

用户通话时,就能看到对方栩栩如生的头像,浮在空气中,对你说话,表情动作都是实时的。当然,前提是双方都必须戴着头盔。

该功能最多可以扩展到5个人同时通话。

这个功能令人遐想,如果再为头像配上虚拟的身体,是不是就能看到对方在空间中做动作。

文章

1、一个伊朗程序员的求助(英文)

一个伊朗程序员开发了一个 AI 虚拟头像生成器,但是发现由于美国制裁,根本不可能向国外出售,于是在 GitHub 求助。

我没有客户,没有收入,积蓄已经用光,而且已经积极找了九个月的工作,却一无所获。我的妻子是一名护士,每天从早上五点工作到晚上七点,而我却坐在电脑前,开发一些连房租都付不起的东西。

我在伊朗无法使用 Stripe、PayPal 等西方支付处理商,也无法使用 AWS、GCP、Azure 等云服务商,我不能用西方银行账户接受付款,也不能接受顾客使用信用卡付款。

2、我讨厌代码截图(英文)

一个老外程序员呼吁,客户遇到问题时,不要再向他发送代码截图了,因为无法拷贝代码,而要发送代码链接。

3、图片是否比文字节省 token?(英文)

本文验证如果把提示词从文字转成图片,是否更节省 token?

答案是提示词本身确实节省了 token,但是模型会用更多的 token 来补全上下文,所以总体上并没有节省。

4、Dijkstra 算法详细图解(中文)

Dijkstra 算法是寻找两点间最短路径的经典算法,本文用一步步的详细图解,解释这个算法。

5、Web Monetization API 试用体会(英文)

浏览器有一个实验 API,用来让访问者向站长捐款,本文是这个 API 的试用报告。

6、AI 插件的模型成本比较(英文)

本文使用实际的编程任务,对 VS Code 的两个 AI 编程插件进行成本比较:Augment Code 和 Kilo Code。

前者不能更换模型,必须使用内置的 Claude Sonnet 4.5;后者可以配置自己的模型,到底谁更省钱。

工具

1、MagicMirror²

一个显示各种信息的面板应用,可以用于信息屏或者智能镜子。

2、btop

htop 命令的升级版,在终端里面详细展示系统信息。

3、DroidDock

一个 Mac 桌面应用,可以连接安卓手机,管理手机文件。

4、RedisFX

轻量级的 Redis 图形界面,使用 JavaFX 开发,运行在 JVM 上。(@tanhuang2016 投稿)

5、Pingap

一个 Rust 语言开发的反向代理服务器,类似于 nginx,内置各种插件(身份验证、安全、流量控制、内容修改等)。(@vicanso 投稿)

6、Alle

开源的邮件聚合管理平台,基于 Cloudflare Workers 部署。在一个界面查看所有邮箱的收件,并带有邮件的 AI 处理。(@bestruirui 投稿)

7、gocron

Linux 的定时任务管理系统,使用 Go 语言开发,自带 Web 界面,用于替代原生的 crontab。(@gocronx 投稿)

8、markdown-it-ts

Markdown 语法解析库 markdown-it 的 TypeScript 重写。(@Simon-He95 投稿)

9、TUIOS

一个很奇特的软件,终端窗口内部的窗口管理器,在一个终端里面管理多个终端对话窗口。(@kero990 投稿)

10、XMSLEEP

开源的安卓白噪音应用。(@Tosencen 投稿)

AI 相关

1、Davia

这个开源工具使用 AI 将代码库变成一份可视化文档。

2、VoidMuse

一个学习目录的 AI 插件,支持 IDEA 和 VS Code,代码开源,用于这类 AI 编程助手的开发教学。(@voidmuse-dev 投稿)

3、UPage

基于大模型的可视化网页构建平台,Lovable 的开源替代。(@wan92hen 投稿)

4、Pair Translate

一个开源的浏览器插件,用来翻译网页,可以配置翻译服务提供商或 AI 模型。(@Cookee24 投稿)

5、DatasetLoom

开源的 Web 应用,为多模态大模型构建训练数据。(@599yongyang 投稿)

6、Cordys CRM

开源的 AI CRM 系统(客户关系管理系统)。(@maninhill 投稿)

资源

1、stickertop.art

这个网站收集贴了贴纸的笔记本照片。

2、TypeScript 类型图解

这个网站用图形讲解 TypeScript 类型。

3、各国现金使用比例

这个网站有2025年各国使用现金的比例,可以作为出国参考。中国的现金比例是10%,是最低的国家之一。

图片

1、麻省理工学院的入学考试题

下图是大清同治八年(1869年)麻省理工学院入学试卷的代数题。

2、古埃及象形文字

一个冰岛程序员请教专家,将"hello world"这句话翻译成古埃及象形文字。

因为古埃及没有 world 的概念,这句话直译就是"欢迎,整个大陆"。

文摘

1、公司越大,越容易做出复杂的产品

大公司容易做出复杂的产品,这主要有两个原因。

(1)公司的人越多,产品复杂度就越高,因为每个人都想留下自己的印记。

大公司的规则是,当你贡献了某种新功能,就会得到晋升。

哪怕这些功能是多余的,十个月后就会发现它们毫无用处,它们的开发者也会收到奖励,所以所有人总是热衷于添加新功能。

(2)公司规模越大,客户越多,就越需要应对具体的用例。

销售人员会告诉你,一些客户需要这个功能;客户支持人员则会告诉你,另一些用户提出了那个需求。

除非你有足够的远见,指出它们不符合软件发展的愿景,否则你就不得不按照那些人的要求,不停地添加功能。

现实中,大公司内部有各种压力,程序员几乎没有自己的立场,必须取悦所有上级部门,在各种压力之间搞平衡,最终就做出具有巨大复杂性的软件。

言论

1、

跟常规 API 不同,MCP 作为接口有一个好处。

常规 API 是对开发者的一种承诺,发布后不能轻易改变。但是,MCP 接口只供大模型调用,而大模型每次都会动态读取使用规范,因此我们能够随时更改 MCP 服务器,不会有任何问题。

-- 史蒂夫·克劳斯,美国程序员

2、

如果你向人们展示问题,又向他们展示解决方案,人们就会受到触动并采取行动。

-- 比尔·盖茨

3、

地球表面的岩石,25%属于碳酸盐岩。这种石头大部分源于生物的有机体分解。这意味着,很多碳酸盐岩以前是生命体。

-- 《我对死亡的思考》

4、

那些鼓吹 AI 编程的人是否意识到,AI 必定会带来大量垃圾代码和"理解债务"。

-- Hacker News 读者

5、

最近,我在思考一个问题,如果 AI 能够将我们的语言翻译成可运行的代码,那么我们还需要编程语言吗?

-- 《语言无关的编程》

往年回顾

世界没有那么多财富(#326)

内容行业的衰落(#276)

谷歌出了什么问题?(#226)

中国法院承认 GPL 吗?(#176)

(完)

留言(40条)

推荐一篇题图“悬泉置”为起点的小说《汉阙》,作者是已经去世的七月新番,小说写的非常好。

> 下图是大清同治八年(1869年)麻省理工学院入学试卷的代数题

居然只是现在国内初中数学的程度(

> 公司越大,越容易做出复杂的产品

说的太对了。

引用abel533的发言:

推荐一篇题图“悬泉置”为起点的小说《汉阙》,作者是已经去世的七月新番,小说写的非常好。

看到“悬泉置”首先想到的就是这部“高端网文”。

引用Allen Wu的发言:

> 下图是大清同治八年(1869年)麻省理工学院入学试卷的代数题

居然只是现在国内初中数学的程度(

同治八年又有多少人可以掌握现在初中数学的水平呢,应该说民智在进步

“那些鼓吹 AI 编程的人是否意识到,AI 必定会带来大量垃圾代码和"理解债务"。”

有种人类的傲慢感,实际工作接触下来很多程序员由于排期受限没有充足的时间思考,或者说就是能力有限;导致人工输出的也是大量垃圾代码和技术债。 有了ai先输出凑合用的,反而能让程序员有时间来优化编程方案了。

引用Allen Wu的发言:

> 下图是大清同治八年(1869年)麻省理工学院入学试卷的代数题

居然只是现在国内初中数学的程度(

大哥,这是1869年啊,那时大清子民在做什么?人家在做什么?

引用Allen Wu的发言:

> 下图是大清同治八年(1869年)麻省理工学院入学试卷的代数题

居然只是现在国内初中数学的程度(

看看百年之后1977年全国高考数学试卷就不会有你这“居然”了

“一个伊朗程序员的求助”这一段介绍“一个伊朗程序员开发了一个 AI 虚拟头像生成器”我点进去看了,我英文很差,借助浏览器的翻译功能,看到浏览器翻页的也是“AI 头像生成器”“面向2B用户”“每月几百-几千美元”“寻求在多国销售,寻找合作伙伴、代理商”还写了很多技术栈非常专业庞大的开发范式。
看过后我就很好奇这一个头像生成器整那么大的阵仗,而且谁会买啊。后来借助豆包翻译,才理解 AI Avatar Platform 不是翻译成 “AI 头像平台”,应该是“AI 数字人交互平台”
重在 “交互 + 企业级应用”
核心是 3D 超写实数字人,基于虚幻引擎 5 和 MetaHuman 技术构建。
核心功能是 “实时对话”(1-8 秒响应),支持 47 种语言,能像真人一样沟通。
本质是面向企业的 “交互解决方案”,而非单纯生成头像的工具。

Magic Mirror2 的官网上只是写了软件可以运行在树莓派上,硬件要求只写了树莓派2345,那么我想自己制作可以显示的镜子的话,要采购什么物料?

引用LaJiojio的发言:

“那些鼓吹 AI 编程的人是否意识到,AI 必定会带来大量垃圾代码和"理解债务"。”

有种人类的傲慢感,实际工作接触下来很多程序员由于排期受限没有充足的时间思考,或者说就是能力有限;导致人工输出的也是大量垃圾代码和技术债。 有了ai先输出凑合用的,反而能让程序员有时间来优化编程方案了。

并不会,需求是无限的。凑合用的的代码一般会一直凑合下去

关于“理解债务”,我也发现了这问题。

一开始AI生成的代码,我都会去审核AI生成的代码的所有细节,看看是否符合自己的要求,注意有没隐患。

到后面生成的代码只要能跑,能满足单元测试就会偷懒不审核。

然后就慢慢积累“理解债务”

地铁的AI吊坠广告结合旁边反对的文字涂写, 感觉更有意思了

引用Peter lin的发言:

大哥,这是1869年啊,那时大清子民在做什么?人家在做什么?

在背八股文

那些鼓吹 AI 编程的人是否意识到,AI 必定会带来大量垃圾代码和"理解债务"

最近接了几个初级工程师写的项目,充斥着大量AI写的代码。AI的代码在小点上看挺好用,但是整体上却是一塌糊涂。用AI改代码就是在东拼西凑,可能这里好了,那里又坏了。

这就是 AI 设备和应用的现状:实际的销量不大,但需要巨额推广费用,AI 公司对此毫无怨言.


可不是,大量裁员节省开支,然后用于AI推广。

苹果那个空间头像,好像哈利波特里面的场景

引用Allen Wu的发言:

> 下图是大清同治八年(1869年)麻省理工学院入学试卷的代数题

居然只是现在国内初中数学的程度(

和以前是不能比的吧,以后的人肯定会在前人的基础上更厉害,但是这并不意味着综合能力更强。

引用Allen Wu的发言:

> 下图是大清同治八年(1869年)麻省理工学院入学试卷的代数题

居然只是现在国内初中数学的程度(

补充一些数据:

- 麻省理工学院创立于 1861 年。
- 第二次工业革命始于 1870 年,以 1914 年第一次世界大战为标志结束。
- 爱迪生 1879 年发明电灯。

悬泉置,推荐一个个人觉得很不错的纪录片吧——《河西走廊》,悬泉置置啬夫,伫立在河西走廊的驿站,连接西域的通道。

> 图片是否比文字节省 token?
这篇博客里面用了聊天和代码补全两个场景。图片prompt在代码补全的token生成数量更多,是因为要重新生成现有的代码的原因吗?

引用JK的发言:

Magic Mirror2 的官网上只是写了软件可以运行在树莓派上,硬件要求只写了树莓派2345,那么我想自己制作可以显示的镜子的话,要采购什么物料?

树莓派+便携屏+双向镜+固定框架+电源/插排,根据需要还可以自己添加人体感应器之类的配件

初级程序员写得可能的确比较差,但是他产生垃圾代码的速度没有AI快呀。

这期不错,我孙浩然非常喜欢

引用abel533的发言:

推荐一篇题图“悬泉置”为起点的小说《汉阙》,作者是已经去世的七月新番,小说写的非常好。

我也一下子想到了汉阙

1.Slack软件那个,可以进去聊关心和兴趣话题,我想如果政府会利用slack的话,政府网站上每个民生问题,政府建设工程,其它涉及到人民参与的工作,都可以让全市人民随时参与了解和沟通建议,这和政务透明工程也是符合的,但这不可能,给你知道的越多,越没法干活 2.澳大利亚光伏板那个,资本家什么时候这么仁慈了?他竟然不会减少光伏板,制造饥饿营销?提交价格?想想国内车企,唉

“最近,我在思考一个问题,如果 AI 能够将我们的语言翻译成可运行的代码,那么我们还需要编程语言吗?”
我最近也在思考这个问题,ai 会不会自行开发一种全新语言呢?

我觉得最短路径算法最生动形象的解释就是:水淹迷宫

引用LaJiojio的发言:

“那些鼓吹 AI 编程的人是否意识到,AI 必定会带来大量垃圾代码和"理解债务"。”

有种人类的傲慢感,实际工作接触下来很多程序员由于排期受限没有充足的时间思考,或者说就是能力有限;导致人工输出的也是大量垃圾代码和技术债。 有了ai先输出凑合用的,反而能让程序员有时间来优化编程方案了。

现实情况下,凑合用,就是一直用了。大软件工程,根本负担不起重构的任何成本。资本家也不允许。

引用hak1的发言:

“最近,我在思考一个问题,如果 AI 能够将我们的语言翻译成可运行的代码,那么我们还需要编程语言吗?”
我最近也在思考这个问题,ai 会不会自行开发一种全新语言呢?

不会。这就是目前AI的问题。它没有精神,没有原创动力。没有第一推动力。

它需要一个有钱的资本家或国家毒豺者认同这个想法后,投入几百亿(这就是第一推动力,来自由另外一个维度),才会让一堆工程师把AI模型往这方向引导。

引用LaJiojio的发言:

“那些鼓吹 AI 编程的人是否意识到,AI 必定会带来大量垃圾代码和"理解债务"。”

有种人类的傲慢感,实际工作接触下来很多程序员由于排期受限没有充足的时间思考,或者说就是能力有限;导致人工输出的也是大量垃圾代码和技术债。 有了ai先输出凑合用的,反而能让程序员有时间来优化编程方案了。

垃圾代码对整个系统的影响是指数增长,AI 输出然后人类优化的方式工作,最终会演变成优化的速度都赶不上混乱增长的速度。业务也没有得到所谓的高效率(至少大型系统没有,对简单业务倒是可以这么干),然后以后程序员不叫程序员,叫代码清洁工。

个人认为比较合理的方法还是让程序员对业务去拆分成简单的小模块,然后让 AI 实现高内聚低耦合的模块,并同步实现测试代码,然后人工审核最终代码。这样,程序员的主要价值就体现在对业务的理解和架构能力,而 AI 负责曾经初级程序员的“脑力农民工”部分,各自发挥自己的优势。

不光是客户会截图,同事也会截图,而且更加肆无忌惮,不担心泄露隐私

这么说骨灰也是某种形式的碳酸盐岩?

水论文也是修改数据结构,把主谓宾换一下位,就又是一篇新论文了

Can you save on LLM tokens using images instead of text?
这篇实践短文验证的逻辑没问题,但问题是理解错了deepSeek Ocr的本质创新点,将其单纯的理解成以图代文去和大模型交互。可以预见26年会从传统的文本token开始蜕变,对视觉token更广泛地实践,大模型理解视觉token会带来意想不到的变化。

引用Helloworld的发言:

并不会,需求是无限的。凑合用的的代码一般会一直凑合下去

说的对 代码里的todo谁还会去看

数据结构和产品那个,我觉得是倒果为因了,是先构思了产品,才会去设计相应的数据结构,而不是反过来

编程方面的话,用 AI 做 review 效果挺好的,可以发现很多基础错误。感觉对 QA 的替代能力要比程序强得多。

引用WhoCare的发言:

编程方面的话,用 AI 做 review 效果挺好的,可以发现很多基础错误。感觉对 QA 的替代能力要比程序强得多。

这倒是应该发展的一个方向,并且估计也挺适合。

创造性质的工作(包括组合内容)必须人来做,用机器来做检查的工作,这才是人类发明工具的作用。而不是用来代替人类的大脑。

那些鼓吹 AI 编程的人是否意识到,AI 必定会带来大量垃圾代码和"理解债务"。

我自己也在用AI辅助编程。总的来说,它极大的提高了我的工作效率,而且也让我不再害怕未开发过的语言

我要发表看法

«-必填

«-必填,不公开

«-我信任你,不会填写广告链接