news 2026/5/29 6:11:52

一天重写 JSONata,我用 400 美元干掉了公司 50 万美元的 K8s 集群

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
一天重写 JSONata,我用 400 美元干掉了公司 50 万美元的 K8s 集群

大家好,我是Tony Bai。

过去的几年,我们见证了 AI 编程工具从“玩具”到“神器”的进化。无数开发者都在分享自己效率翻倍的喜悦。

你有没有想过,用 AI 来完成一次“外科手术式”的精准重构,一天之内,就能帮你把公司每年烧掉的 50 万美元(约 360 万人民币)的服务器成本,直接砍到零?

这听起来像天方夜谭,但它真实地发生了。

就在前几天,以色列安全公司 Reco 的工程师 Nir Barak 发表了一篇极其硬核的博客。他详细复盘了自己是如何在一天之内,花费了仅仅 400 美元的 Token 费用,利用 AI 将一个用 JavaScript 编写的核心组件JSONata,完美地重写为了纯 Go 版本,最终为公司节省了每年 50 万美元的开销,并带来了 1000 倍的性能提升。

这不仅仅是一个“AI 真牛逼”的简单故事。它背后揭示的,是一套足以改变我们未来架构选型和技术债偿还方式的“AI 驱动重构(AI-Driven Refactoring)”实用方法。

跨语言 RPC,微服务架构中最昂贵的“性能税”

要理解这次重构的意义有多么重大,首先得看看 Nir Barak 的团队曾经陷入了多深的泥潭。

他们的核心业务是一个用 Go 编写的高性能数据管道,每天处理数十亿的事件。但其中有一个环节,需要用到一个名为JSONata的查询语言(你可以把它想象成带 Lambda 函数的jq)来执行动态策略。

尴尬的是,JSONata的官方实现是 JavaScript 写的。

这就导致了一个极其痛苦的架构:他们的主业务 Go 服务,为了执行这些规则,不得不去远程调用(RPC)一个专门部署在 Kubernetes 上的庞大的 Node.js 服务集群。


这个“小小的”跨语言调用,给他们带来了三大噩梦:

  1. 恐怖的成本:为了扛住流量,这个jsonata-js集群常年需要维持300 多个 Pod 副本,光是这部分,每年就要烧掉30 万美元的计算资源。

  2. 惊人的延迟:一次最简单的字段查找,比如email = "admin@co.com",在 Node.js 内部执行可能只需要几纳秒。但算上序列化、跨进程网络往返的开销,一次 RPC 调用在啥也没干之前,150 微秒的延迟就先进来了。对于一个每天处理几十亿事件的系统来说,这简直是灾难。

  3. 意想不到的运维黑洞:随着业务增长,Pod 数量一度多到耗尽了 Kubernetes 集群的 IP 地址分配上限!

Nir Barak 的团队当然也尝试过各种小修小补:优化表达式、加缓存、甚至用 CGO 把 V8 引擎直接嵌进 Go 里……但这些都只是“头痛医头”,无法根治“跨语言”这颗毒瘤。

Cloudflare 的“抄作业”哲学

转机发生在前几周。Nir Barak 看到了 Cloudflare 那篇刷爆全网的文章《我们如何用 AI 在一周内重构 Next.js》。

Cloudflare 的做法极其“暴力”且有效:他们没有让 AI 去创造新东西,而是把 Next.js 现成的spec,以及包含几千个 case 的官方测试套件(Test Suite)直接扔给大模型,然后对 AI 下达了一个简单粗暴的指令:

“我不管你怎么实现,给我写一个能在 Vite 上跑通所有这些测试的 API 就行!”

Nir Barak 看到这里,瞬间被点醒了:“我们面临的问题一模一样!我们也有jsonata-js官方那套包含 1778 个测试用例的完整套件啊!”

与其让 AI 去搞创新,不如把它变成一个任劳任怨、24 小时待命的“代码翻译工”!

于是,他花了一个周末,用 AI 制定了一个极其清晰的“三步走”作战计划:

  1. 第一步(人类智慧):用 Go 语言把jsonata-js的测试套件先“翻译”过来。

  2. 第二步(AI 体力):把 JSONata 2.x 的官方文档和规范全部喂给 AI。

  3. 第三步(测试驱动):对 AI 下达指令:“开始写 Go 代码,目标是跑通第一步的所有测试用例。”

第二天,他按下了“开始键”。

7 小时,400 美元,13000 行 Go 代码

接下来的故事,充满了令人肾上腺素飙升的极客快感。

Nir Barak 坐在电脑前,看着 AI Agent 像一台失控的缝纫机一样,疯狂地生成 Go 代码、运行测试、读取报错、然后自我修正。

整个过程被划分成了几个“波次(Waves)”:先实现核心解析器,再实现内置函数,最后处理各种边缘 case。

在 AI 与测试用例的左右互搏之下,仅仅7 个小时后,奇迹发生了:

一个包含 13,000 多行纯 Go 代码的、名为gnata的全新 JSONata 实现诞生了。它完美通过了官方所有的 1778 个测试用例。

而这整个过程的成本呢?

400 美元的 Token 费用。

Nir Barak 在博客中晒出了一张截图,数据显示,在重构gnata的那一天,AI 生成的代码占比高达 91.7%!


当他把这个 PR 提交到公司内部时,立刻有人质疑 ROI(投资回报率)。而他的回答简单粗暴:

“上个月,jsonata-js集群的成本是 2.5 万美元。现在,是 0。”

百倍性能与意外之喜:“手术刀式”重构的深远影响

成本降为零已经足够震撼,但性能上的收益更是堪称“恐怖”。

类别

Go +gnata(本地)

Go 调用 Node.js (RPC)

性能提升

简单字段查找

42-95纳秒

170-230微秒

1000~1500 倍

复杂表达式

0.5-1.2微秒

160-310微秒

25~90 倍

这还只是开始。由于gnata是纯 Go 实现,Nir Barak 团队得以进行更深度的“魔改”:他们设计了一套两层评估架构。对于简单的字段查找,gnata直接在原始的 JSON 字节流上操作,实现了零堆内存分配(Zero Heap Allocations)!只有遇到复杂表达式时,才会启动完整的解析器。

在接下来的两周内,他们乘胜追击,用gnata的批量处理能力,替换掉了主数据管道中另一个极其臃肿、靠启动上万个 Goroutine 来并发处理规则的旧引擎。 结果:又省下了每年 20 万美元。

短短两周,两次“外科手术式”的重构,总共为公司节省了每年 50 万美元的开销。

最让人意想不到的是,这次重构还带来了组织层面的“意外之喜”:

gnata是公司内部第一个完全由 AI Agent 大规模参与生成的 PR。在 Code Review 的过程中,团队成员被迫去学习如何分辨“AI 真正发现的并发 Bug”和“AI 瞎操心的代码格式问题”。这次经历,为他们后续制定全公司的 AI Code Review 规范积累了宝贵的实战经验。

小结:我们不再只是“氛围感编码”

在文章的结尾,Nir Barak 提到了 AI 大神 Andrej Karpathy 最近的观点,大意是:

“编程正在变得面目全非。在底层,深厚的技术专长和品味正成为比以往任何时候都更强大的‘乘数效应放大器’。”

Nir Barak 感慨道,直到最近,他自己都对那种完全由 AI Agent 生成代码的“氛围编码(Vibe coding)”持怀疑态度。但 2026 年 2 月,成为了一个连他这样固执的开发者都无法忽视的“拐点”

gnata的诞生,标志着我们不再只是用 AI 去写一些无关紧要的玩具项目。在拥有明确测试用例和边界规范的前提下,AI 已经具备了对生产环境核心组件进行“手术刀式重构”的惊人能力。

你准备好拿起这把名为“AI”的手术刀,去切掉你系统里那些最昂贵、最臃肿的“技术肿瘤”了吗?

资料链接:https://www.reco.ai/blog/we-rewrote-jsonata-with-ai


👇 今日互动探讨:

在你的公司里,是否存在类似的“异构技术栈”调用导致的性能瓶颈或成本黑洞?你有没有想过,可以用 AI + 测试用例的方式,对某个核心组件进行“代码翻译”式的重构?

欢迎在评论区分享你的架构痛点与大胆构想!


如果本文对你有所帮助,请帮忙点赞、推荐和转发

点击下面标题,干货!

- 当 Go 还在追求极简时,C++ 26 却又加了四大“史诗级”新特性

- 拉个 JSON 居然要装 5 个第三方库?终于明白 Go 的标准库到底有多“霸道”

- Go 1.26 发布在即,为何 json/v2 依然“难产”?七大技术路障全解析

- Kent Beck 最新思考:AI 时代的“一人派对”,代码审查的终结与重生

- 从 HTTP/1.1 到 gRPC:Web API 与微服务的演进

- 实战解剖:Kubernetes 是如何管理数百个依赖的?

- TypeScript 编译器 Go 重写版提速 10 倍:微软团队深度揭秘幕后工程细节


🔥 还在为“复制粘贴喂AI”而烦恼?我的新极客时间专栏《AI原生开发工作流实战》将带你:

  • 告别低效,重塑开发范式

  • 驾驭AI Agent(Claude Code),实现工作流自动化

  • 从“AI使用者”进化为规范驱动开发的“工作流指挥家”

扫描下方二维码👇,开启你的AI原生开发之旅。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/23 2:10:16

设计数据自由流动:Figma与JSON的无缝桥梁

设计数据自由流动:Figma与JSON的无缝桥梁 【免费下载链接】figma-to-json 项目地址: https://gitcode.com/gh_mirrors/fi/figma-to-json 在数字产品开发流程中,设计与开发之间的数据传递往往成为效率瓶颈。设计师使用Figma创建视觉方案&#xff…

作者头像 李华
网站建设 2026/5/23 2:10:18

OBS Multi RTMP插件终极指南:一键实现多平台同时直播

OBS Multi RTMP插件终极指南:一键实现多平台同时直播 【免费下载链接】obs-multi-rtmp OBS複数サイト同時配信プラグイン 项目地址: https://gitcode.com/gh_mirrors/ob/obs-multi-rtmp 还在为每个直播平台单独配置推流设置而烦恼吗?想要同时向Bi…

作者头像 李华
网站建设 2026/5/23 2:10:18

颠覆式设计开发全链路:Figma与JSON双向转换技术解密

颠覆式设计开发全链路:Figma与JSON双向转换技术解密 【免费下载链接】figma-to-json 项目地址: https://gitcode.com/gh_mirrors/fi/figma-to-json 问题象限:设计开发协作的隐形壁垒 当百万年薪设计师遇上"像素眼"前端 "这个按…

作者头像 李华
网站建设 2026/5/23 2:10:19

时间序列预测新思路:像调鸡尾酒一样‘混合’多尺度信息,手把手复现AAAI 2025的AMD框架

时间序列预测新思路:像调鸡尾酒一样‘混合’多尺度信息 想象一下,你站在吧台前,面对一排不同年份的威士忌。单一麦芽的醇厚、混合酒液的平衡、不同年份的风味层次——调酒师的任务是将这些元素巧妙融合,创造出独一无二的鸡尾酒。时…

作者头像 李华
网站建设 2026/5/23 2:10:28

FaceFusion效果展示:高清AI换脸前后对比,效果惊艳!

FaceFusion效果展示:高清AI换脸前后对比,效果惊艳! 1. 引言:AI换脸技术的新高度 想象一下,只需点击几下鼠标,就能将照片或视频中的人脸替换成任何你想要的样子——这就是FaceFusion带来的革命性体验。作为…

作者头像 李华