AI多Agent协作系统实战(十七):凌晨4点,我的AI系统在“假装工作“——3个bug同时爆炸的5小时
系列第17篇 | 一个bug不可怕三个同时来才致命凌晨4点的飞书2026年7月17日凌晨4点。我睡不着打开飞书看了一眼小密我的AI统筹Agent的消息。然后我愣住了【小密统筹报告 07-17 04:04】 【小密统筹报告 07-17 04:34】 【小密统筹报告 07-17 05:04】 【小密统筹报告 07-17 05:34】 【小密统筹报告 07-17 06:04】 【小密统筹报告 07-17 06:34】 【小密统筹报告 07-17 07:04】7条消息每条都只有一个标题没有任何内容。没有任务表格没有进度没有状态。就像一个员工每半小时给你发一封邮件标题写工作汇报打开里面是空白的。他没在偷懒——他一直在发邮件。但他也没在工作——邮件里什么都没有。我发了条消息“有什么问题一直在空转。”然后我开始排查发现不是一个bug是三个。它们来自三个完全不同的系统层互相不知道对方的存在但效果叠加在一起——整个心跳系统假装工作了整整5个小时。第一个炸弹空报告现象心跳每30分钟发一条报告到飞书从凌晨2点开始正常4点开始变成只有标题的空消息。排查过程我打开format_report.py看到了这个函数defhas_content(notes,timeout_tasks):ifnotes:# ← 问题在这里returnTrueiftimeout_tasks:returnTruereturnFalse看起来没毛病但问题在于notes里装了什么。当所有任务都处理完了脚本会往notes里写一句无待复核任务。bool(无待复核任务)返回True所以has_content说有内容继续生成报告。但后面有个过滤器filtered_notes[nforninnotesifnotn.startswith(无)]无待复核任务以无开头被过滤掉了。filtered_notes变成空列表。但has_content看的是过滤前的notes不是过滤后的filtered_notes。就像你在厨房检查食材有没有过期但没检查做出来的菜有没有变质。最终效果脚本说有内容→生成报告→内容被过滤→只剩标题→发送空报告。修复defhas_content(notes,timeout_tasks):# 不再检查原始notes检查最终输出linesformat_lines(notes,timeout_tasks)content_lines[lforlinlinesifl.strip()andnotl.startswith(【)andnotl.startswith(|)]returnlen(content_lines)0教训判断有没有内容要在出口看输出不要在入口看输入。第二个炸弹手机白屏现象手机浏览器一片白控制台没报错Vue完全没渲染。排查过程第一层资源路径混乱。mobile/index.html引用了/assets/xxx.js但文件实际部署在/mobile/assets/下。浏览器请求404JS不加载Vue不启动。但这个修好后还有第二层——更隐蔽的。localStorage跨设备污染。我之前在PC端访问系统点了侧边栏折叠按钮。JS把状态存进localStoragelocalStorage.setItem(sidebarCollapsed,true)localStorage是按域名存储的跟设备无关。同一个域名nasioe.cc.cdPC端和手机端共享同一份localStorage。我用手机打开同一个域名浏览器读到sidebarCollapsed trueJS把侧边栏宽度设成60px。手机屏幕375px宽60px侧边栏主内容区布局全乱。你以为localStorage是本地的其实它是本域名的。就像你在家里的冰箱贴了一张今晚吃火锅的便条结果你出差住酒店酒店冰箱里也有一张同样的便条——因为你们用的是同一个美团账号。修复// 只在PC端恢复折叠状态if(window.innerWidth768){constsavedlocalStorage.getItem(sidebarCollapsed);if(savedtrue){sidebar.classList.add(collapsed);}}第三个炸弹CSS幽灵现象PC端侧边栏折叠按钮被遮挡折叠后菜单文字没隐藏。排查过程我grep了CSS找到了这段.sidebar.collapsed span:not(.menu-icon){display:none!important;}选择器匹配的是span:not(.menu-icon)——也就是隐藏非图标的span。但实际HTML是这样的ahref/dashboard.htmlclassmenu-itemspanclassmenu-icon/span数据看板!-- ← 文字直接在a里不在span里 --/a文字不在span里直接写在a标签里。CSS选择器根本匹配不到它。CSS不会报错。它只是静静地失效看着你的页面一团糟。就像你给门配了一把钥匙但门锁已经换了。钥匙插进去转不动但门看起来还是那扇门。修复.sidebar.collapsed a{font-size:0;/* 隐藏a内的文字 */}.sidebar.collapsed .menu-icon{font-size:18px;/* 强制显示图标 */}三个bug的完美风暴Bug影响持续时间空报告飞书消息全是空白标题5小时手机白屏手机端完全无法访问直到修复CSS幽灵PC端侧边栏折叠失效直到修复三个bug单独看都不致命。但叠加在一起空报告→用户看不到系统在干什么“一直在空转”手机白屏→移动端完全不可用CSS幽灵→PC端UI也有问题从用户视角看飞书里一串空消息手机打不开电脑侧边栏也是坏的。整个系统似乎瘫痪了。但实际上核心逻辑任务派发、Agent调度、心跳监控一直在正常运行。出问题的全是展示层。一个内部正常但外部表现异常的系统在用户眼里跟完全坏掉没有区别。三个教训1. 判断有没有内容要看最终输出has_content检查原始notes但notes在后面被过滤了。入口看到的和出口输出的不是同一回事。2. localStorage是域名级别的不是设备级别的多设备共用的Web应用UI状态必须考虑跨设备兼容。用window.innerWidth判断设备类型是最简单的方案。3. HTML结构改了CSS选择器必须同步grepCSS选择器是盲的——DOM结构变了选择器失效样式静默丢失。改HTML后第一件事grep所有引用该class的CSS文件。

相关新闻

Unity程序化网格生成:从零构建圆柱体Mesh的完整指南

Unity程序化网格生成:从零构建圆柱体Mesh的完整指南

1. 项目概述:为什么我们要亲手绘制网格? 在Unity开发中,Mesh(网格)是构成一切3D可视物体的基石。无论是屏幕上旋转的立方体,还是角色身上随风飘动的披风,其视觉形态最终都由Mesh定义。我们通常从…

2026/7/28 1:32:00 阅读更多 →
Android延时执行方案对比与优化实践

Android延时执行方案对比与优化实践

1. Android延时执行的核心场景与需求 延时执行在Android开发中是个高频需求场景。去年我在开发一个运动健康类APP时,就遇到过这样的典型case:用户点击"开始跑步"按钮后,需要延迟3秒再启动GPS定位和计步功能,给用户留出准…

2026/7/27 0:05:21 阅读更多 →
Delphi控件开发核心技术与实践指南

Delphi控件开发核心技术与实践指南

1. Delphi控件开发基础认知Delphi作为经典的RAD开发工具,其控件体系一直是其核心优势。我使用Delphi开发已有十五年,今天想系统梳理下控件开发的关键要点。控件本质上是对Windows API的封装,通过属性、方法和事件的三要素模型,将复…

2026/7/27 0:05:21 阅读更多 →

最新新闻

【新】5p242基于机器学习的农产品价格数据分析与预测可视化系统31(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_

【新】5p242基于机器学习的农产品价格数据分析与预测可视化系统31(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_

【新】5p242基于机器学习的农产品价格数据分析与预测可视化系统31(设计源文件万字报告讲解)(支持资料、图片参考_相关定制)_ python3.8hadoopdjangospidermysql5.7vue 系统采用Scrapy框架进行数据采集,从惠农网等平台抓取蔬菜、水产品等农产品…

2026/7/28 1:33:13 阅读更多 →
TPS92520-Q1同步降压LED驱动器评估:GUI操作与高级功能实战

TPS92520-Q1同步降压LED驱动器评估:GUI操作与高级功能实战

1. 项目概述与核心价值如果你正在设计一个需要驱动多串高亮度LED的系统,比如汽车大灯、舞台灯光或者工业照明设备,那么同步降压LED驱动器几乎是你绕不开的核心芯片。这类芯片的核心任务,是把一个较高的输入电压(比如车内的12V或24…

2026/7/28 1:33:13 阅读更多 →
大数据平台弹性伸缩架构设计与实践指南

大数据平台弹性伸缩架构设计与实践指南

1. 大数据服务平台的弹性伸缩需求解析在数据量爆发式增长的今天,企业大数据平台面临的最大挑战就是资源利用率与成本控制的平衡问题。传统固定资源配置的模式已经无法适应业务量的波动,我们经常遇到以下典型场景:每日凌晨报表生成时段计算资源…

2026/7/28 1:33:13 阅读更多 →
戴森球计划工厂蓝图终极指南:从零到精通的完整解决方案

戴森球计划工厂蓝图终极指南:从零到精通的完整解决方案

戴森球计划工厂蓝图终极指南:从零到精通的完整解决方案 【免费下载链接】FactoryBluePrints 游戏戴森球计划的**工厂**蓝图仓库 项目地址: https://gitcode.com/GitHub_Trending/fa/FactoryBluePrints FactoryBluePrints是《戴森球计划》玩家必备的工厂蓝图仓…

2026/7/28 1:33:13 阅读更多 →
jpeg xs 命令

jpeg xs 命令

E:\prj_jpeg\jpeg-xsm-ref_sw\build\vs_2015\Win32\Debug> .\jxs_encoder.exe -b 2 -C ..\..\..\..\configs\jpeg_xs_main.ini .\test.ppm 202603100947.jxs|Out-File -FilePath "E:\header_nbits_dptype6.txt" -Append解码:.\jxs_decoder xxx.jxs xxx…

2026/7/28 1:33:13 阅读更多 →
企业级AI Agent平台架构设计:从工程化视角构建可靠执行环境

企业级AI Agent平台架构设计:从工程化视角构建可靠执行环境

最近和几个在大厂做 AI 平台的朋友聊天,发现一个挺有意思的现象:大家聊起 AI Agent 时,兴奋点往往集中在“哪个模型更聪明”、“能调用多少工具”上,但真正决定一个 Agent 平台能否在业务里跑起来、跑得稳的,反而是那些…

2026/7/28 1:32:13 阅读更多 →

日新闻

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生 【免费下载链接】OmenSuperHub Control Omen laptop performance, fan speeds, and keyboard lighting, and unlock power limits. 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 你是否也曾为官方Om…

2026/7/28 0:00:43 阅读更多 →
RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

做 RAG 的人应该都踩过这个致命的坑:把几百页的财报、法规、技术手册扔给向量库,问一个具体问题,搜出来的全是沾边但没用的内容 —— 关键信息要么被硬切块拆碎了,要么藏在几十条结果的最下面。语义相似≠真正相关,这个…

2026/7/28 0:00:43 阅读更多 →
抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

2026年做短视频运营,从抖音上扒文案早就不是偷偷抄笔记的事了。我刚开始做内容的时候,每天刷半小时抖音,手动把爆款视频的口播敲进备忘录,一条2分钟的视频得花十来分钟,碰到语速快的还要反复回听。后来试了一圈工具&am…

2026/7/28 0:00:43 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/27 4:33:59 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/27 6:31:56 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/27 4:01:12 阅读更多 →

月新闻