网易首页 > 网易号 > 正文 申请入驻

开发者自述:我如何用零后端架构,实时追踪 AI 股票泡沫

0
分享至

每次刷 X 或 Hacker News,总能看到开发者在争论 AI 生态的两极叙事。一边坚信我们正处在一个永久的超级周期里,另一边则警告说,巨额的 GPU 资本开支若没有成比例的软件收入做支撑,必将引爆一场类似互联网泡沫的崩盘。与其在社交平台上选边站,我决定用一个理智的工程师方式解决问题——自己搭一个轻量级、实时的指标仪表盘,用数据来追踪这一切。于是就有了 AI Stock Bubble Index。

这篇文章会完整拆解整个项目的架构决策、客户端性能优化技巧,以及数据管道中遭遇的难题——比如通过本地代理爬取 Google News RSS 还不会被限流——以及为什么在面对一个数据密集型的工具站点时,最终选择了完全零后端、纯 JAMstack 的路线。


从一开始,我就给自己定下了一套严格的架构纪律。整个技术栈看起来异常简洁:Google News 与财经信息源作为数据源头,经 Node.js ESM 刮刀配合代理抓取,再通过术语匹配与权重计算,产出 JSON 静态资产,最终由 React hydration 渲染成交互式仪表盘。每一步都尽量向静态资产靠拢,避免任何运行中的服务端逻辑。

第一个真正的技术挑战,是获取外部信息流而不让瓶颈或代理故障毁掉数据采集。平台的核心能力之一,就是自动发现关于 AI 资本开支、估值、营收和模型发布的相关头条。如果你曾尝试用 Node.js 去抓取 Google News 的 RSS(https://news.google.com/rss/search?q=...),就会知道那是个雷区。尤其是当你用 Node 18 以上的版本,试图使用环境变量中的 HTTPS_PROXY 配合原生的 fetch() 方法时,它一定会抛出 UND_ERR_CONNECT_TIMEOUT。

这背后的原因在于,Node 的全局 fetch 是基于 undici 实现的,而 undici 为了严格遵循 Web API 规范,会刻意忽略系统环境代理设定。要解决这个问题,必须显式传入 dispatcher,或者直接在请求逻辑里使用 ProxyAgent 来指定代理。于是我在代码里明确导入了 node:fs、fast-xml-parser 和 undici,并初始化了一个指向本地代理 127.0.0.1:7890 的 ProxyAgent 实例。在 fetch 调用中,将这个 agent 作为 dispatcher 传入,让 undici 能够从受限网络下通过本地隧道完成请求。

这还只是抓取阶段的第一步。Google News RSS 本身对请求频率也有隐式的限制,过快地连续请求会触发验证码或直接拒绝连接。为了避免被列入黑名单,我在每次请求之间加入了基于指数退避的随机延迟,并为不同的搜索关键词分批拉取。把搜索词切分成更小的批次,每批之间留出足够的冷却时间,这样既保证了数据覆盖率,又没有触发风控。

第二个挑战,是如何从海量的新闻标题中,提取出真正与“AI 泡沫”相关的那一小部分,而不是把所有提到 AI 的报道都收进来。我在管道里设计了一个术语匹配与权重引擎。首先定义了一套种子关键词,像“资本开支”、“GPU 集群”、“估值泡沫”、“营收不及预期”、“模型变现”等,并为每个词赋予不同的权重。当一篇文章的标题或摘要中标中多个关键词时,权重会叠加,达到阈值的才被认定是相关信号。为了减少误报,还加入了一些否定词表,比如“游戏显卡”、“AI 绘画课程”这类明显不相关的噪声。

这个权重引擎是整个项目中少数需要一点“后端智能”的地方,但它依旧被设计成在构建时预计算。整个语料抓取下来之后,在 Node 脚本里跑完匹配和打分,结果直接写入静态 JSON 文件。也就是说,网站上线后,所有数据的“思考”过程都已经在构建阶段完成,用户访问时只是一个纯粹的静态资源服务,没有任何运行时的计算开销。

这也直接带出了第三个核心决策:完全的 JAMstack 与客户端性能优化。为了避免任何后端服务器维护,我把生产出的 JSON 数据推到一个 CDN 上,前端使用 React 写成单页应用,通过 fetch 直接从 CDN 加载最近一次构建的指数数据。这样一来,仪表盘的刷新并不依赖实时的服务端查询,而是靠定时的静态构建来驱动。为此,我设定了一个 GitHub Actions 工作流,每隔几个钟头自动运行一次抓取和权重计算脚本,把新的 JSON 资产部署到 CDN,并触发前端页面的 stale-while-revalidate 策略。

在前端性能上,为了不让体积庞大的 JSON 堵塞首屏,我做了两步处理。首先,将指数数据按日期分片,首屏只加载最近七天的聚合结果,其余的历史数据在用户主动切换时间范围时才按需拉取。其次,利用 React 的 hydration 机制确保初始 HTML 是预渲染的,用户在 JavaScript 完全加载之前就已经能看到上一次构建留下的静态骨架,几乎没有白屏时间。

这样的设计也并非没有妥协。因为完全依赖静态构建,数据存在最多几个小时的延迟,但对于追踪宏观的资本开支、估值趋势这类信号来说,几小时的滞后完全可以接受。相比之下,零数据库、零服务器运维、甚至零托管成本换来的稳定与省心,才是这个项目最核心的价值。

回顾整个构建过程,最深刻的教训可能不是技术细节,而是工程取舍的直觉。当你面对一个看起来需要实时流处理、复杂后端管道的仪表盘需求时,回归静态文件和定时构建常常是更稳健的起点。把“推送”换成“拉取”,把“运行时计算”换成“构建时计算”,不仅降低了系统复杂度,也极大地缩小了故障面。对于独立开发者或小团队的数据观察工具来说,这或许是一个被严重低估的范式。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

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.

相关推荐
热点推荐
中美外长激烈交锋,王毅在菲律宾火力全开,狠狠教训了鲁比奥一通

中美外长激烈交锋,王毅在菲律宾火力全开,狠狠教训了鲁比奥一通

牛锅巴小钒
2026-07-23 15:12:39
农村严查彩钢瓦!村干部上门挨个通知,千万别抱有侥幸心理

农村严查彩钢瓦!村干部上门挨个通知,千万别抱有侥幸心理

三农雷哥
2026-07-23 17:40:22
乌克兰远程打击进入新周期;俄罗斯自由军团消灭侵略者

乌克兰远程打击进入新周期;俄罗斯自由军团消灭侵略者

巴雷文化
2026-07-23 05:04:12
稻城亚丁一男游客倒地抢救无效死亡,屋漏偏逢连夜雨,景区网上恶评不断

稻城亚丁一男游客倒地抢救无效死亡,屋漏偏逢连夜雨,景区网上恶评不断

Mr王的饭后茶
2026-07-23 17:32:05
印媒:辛杜尔行动中,巴预警机掉头就跑,仍被S-400导弹314公里外击落

印媒:辛杜尔行动中,巴预警机掉头就跑,仍被S-400导弹314公里外击落

止戈军是我
2026-07-23 06:45:07
一年产出上百部黄色影像!麻豆传媒毁掉了多少女人?警方一举捣毁

一年产出上百部黄色影像!麻豆传媒毁掉了多少女人?警方一举捣毁

潋滟晴方DAY
2026-07-21 17:12:09
男子刷20万后,不满女主播只陪他3天,怒而将他们开房照片曝光

男子刷20万后,不满女主播只陪他3天,怒而将他们开房照片曝光

汉史趣闻
2025-06-23 10:26:20
这很科学:89%的人幻想过同时和多人发生性行为,算精神出轨吗?

这很科学:89%的人幻想过同时和多人发生性行为,算精神出轨吗?

宇宙时空
2026-05-26 18:20:10
万万没想到!朱芳雨空降天津上任新岗,这步退路走得妙啊

万万没想到!朱芳雨空降天津上任新岗,这步退路走得妙啊

酷侃体坛
2026-07-23 13:23:52
震惊!厦门海边溺水女童被救3天了,家人仍未现身,网友:家长不是来不了,是不想来

震惊!厦门海边溺水女童被救3天了,家人仍未现身,网友:家长不是来不了,是不想来

火山詩话
2026-07-23 15:23:20
中方下通牒,要求菲方拖走坐滩舰,24小时内,马科斯召见中国大使

中方下通牒,要求菲方拖走坐滩舰,24小时内,马科斯召见中国大使

李詋穷游天下
2026-07-23 14:39:02
Rain与金泰熙夏威夷被偶遇:他素颜推购物车,她口罩遮面带娃购物

Rain与金泰熙夏威夷被偶遇:他素颜推购物车,她口罩遮面带娃购物

追星雷达站
2026-07-24 00:38:21
娶到小时候的女神是一种怎样体验?三天没出门,后来想想不过如此

娶到小时候的女神是一种怎样体验?三天没出门,后来想想不过如此

另子维爱读史
2026-04-04 21:35:59
韩红很可能被骗了!

韩红很可能被骗了!

麦杰逊
2026-07-21 12:23:47
伊朗总统披露穆杰塔巴近况:“我们与敬爱的最高领袖之间的互动正日益增加,这样才能在他的指导下解决问题”

伊朗总统披露穆杰塔巴近况:“我们与敬爱的最高领袖之间的互动正日益增加,这样才能在他的指导下解决问题”

政知新媒体
2026-07-22 23:07:24
吸取俄罗斯曾经教训,台海之战可能成为人类史上第一场零伤亡战争

吸取俄罗斯曾经教训,台海之战可能成为人类史上第一场零伤亡战争

离离言几许
2026-07-24 01:04:39
21岁西班牙球星返乡,获赠140斤西红柿,被传拒绝了莱昂诺尔公主的芳心

21岁西班牙球星返乡,获赠140斤西红柿,被传拒绝了莱昂诺尔公主的芳心

译言
2026-07-23 09:17:00
继父不好当啊!一名少年手持刀具,神情紧绷,一旁站着他恶狠狠的母亲,网友质问:多尔衮都搞不定的事,你一个普通人能搞定

继父不好当啊!一名少年手持刀具,神情紧绷,一旁站着他恶狠狠的母亲,网友质问:多尔衮都搞不定的事,你一个普通人能搞定

火山詩话
2026-07-23 08:11:25
李小璐公开展示C-BLOCK手势!

李小璐公开展示C-BLOCK手势!

嘻笑堂
2026-07-23 02:24:01
新药来了!全球首个口服“降脂针”获批,每日一片、降幅最高60%

新药来了!全球首个口服“降脂针”获批,每日一片、降幅最高60%

科技处长
2026-07-23 10:47:02
2026-07-24 06:16:49
我是一个养虾人
我是一个养虾人
有态度网友ytd
401文章数 62关注度
往期回顾 全部

科技要闻

中国数学家王虹、邓煜获菲尔兹奖

头条要闻

女副部王峻被处理:大搞权钱交易 泄露工作秘密

头条要闻

女副部王峻被处理:大搞权钱交易 泄露工作秘密

体育要闻

勇士24岁的MVP,也是个勒布朗?

娱乐要闻

梁朝伟汤唯19年后境遇反转

财经要闻

梁文锋当不成赛博圣人

汽车要闻

满配华为乾崑六件套 东风奕派M8限时权益价16.58万起

态度原创

旅游
手机
时尚
游戏
军事航空

旅游要闻

云南水富藏小众小镇,原是移民安置村,凭一江风光火遍川滇!

手机要闻

强强对决:REDMI K100系列与iQOO Neo新机,均8月见!

我花40万追的老公,被公司亲手毁了

《影之刃零》Wegame开启预约!版号已至即将发售

军事要闻

"镐山"之后美再威胁袭伊基础设施 伊朗:将以牙还牙

无障碍浏览 进入关怀版