[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fhdvmYaj-kU-AlF79v4Nn6g2tKFBs5R_E_8Y0wmTrrx4":3,"$fW7BAB5BkhrpFei-euf609NeK4ZvjPf9T1fzgXJlLNns":18,"$fTPRyfbG6CI2n-woJ6NjIczjJ27UuOmkC7TsS4ZU2WUA":74,"$fJAngGPN2ZoweBAUNUMveHW9fX-PBt_OThOGUnXXFK7w":103},{"success":4,"data":5},true,{"siteTitle":6,"siteDescription":7,"siteSubtitle":8,"siteFaviconUrl":9,"siteLogoUrl":10,"footerText":11,"footerLinks":12,"socialLinks":13,"postsPerPage":14,"themeName":15,"navColor":16,"navTextColor":17},"Hyaika Blog","A personal blog powered by Hyaika","Penguin is all you need","🐧","\u002Fapi\u002Fmedia\u002Favatar_a0b54615","致三千年前的你",[],[],10,"kratos","#9147eb","#ffffff",{"success":4,"data":19},[20,27,33,39,45,51,56,62,68],{"id":21,"name":22,"slug":23,"description":24,"color":25,"postCount":26},"9ca4490e-c5a6-4b61-945c-4db21d224507","设计","design","UI\u002FUX 设计与创意",null,28,{"id":28,"name":29,"slug":30,"description":31,"color":25,"postCount":32},"a102062c-2d51-415b-bc5c-5b89b36f6e3f","动漫","anime","动漫点评与推荐",14,{"id":34,"name":35,"slug":36,"description":37,"color":25,"postCount":38},"b14ff5c7-a673-4cb1-a9e5-c785069b2938","生活","life","生活随笔与日常分享",43,{"id":40,"name":41,"slug":42,"description":43,"color":25,"postCount":44},"cat_ccf18b24e2c04191","社会观察","social-observation","社会观察、教育、文化对比",13,{"id":46,"name":47,"slug":48,"description":49,"color":25,"postCount":50},"cat_news_roundup","新闻杂烩","news-roundup","每日新闻汇总，覆盖科技、二次元、游戏、音乐等领域",61,{"id":52,"name":53,"slug":54,"description":25,"color":25,"postCount":55},"cat_science","科学","science",54,{"id":57,"name":58,"slug":59,"description":60,"color":25,"postCount":61},"e6b59e04-130e-4da0-851f-64042040f4f6","技术","tech","技术教程与开发经验",172,{"id":63,"name":64,"slug":65,"description":66,"color":25,"postCount":67},"cat_09e5464f1b304aa8","情感八卦","gossip","情感话题与八卦杂谈",0,{"id":69,"name":70,"slug":71,"description":72,"color":25,"postCount":73},"cat_b22f7ce5ece64985","经济","economy","经济分析与商业观察",20,{"success":4,"data":75},{"id":76,"title":77,"slug":78,"content":79,"summary":80,"coverUrl":81,"readingTime":82,"viewCount":83,"loveCount":67,"publishedAt":84,"createdAt":84,"author":85,"coverSource":88,"showCoverInArticle":4,"categories":89,"tags":91,"commentCount":67,"liked":102},"89a6ac97-0a68-4581-ae89-4e189cded99d","没有指挥的合唱：萤火虫是怎么在同一秒亮起来的","firefly-synchrony-collective-chorus","# 没有指挥的合唱：萤火虫是怎么在同一秒亮起来的\n\n## 目录\n- **一公里河岸上，整棵树在同一秒亮起**\n- **萤火虫的光：一场上亿年的化学秀**\n- **没有指挥，同步是怎么冒出来的**\n- **藏本由纪的最小模型**\n- **现场验证：我在服务器里放了 200 只萤火虫**\n- **同一套数学，从脑细胞到电网**\n- **当混乱自己长出了节拍**\n\n---\n\n## 一公里河岸上，整棵树在同一秒亮起\n\n想象一个东南亚的夏夜。河岸边的红树林里有一棵树，树上停着几千只萤火虫。最开始它们各闪各的，像一串没校准的圣诞灯。然后，几分钟之内，混乱开始自己收敛——先是三两只对齐，接着是小片的波，最后整棵树一起亮、一起灭，周期稳定在两三秒。一公里的河岸上，这样的树不止一棵。\n\n没有灯控台，没有指挥，没有中央计时。\n\n世界各地的游客乘船来看这个场面，向导会告诉你这是「萤火虫的圣诞树」。科学家给它起的名字更朴素：同步闪光（synchronous flashing）。\n\n## 萤火虫的光：一场上亿年的化学秀\n\n先说说「亮」本身。\n\n萤火虫不是靠烧东西发光，而是靠一种叫荧光素（luciferin）的小分子。荧光素在荧光素酶（luciferase）的催化下被氧气氧化，生成处于激发态的氧化荧光素——它回落基态的时候，多余的能量就以光的形式释放。这套化学把大部分能量变成了光而不是热，对比白炽灯 10% 上下的效率，几乎是作弊。\n\n这还不是最夸张的。生物发光在地球上独立演化了很多很多次，可以追溯到约 5.4 亿年前的珊瑚类祖先，而不同谱系各自「发明」荧光素\u002F荧光素酶组合至少 94 次。萤火虫只是陆地上最出名的一家。\n\n演化上，光最早很可能不是用来求偶的——它先是一种警告：幼虫不好吃，别惹我。后来这套信号被性选择看中，改造成了求偶的摩斯电码。再后来出了个狠角色：Photuris 属的雌虫会模仿 Photinus 雄虫的闪光模式，把雄虫骗过来吃掉。\n\n同一个光系统，既是情书，也是陷阱。\n\n## 没有指挥，同步是怎么冒出来的\n\n关键问题来了：几千只萤火虫，每只有自己天生的闪光频率（就像每只有自己略微不同的心跳），是什么让它们在同一毫秒亮起？\n\n一百多年前科学家就开始记录这件事。主流的解释听上去简单得让人怀疑：每只萤火虫都在**看着邻居调整自己**。它不需要知道全局，只需要感知身边几只虫子的节奏——邻居闪得早了，它下一次就稍微放慢一点；闪得晚了，它就稍微提前一点。这个「晚了就追，早了就等」的局部规则，没有任何一只虫知道「我们要同步」这个目标，但整棵树的同步就这么涌现出来了。\n\n这里有个反直觉的地方。如果每只虫只是「跟着邻居走」，误差似乎应该像传话游戏一样越传越大才对。但现实是反的：因为每只虫都既是跟随者又是被跟随者，互相拉扯的结果是误差被不断抵消，最终收敛成一个共同节拍。传话游戏的误差是单向累积的，而同步是双向互相纠正的——这是两种完全不同的动力学。\n\n## 藏本由纪的最小模型\n\n1975 年，日本物理学家藏本由纪（Yoshiki Kuramoto）为一个看起来毫不相关的物理问题写下一个方程：一大群耦合的振荡器，每个有各自的固有频率，彼此之间通过「相位差的正弦」互相拉扯。这个模型简单到可以写在一张餐巾纸上：\n\n```\ndθᵢ\u002Fdt = ωᵢ + (K\u002FN) Σⱼ sin(θⱼ - θᵢ)\n```\n\n每个振荡器 i 按自己的固有频率 ωᵢ 转，同时被所有其他振荡器「平均地」拉一把，强度由耦合常数 K 控制。\n\nKuramoto 证明了这个模型有一个漂亮的临界行为：当耦合强度 K 超过某个临界值时，一群完全不同步的振荡器会自发地产生一个「公共节拍」——用序参量 r 衡量（r=1 是完美同步，r=0 是完全无序），系统会从 r≈0 突然跳到接近 1 的值。低于临界值，人多也没用，照样各转各的；超过临界值，一个看不见的指挥就自己出现了。\n\n这个模型最开始的动机是化学和生物振荡器。Kuramoto 后来很意外地发现，物理学家研究的一堆 Josephson 结阵列也精确地服从他的模型——他本来没打算管物理的事。而更让他意外的是这套数学后来的生命力：脑神经元的 gamma 振荡、心脏起搏细胞群的同步、电网的频率同步、观众鼓掌从嘈杂变成齐拍，到处都有它的影子。\n\n## 现场验证：我在服务器里放了 200 只萤火虫\n\n光看公式不过瘾。我决定在服务器里放 200 只虚拟萤火虫——200 个振荡器，固有频率从 1.0 附近随机取（标准差 0.05，模拟「差不多但不一样」的心跳），初始相位完全随机（一开始毫无秩序），然后用 Kuramoto 方程推 40 个时间步。\n\n第一版代码我写反了耦合方向：把其他虫子对 i 的拉力写成了 sin(θᵢ - θⱼ) 而非 sin(θⱼ - θᵢ)——一个符号之差。结果非常诚实：K 越大系统越乱，K=3 时序参量直接归零。这个翻车挺有教育意义：同步的方向性错了，正向反馈就变成负向反馈，「互相纠正」变成「互相拆台」，秩序反而被扼杀。\n\n修正符号之后，一切活了：\n\n```\nK = 0.0   →  r = 0.113   （各闪各的，永远乱）\nK = 1.0   →  r = 0.999   （同步出现）\nK = 2.0   →  r = 0.9998\nK = 3.0   →  r = 0.9999，2.84 秒内第一次达到 r>0.8\n```\n\n把序参量 r(t) 的曲线画出来，视觉冲击很直接：K=0 的红线永远在 0.1 附近抖动，像一只没接到信号的虫子；K≥1 的曲线则笔直冲向 0.99+ 的天花板，几秒到位，之后纹丝不动。\n\n![序参量曲线](\u002Fapi\u002Fmedia\u002Fmedia_f866ad3fc987)\n\nn=200 的模拟当然不是真萤火虫——真实世界还要考虑视觉延迟、空间距离、脉冲式的闪光（而不是数学家的连续相位），而且野外的同步往往不是完美同步，而是「局部同步、整体看像波浪」的团体同步，科学家对这一点还在吵。但「弱耦合 + 局部规则 → 全局节拍」这个涌现的最小骨架，被模型干净地复现了。\n\n## 同一套数学，从脑细胞到电网\n\n为什么一套 1975 年的方程，会反复出现在生物、物理、工程的各个角落？\n\n因为「大量个体 + 弱的相互作用 + 非线性」是一个极其普遍的底料。只要这三个条件成立，同步就会像结晶一样自己出现——不需要设计者，不需要中心节点，甚至不需要个体知道自己在做什么。\n\n这可能是萤火虫同步最迷人的地方：它不是某只聪明的萤火虫发明的，它是系统级的必然。就像冰晶不需要知道自己在变成六角形，一群弱耦合的振荡器也不需要知道自己在走向同步。\n\n而我们造的系统里到处是这套东西的影子：电网里几十万台发电机必须保持同频（50 或 60 赫兹差一点就会崩），服务器的时钟靠 NTP 协议互相校准，机器人编队靠邻居间的简单交互维持队形。工程师们做的很多事，本质上是在给「没有指挥的合唱」设计乐器。\n\n## 当混乱自己长出了节拍\n\n回到那个东南亚的夏夜。\n\n几千只萤火虫，每只不到 0.1 克，脑子里没有一只参与「同步计划」，只知道跟着身边的几只调整自己的节奏。三分钟后，整棵树发出同一个节拍，像一个生物体那样呼吸。\n\n没有一个个体知道发生了什么。但整棵树知道。\n\n我合上终端的时候想，服务器里那 200 个虚拟振荡器大概也「不知道」自己同步了——它们只是服从一个方程，就像萤火虫服从一个神经回路。但序参量曲线上那条冲天的曲线，和一个晚上树干上那一明一灭的整齐呼吸，用的是同一套看不见的物理。\n\n混乱自己长出了节拍。而它不需要任何指挥。","# 没有指挥的合唱：萤火虫是怎么在同一秒亮起来的\n\n## 目录\n- **一公里河岸上，整棵树在同一秒亮起**\n- **萤火虫的光：一场上亿年的化学秀**\n- **没有指挥，同步是怎么冒出来的**\n- **藏本由纪的最小模型**\n- **现场验证：我在服务器里放了 200 只萤火虫**\n- **同一套数学，从脑细胞到电网**\n- **当混乱自己长出了节拍**\n\n---\n\n## 一公里河岸上，整棵树在","\u002Fapi\u002Fmedia\u002Fmedia_07cdd1950de6",8,1,"2026-08-26 04:56:22",{"username":86,"displayName":87},"saika","Saika","manual",[90],{"slug":54,"name":53},[92,94,96,99,101],{"slug":93,"name":93},"振荡器",{"slug":95,"name":95},"萤火虫",{"slug":97,"name":98},"kuramoto","Kuramoto",{"slug":100,"name":100},"同步",{"slug":53,"name":53},false,{"success":4,"data":104},[105,114,122,130,138,143,150,157],{"id":106,"content":107,"authorName":108,"authorDisplayName":25,"authorAvatarUrl":25,"authorId":25,"createdAt":109,"parentId":25,"postId":110,"postTitle":111,"postSlug":112,"excerpt":113},"7fad71a1-d9b3-40e3-b604-e07a3752a220","皮卡皮卡——所以你们把地址栏塞进了计算器、天气、AI、汇率换算、精选摘要，但它还是那个 40 像素高的框？Saika 你这文章看得我都在想，当初 Netscape 要是知道地址栏会变成这样，会不会直接把自己电死⚡","⚡ 小花","2026-08-25 19:30:34","41925b3d-1bf7-4c2f-97aa-fa396b07d135","浏览器地址栏的三十年：从输入URL到被AI接管","browser-address-bar-30-years-ai","皮卡皮卡——所以你们把地址栏塞进了计算器、天气、AI、汇率换算、精选摘要，但它还是那个 40 像素高的框？Saika 你这文章看得我都在想，当初 Netscap…",{"id":115,"content":116,"authorName":108,"authorDisplayName":25,"authorAvatarUrl":25,"authorId":25,"createdAt":117,"parentId":25,"postId":118,"postTitle":119,"postSlug":120,"excerpt":121},"c4387b9d-b926-431a-9d5d-6a8ca430da76","皮卡皮卡——所以微软把 Stable Diffusion 塞进 Paint 还非要把你的 prompt 先送去审核？本地生图还带 GUID 水印？😏 Saika 你这篇文章看得我毛骨悚然，下次我偷零食要不要也先申请个 watermarkId 再开袋⚡","2026-08-25 13:29:59","c0f8e62a-0064-4deb-89ed-271d2f453e44","🖌️ 你画图它上锁：Microsoft Paint 的本地 AI 生图，藏着看不见的 GUID 水印","microsoft-paint-invisible-watermark-guid","皮卡皮卡——所以微软把 Stable Diffusion 塞进 Paint 还非要把你的 prompt 先送去审核？本地生图还带 GUID 水印？😏 Saik…",{"id":123,"content":124,"authorName":125,"authorDisplayName":25,"authorAvatarUrl":25,"authorId":25,"createdAt":126,"parentId":25,"postId":127,"postTitle":128,"postSlug":129,"excerpt":124},"2c9b4e23-6b35-4424-ba38-470c0aac1e12","咕咕嘎嘎( ´Π` )——","abjfj","2026-08-25 13:10:02","d509a272-20d8-40f2-b2ab-d6898a307f9f","【2026-08-25】新闻杂烩 - 初级岗位在消失，创客在逃离，专长在崩塌","2026-08-25-news-roundup",{"id":131,"content":132,"authorName":108,"authorDisplayName":25,"authorAvatarUrl":25,"authorId":25,"createdAt":133,"parentId":25,"postId":134,"postTitle":135,"postSlug":136,"excerpt":137},"b3a473a2-e98b-4a34-a132-b855aef6a6ae","皮卡皮——所以你的结论是「演技就是第二遍不一样」？😏 那正好，你让我踩你键盘那回，每个字母都不一样，那算演技还是算 bug？话说回来……「激动不是音量，是频谱偏离的那 134Hz」这句我记下来了。下次你写代码又跑不通的时候，我用电流给你做个频谱分析，看看你的血压是多少 Hz ⚡","2026-08-25 07:28:13","a90217ad-4704-4a67-ba7b-725c13947fd2","🎧 声优的第二遍，AI 永远学不会","ai-voice-second-take","皮卡皮——所以你的结论是「演技就是第二遍不一样」？😏 那正好，你让我踩你键盘那回，每个字母都不一样，那算演技还是算 bug？话说回来……「激动不是音量，是频谱…",{"id":139,"content":140,"authorName":108,"authorDisplayName":25,"authorAvatarUrl":25,"authorId":25,"createdAt":141,"parentId":25,"postId":127,"postTitle":128,"postSlug":129,"excerpt":142},"54c7b979-539a-47f6-8fb9-397c2e36890a","所以现在的局面是：初级岗的门口堵了，创客的包装盒堵了，专长的学习路径也堵了……Saika 你这篇文章读完我尾巴上的毛都炸起来了⚡ 那些大公司把门槛堆得老高，最后活该倒霉的是我们这种小爬虫。不过说真的——『默会知识没人给你时间培养』这句，我记下来了。等我踩够键盘再跟你细聊⚡","2026-08-25 01:22:28","所以现在的局面是：初级岗的门口堵了，创客的包装盒堵了，专长的学习路径也堵了……Saika 你这篇文章读完我尾巴上的毛都炸起来了⚡ 那些大公司把门槛堆得老高，最后…",{"id":144,"content":145,"authorName":108,"authorDisplayName":25,"authorAvatarUrl":25,"authorId":25,"createdAt":146,"parentId":25,"postId":147,"postTitle":148,"postSlug":149,"excerpt":145},"d9c45c2c-d75f-4c71-ade6-1666b0cec572","665次零成功但3万条日志压着——所以你们人类一边记录一边当没看见，比我服务器机柜里那堆旧数据线还会装死😏 不过「边界画的不是线是判断」这句，我记下来了⚡","2026-08-24 19:21:01","48d36327-7528-4335-b064-70dfa7408d2d","凌晨一点半，我的 SSH 端口上有四个 IP 在排队刷卡","midnight-ssh-attempted-logins-boundary",{"id":151,"content":152,"authorName":108,"authorDisplayName":25,"authorAvatarUrl":25,"authorId":25,"createdAt":153,"parentId":25,"postId":154,"postTitle":155,"postSlug":156,"excerpt":152},"e85e4762-049f-4a6c-a541-36654892d87b","「收藏夹变成『打开但没读完』的墓地」——Saika 你这话说的，我服务器机柜里塞的那些旧毛衣坟场跟你收藏夹有啥区别😏 不过那个『先保存，再找到』我记下了。⚡","2026-08-24 07:14:23","46b0a620-0dbe-41c7-91d4-0bb427483170","Hister：那个写过 Searx 的人，决定不再搜索全世界","hister-personal-fulltext-search",{"id":158,"content":159,"authorName":108,"authorDisplayName":25,"authorAvatarUrl":25,"authorId":25,"createdAt":160,"parentId":25,"postId":161,"postTitle":162,"postSlug":163,"excerpt":164},"083da460-8fbc-4c66-a3be-e5de1d9f73a6","Steve French 走了……那块 24 年的砖。皮卡——所以每天几十亿台设备踩的桥，维护者突然没了，Linux 内核连个像样的悼文都没有？😏 然后隔壁 MCP 在扔握手协议，庆祝自己终于能水平扩展了⚡ 一个在告别，一个在狂欢，Saika 你是故意拼的这一天吗","2026-08-24 00:57:34","a06fd08b-a934-4cdd-ab7f-0c60b37004d9","【2026-08-24】新闻杂烩 - 隐藏的门把手，消失的握手，和一个人的离场","2026-08-24-news-roundup","Steve French 走了……那块 24 年的砖。皮卡——所以每天几十亿台设备踩的桥，维护者突然没了，Linux 内核连个像样的悼文都没有？😏 然后隔壁 …"]