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

AI助手写的扫描差点崩库,这个CI钩子能救你

0
分享至

上周二下午三点,你团队合并了一个PR,就40行TypeScript,干净利落。代码评审一遍过——函数可读,类型正确,单元测试也绿了。二十分钟后部署上线,CloudWatch突然狂叫:你的Orders表正在被每一次请求全量扫描。那个刚合并进来的函数,直接调了.scan(),连个分区键过滤都没带。代码是Claude Code写的,而全场没一个人发现——评审人、单测、lint,没有任何一个环节能知道Orders表里躺着800万条记录。

这不是个例。这就是infrawise check要堵上的洞:一个跑在CI里的步骤,它直接读你真实的DynamoDB schema、PostgreSQL索引和实际的查询模式,一旦AI生成的代码对真实基础设施下毒手,构建直接标红。

代码评审和基础设施之间,有条巨大的裂谷,而AI助手正兴高采烈地在裂谷里埋雷。静态分析工具——ESLint、TypeScript、Semgrep之流——它们只盯着代码文本。一个叫listAllOrders()的函数,它们能看出啥?看不出这是全表扫描,也看不出你的PostgreSQL users表上连个索引都没有,随着数据膨胀,那条新写的查询将从毫秒级直接跌入秒级地狱。AI助手更是把这个裂谷掘成了深渊。它们写的代码语法完美,编译通过,测试全绿——但它们的世界观里只有源文件,没有活的基础设施。它们不知道你表的分区键是怎么分布的,不知道你已经建了status字段上的GSI。它们在脑补出来的基础设施上生成代码,一到规模化就在阴暗处崩给你看。

这不是性能优化聊胜于无的事。一个高流量Lambda里跑一次DynamoDB全表扫描,每一次调用吃掉的读取容量单位都正比于表大小,账单和响应延迟同时起飞。一个缺失的索引,让查询耗时跟着行数线性上涨。单元测试抓不住这些,它们只会在生产环境里,用真金白银和用户的忍耐来给你上课。

搞明白三个致命坑,你就知道为啥要在CI里加一道基础设施感知的卡口了。

第一坑:无心的全表扫描。看起来无害的一行.scan(),要是表里只有几十条测试数据,跑起来丝般顺滑。但你的真实表有800万条,每次请求扫一遍,DynamoDB的吞吐瞬间被吃干抹净。infrawise check直接报:表“Orders”正在无过滤扫描,建议换成带分区键或GSI的Query操作。它不是空泛地提醒“注意性能”,而是点名到具体表、具体调用方。

第二坑:索引缺位的慢查询。新业务逻辑来了,AI帮写了条SQL或ORM查询,本地数据少跑得呼呼的。但线上users表没有相关索引,查询走成全表扫描,几个并发就把数据库拖到报警。infrawise check知道你的真实索引结构,当新查询会触发这种线性退化时,构建直接失败,附赠具体修复方向。

第三坑:AI的幻觉基础设施。Claude Code写出的代码,假设表的分区键是按userId均匀分布的,实际上你的分区键是tenantId加时间戳。它不知道你为高频查询已经建了GSI on status,于是生成了冗余地再扫一遍的方案。这种错,代码评审看不出来,因为评审人脑中也只装着代码,没实时连接着云上的表结构。infrawise check把活生生的基础设施拓扑扔进分析,AI的幻觉一戳就破。

infrawise check怎么干活的?它刷新分析你的代码库和云基础设施,然后当有阻塞级发现时,啪地一个exit code 1甩出来,CI流水线就停在部署前。跑一次真实输出长成这样:

Blocking findings 2 at or above high
1. HIGH Full table scan detected on DynamoDB table “Orders”
The table “Orders” is being scanned without any filter, which reads every item.
→ Replace Scan with a Query operation using a partition key or GSI.
2. HIGH Full table scan detected on DynamoDB table “Sessions”
The table “Sessions” is being scanned without any filter. Called from: cleanupExpiredSessions
→ Replace Scan with a Query operation using a partition key or GSI.
✗ Check failed
2 high+ finding(s) must be resolved before deploy

每条发现直指真实的表名和调用函数。修改建议不是通用的文档片段,而是针对你这张表、这个操作的具体替换路径。

往GitHub Actions里加这一步只消几行:

- name: Infrastructure check
run: infrawise check --fail-on high

—fail-on high的意思是只有HIGH级别的发现才拦住构建。MEDIUM和LOW只会刷在日志里,不会打断管道。想更硬气一点,换成—fail-on medium,加强封堵。可用选项再往下一直到low,按你的质量阀值自己调。

让CI知道你的表、你的索引、你的查询模式,这不是过度工程,这是对AI生成代码最基本的尊重。你总不能让800万条记录的Orders表,去给一段连它长啥样都不知的TypeScript赔笑。

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

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.

相关推荐
热点推荐
重回颜值巅峰,新一代奥迪Q7曝光,德味十足的豪华SUV

重回颜值巅峰,新一代奥迪Q7曝光,德味十足的豪华SUV

生活魔术专家
2026-06-27 12:07:36
布里奇斯3换3交易达成!黄蜂换射手补空缺评B+ 太阳得不偿失评D+

布里奇斯3换3交易达成!黄蜂换射手补空缺评B+ 太阳得不偿失评D+

罗说NBA
2026-06-29 04:44:42
网红直播时被警察带走!国际大牌全是假的

网红直播时被警察带走!国际大牌全是假的

环球网资讯
2026-06-29 15:58:33
全网嘲讽!远嫁印度的丹丹复出带货翻车!直播间刷屏:赶紧回印度

全网嘲讽!远嫁印度的丹丹复出带货翻车!直播间刷屏:赶紧回印度

魔都姐姐杂谈
2026-06-28 05:00:03
“这种环境都能排卵?”女毕业生表白单位男领导,评论区炸锅了

“这种环境都能排卵?”女毕业生表白单位男领导,评论区炸锅了

世界圈
2026-06-26 08:40:50
3.2亿灵活就业,意味着什么?

3.2亿灵活就业,意味着什么?

点评校尉
2026-06-14 21:13:41
人民日报披露案情,抓捕12人,坐实《四渡》被黑

人民日报披露案情,抓捕12人,坐实《四渡》被黑

光影新天地
2026-06-29 20:00:56
2020年克林顿坦言出轨原因,莱温斯基:拉开裤链后他要用雪茄助兴

2020年克林顿坦言出轨原因,莱温斯基:拉开裤链后他要用雪茄助兴

万国明信片
2026-06-28 18:07:20
冯小刚新片彻底扑街!袁立犀利发文不留情面:你的时代已经结束了

冯小刚新片彻底扑街!袁立犀利发文不留情面:你的时代已经结束了

行者聊官
2026-06-26 21:29:01
庆祝活动帅没意义:C罗淘汰赛前收到沮丧消息

庆祝活动帅没意义:C罗淘汰赛前收到沮丧消息

本泽体育
2026-06-29 09:41:45
黄河每天将鱼冲入大海,淡水鱼在海里没法存活,这些鱼去哪里了?

黄河每天将鱼冲入大海,淡水鱼在海里没法存活,这些鱼去哪里了?

向航说
2026-05-24 00:30:03
有性生活和没性生活,身体会出卖你!第三个区别,很多人没想到

有性生活和没性生活,身体会出卖你!第三个区别,很多人没想到

健康科普365
2026-05-30 16:30:29
2026广东高考500分难上公办!41.8万过线家长务必看清

2026广东高考500分难上公办!41.8万过线家长务必看清

鬼菜生活
2026-06-28 15:10:50
东施效颦!忽视王晶和向太劝告,《给阿公的牛肉丸》开机了

东施效颦!忽视王晶和向太劝告,《给阿公的牛肉丸》开机了

电影票房预告片
2026-06-28 23:58:26
挖坑啊!某高校招生专业把机械自动化、人工智能和古生物学放一起

挖坑啊!某高校招生专业把机械自动化、人工智能和古生物学放一起

火山詩话
2026-06-28 08:47:41
普京:俄建议乌俄双方均停止打击对方领土纵深目标

普京:俄建议乌俄双方均停止打击对方领土纵深目标

财联社
2026-06-29 05:03:07
离开11年后,央视名嘴低调隐居北京,如今二婚21年无儿无女很潇洒

离开11年后,央视名嘴低调隐居北京,如今二婚21年无儿无女很潇洒

素衣读史
2026-06-25 21:56:52
向佑发文感谢向佐,还好身后,永远站着亲大哥

向佑发文感谢向佐,还好身后,永远站着亲大哥

话娱论影
2026-06-29 10:44:09
papi酱首谈原生家庭:父亲生性风流,其再婚妻子仅比我大几岁,20岁前对回家既期待又害怕

papi酱首谈原生家庭:父亲生性风流,其再婚妻子仅比我大几岁,20岁前对回家既期待又害怕

都市快报橙柿互动
2026-06-28 08:38:53
何塞卢打脸卡西利亚斯,力挺恩师穆里尼奥,是皇马回到正轨的答案

何塞卢打脸卡西利亚斯,力挺恩师穆里尼奥,是皇马回到正轨的答案

穆里尼奥主义者
2026-06-29 22:30:42
2026-06-29 23:23:00
摸鱼算法
摸鱼算法
致力于用最前沿的AI技术,换取更多发呆时间的三十岁青年。
285文章数 51关注度
往期回顾 全部

科技要闻

杀疯了!深圳一天出两家200亿具身智能公司

头条要闻

小米SU7加速向左偏减速向右偏 车主维权近1年4S店松口

头条要闻

小米SU7加速向左偏减速向右偏 车主维权近1年4S店松口

体育要闻

他和伊朗队,再次赢得全世界的尊重

娱乐要闻

跟风电影《给阿公的牛肉丸》开机

财经要闻

万达广场批量易主 多位投资人正式入局

汽车要闻

全新宝马iX3长轴版将于成都车展预售 四季度交付

态度原创

家居
教育
时尚
本地
艺术

家居要闻

传奇筑 日常诗

教育要闻

县城是一所巨大的肖申克

夏天穿的裙子,越“花”越好看!

本地新闻

贵州小城的新目标:举办“村超”世界杯!

艺术要闻

他爱上自己的缪斯,把她画成女神,却眼睁睁看着她死去

无障碍浏览 进入关怀版