2026年3月

坐标上海,这会网上冲浪的时候总感觉有风吹。不是错觉。

房型是个两居室,客厅双阳台,隔了一个厅卧出来。客厅阳台没有窗户但有个玻璃门和客厅隔开、厅卧阳台的窗户、玻璃门都关着,总感觉有阵阵的冷风吹。阳台温度 11.7 ,卧室温度 13.6 ,室外温度 4 。怀念北漂有暖气的日子。

最近在准备 考研 + 找实习,复习数据结构的时候发现一件事:

很多同学会写代码,但一问 时间复杂度 就开始沉默。

比如:

for(i=0;i<n;i++)
   for(j=0;j<n;j++)

时间复杂度是多少?

有人说 O(n²),没问题。

但如果稍微变一下:

for(i=1;i<n;i*=2)

很多人就懵了。

而实际上,时间复杂度是考研和面试的高频考点

所以我整理了 20 道经典时间复杂度题,难度不高,但非常有代表性。

如果你是:

  • 准备 考研408
  • 准备 找实习面试
  • 或者 想打好数据结构基础

建议认真看一遍。


一、什么是时间复杂度?

简单来说:

时间复杂度就是:算法执行次数随着输入规模 n 增长的变化趋势。

我们一般用 大 O 表示法(Big-O) 表示。

常见复杂度排序:

O(1)     常数级
O(log n) 对数级
O(n)     线性级
O(n log n)
O(n²)
O(n³)
O(2^n)
O(n!)
O(n^n)

效率从高到低依次下降。


二、20 道经典时间复杂度题

1 基础循环

for(int i=0;i<n;i++){
    printf("hello");
}

执行次数:

n

时间复杂度:

O(n)


2 双重循环

for(int i=0;i<n;i++){
    for(int j=0;j<n;j++){
        printf("hi");
    }
}

执行次数:

n × n

时间复杂度:

O(n²)


3 不同变量循环

for(int i=0;i<n;i++){
    for(int j=0;j<m;j++){
        printf("hi");
    }
}

执行次数:

n × m

时间复杂度:

O(nm)


4 三重循环

for(int i=0;i<n;i++){
   for(int j=0;j<n;j++){
       for(int k=0;k<n;k++){
           printf("hi");
       }
   }
}

执行次数:

时间复杂度:

O(n³)


5 循环减半

for(int i=n;i>0;i/=2){
    printf("hi");
}

变化过程:

n
n/2
n/4
n/8

执行次数:

log₂ n

时间复杂度:

O(log n)


6 倍增循环

for(int i=1;i<n;i*=2){
    printf("hi");
}

变化过程:

1
2
4
8
16

执行次数:

log₂ n

时间复杂度:

O(log n)


7 n + log n

for(int i=0;i<n;i++){
    printf("a");
}

for(int j=1;j<n;j*=2){
    printf("b");
}

复杂度:

O(n + log n)

根据 大O法则取最大项

最终:

O(n)


8 嵌套对数循环

for(int i=0;i<n;i++){
    for(int j=1;j<n;j*=2){
        printf("hi");
    }
}

执行次数:

n × log n

复杂度:

O(n log n)


9 三角循环

for(int i=0;i<n;i++){
    for(int j=0;j<=i;j++){
        printf("hi");
    }
}

执行次数:

1 + 2 + 3 + ... + n

这是经典公式:

1 + 2 + 3 + ... + n = n(n+1)/2

时间复杂度:

O(n²)


10 减少型嵌套循环

for(int i=0;i<n;i++){
    for(int j=i;j<n;j++){
        printf("hi");
    }
}

执行次数:

n + (n-1) + (n-2) + ... + 1

复杂度:

O(n²)


11 while + n 减半

while(n>1){
    n = n/2;
}

执行次数:

log₂ n

复杂度:

O(log n)


12 递归减半

void f(int n){
    if(n<=1) return;
    f(n/2);
}

递归深度:

log₂ n

时间复杂度:

O(log n)


13 二分查找

while(l <= r){
    mid = (l+r)/2
}

每次缩小一半。

复杂度:

O(log n)

这是 所有面试必问算法之一


14 递归二叉分裂

T(n) = 2T(n/2) + O(1)

复杂度:

O(n)

这是经典的 分治递归


15 归并排序

递归公式:

T(n) = 2T(n/2) + O(n)

复杂度:

O(n log n)


16 快速排序平均复杂度

平均:

O(n log n)

最坏:

O(n²)


17 冒泡排序

for(i=0;i<n;i++)
   for(j=0;j<n-i;j++)

复杂度:

O(n²)


18 插入排序

最坏情况:

O(n²)

最好情况:

O(n)


19 顺序查找

遍历数组:

0 → n

复杂度:

O(n)


20 哈希查找

平均复杂度:

O(1)

最坏情况:

O(n)


三、面试和考研最爱考的 5 个复杂度

如果时间不多,至少记住这 5 个

算法复杂度
二分查找O(log n)
快速排序O(n log n)
归并排序O(n log n)
冒泡排序O(n²)
哈希查找O(1)

四、如何快速判断时间复杂度?

给大家总结 4 个实用技巧

1 看循环层数

1层 → O(n)
2层 → O(n²)
3层 → O(n³)

2 看变量变化

i++
→ O(n)

i*=2
→ O(log n)

3 递归看递归树

常见三种:

T(n)=T(n-1)  → O(n)
T(n)=T(n/2)  → O(log n)
T(n)=2T(n/2) → O(n)

4 只保留最高阶

例如:

O(n² + n + 100)

最终:

O(n²)

五、写在最后

数据结构其实没有想象中那么难。

真正难的是:

没有系统刷题。

如果你:

  • 准备 考研408
  • 准备 算法面试
  • 或者和我一样 大三准备找实习

建议:

把时间复杂度题至少练 50 道。

很多算法题其实第一步就是:

先分析复杂度。

如果这一步不会,代码基本也写不出来。


如果这篇文章对你有帮助,可以:

  • 点个 赞 👍
  • 收藏
  • 转发给一起准备考研 / 找实习的同学

后面我也会继续整理:

  • 30 道经典链表题
  • 二叉树面试必刷题
  • 考研数据结构高频考点

一起加油。

大三这一年,真的很关键。

本文由mdnice多平台发布

Matrix 首页推荐 

Matrix 是少数派的写作社区,我们主张分享真实的产品体验,有实用价值的经验与思考。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。 

文章代表作者个人观点,少数派仅对标题和排版略作修改。


可能大部分人对于日系手机的印象都停留在索尼与夏普上,这倒是也比较合理,因为这是如今唯二仍可称之活跃的日系手机品牌。不过将时间倒回十五年前,一家意气风发的日系手机企业在2011年推出了全新的旗舰机序列,并赋予其一个寄托厚望的名字——Arrows,「暴进一箭」。彼时它风头无两,刚刚收购东芝的手机业务部门,Arrows这一全新的产品命名更像是对未来的无限展望。

富士通,在21世纪伊始推出过震撼人心的LifeBook超极本序列,也曾主导世界最快的超级计算机「富岳」的开发。不过在手机市场,随着iPhone的大杀四方和三大本土运营商对苹果的极尽追捧,安卓旗舰的生存空间不断被挤占;与此同时,2012年Arrows X使用的Nvidia Tegra 3处理器由于异常发热遭到了用户愤怒之下的诉讼,严重影响了品牌形象。自从Arrows这一品牌推出,之后的富士通就一直在走下坡路,市场份额亦不断萎缩。

2015年,富士通母公司决定了两件大事:一是确定将手机制造业务重心转向「Rakuraku」,即老龄化群体细分市场;二是决定拆分富士通手机业务。2016年FCNT正式作为富士通全资子公司开始独立运营,与此同时原属于富士通外设公司(Fujitsu Peripherals Limited)的移动设备制造业务被分拆,成立了新公司 Japan E.M. Solutions(JEMS)。两年后日本私募基金 Polaris Capital 收购FCNT 70%股份,富士通的血统其实已经稀薄至几乎不可闻,不过FCNT仍然坚持大部分产品的核心制造在位于兵库县的JEMS加东工厂(Yashiro Plant)完成,这也是唯一仍然在日本本土进行制造与组装的手机公司。尽管在2020年先后发布的Arrows 5G与Arrows NX9均定位高端市场,但有着「日本总大将」的噱头却仍然难以撑起销售额。

iPhone对高端市场的垄断仍在,OPPO、小米、Pixel等新玩家的入局接踵而至,疫情给市场规模与半导体供货的影响不啻雪上加霜,于是在2022年Arrows N(F-51C)发布,以环境友好与超长寿命的卖点示人,一根离弦之箭即将飞到属于它的终点。

塑料也有高级感,但仅此而已了

环保是这代Arrows旗舰着重宣传的卖点,至少从工程上FCNT确实做到了这点。Arrows N全机身有67%的重量使用了回收再生材料制成,其中后盖与内部防滚架、主板盖板使用再生塑料,而中框与镜头框则使用再生铝材。实际上手,我这台白色的SKU并未因为回收材料的使用显现出廉价感。塑料后盖非常温润,细磨砂处理手感顺滑,也防止了粘指纹。Felica Logo、Docomo Logo、Arrows Logo,F-51C的机器codename从上至下依次于中心排列也是日系手机的特色了。镜头凸台从铝材板上一体成形制成,主摄还有一圈高光铝包边,超广角和闪光灯也居中放置,整个deco大小适中,秩序感井然,相比张扬的大圆deco显得洁净克制。中框的磨砂铝处理也避免了粘指纹,同时较宽的厚度与后盖之间弧形的丝滑过渡造就了舒适贴合的握持手感。充电口注塑,扬声器开孔居中,对称天线注塑条带,当然还有日系机祖传的外星科技之热插拔免卡针SIM卡槽,至少从做工与ID设计上来说超越了当年的竞争对手索尼与夏普。

Deco特写
背面与中框设计

不过翻到正面,高级感就戛然而止了。尽管Arrows N搭载了一块120Hz的屏幕,却仍然没有消灭宽阔的上下巴,更让人咬牙切齿的是上巴和下巴还不一样宽……逼死强迫症的屏幕选型。

正面观感,屏幕支持杜比视界,不支持HDR

说回环保的卖点,如上文所提,Arrows N的生产组装全部由日本国内的JEMS加东工厂完成,这也让它拥有了一个「高贵」的全国产制造的特质。除此之外,软件上Arrows还和Docomo合作,推出了名为「カボニュー(カーボンニュートラル)」的环保计划,为carbon neutral音译,简而言之是通过手机制造、运营商运营等多环节的环保举措实现2030年碳中和的目标。除此之外Arrows Portal还鼓励用户在非高峰时段充电以赚取点数。

有关Arrows N搭载カボニューについて与Portal的宣传详情
caboneurecord宣传页

Arrows N的包装盒亦使用通过FSC认证的纸张和环保油墨,且包装盒易于折叠,方便回收。盒内没有充电头与充电线,作为环保举措比大洋彼岸的加州某企业实施的更早,部分原因也是配件的销售渠道也是对应运营商负责的。

作为日系机的传统,Arrows N同样支持IP68防尘防水,支持肥皂水洗机身,同时也通过了美军军规MIL-STD-810H标准。不过鉴于这台二手成色几乎完美,我就还是不测试耐用性这块的实际水平了。

理念之外,无外乎乏善可陈

有时不得不感叹日系厂商的清奇脑回路,他们似乎希望能靠环保的卖点支撑起Arrows N作为旗舰的位格。于是他们在2022年下半年把高通骁龙695卖到了98000日元(合人民币4400+)。在国内这个价格是大杯旗舰的起售价上下,可以买到搭载骁龙 8 Gen 2的新旗舰(小米13、一加11、iQOO 11……),即使在日本,售价仅有Arrows N一半多的夏普AQUOS Sense 7/7 Plus,也使用相同的骁龙695 SoC。孱弱的性能对于骁龙695这样的SoC来说是既定事实,彼时还没有骁龙6 Gen 1、7 Gen 3这些在低价价位越级使用超大核的芯片出现,仅2个A78大核+6个A55小核注定让他即使在2022年也与重负载场景无缘,更遑论彼时距离其发布已有一年。而由于疫情导致的彼时日本本土半导体供应短缺,实际Docomo合约版直到次年3月才正式发布,真实的上演了一出发布即落后。

Geekbench 6与3DMark的分数残酷的揭露了这一SoC的德不配位。唯一能算得上优势的就是 TSMC N6工艺赋予其的优秀能耗比,再加上本身峰值性能上线太低,这机器的续航和持续性能释放还算不错,在WLE Stress Test下机身几乎没有热量,稳定度极高,虽然本身也跑不出多高的分来。值得注意的是,由于指令集与图形API孱弱的支持,它甚至无法进行较新的STEEL NOMAD LIGHT测试(缺少Vulkan支持)。

性能的孱弱同样也体现在日常使用的流畅度上,不过得益于至少给了8G LPDDR4X内存,至少不会出现因为可用内存太低导致频繁出发LMK杀后台应用的情况。不过桌面滑动则经常无法稳定120帧,应用冷启动更是强制锁60,导致了巨大的卡顿实感,而更新了Android 15大版本后联想甚至把这机器的冷启动非线性动画直接砍了,待遇还不如自家更便宜的G系列新机。在安装大型游戏时,安装速度也明显慢于芯片性能更高的机型。另一方面由于只支持WiFi-5,游戏下载时基本也只能跑到8-9M/s,网速体验只能说凑合。

对于压力不大的王者荣耀,平均帧47帧还算能玩,只不过在团战中有频繁掉帧,这也与1% Low不到30的指标相符。

王者荣耀最高开启高帧率+超高画质

而新作明日方舟:终末地中,我实在难以想象作为拥有两颗A78大核的SoC,在面对全低画质时不仅画面看着像马赛克,跑图时平均帧甚至不到10帧,战斗中甚至几乎没有超过5帧的场景。战斗中帧率基本贴着1,只有打开地图和菜单时才能到20帧以上。本来还想测个副本的,这下倒是给我省事了。

已气笑

拍照上我姑且能认为FCNT算是用心做了些优化,作为首要卖点进行宣传的便是与Adobe合作的Photoshop ExpressMode。拍照结束后的成片会自动进入Adobe Photoshop Express进行自动后期处理,系统内也预装了Adobe图像处理全家桶。然而理想很丰满现实很骨感,由于SoC的孱弱性能,跳转PS后处理速度极慢,一张自动模式的成片需要转圈半分钟才能优化完成,且成片白平衡异常偏暖,很难说比原片好到哪里去。另一方面,即使打开PS/Lr对照片进行后期处理,锁60帧的界面和几乎如影随形的卡顿实在和产品官网宣传的「世界中の人とシェアしたくなるはずです」相去甚远。

Adobe全家桶
Express处理后成片,白平衡严重漂黄

夜景更是Arrows N翻车的重灾区,在自动模式下对焦拉风箱严重,经过多次测试仍然无法准确判定焦点到底锁到了什么东西上;另一方面测光也极不准确,距离十米不到的灯牌都无法压制高光,HDR像是十五年前索尼CCD的水准。除此之外在面对复杂光源时,骁龙695孱弱的ISP难以承担巨大的曝光还原计算,使得整个画面放大后充斥着难以忽视的丑陋彩噪。在夜晚想要拍出正常的照片几乎只能寄希望于专业模式,但Arrows N的相机界面仅能对EV、ISO、白平衡、对焦距离进行调节,且ISO最低只有100,在ISO最低仍然面对光源过曝的惨状之下只能选择手动-1 EV,才能得到比较贴近肉眼观感照度的成片,但又只能忍受手动模式下可感的偏色。不过能让人些许宽慰的是,手动模式下选好白平衡模式不会出现彩噪,也不会有猎奇的白平衡漂移。我自诩阅机无数,但也是第一次见到加了算法还不如不加的机器。

上图为自动模式,下图为手动-1EV
左侧为自动模式,右侧为-1EV,但彩噪明显
手动模式-1EV室内静物,白平衡相对稳定

不过客观来说,1/1.55' CMOS+ F/1.88的硬件配置即使放到现在也不算落伍,在光照充足的白天,这颗镜头得以迎来完全体的成片质量。尽管孱弱的算法使其仍然无法压住高光,但面对花草、天空等场景,适当的偏色和过曝反而让成片有了古早CCD的特殊风味。尤其对蓝天的处理和高光溢出的部分压制相当和我心意,有一种阳光之下一切事物都在色彩中摇晃的眩晕感。

日间样张#1,天空色彩表达很好
日间样张#2,对建筑的处理很有CCD味

至于前置和仅有1/4的超广角……不提也罢,甚至我点开超广角的取景框都绷不住,只能说日机爱好者的福报实在太多了。

Arrows最后的血统遗产,但是零人在意

不过尽管孱弱的性能让一切体验都变得有些难绷,FCNT对系统所做的自定义深度仍然远高于目前苟延残喘的索尼,和真正的日机之光夏普用心程度不相上下。作为首发Docomo合约机,Arrows N预装了人神共愤的Docomo垃圾全家桶,不过相比835/845时代的人人喊打,8G运存下这些垃圾软件并没有占用过多的内存与CPU资源,倒是也省的找教程一个个冻结。

Docomo全家桶,如此盛况在国内机器上已经绝迹已久

与夏普类似,Arrows也有专门的Feature介绍与入口整合界面,功能确实不少,涵盖快速操作、性能、隐私、日常生活等多个方面,但实际上对系统的修改屈指可数,且大部分功能都依托独立的APP实现。FAST APP Drive能通过白名单机制快速启动应用,我有充分理由怀疑这就是将选定的应用优先在后台长时间保活。在锁屏侧滑能快速进入FAST Memo,其实也就是一个功能简陋但支持快捷语音录入的备忘录软件。侧边栏也不像国产应用功能繁多,除了快速启动APP以外只有诸如屏蔽触控、截图涂鸦、识别文字并打开AR应用等味同嚼蜡乃至意义不明的功能。与国内UI类似,Arrows N也有指纹识别快速开启APP的功能,甚至做了十个手指的独立触发,但由于使用的是侧边指纹且锁屏时必须先滑动才能触发指纹解锁,触发成功后APP Launcher还又显示在屏幕中心,再加上一不灵敏二不快捷的指纹识别体验,人机交互堪称灾难。

Arrows feature select介绍页面
Fast memo,Fast App Drive,快速启动
侧边栏呼出UI与可触发的特殊功能一览

独立的Game Zone App还算是做了个独立的UI和侧边栏触发,但是也没法调节性能和触控等游戏相关的指标,只有简单的通知屏蔽、网络加速等功能,还有个依然意义不明的游戏截图相册。

Game Zone App

我个人体验下来,唯一算得上实用价值不错的就是FCNT与Qnovo公司合作,针对高通芯片专门优化的电池管理功能。通过读取内核数据,Qnovo可以给用户提供准确的电池健康度与充放电循环次数,限制充电等功能也一应俱全,配合上超低功耗的SoC与4600mAh的电池,实际的续航体验算得上差强人意。

Qnovo,基于骁龙芯片的节能技术解决方案

并不可惜,其实咎由自取

在写这篇文章以及回忆我玩过的日系手机时,我脑海里只有一句话——

人类从历史中学到的唯一的教训,就是人类没有从历史中吸取任何教训。

这句话送给日渐凋敝的日系厂商简直无比正确。曾经在功能机时代日系手机是个性的象征,是黑科技的集合体,是创新的引领者,更是高端的代名词。进入安卓时代,事实上已经有一批厂商掉队,但头部的几家似乎仍然沉湎于辉煌的过去,春秋大梦易做而难醒,直到它们发现曾经巴结自己的运营商转头拥抱iPhone,不过为时晚矣。

日系厂商在设备开发中重硬件而轻软件的惯例由来已久,这一方面来源于所谓工匠精神的傲慢,另一方面亦由于日本移动市场运营商在产品定义阶段话语权大于终端厂商的畸形生态。相比于单纯的提供服务,运营商之于终端厂更像是甲方,往往还固步自封且自说自话,大量机器的系统维护在两方之间来回扯皮,最后互不承担一地鸡毛。

安卓的开放生态成了运营商大量预装软件捞钱的绝佳机会,而苹果对日本市场征服性的垄断又让运营商不得不巴结苹果赚钱,因此日本安卓机多年停留于低端孱弱的性能与臃肿的运营商全家桶的刻板印象之中。或许是他们自己都忘了高端机不仅需要堆料也需要软件,似乎自从2016年索尼放弃了XperiaUI转投Concept for Android计划以精简系统之后,日系机再无深度定制的UI,每年来无非是做着乏善可陈的硬件升级,把类原生装几个自家开发的软件草草以示消费者。也正是从Android Marshmallow开始,整个日本似乎彻底失去了对于移动端UI/UX与人机交互的思考与设计能力,以至于十年以来甚至没有一个公司能设计的明白基于点按和触摸的交互逻辑。回首历史,很难相信索尼在Android 5就做出了小窗的雏形,把PS3的XMB设计语言搬到手机上;而我们再也看不到PS4和PS5上优秀的UI设计再次于指尖灵动绽放。

PS3 XMB UI

忘了在哪看到过一句锐评,日本人总是提早20年做出领先世界的东西,然后等20年,直到它落后于世界。因此我们看到银行在2020年仍未完全淘汰软盘,老旧新干线的升级计划停留于PPT,FeLiCa作为领先世界的支付方式既没有成为NFC的统一标准,也没有多少可感知的升级。历史是一个圈,而日本移动设备市场不过是重蹈覆辙。其间并不是没有Xperia 1 II、iida X-ray、Infobar、Casio G'zone这样的优秀产品,只不过没有延续,没有发扬光大,只有顾影自怜,而市场从不相信眼泪。

对于老设备我从来都是带着旧时光的欣赏滤镜去看待,我也对Lumia,对老红米,甚至对Balmuda这样注定失败的机器毫不吝惜溢美之词。但这台Arrows N,我在体验的过程中感受最多的只有无语和「气笑了」。日本组装的光环并没有给它一个丝毫体面的结局,日本消费者对旗舰价格的低端机类似物没有一句好话,不过彼时的FCNT已经无心再管产品的生命几何,因为它们自己的生命甚至要比Arrows N更早走向终点——

疫情导致的半导体供货短缺,Pixel和旧iPhone对中低端市场的残酷挤压,内忧外患让FCNT的结局来的有些突然。2023年是广场协议以来破产公司数量涨幅最大的一年,突破30%。8497家本土日本企业破产,总负债额高达2,376,903百萬日元。其中有18家负债超过100亿日元的企业破产,包括Unizo Holdings、Panansonic Liquid Crystal Display,当然也包括彼时负债超过700亿日元的FCNT。

有关FCNT以及JEMS破产的报道

不过Arrows品牌的重生并非无法预见,希望抢占日本市场的联想期望通过收购Arrows品牌得到进入日本高端市场的入场券,他们也的确这么做了。2023年9月联想完成对破产重组的FCNT的全资收购,29日FCNT宣布在联想入主之后其将以全新的组织架构开始运营。

卖身并非难以启齿,毕竟活下去才是根本。业务情况算得上健康的夏普亦难逃被富士康母公司鸿海精密收购的命运,只不过破产重组之后的被收购更显狼狈。联想领导下的新FCNT推出的Arrows we2与Alpha也就仅有外观能看到曾经富士通的影子,遑论系统,哪怕是包装盒都和Moto International别无二致。而联想整合供应链之后,伴随着FCNT与Moto的组合拳,在2024年以8.5%的市场份额重回日本第三的位置,只不过这一成绩与FCNT、与Arrows、与那句喊出arrowsの意味は「矢」,新しい道を切り開く思いを込めた,意气风发的富士通再无半点瓜葛。而「日本总大将」的光环被现实摔得粉碎。富士通曾经的骄傲与偏执确实存在过,但这与FCNT无关,更与造出Arrows N这种电子垃圾的工程师文化与职场文化无关。

联想入主后的新旗舰Arrows Alpha,可见设计语言的继承,但UI已经是MOTO MyUI
Lenovo-Motorola于2024年Q4来到日本市占率第三, TechInsights.

日本传统文化中对悲情英雄情结极深,并催生出一个专门的词:「判官びいき」。在衣川馆之战中源义经在绝境中自尽,而他的家臣武藏坊弁庆为了保护主人,身中万箭仍屹立不倒,气绝身亡。

很可惜,我不认为Arrows是这样的悲情英雄,生产电子垃圾本就是对消费者的轻慢。「我们的每一步都决定着最后的结局,我们的脚步正在走向我们选定的终点」,箭矢离线之时,就注定了终将坠落的命运。

晚安,明天见,过去的一切都不再属于崭新的你。

补充阅读:

感谢@WangMT ;@冰清tsin 对本文内容的帮助与修正。感谢友人T小皮出借机器。

> 关注 少数派公众号,解锁全新阅读体验 📰

> 实用、好用的 正版软件,少数派为你呈现 🚀

    南瓜叶片病害图像分类数据集(2000张图片已划分、已标注)| AI训练适用于目标检测任务

    本数据集共包含 2000 张南瓜叶片图像,涵盖 5 种常见病害与健康叶片状态。每张图像分辨率为 640×640 像素,图像质量清晰,适用于深度学习图像分类任务。
    在这里插入图片描述

    数据集已经完成标准训练集划分:

    • 训练集:1400 张
    • 验证集:400 张
    • 测试集:200 张
      应用:
      疾病诊断:开发机器学习模型,自动检测和分类南瓜叶部病害。
      农业研究:研究各种南瓜病害的视觉症状,以增进理解和管理实践。
      教育工具:为农业科学和植物病理学教育提供资源。
      数据可访问性:
      数据集以标准图像格式(例如 JPEG、PNG)提供下载。数据集按病害类别和健康叶片分类,方便访问和整理。
      同时提供 中英文类别名称,方便国内外研究者使用。

    示例训练命令(YOLOv8 分类任务):

    yolo classify train data=main\datasets model=yolov8n-cls.pt epochs=200 imgsz=224

    数据集下载

    链接:https://pan.baidu.com/s/1Bfs0wgwggHTQhdsNmLbIZw?pwd=8jva
    提取码:8jva 复制这段内容后打开百度网盘手机App,操作更方便哦
    classes.txt
    "Bacterial Leaf Spot"
    "Downy Mildew"
    "Healthy"
    "Mosaic Disease"
    "Powdery Mildew"

    中文名称

    英文类别中文类别
    Bacterial Leaf Spot细菌性叶斑病
    Downy Mildew霜霉病
    Healthy健康
    Mosaic Disease花叶病
    Powdery Mildew白粉病

    数据集介绍

    数据集概述

    南瓜是重要的经济作物之一,在世界范围内广泛种植。然而,在南瓜种植过程中,各类病害经常会对产量和品质造成严重影响。及时发现并识别南瓜叶片病害,对于提高农业生产效率、减少农药滥用以及保障作物健康具有重要意义。

    本数据集专门针对 南瓜叶片病害图像分类任务构建,包含 2000 张高清叶片图像,涵盖 五类常见病害与健康状态。数据集经过人工筛选与整理,并按照机器学习训练流程完成标准数据划分,可直接用于深度学习模型训练与评估。

    数据集具有以下特点:

    • 图像分辨率统一(640×640)
    • 类别划分清晰
    • 数据量适中
    • 中英文标签支持
    • 适用于多种深度学习框架

    研究人员可以利用该数据集训练图像分类模型,实现对南瓜叶片病害的自动识别。


    背景

    在现代农业生产中,植物病害是影响作物产量和质量的重要因素之一。南瓜在生长过程中容易受到多种真菌、细菌以及病毒病害的侵袭,例如:

    • 白粉病
    • 霜霉病
    • 细菌性叶斑病
    • 花叶病毒病

    传统的病害识别主要依赖农业专家或农户通过肉眼观察叶片症状进行判断,这种方式存在以下问题:

    1. 主观性较强
      不同人员判断结果可能存在差异。
    2. 效率较低
      大面积农田人工巡检耗时耗力。
    3. 专业门槛高
      普通农户难以准确识别不同病害。

    随着人工智能和计算机视觉技术的发展,利用深度学习模型进行植物病害识别已经成为农业智能化的重要研究方向。通过构建高质量的叶片病害图像数据集,可以训练自动识别模型,实现:

    • 农作物病害自动诊断
    • 智能农业监测
    • 精准农业管理

    该南瓜叶片病害数据集正是在这一背景下构建,为农业智能识别研究提供可靠的数据基础。


    数据集详情

    在这里插入图片描述

    1 数据规模

    本数据集共包含 2000 张南瓜叶片图像

    数据集划分如下:

    数据集数量
    训练集1400
    验证集400
    测试集200

    所有图像分辨率为:

    640 × 640

    2 数据组织结构

    数据集采用 图像分类常见的目录结构

    dataset/
    │
    ├── train
    │   ├── Bacterial Leaf Spot
    │   ├── Downy Mildew
    │   ├── Healthy
    │   ├── Mosaic Disease
    │   └── Powdery Mildew
    │
    ├── val
    │   ├── Bacterial Leaf Spot
    │   ├── Downy Mildew
    │   ├── Healthy
    │   ├── Mosaic Disease
    │   └── Powdery Mildew
    │
    └── test
        ├── Bacterial Leaf Spot
        ├── Downy Mildew
        ├── Healthy
        ├── Mosaic Disease
        └── Powdery Mildew

    每个类别文件夹中存放对应类别的图像数据,方便直接用于深度学习训练。


    3 图像格式

    数据集采用标准图像格式:

    • JPEG
    • PNG

    图像质量较高,适合用于模型训练和研究。


    4 数据特点

    本数据集具有以下特点:

    1 病害类型明确

    数据集包含五种典型类别:

    • 细菌性叶斑病
    • 霜霉病
    • 花叶病
    • 白粉病
    • 健康叶片

    类别区分明显,有利于模型学习特征。

    2 图像质量统一

    所有图像统一为 640×640 分辨率,减少数据预处理成本。

    3 适合分类任务

    数据集结构天然适合:

    • CNN 图像分类
    • YOLOv8 分类模型
    • Transformer 视觉模型

    在这里插入图片描述

    适用场景

    该数据集适用于多种研究和应用场景。

    1 植物病害自动识别

    可以训练深度学习模型,实现南瓜叶片病害自动检测,例如:

    • 白粉病识别
    • 霜霉病识别
    • 细菌性叶斑病识别

    帮助农户快速判断作物健康状况。


    2 智慧农业系统

    在智慧农业系统中,可结合:

    • 农田摄像设备
    • 无人机巡检
    • 手机拍照识别

    构建实时农作物健康监测系统。


    3 农业科研

    该数据集可用于研究:

    • 植物病害图像特征
    • 深度学习分类模型性能
    • 农业视觉识别算法

    为农业智能化研究提供数据支持。


    4 教学与课程实验

    适合用于以下课程教学:

    • 计算机视觉
    • 深度学习
    • 农业信息化
    • 植物病理学

    学生可以利用该数据集完成课程实验或毕业设计。


    心得

    在构建植物病害数据集的过程中,可以明显感受到 数据质量对模型性能的重要影响。相比复杂模型结构,高质量的数据往往能够带来更稳定的训练效果。

    在农业视觉任务中,还存在一些典型挑战,例如:

    • 病害区域较小
    • 背景复杂
    • 光照条件变化
    • 叶片形态差异

    因此在训练模型时,可以结合以下技术提升效果:

    • 数据增强(旋转、翻转、裁剪)
    • 迁移学习
    • 注意力机制
    • 轻量化模型设计

    通过合理的数据处理和模型优化,可以显著提高植物病害识别的准确率。
    在这里插入图片描述


    结语

    随着人工智能技术在农业领域的不断发展,利用计算机视觉进行植物病害识别已经成为智慧农业的重要研究方向。高质量的数据集是推动相关技术进步的重要基础。

    南瓜叶片病害图像分类数据集提供了 2000 张高质量叶片图像,并涵盖 5 种典型病害类型,可广泛应用于图像分类模型训练、农业科研以及教学实践。

    希望该数据集能够为农业智能识别研究提供帮助,推动农业信息化与智能化的发展。

    以前折腾过 vim ,一方面是因为装 b ,一方面是因为好玩,花很多时间去折腾 Youcompleteme ,后来尝试 spf13 ,搞来搞去最后觉得没意思,浪费了太多时间最后的效果也不好,bug 多多,就用了 Windows ,上了 JetBrains 全家桶。随后的几年期间,我觉得“最好的 vim 是活在各种 IDE 里的 vim”。

    从 JetBrains 到 Vim

    那时候还是学生,所以可以免费获得全家桶的学生版。后来进入互联网公司工作期间主力用过一两年 Ubuntu 工作,最后换了 MacOS 一直用到现在,但是使用 JetBrains 的习惯一直保持下来。工作的五年间用了一段时间免费的版本和从朋友那里“借用”的版本,最后索性直接买。一开始是买的国区,后面发现日区便宜就转到日区。这么买了三四年,从公司离职之后 GAP 了两年多一直到现在,这两年之间我还一直保持续费。到了 2025 年秋季的时候,我还在试着用里面的 Junie 写点代码,确实也是给了第一次 vibe coding 的我一点点震撼。

    进入 2026 之后,coding agent 爆发,又找到了可以稳定续订 ChatGPT 的路子。我计算了一下,觉得如果未来是 coding agent 写大部分代码,手动编辑少量代码的时代,那么我对 IDE 的需求其实没有那么重了,不如就把用来买 IDE 的钱拿去买 OpenAI 的服务,再借助 AI 花上一两天,打磨出一个趁手的轻量化编辑工具。

    于是我就这样做了。用一两天,借助 ChatBot 帮我搜集资料,根据我的需求让它告诉我我需要什么样的 nvim 插件。最后折腾出来一个我自己完全可用、好用的配置,为此还浅浅学会了一点点 Lua 。不得不说,折腾还是很快乐的,跟 AI 一起折腾那是双倍的快乐。

    新生的 nvim config 很好用,bug 不多,快捷键完全是我自己设计的。

    这个 repo 比过去花上一两周折腾出来的东西更好用,想要什么功能都有插件,并且可以借助 AI 的能力轻易让插件跑起来。遇到问题不需要读大量文档就能解决,过去需要折腾 10 个插件才能达到的“好用阈值”,到现在并没有降低,还是 10 个,但是过去折腾 10 个插件需要 10 天的话,现在一天半天就能搞定。这种折腾就对耐心和体力的要求大大降低了。

    当然这种体验不仅仅是 AI 带来的,更多的是技术的发展。在十多年之前,vscode 还没有(或者刚刚)发布,没有 LSP ,没有 treesitter ,补全用的是 ctags ,Youcompleteme 发明了 ycmd + 各种语言的补全后端,C++ 用 clang ,Java 用 Eclim (其实就是用了 Eclipse 的补全能力)。

    自己折腾的也比“拿来主义”的 spf13-like 的 config repo 好用。人家的毕竟是人家的,每个人在工作了那么多年之后都有一套自己趁手的工作流和工具,很难改。自己从零搞一个就是更加符合自己的习惯。

    (可能可以搞一个帮助新手初始化 nvim 的 skills ,让新手更加快地搞定自己的 nvim?)

    Archlinux

    除了折腾 nvim 之外,我还第一次成功地自己安装了 Archlinux 。

    上一次我自己安装 Arch 以失败告终,那是 2014 年左右吧,在折腾了好久,所有的步骤都执行完毕了之后,无论如何都进不去系统。过了好久之后才知道正好是我安装的当时,Archlinux 做了一个变更,把某个系统级目录(类似 /usr/bin ,具体是什么记不清了)移动了一个位置,导致所有使用那个版本的镜像的新装用户都会挂掉。已经折腾了那么久又遇到那么离谱的事情,这给我当时幼小的心灵带来了巨大的伤害,于是转向了 Ubuntu 。

    如果这个事情放到现在,我应该不会倒在这一步。因为可能过去跑完所有安装流程需要研究一两天,现在用 AI 只需要几个小时,等到遇到难题的时候,还剩有充足的精力去解决这些问题。

    本文全程没有用 AI ,很久没有输出这么大段的文字了。最近找工作不顺利,写点东西缓解一下压力,感谢各位观看。

    最近 Claude Code 、Codex CLI 、Aider 这些 AI 编程工具越来越火,但国内用户面临几个问题:

    官方 API 需要翻墙
    信用卡注册麻烦
    不知道怎么配置工具
    今天分享一个完整方案:HolySheep API + holysheep-cli 一键配置。

    什么是 HolySheep ?
    HolySheep 是面向国内开发者的 Claude/GPT/Gemini 官方 API 中转服务:

    🇨🇳 国内直连,不需要代理
    💰 ¥1 = $1 美元额度,汇率直换无溢价,支付宝/微信充值
    🔑 支持全系列:Claude Sonnet/Opus 、GPT-5 、Gemini 2.5 Pro
    📦 按量付费,没有月费,余额永不过期
    一键配置所有工具

    第一步:安装 Node.js 18+(已装跳过)

    macOS

    brew install node

    Windows

    winget install OpenJS.NodeJS.LTS

    Linux

    curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash - && sudo apt-get install -y nodejs

    第二步:一键登录 + 配置

    npx @simonyea/holysheep-cli login # 保存 API Key
    npx @simonyea/holysheep-cli setup # 一键配置所有工具
    自动检测并配置:Claude Code 、Codex CLI 、Aider 、Continue 、OpenCode 等。

    手动配置各工具
    Claude Code
    npm install -g @anthropic-ai/claude-code

    export ANTHROPIC_BASE_URL=https://api.holysheep.ai
    export ANTHROPIC_AUTH_TOKEN=你的 cr_xxx 密钥
    claude
    Codex CLI ( v0.111+ Rust 版)
    ~/.codex/config.toml:

    model = "gpt-5.4"
    model_provider = "holysheep"

    [model_providers.holysheep]
    name = "HolySheep"
    base_url = "https://api.holysheep.ai/v1"
    env_key = "OPENAI_API_KEY"
    同时设置:

    export OPENAI_API_KEY=你的 cr_xxx 密钥
    Aider
    pip install aider-install && aider-install

    export OPENAI_API_KEY=你的 cr_xxx 密钥
    aider --openai-api-base https://api.holysheep.ai/v1 --model openai/claude-sonnet-4-5
    Continue ( VS Code 插件)
    ~/.continue/config.yaml:

    models:

    开源工具:github.com/holysheep123/holysheep-cli

    事出有因:

    我是一个有十年记账习惯的人,尤其最拿手零散流水账(日常每天大概 10-20 笔之类的量),但从不指望说记账能让你省钱之类的屁话,主要是记录自己的行为轨迹和部分大额特殊支出之类,以方便回溯记忆和跨年回顾。也使用过不少记账 app 。不是它们做得不好,要不就是太复杂,比如我一打开 app 就天花乱坠的,然后让我点点点搞一堆东西,再加上弹广告,甚至再来点误点击,我真的受不了。

    更有甚者,就是不永远不知道你每天用的 app 能活多少天,万一不让导出数据(或者要买很贵的套餐之类),你数据说没就没了,完全没有安全感。

    折腾之路:

    不过对于我来说主要还是嫌弃麻烦,所以十年之间,我尝试了不少小工具,但是最后还是选择了基础表格 + 纯文本方式记账。

    img

    前些年主要用印象笔记,记不太清了,反正最开始免费用了好几年,后来为了支持也付费升级了高级用户。其实就差最后一点——我希望能支持表格的「 SUM 」加法功能,说白了就是表格流水账然后来个每日总额计算。然后要收费,还不便宜。

    接下来两年转战了 Notion ,虽然日常笔记也记得多,但使用频率最高的部分还是表格记账。一样的结局:Ai 统计功能最后也需要付费,也不便宜。虽然可以跟 GPT 打配合去问询,但还是太麻烦了。

    img

    这个时候救星来了,就是「 Antigravity + Claude Opus 4.5 Thinking 」,我 Vibe 了一天,直接给我干了个可以跑的 demo 。要知道对于一个不会 Xcode 系任何编程语言的设计师来说,这玩意儿太梦幻了,让你有冲动直接干到底了。

    所以接下来我有时间就开始干,当正事开始做,做自己之前不敢想的事情,一边开心一边加码做。从原型思考,到 Logo 设计,到品牌定位,到商标注册。从第一次接触 swift 实现 appleid 登录,到一脸懵逼开始 vibe 同步系统; 从海外 Gemini 到心忧数据安全问题切换千问,太难了,但是也太有趣了,磕磕碰碰真的一路干到了发布 Testflight 0.1.0 的公开测试版。

    所以 记趣 · Kicho 是什么:

    img

    是一个利用 Ai 帮你轻松记流水账、分析消费的 iOS app (见谅暂时能力有限只支持 iphone 🥲 )。

    • 风格定位:极简,本人很烦无用的交互所以能砍的都尽量砍了,目前版本是基于自己实际习惯完成的
    • 免费功能:Ai 智能分类 / 消费分析(暂未开放) / 数据导出 / 多语言 / 隐私优先
    • 技术栈:Swift 原生 / 阿里云 RDS Supabase / 千问家族模型
    • 收费计划:目前用量小,暂时没啥野心,希望喜欢的朋友一起免费来玩来用来体验,如果要收费的话也可能是大量消耗 token 和服务器资源功能开放的时候吧。

    如何下载:

    1. 需要下载 Testflight 。
    2. 需要更新到最新系统 ios 26.2 。
    3. 记趣 Kicho 测试版的公开链接:

    https://testflight.apple.com/join/MDYUsbUX

    也希望认识同好的 V2exer

    img

    望 V2exer 大神们轻喷 🙏

    不知道是 bug 还是又收紧了
    我日常主要用美区 Apple ID ,偶尔用国区
    我有一个国区下载的 app ,用国区账号内购了会员
    今天忽然发现在美区环境下,会员没有了。如果点击恢复购买,会直接弹窗让输入美区的密码
    难道现在用美区账号升级软件后,会直接覆盖软件吗?

    Shotcut 26.2 (Linux, macOS, Windows) - 免费开源视频编辑器

    free, open source, cross-platform video editor

    请访问原文链接:https://sysin.org/blog/shotcut/ 查看最新版。原创作品,转载请保留出处。

    作者主页:sysin.org


    Shotcut 是一个免费的、开源的、跨平台的视频编辑器。

    Shotcut is a free, open source, cross-platform video editor.

    sysin

    关于

    Shotcut 是适用于 Mac、Linux 和 Windows 的免费、开源、跨平台视频编辑器。

    Shotcut 最初于 2004 年 11 月由 Charlie Yates 构思提出。Charlie Yates 是 MLT 的联合创始人之一,也是最初的首席开发者。当前版本的 Shotcut 是由另一位 MLT 联合创始人、现任首席开发者 Dan Dennedy 进行的完全重写。Dan 希望基于 MLT 创建一款新的编辑器,由于他非常喜欢 Shotcut 这个名字,因此决定沿用它。他希望通过这个项目来实践 MLT 新的跨平台能力,尤其是与 WebVfx 和 Movit 插件结合使用。

    Dan Dennedy

    Shotcut 与 MLT 的首席开发者

    特性

    Features

    • 广泛的格式支持

      得益于 FFmpeg,支持数百种音频和视频格式及编解码器。无需导入即可直接编辑,实现原生剪辑,并支持在同一项目中使用多格式时间轴、不同分辨率和帧率 (sysin)。对多种视频格式提供逐帧精确定位(Frame accurate seeking)支持。

    • 设备与传输选项

      支持 Blackmagic Design 的 SDI 和 HDMI 输入及预览监看。支持屏幕、摄像头和音频采集,网络流播放。最高支持 4K 分辨率,并可从 SDI、HDMI、摄像头、JACK 与 Pulse 音频、IP 流、X11 屏幕以及 Windows DirectShow 设备进行采集。

    • 简洁直观的界面

      提供多个可停靠与可分离的面板,包括详细的媒体属性、带搜索功能的最近文件、带缩略图视图的播放列表、滤镜面板、历史视图、编码面板、任务队列,以及 Melted 服务器和播放列表。同时支持从文件管理器直接拖拽资源。

    新增功能

    2026 年 2 月 26 日

    版本 26.2.26 现已开放下载

    修复内容(Fixes)

    • 修复了在使用 Qt 6.10.1 时,将较长视频添加到时间轴会导致崩溃的问题(v26.1 中引入)。
    • 修复了在 Windows 上,使用 HEVC 视频源并启用“设置 > 预览缩放 > 使用硬件解码器 + 预览缩放”时,底部出现黑色或绿色条的问题(v26.1 中引入)。
    • 在启用“视图 > 显示图标下方的文本”时,将“生成(Generate)”恢复到主工具栏(v26.1 中发生变更)。
    • 修复了 RGB Shift 视频滤镜中的崩溃问题(v25.12 中引入)。
    • 修复了 FLAC 导出时音频时长错误,导致播放器中拖动条不可用的问题(v25.12 中引入)。
    • 修复了在未选择任何项目时 (sysin),启用以下播放列表操作会导致崩溃的问题:

      • GoTo
      • Move Up
      • Move Down
      • Add Selected to Timeline
      • Add Selected to Slideshow
      • Sort By Name
      • Sort By Date
    • 修复了反向任务(reverse job)中“在文件中显示(Show In Files)”的问题。
    • 修复了在 macOS 上选择“导出 > 编码器 > h264_videotool”时,无法可靠地将 B 帧设置为 0 的问题。
    • 修复了“文本:打字机(Text: Typewriter)> 位置与大小(Position & Size)”中的关键帧无法正常工作的问题。

    更改内容(Changes)

    • 在文本滤镜的字体对话框中,新增对下划线和删除线选项的支持。
    • 在字幕中新增搜索字段。
    • 在时间轴轨道上,按住 Alt 键并点击“静音(Mute)”或“隐藏(Hide)”时,可切换所有其他轨道的状态。
    • 新增按住 Shift 键并滚动鼠标滚轮来缩放播放器的功能 (sysin)。
    • 新增“播放列表 > 记录事件(Log Event,Shift+E)”,可在当前源播放器时间点追加一个 6 秒(±3 秒)的片段。
    • 提升了时间轴和关键帧波形渲染的性能 (sysin)。
    • 更改了视频缩放(Video Zoom)视频示波器中鼠标滚轮的行为:

      • 单独滚动滚轮(不按修饰键):垂直滚动
      • 按住 Ctrl:缩放
      • 按住 Alt:水平滚动
    • 移除了“设置 > 播放器 > 去隔行器 > Linear Blend”(已过时,且已在 FFmpeg 中移除)。

    下载地址

    Shotcut for macOS, Linux, Windows (2026-02-28)

    请访问:https://sysin.org/blog/shotcut/

    • macOS (64-bit or ARM64 macOS 11+)

      • macOS Universal
    • GNU/Linux (64-bit Mint 20+, Ubuntu/Pop!_OS 20.04+, Debian 11+, Fedora 32+, Manjaro 20.2+, MX Linux 21+, elementary OS 6+)

      • Linux AppImage x86_64
    • Windows (64-bit or ARM64 Windows 10+)

      • Windows installer

    更多:macOS 下载汇总 (系统、应用和教程)

    很多人第一次接触中文域名时,都会遇到一个问题:明明输入的是中文网址,复制出来却变成了 xn-- 开头的一串字符。其实这不是乱码,而是域名系统使用的 Punycode 编码。

    我做了一个用 Vue 开发的在线小工具——中文域名转码,专门帮助普通用户在中文域名和 Punycode 之间快速互转,打开网页就能用,不需要安装软件。

    在线工具网址:https://see-tool.com/chinese-domain-converter
    工具截图:

    这个工具适合什么场景

    • 注册或购买中文域名前,先确认转码结果
    • 做网站配置时,查看中文域名对应的标准编码
    • 复制链接给他人时,判断域名是否正确
    • 遇到 xn-- 域名时,反查它原本对应的中文内容

    怎么使用

    1. 打开“中文域名转码”工具页面。
    2. 在输入框里粘贴中文域名,或者 xn-- 开头的编码域名。
    3. 点击转换,页面会自动给出对应结果。
    4. 复制转换后的域名,用到浏览器、建站平台或解析配置中。

    这个工具有什么优点

    它会自动清理常见前缀和多余斜杠,比如有些人复制的是完整网址,工具会尽量帮你提取出可处理的域名部分,这样普通用户也不容易输错。

    为什么做这个工具

    很多域名工具更偏技术人员,普通用户看到一堆专业术语会有压力。我用 Vue 开发这个页面时,重点就是把操作做得更直接:输入、转换、复制,三步完成,不需要懂编码原理也能用。

    如果你平时会接触中文网址、建站后台、域名购买页,或者只是想弄明白 xn-- 到底是什么,这个工具会比较实用。

    前言:
    在电商数据服务的工程实践中,以图搜品的技术实现往往比想象中更考验细节把控。去年我们部署淘宝拍立淘API集群时,曾因800×800商品图中30%的背景干扰导致相似度波动高达±15%。最终发现:主体裁剪比例比分辨率更重要——当商品占比提升至70%以上时,MobileNet模型的注意力权重趋于稳定,波动骤降至±3%。

    一、技术落地的核心在于边界控制:
    签名机制:MD5加密必须严格遵循ASCII排序,服务器时间戳误差超过500毫秒即触发sign invalid。

    结果过滤:设similarity_threshold=0.8可筛除70%低效数据。

    性能瓶颈:企业权限单日5000次调用上限下,异步队列比多线程更稳定。

    请求地址:c0b.cc/R4rbK2。

    二、接口概述:
    淘宝拍立淘图片搜索API接口为开放平台当前正式支持的视觉检索服务,用于通过上传商品图片在淘宝/天猫海量商品库中精准匹配同款或相似商品,广泛应用于电商比价、智能推荐、内容带货与竞品监控等场景。

    三、接口核心功能
    以图搜品:基于深度学习图像特征提取(如ResNet、MobileNet ),识别图片中商品的形状、颜色、纹理等200+维度特征,实现毫秒级相似商品匹配。

    多源输入:支持两种图片传入方式:

    image:图片的Base64编码(优先级更高)

    image_url:公网可访问的图片URL(需为淘宝/天猫或已上传至阿里云图片空间的地址)

    智能排序:返回结果按相似度得分(0–100)、价格、销量等维度智能排序,支持设置相似度阈值。

    结构化返回:JSON格式响应,包含商品ID、标题、价格、主图URL、店铺信息、相似度得分等关键字 段。

    使用限制与注意事项:

    图片要求:

    格式:JPG / PNG;

    大小:≤2MB(部分文档支持≤5MB,建议控制在2MB内);

    分辨率 :≥800×800,商品主体占比≥60%,避免水印、遮挡、模糊或复杂背景;

    结果范围:单次请求最多返回50条商品结果,无法获取完整商品详情页(如评论、库存),需配合taobao.item.get等接口补充。

    大家好,我是良许。

    在嵌入式系统开发中,我们经常会接触到各种各样的芯片,比如STM32单片机、FPGA、DSP等等。

    但你有没有想过,这些芯片是怎么设计出来的?

    今天我就来聊聊ASIC(Application Specific Integrated Circuit,专用集成电路)的设计和制造过程。

    作为一名嵌入式程序员,虽然我们日常工作主要是在已有的芯片上做软件开发,但了解芯片的诞生过程,对我们理解硬件特性、优化代码性能都有很大帮助。

    1. 什么是ASIC

    ASIC是为特定应用而设计的集成电路,与通用处理器不同,它针对特定功能进行优化。

    比如比特币矿机里的挖矿芯片、手机里的基带芯片、汽车电子中的CAN总线控制器等,都属于ASIC的范畴。

    我在汽车电子领域工作的时候,就接触过不少ASIC芯片。

    比如某些车载网关使用的专用通信芯片,它集成了CAN、LIN、FlexRay等多种车载总线接口,这种芯片就是典型的ASIC。

    相比用通用MCU外挂各种接口芯片的方案,ASIC方案在功耗、体积、成本上都有明显优势。

    ASIC与FPGA的主要区别在于:FPGA是可编程的,设计完成后还可以修改逻辑;而ASIC一旦流片(制造出来),硬件逻辑就固定了,无法修改。

    但ASIC在性能、功耗、成本(大批量生产时)方面都优于FPGA。

    2. ASIC设计流程

    2.1 需求分析与规格定义

    ASIC设计的第一步是明确需求。

    这个阶段需要回答几个关键问题:这个芯片要实现什么功能?性能指标是什么?功耗要求多少?工作环境如何?

    举个例子,假设我们要设计一个用于智能家居的低功耗无线通信芯片。

    需求可能包括:支持2.4GHz频段、传输速率1Mbps、待机功耗小于10μA、工作温度范围-40℃到85℃等。

    这些指标会直接影响后续的设计决策。

    2.2 架构设计

    确定需求后,就要进行架构设计。

    这个阶段要决定芯片的整体结构,包括需要哪些功能模块、各模块如何连接、数据流向如何等。

    以一个简单的UART通信ASIC为例,架构可能包括:波特率发生器、发送移位寄存器、接收移位寄存器、FIFO缓冲区、中断控制器等模块。

    架构设计通常会画出框图,明确各模块的接口和交互关系。

    2.3 RTL设计

    RTL(Register Transfer Level,寄存器传输级)设计是用硬件描述语言(HDL)来实现芯片的逻辑功能。

    主流的HDL语言有Verilog和VHDL。

    这里给一个简单的Verilog代码示例,实现一个8位计数器:

    module counter_8bit (
        input wire clk,
        input wire rst_n,
        input wire enable,
        output reg [7:0] count
    );
    
    always @(posedge clk or negedge rst_n) begin
        if (!rst_n) begin
            count <= 8'h00;
        end else if (enable) begin
            count <= count + 1'b1;
        end
    end
    
    endmodule

    在实际ASIC设计中,RTL代码会复杂得多,可能包含成千上万行代码。

    设计师需要考虑时序、面积、功耗等多方面因素。

    2.4 功能验证

    写完RTL代码后,必须进行充分的功能验证。

    这个阶段要编写测试用例(testbench),用仿真工具(如ModelSim、VCS等)来验证设计的正确性。

    验证是ASIC设计中最耗时的环节,通常占整个设计周期的60%~70%。

    因为ASIC一旦流片,硬件逻辑就无法修改,如果有bug,代价是非常高昂的。

    我听说过有些公司因为验证不充分,流片后发现重大bug,损失上千万甚至上亿元。

    2.5 逻辑综合

    逻辑综合是将RTL代码转换为门级网表的过程。

    综合工具(如Design Compiler)会根据目标工艺库,把RTL代码映射到具体的逻辑门(与门、或门、非门等)和触发器上。

    综合过程中需要设置约束条件,比如时钟频率、输入输出延迟等。

    综合工具会尽量优化设计,在满足时序要求的前提下,减小面积和功耗。

    2.6 静态时序分析

    综合完成后,需要进行静态时序分析(STA,Static Timing Analysis)。

    STA工具会检查设计中所有路径的时序,确保在最坏情况下也能满足时序要求。

    时序问题是ASIC设计中的常见问题。

    比如建立时间违例(setup violation)意味着数据在时钟沿到来前没有稳定足够长的时间;保持时间违例(hold violation)意味着数据在时钟沿后变化太快。

    这些问题都需要通过修改RTL代码或调整综合约束来解决。

    2.7 物理设计

    物理设计包括布局规划(floorplan)、布局(placement)、时钟树综合(CTS)、布线(routing)等步骤。

    这个阶段要把逻辑门和连线真正放置到芯片上,确定每个单元的物理位置和连线路径。

    物理设计需要考虑很多实际因素,比如:信号完整性、电源完整性、串扰、电迁移等。

    这些因素在RTL设计阶段是看不到的,但在实际芯片中会真实存在。

    2.8 物理验证

    物理设计完成后,需要进行物理验证,主要包括:

    • DRC(Design Rule Check,设计规则检查):检查版图是否符合工艺要求,比如最小线宽、最小间距等。
    • LVS(Layout Versus Schematic,版图与原理图对比):检查版图是否与原理图一致。
    • ERC(Electrical Rule Check,电气规则检查):检查电气连接是否正确。

    只有通过所有物理验证,才能生成最终的版图文件(GDSII格式),交给晶圆厂制造。

    3. ASIC制造流程

    3.1 晶圆制造

    ASIC的制造是在晶圆厂(fab)进行的。晶圆通常是硅材料,直径有8英寸(200mm)、12英寸(300mm)等规格。制造过程主要包括以下步骤:

    3.1.1 氧化

    在硅晶圆表面生长一层二氧化硅薄膜,作为绝缘层或掩膜层。

    氧化通常在高温(800℃~1200℃)下进行。

    3.1.2 光刻

    光刻是芯片制造中最关键的步骤。

    首先在晶圆上涂覆光刻胶,然后用掩膜版(mask)和光刻机将电路图案转移到光刻胶上。

    曝光后的光刻胶经过显影,形成所需的图案。

    现代先进工艺(如7nm、5nm)使用极紫外光(EUV)光刻技术,可以实现更小的特征尺寸。

    光刻设备非常昂贵,一台EUV光刻机售价超过1亿美元。

    3.1.3 刻蚀

    刻蚀是去除不需要的材料。

    根据刻蚀方式,分为湿法刻蚀(用化学溶液)和干法刻蚀(用等离子体)。

    刻蚀要求很高的选择性和均匀性。

    3.1.4 离子注入

    离子注入是在硅中掺杂杂质(如磷、硼),形成N型或P型半导体。

    通过控制掺杂浓度和深度,可以形成晶体管的源极、漏极等区域。

    3.1.5 薄膜沉积

    薄膜沉积是在晶圆表面沉积各种材料,如金属(铜、铝)、介质(氧化硅、氮化硅)等。

    常用的沉积方法有化学气相沉积(CVD)、物理气相沉积(PVD)等。

    3.1.6 化学机械抛光

    CMP(Chemical Mechanical Polishing)用于平坦化晶圆表面。

    在多层金属互连工艺中,CMP是必不可少的步骤。

    以上步骤会重复多次,逐层构建出完整的电路。

    一个先进的芯片可能有十几层甚至几十层金属互连层。

    整个制造过程可能需要几百道工序,耗时2~3个月。

    3.2 晶圆测试

    晶圆制造完成后,需要进行晶圆级测试(wafer test),也叫CP测试(Circuit Probing)。

    测试设备用探针接触晶圆上的焊盘,对每个芯片进行功能和参数测试。

    测试会标记出不良芯片,这些芯片在后续封装时会被丢弃。

    晶圆的良率(yield)是衡量制造质量的重要指标,良率越高,成本越低。

    3.3 封装

    通过测试的芯片会被切割下来,然后进行封装。

    封装的作用是保护芯片、提供电气连接、散热等。

    常见的封装形式有DIP(双列直插)、QFP(四方扁平)、BGA(球栅阵列)等。

    封装过程包括:

    • 芯片贴装:将芯片粘贴到封装基板上。
    • 引线键合:用金线或铝线将芯片焊盘与封装引脚连接。
    • 塑封:用塑料材料封装芯片,保护内部结构。
    • 打标:在封装表面印上型号、批次等信息。

    3.4 最终测试

    封装完成后,还要进行最终测试(final test),也叫FT测试。

    这次测试是在封装后的成品芯片上进行,测试项目更全面,包括功能测试、参数测试、老化测试等。

    只有通过最终测试的芯片才能出货给客户。

    测试数据会被记录下来,用于质量追溯和可靠性分析。

    4. ASIC设计中的挑战

    4.1 成本问题

    ASIC的开发成本非常高。

    一次流片(tape-out)的费用,在28nm工艺下可能需要几百万元,在7nm工艺下可能超过千万元。

    加上人力成本、EDA工具费用等,一个ASIC项目的总投入可能达到数千万甚至上亿元。

    因此,ASIC只适合大批量生产的场景。

    如果产品销量不够大,单颗芯片的成本会非常高,不如使用FPGA或通用MCU方案。

    4.2 设计周期长

    ASIC的设计周期通常需要1~2年,甚至更长。

    从需求分析到最终量产,要经过设计、验证、流片、测试等多个阶段。

    如果流片后发现问题,需要重新设计和流片,周期会更长。

    相比之下,FPGA方案的开发周期要短得多,因为FPGA可以快速迭代,发现问题可以立即修改。

    4.3 验证难度大

    前面提到,验证是ASIC设计中最耗时的环节。

    随着芯片复杂度的增加,验证难度也在急剧上升。

    一个包含数亿晶体管的芯片,可能的状态空间是天文数字,无法穷尽测试所有情况。

    为了提高验证效率,业界发展出了很多先进的验证方法,如形式验证、断言验证、覆盖率驱动验证等。

    但即使如此,也很难保证100%的正确性。

    4.4 工艺挑战

    随着工艺节点的缩小(如5nm、3nm),物理效应变得越来越显著。

    比如量子隧穿效应导致的漏电流增加、工艺偏差导致的性能波动等。

    这些问题给设计和制造都带来了巨大挑战。

    此外,先进工艺的制造设备和材料成本极高,只有少数几家公司(如台积电、三星、英特尔)有能力投资。

    这也导致了芯片制造的高度集中化。

    5. ASIC在嵌入式系统中的应用

    作为嵌入式程序员,我们虽然不直接参与ASIC设计,但了解ASIC的特性对我们的工作很有帮助。

    比如,在汽车电子项目中,我曾经使用过一款专用的CAN控制器ASIC。

    这个芯片集成了CAN收发器、错误检测、自动重传等功能,比用通用MCU的CAN外设要可靠得多。

    在编写驱动程序时,我需要仔细阅读芯片手册,了解它的寄存器定义、时序要求等,才能正确配置和使用。

    再比如,在做性能优化时,了解芯片的流水线结构、缓存层次、总线带宽等硬件特性,可以帮助我们写出更高效的代码。

    有些看似简单的代码改动,可能因为更好地利用了硬件特性,性能就有明显提升。

    下面是一个简单的例子,展示如何在STM32上配置GPIO来控制一个外部ASIC芯片的复位引脚:

    // 使用HAL库配置GPIO
    void ASIC_Reset_Init(void)
    {
        GPIO_InitTypeDef GPIO_InitStruct = {0};
        
        // 使能GPIOA时钟
        __HAL_RCC_GPIOA_CLK_ENABLE();
        
        // 配置PA5为输出模式,用于控制ASIC复位
        GPIO_InitStruct.Pin = GPIO_PIN_5;
        GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;  // 推挽输出
        GPIO_InitStruct.Pull = GPIO_NOPULL;
        GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
        HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
        
        // 初始化时保持复位状态
        HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_RESET);
    }
    
    // ASIC复位函数
    void ASIC_Reset(void)
    {
        // 拉低复位引脚至少10ms
        HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_RESET);
        HAL_Delay(10);
        
        // 释放复位
        HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_SET);
        
        // 等待ASIC启动完成(根据芯片手册确定时间)
        HAL_Delay(50);
    }

    这段代码虽然简单,但在实际项目中非常实用。

    很多ASIC芯片都需要外部MCU来控制其复位、使能等信号,正确的初始化时序对系统稳定性至关重要。

    6. 总结

    ASIC的设计和制造是一个复杂而精密的过程,涉及电路设计、物理设计、半导体工艺等多个领域。

    虽然作为嵌入式软件工程师,我们不需要掌握所有细节,但了解这些知识可以帮助我们更好地理解硬件,写出更高效、更可靠的代码。

    在我的职业生涯中,从单片机到嵌入式Linux,从消费电子到汽车电子,接触过各种各样的芯片。

    每一次深入了解芯片的工作原理,都让我对硬件有了更深的认识,也让我在软件开发中能够做出更好的设计决策。

    如果你对芯片设计感兴趣,可以从学习Verilog或VHDL开始,在FPGA上实践一些简单的设计。

    虽然FPGA不等于ASIC,但很多设计思想是相通的。

    对于嵌入式程序员来说,掌握一定的硬件知识,绝对是职业发展的加分项。

    希望这篇文章能让你对ASIC有一个基本的了解。如果有任何问题,欢迎留言讨论。

    更多编程学习资源

    OpenAI 在硬件战略方面做出重大调整,推出 GPT-5.3-Codex-Spark 模型。这是 OpenAI 首款部署在 Cerebras 晶圆级芯片、而非传统英伟达 GPU 上的生产级 AI 模型。OpenAI 表示,新模型具备更高吞吐量与更低延迟,可带来实时交互式编码体验。

    我们正面向 ChatGPT Pro 用户以研究预览版的形式开放基于 Cerebras 平台的 Codex‑Spark,让开发者能够尽早开展实验。同时,我们将与 Cerebras 合作扩大数据中心容量、优化端到端用户体验,并部署更大规模的前沿模型。

    Codex-Spark 的运行速度约为每秒 1000 个 Token,比早期版本快约 15 倍,让实时编码辅助与快速迭代更加流畅灵敏。OpenAI 表示,新模型“专为实时使用 Codex 而设计——可进行针对性编辑、重构逻辑或优化界面,并立即看到结果”。

    为实现实时编码,OpenAI 针对低延迟与交互式编码工作流对 Codex‑Spark 进行了优化,而非聚焦于深度推理或通用任务。尽管侧重速度,该模型仍保留了前代处理长时间任务的能力,可“在无需干预的情况下运行数小时、数天甚至数周”。

    OpenAI 表示,GPT-5.3-Codex-Spark 在专为软件工程任务设计的 SWE-Bench Pro 和 Terminal-Bench 2.0 两项基准测试中展示了性能,结果介于 GPT-5.1-Codex-mini 与 GPT-5.3-Codex 之间,但耗时仅为后者的一小部分。OpenAI 还指出,为降低完整请求响应流程延迟所做的端到端优化将使所有模型受益。

    在底层,我们简化了响应从客户端到服务器再返回的流式传输流程,重写了推理栈的关键部分,并重新设计了会话初始化方式,让首个可见 Token 更快生成,同时在你迭代编码时保持 Codex 的响应速度。

    在其他方面,OpenAI 引入了持久化 WebSocket 连接,并在 Responses API 中进行了多项改进。总体而言,这些优化将客户端与服务器的单次往返开销降低了 80%,单 Token 处理时间减少 30%,首 Token 生成时间缩短 50%。OpenAI 表示,这些改进将成为所有模型的默认配置。

    Codex‑Spark 运行在 Cerebras 的 Wafer Scale Engine 3 加速器上,这类加速器非常适合低延迟、高吞吐的推理场景。不过,OpenAI 表示,这并不意味着 GPU 将不再是其训练与推理流程的核心。Cerebras 加速器还可与 GPU 配合使用,融合两种架构的优势。

    OpenAI 的公告在网上引发了广泛讨论。一些 Reddit 用户强调他们更看重“最大的智能和可靠性”而非速度,Tystros 评论道:“如果完成任务需要一小时但结果更好,我愿意等一小时”。用户 stobak 指出,人们很容易低估更快的模型可能减少的反复迭代带来的累积成本

    Nicholas Van Landschoot 在 X 上指出,速度提升并没有宣称的那么显著,在实际基准测试中性能提升更接近 1.37 倍,而非 15 倍。他解释道,15 倍的数据是将 Codex‑Spark 与 Codex 的特定配置 x-high 对比得出的,而该配置会刻意延长推理时间以提升准确性。

    Codex‑Spark 提供 128k 上下文窗口,仅支持文本。官方计划根据开发者社区的使用反馈推出具备更大上下文、更快的模型。

    【声明:本文由 InfoQ 翻译,未经许可禁止转载。】

    查看英文原文:https://www.infoq.com/news/2026/03/open-ai-codex-spark/


    “me stepping down. bye my beloved qwen.”(我卸任了。再见了,我亲爱的千问。)

    林俊旸卸任推文

    3 月 4 日凌晨,没有任何官方预热与体面的交接仪式,93年出生、阿里巴巴最年轻的 P10 级技术专家、千问(Qwen)核心负责人林俊旸在 X 平台上敲下了这句简短的告别。据传,有 Qwen 团队的同事在得知消息后“伤心地哭了”。

    在这个大模型狂飙突进的时代,千问不仅是阿里 AI 战略的皇冠,更是全球开源大模型社区的一面旗帜。而现在,这面旗帜的扛旗人,在凌晨时分独自走下了牌桌。

    伴随着他的离开,漫天的猜测如潮水般涌来:空降的高管、Gemini 商业模式的复制、内部算力的枯竭,以及那个让所有开发者倒吸一口凉气的传闻——Qwen 的开源时代,要终结了吗?

    【笔者观点】
    当一个估值千亿、牵动全球开源生态的核心业务负责人以如此决绝且非官方的方式宣布离职时,任何“和平分手”的公关辞令都显得苍白无力。林俊旸的离开,撕开了科技巨头在 AI 狂热期后最尴尬的遮羞布:当开源的理想主义撞上大厂严苛的商业化 KPI 考核时,天才科学家的纯粹,往往敌不过 CFO 报表里的算计。

    一、 资源的傲慢:“无关政治”的权力洗牌

    对于林俊旸的突然离职,阿里高层的反应不可谓不迅速。阿里巴巴董事长兼 CEO 吴泳铭、首席人才官蒋芳、阿里云 CTO 周靖人火速召开会议,给出了一个极具大厂标准公关话术的定性:“Qwen 没有收缩,这是一次团队扩张,无关任何政治斗争。”

    但事实的颗粒度,往往隐藏在会议的细节里。阿里高层在会上多次强调,千问基础模型是集团当前最重要的事情,无论是基础模型研发,还是底层 infra 建设,都将在集团层面统筹推进,“一定要超越”。

    阿里内部会议相关截图

    外界盛传,阿里云 CEO 正在对 Qwen 采取更直接的管理与监督,并计划空降一位来自谷歌 Gemini 团队的新负责人。网传阿里正试图复制 Google Cloud 与 Gemini 的闭源商业模式,这无疑触碰了开源社区最敏感的神经。

    社区关于闭源与Gemini模式的猜测

    更令人匪夷所思的是周靖人在会上坦承的一个“反常识”现状:阿里内部的大模型团队,在算力和招聘名额上居然捉襟见肘,反而不如花钱购买阿里云算力的外部创业公司用得顺畅。

    一边是集团口中“当前最重要的事情”,一边是连内部训练算力都要靠边站的资源窘境。

    【笔者观点】
    所谓“无关政治”,往往是企业内部最激烈政治博弈的代名词。一个反常识的真相是:在云厂商的逻辑里,能立刻带来真金白银收入的外部算力客户,永远比内部烧钱研发的开源团队优先级更高。当高层试图用“空降商业化高管”来接管极客团队,当内部算力分配开始为短期财报让路时,挤走林俊旸的绝不是什么个人职业规划,而是巨头在“要技术名声”还是“要商业变现”这一战略摇摆中的必然牺牲品。

    二、 开源的黄昏:大厂容不下纯粹的“技术乌托邦”

    林俊旸在技术圈的声望,是靠着一个个熬夜写代码的凌晨真刀真枪拼出来的。他带领团队硬生生向世界证明了一件事:开放权重的开源模型,同样可以与那些投入上千亿美元的闭源实验室保持同等甚至更快的进化速度。

    Hyperbolic labs 联合创始人发推回忆并致敬,称这是“一个时代的结束”。

    Hyperbolic labs联合创始人推文

    社区网友也深情回忆了当他们在北京时间早上六点发布 Qwen 3 的 API 时,林俊旸和他的团队依然通宵达旦在线忙碌的场景。

    社区网友致敬Qwen团队

    在评论区,“Qwen is nothing without its people(没有了这些人,Qwen 什么都不是)”的呼声一度刷屏,甚至有网友悲观地评论:“阿里跌回 80 不是梦,幸好没买他家股票。”

    社区评论区刷屏截图

    xAI 研究员 Yao Fu 更是毫不吝啬地称赞其为“AI 发展史中最杰出的领导者之一,Qwen 成为最优秀的开源模型之一,并推动了整个科技行业的进步。”

    【笔者观点】
    我们必须承认一个残酷的现实:巨头做开源,从来不是为了做慈善,而是为了建立生态壁垒。但随着大模型参数量呈指数级膨胀,训练成本飙升,“赔本赚吆喝”的开源模式越来越难以在集团内部立足。如果 Qwen 真的因此走向闭源,林俊旸的离开就不只是一次人事变动,它标志着中国大模型历史上最具浪漫主义色彩的一段开源长征,被强行按下了终止键。

    三、 人才的流失:你追随的是使命,还是公司的 Logo?

    面对这场震动 AI 圈的人事地震,前阿里云副总裁贾扬清的点评尤为犀利。他直言不讳地指出:“我们正在进入一个‘人和影响力’比以往任何时候都更重要的时代。能够凝聚社区的技术领导者极其稀缺。无论这些领导者未来走向哪里,社区往往追随的是使命,而不仅仅是公司的标志。

    贾扬清甚至用了一个极其经典的段子来讽刺大厂在人才管理上的短视:
    CFO:如果我们投入资源培养员工,但他们离开了怎么办?
    CEO:那如果我们不培养,而他们留下来怎么办?

    林俊旸在离职前,已经开始在 Qwen 内部组建具身智能与机器人小组,试图带领团队在下一代 AI 浪潮中抢占先机。但他最终选择在凌晨挥手作别,留给阿里的是一个群龙无首的社区,和一个前途未卜的战略重心。

    【笔者观点】
    很多科技巨头至今仍深陷于工业时代的傲慢之中,认为平台是铁打的营盘,人才是流水的兵。但在顶尖 AI 领域,这是极其致命的战略误判。算力可以购买,可以堆叠,但顶级的技术直觉和在全球开源社区一呼百应的号召力,是任何猎头和预算都无法轻易填补的。逼走一个林俊旸,阿里失去的不仅仅是一个 P10,更是全球无数开发者对 Qwen 品牌的信仰。当大厂的体制连一个纯粹的技术天才都无法兼容时,这不仅仅是“一个时代的结束”,更是一场极具警示意味的系统性败局。

    👇 欢迎关注我的公众号

    在 AI 爆发的深水区,我们一起探索真正能穿越周期的技术价值。
    微信搜索 【睿见新世界】 或扫描下方二维码,获取每周硬核技术推文:

    微信图片_20260301232734_225_35.jpg

    欢迎关注【睿见新世界】

    Cisco ACI Simulator 6.1(5e)M | 6.0(9c)M - ACI 模拟器

    Application Centric Infrastructure (ACI) Simulator Software

    请访问原文链接:https://sysin.org/blog/cisco-acisim-6/ 查看最新版。原创作品,转载请保留出处。

    作者主页:sysin.org


    Cisco ACI

    新增功能

    2025 年 12 月 15 日 6.1(5e) 版本发布

    发布概览

    Cisco ACI 6.1(5) 是一个维护版本,通过关键缺陷修复和代码加固优先提升系统稳定性。本次发布遵循 Cisco 既定的维护版本节奏,推荐给希望在 ACI 部署中获得更高可靠性和稳定性的客户使用。

    重要支持增强

    虽然 ACI 6.1(5) 主要是维护版本,但为满足特定客户部署需求,本次发布包含了以下关键增强功能:

    • 互操作性支持:在具备策略扩展(Policy Extension)能力的环境中,实现 ACI 与 VXLAN EVPN Fabric 的任意对任意(any-to-any)互联 (sysin)。
    • 安全性增强:在 ACI 模式下,对 N9K-C9348GC-FX3 和 N9K-C93180YC-FX3 的 1G/100M 端口提供 MACsec 支持。

    已解决问题:包含多项错误修复,篇幅较长,详见官方文档。

    ACI Simulator

    介绍

    思科以应用为中心的基础设施 (ACI) 被概念化为一个分布式、可扩展、多租户的基础设施,具有通过以应用为中心的策略进行控制和分组的外部端点连接。思科应用策略基础设施控制器 (APIC) 是关键的架构组件,它是思科 ACI 的自动化、管理、监控和可编程性的统一点。Cisco APIC 支持在任何地方部署、管理和监控任何应用程序 (sysin),并为基础设施的物理和虚拟组件提供统一的操作模型。Cisco APIC 根据应用要求和策略以编程方式自动执行网络配置和控制。它是更广泛的云网络的中央控制引擎,简化了管理,同时在应用程序网络的定义和自动化方式以及提供北向 REST API 方面提供了极大的灵活性。Cisco APIC 是一个分布式系统,实现为许多控制器实例的集群。

    Cisco ACI architectural building blocks

    思科 ACI 模拟器设备

    Cisco ACI Simulator 设备的目的是在一台物理服务器中提供真正的、功能齐全的 Cisco APIC 软件,以及叶交换机和主干交换机的模拟结构基础设施 (sysin)。您可以使用 Cisco ACI Simulator 设备了解功能、练习 API 并启动与第三方编排系统和应用程序的集成。Cisco APIC 的本机 GUI 和 CLI 使用发布给第三方的相同 API。

    Cisco ACI Simulator 设备包含模拟交换机,因此您无法验证数据路径。但是,一些模拟交换机端口已映射到前面板服务器端口,这允许您连接外部管理实体,例如 ESX 服务器、vCenter、vShield、裸机服务器、第 4 层到第 7 层服务、AAA 系统、和其他物理或虚拟服务设备。此外,Cisco ACI Simulator 设备允许模拟故障和警报,以促进测试和演示功能。

    每台服务器设备将提供一个生产 Cisco APIC 实例。相比之下,Cisco ACI Simulator 设备在单个服务器中包含三个实际 Cisco APIC 实例和两个模拟叶交换机和两个模拟主干交换机。因此,Cisco ACI Simulator 设备的性能将低于实际硬件上的部署。您可以使用以下任何功能接口对模拟结构执行操作:

    • 图形用户界面 (GUI)
    • 命令行界面 (CLI)
    • 应用程序编程接口(API)

    图 1 显示了在模拟器服务器中模拟的组件和连接。

    图 1 Cisco ACI Simulator 设备服务器中的模拟组件和连接

    相关图片、图表或屏幕截图

    软件功能

    本部分列出了此版本中可用的 Cisco ACI Simulator 设备的主要软件功能。

    • 以应用为中心的网络策略
    • 基于数据模型的声明性供应
    • 应用、拓扑监控和故障排除
    • 第三方集成(第 4 层到第 7 层服务、WAN、vCenter、vShield)
    • 物理基础设施政策(脊和叶)
    • 思科 ACI 库存和配置 (sysin)
    • 在跨设备集群的分布式框架上实现
    • 关键托管对象(租户、应用程序配置文件、交换机等)的运行状况评分
    • 故障、事件和性能管理

    安装说明

    Cisco ACI Simulator 软件预装在 Cisco ACI Simulator 设备上。首次启动 Cisco ACI Simulator 设备时,Cisco APIC 控制台会显示一系列初始设置选项。请参阅 Cisco ACI Simulator VM 安装指南

    不支持 ISO 映像。您必须使用 OVA 映像。

    兼容性信息

    此版本的 Cisco ACI Simulator 设备支持以下软件:

    • 有关受支持的 VMware vCenter 和 vShield 版本,请参阅 ACI 虚拟化兼容性
    • Cisco ACI Simulator 设备 GUI 的 Web 浏览器:

      • Mac 和 Windows 上的 Chrome 版本 35 及更新版本。
      • Mac 和 Windows 上的 Firefox 版本 26 及更新版本。
    • Cisco ACI Simulator 设备不支持智能许可。

    适用的 VMware 软件下载

    建议在以下版本的 VMware 软件中运行(Linux OVF 无需本站定制版可以正常运行,macOS 虚拟化如果不是 Mac 必须使用定制版才能运行,Windows OVF 需要定制版才能启用完整功能):

    下载地址

    ImagesFile nameRelease DateSize
    Simulator OVA Image for 6.0(1g) Release Part 1acisim-6.0-1g_part1.ova09-Sep-202211046.81 MB
    Simulator OVA Image for 6.0(1g) Release part 2acisim-6.0-1g_part2.ova09-Sep-202211046.81 MB
    Simulator OVA Image for 6.0(1g) Release part 3acisim-6.0-1g_part3.ova09-Sep-202211046.81 MB
    Simulator OVA Image for 6.0(1g) Release part 4acisim-6.0-1g_part4.ova09-Sep-202211046.81 MB
    Simulator OVA Image for 6.0(1g) Release part 5acisim-6.0-1g_part5.ova09-Sep-202211046.81 MB
    Simulator OVA Image for 6.0(1g) Release part 6acisim-6.0-1g_part6.ova09-Sep-202211046.81 MB
    Simulator OVA Image for 6.0(1g) Release part 7acisim-6.0-1g_part7.ova09-Sep-202211046.81 MB
    Simulator OVA Image for 6.0(1g) Release part 8acisim-6.0-1g_part8.ova09-Sep-202211046.81 MB
    Simulator OVA Image for 6.0(2h) Releaseacisim-6.0-2h.ova01-Mar-202316338.74 MB
    Simulator OVA Image for 6.0(3d) Releaseacisim-6.0-3d.ova09-Aug-202311772.90 MB
    Simulator OVA Image for 6.0(4c) Releaseacisim-6.0-4c.ova11-Jan-202411182.05 MB
    Simulator OVA Image for 6.0(5h) Releaseacisim-6.0-5h.ova29-Feb-202411113.20 MB
    Simulator OVA Image for 6.0(6c) Releaseacisim-6.0-6c.ova28-Jun-202410064.43 MB
    Simulator OVA Image for 6.0(7e) Releaseacisim-6.0-7e.ova29-Aug-202410085.41 MB
    Simulator OVA Image for 6.0(8e) Releaseacisim-6.0-8e.ova29-Oct-202410104.62 MB
    Simulator OVA Image for 6.0(9c) Releaseacisim-6.0-9c.ova27-Feb-20258280.59 MB

    Application Centric Infrastructure (ACI) Simulator Software - 6.0(9c)M


    ImagesFile nameRelease DateSize
    Simulator OVA Image for 6.1(1f) Releaseacisim-6.1-1f.ova01-Aug-20248578.75 MB
    Simulator OVA Image for 6.1(2f) Releaseacisim-6.1-2f.ova05-Dec-20245233.71 MB
    Simulator OVA Image for 6.1(2g) Releaseacisim-6.1-2g.ova14-Dec-20245234.38 MB
    Simulator OVA Image for 6.1(3f) Releaseacisim-6.1-3f.ova04-Apr-20254169.79 MB
    Simulator OVA Image for 6.1(4h) Releaseacisim-6.1-4h.ova13-Aug-20254156.45 MB
    Simulator OVA Image for 6.1(5e) Releaseacisim-6.1-5e.ova15-Dec-20254163.86 MB

    Application Centric Infrastructure (ACI) Simulator Software - 6.1(5e)M


    数据中心网络相关产品:

    更多:Cisco 产品下载链接汇总


    “我现在处于震惊和恐慌之中。”

    没有寒暄,没有背景铺垫,一家位于墨西哥的初创公司联合创始人在 Reddit 上敲下了这句几乎绝望的求救。作为一家仅有三名开发者的微型团队,他们每个月在 Google Cloud 上的正常开销大约是 180 美元——这是一笔对于初创团队来说极其精确、可控的固定成本。

    但在 2 月 11 日至 12 日的短短 48 小时内,由于 Gemini API 密钥被盗用,他们的云端账单像脱缰的野马般飙升到了 82,314.44 美元(约合人民币 57 万)。几乎所有的费用都来自 Gemini 3 Pro 图像与文本服务。

    账单暴涨

    180 美元到 82,314 美元,457倍的差距。对于大厂,这是一次数据波动;对于这个三人团队,这是直接宣告破产的死刑判决。

    【笔者观点】
    当一家初创公司的命运因为一串字符的泄露而在48小时内被彻底改写时,我们看到的不仅仅是黑客的猖獗,更是一个严重失衡的云服务权力结构。在生成式 AI 时代,API 的调用成本被无限放大,但云巨头们为底层开发者提供的安全护栏,却依然停留在 Web 2.0 时代。

    一、 48小时失控:被“共同责任”压垮的微型团队

    事故发生后,这支团队的响应堪称教科书级别:删除泄露密钥、禁用 Gemini API、轮换所有凭证、全员启用 2FA 双因素认证、收紧 IAM 权限,并立刻向谷歌提交工单。

    但令人不寒而栗的是谷歌的官方回复。谷歌搬出了云服务行业的“金科玉律”——共享责任模式(Shared Responsibility Model)。简而言之:平台负责基础设施的安全,客户负责凭证的管理;既然是你的 API Key 泄露了,这笔账单就必须由你来背。

    这位创始人提出了极其克制却又直指核心的质疑:当使用量达到历史水平的 5 倍甚至 10 倍时,为什么系统没有自动硬性停止?在极端峰值下,为什么不需要强制确认?审查期间为什么没有临时冻结?为什么默认没有单 API 消费上限?

    截至目前,谷歌的态度依然强硬:除了付款,别无选择。

    【笔者观点】
    当风控机制把所有的“容错率”都留给平台,把所有的“致命伤”都转嫁给小微企业时,“共享责任”就成了一块推诿的遮羞布。一个现代化的计费系统,允许日常消耗在 48 小时内暴涨 457 倍而没有任何熔断机制,事后却要求用户全额买单,这究竟是客户的风控无能,还是云巨头在产品设计与商业逻辑上的傲慢?

    二、 反常识的真相:你以为的安全,正是谷歌自己挖的“坑”

    如果仅仅是开发者粗心泄露了密钥,这可能只是一次普通的公关事件。但安全公司 Truffle Security 的研究员 Joe Leon 揭开了这起天价账单背后一个令人毛骨悚然的“反常识”漏洞:很多时候,谷歌 API 密钥在前端的暴露,恰恰是谷歌自己教唆的。

    Joe Leon 在博客中详细解释了为什么谷歌 API 密钥并非秘密这件事在以前没什么问题,但 Gemini 出来后,情况就变了。

    Joe Leon博客解释

    多年来,谷歌一直明确告知开发者,API 密钥可以安全地嵌入客户端代码中。Firebase 自身的安全检查清单也直接指出,API 密钥并非秘密信息。

    Firebase安全说明

    不仅如此,Google Maps JavaScript 文档还直接指示开发者将密钥直接粘贴到 HTML 中。这在当时合情合理,因为这些密钥被设计为用于计费的项目标识符,可以通过 HTTP Referer 等措施限制,并非设计为身份验证凭据。

    Google Maps代码示例

    但 Gemini 诞生后,游戏规则在暗中被彻底改变了。

    Gemini权限说明

    当开发者在 Google Cloud 项目中启用 Gemini API 时,该项目中原有的、已经被安全部署在公开网页代码中的旧 API 密钥,会在后台被静默赋予访问敏感 Gemini 端点的权限。 整个过程没有任何警告、确认弹窗或邮件通知。

    这暴露了一个极其不安全的默认设置。在 Google Cloud 中创建新的 API 密钥时,默认设置为“不受限制”,这意味着它立即对项目中所有已启用的 API(包括 Gemini)都有效。

    不受限制的API密钥

    这就导致了极其恐怖的隐式信任升级:

    1. 三年前,你按照谷歌的官方教程,把一个无害的地图 API 密钥写在了网站前端。
    2. 上个月,你的同事为了做内部测试,在同一个云项目里启用了 Gemini。
    3. 瞬间,你前端那个公开的地图密钥,变成了一把可以调用昂贵 AI 模型、甚至读取缓存文件和私有数据的“超级后门”。

    攻击者根本不需要入侵你的服务器,只需访问你的网站主页,右键查看源代码,复制那个合法的 API 密钥,就可以疯狂调用大模型,不仅能刷爆你的账单,还能耗尽你的配额,甚至窃取你通过 Gemini 上传的数据。

    【笔者观点】
    这是整起事件中最令人不齿的系统性陷阱。漏洞并非源于开发者的愚蠢,而是源于平台底层逻辑的“暗渡陈仓”。谷歌用旧时代的钥匙,去开新时代 AI 的金库,且没有通知任何人。当一个公开标识符被悄无声息地升格为敏感通行证时,所谓的“开发者配置失误”,实质上是平台方悄然转嫁的系统性架构灾难。指责客户没保管好钥匙之前,平台是不是应该先解释一下,为什么这把旧锁突然能开核弹发射井了?

    三、 谁来买单?AI 时代的裸奔与救赎

    墨西哥开发者的遭遇在技术社区引发了撕裂式的讨论。

    有人痛心疾首,表示如果是自己遇到这种情况,“恨不得飞到谷歌总部跪求退款”;也有人冷眼旁观,认为开发者没有利用云平台提供的工具设置“硬性预算上限(Hard Limits)”,纯属咎由自取。

    但现实远比键盘上的敲击复杂得多。资深云架构师指出,云费用的结算通常不是实时的,往往存在 24 到 36 小时的延迟。这意味着,当你收到超额提醒并触发所谓的“硬性封顶”时,黑客可能已经在这几个小时的延迟时间差里,刷出了几万美元的调用量。

    为了解问题的严重程度,Truffle Security 扫描了 2025 年 11 月的 Common Crawl 数据集。结果显示,在公开的网页档案中,至少有 2,863 个 Google API 密钥存在此类权限提升漏洞。

    源代码中的API密钥

    受害者不乏大型金融机构、顶级安全公司,甚至包括谷歌自己的工程师团队。如果连谷歌的自己人都避不开这个坑,指望缺乏专门安全团队的三人初创公司去完美避险,无异于痴人说梦。

    【笔者观点】
    生成式 AI 的高昂调用成本,正在以前所未有的烈度重塑云服务的风险边界。传统 Web 时代一次 API 泄露可能只会带来小痛小痒,但在大模型时代,一行未经保护的配置足以在 48 小时内抹杀一家公司的未来。
    这场 57 万的天价教训给所有开发者敲响了警钟:永远不要迷信简单的 API Key 认证,尽早拥抱基于权限的细粒度身份验证(Workload Identity)。在云巨头愿意填平他们自己挖出的技术陷阱之前,开发者唯一能做的,就是穿戴好最厚重的“防弹衣”,时刻防备着那些本该保护你的系统。

    👇 欢迎关注我的公众号

    在 AI 爆发的深水区,我们一起探索真正能穿越周期的技术价值。
    微信搜索 【睿见新世界】 或扫描下方二维码,获取每周硬核技术推文:

    微信图片_20260301232734_225_35.jpg

    欢迎关注【睿见新世界】