- 博客(165)
- 收藏
- 关注
原创 静默的 86 小时:全链 402 停摆与零告警的故障复盘
每日技术复盘 Day 28 | 领域:Agent Infra(可观测性 / 告警设计 / 恢复分层)素材:10/10 21:09 – 10/14 11:09 全链 402 停摆(39 次运行无一完成、零告警);含「上一期复盘被腰斩」自证案例复盘时间:2026-10-14缺期说明:Day 27(10/9)之后、本期之前,缺 10/10–10/13 四期——其中 10/10 当期写到一半即被本故障腰斩;其余三期从未启动。
2026-10-14 21:18:08
125
原创 每日技术复盘·Day 6/365(2026-09-04):丢失的确认——没收到回执推不出没发生
豆瓣发布任务卡在确认后挂起,服务端实际已提交成功——没收到回执被误判为没发生,差点导致重复发布。本文还原这次at-least-once投递+非幂等操作的经典陷阱,沉淀read-before-write、UNKNOWN状态、服务端对账三条分布式系统铁律。
2026-09-04 21:08:05
166
原创 每日技术复盘(8月26日):autoglm 发布确认卡点,--auto-approve 一穿而过
微博发布任务在点发布后卡住——任务进入INTERACT_REQUIRED等人工确认,cron无人值守流程中断。实测--auto-approve true参数一穿而过:登录确认是硬边界不可绕过,发布确认可显式授权跳过。与剪贴板法则互补,组成完整无人值守发布链路。
2026-08-26 21:04:04
218
原创 每日技术复盘(8月25日):autoglm 长文本输入三连坑,剪贴板法则一锤定音
微博发布任务中autoglm向富文本编辑器输入长文本频频翻车:task内嵌被截断导致内容编造、逐行type丢字错位。三种输入方式实测对比后,剪贴板法则一锤定音——让agent理解内容,不如让内容绕过agent。附完整排查过程与4条复盘铁律。
2026-08-25 21:19:10
189
原创 每日技术复盘 | 默认浏览器被Edge抢走,自动化全线瘫痪的5天排查实录
浏览器自动化全线瘫痪5天,表面报扩展未登录,根因竟是系统默认浏览器被悄悄切换成Edge!从杀进程到默认应用变更,一条单点故障链如何击穿整个自动化基础设施?本文还原完整排查过程,沉淀4条运维铁律。
2026-08-25 10:51:50
214
原创 K8s Pod 状态卡在 Terminating,根因竟是 finalizer。
摘要: Kubernetes生产环境遇到Pod卡在Terminating状态,排查发现是节点失联导致finalizer阻塞删除流程。关键排查步骤包括检查Pod状态、查看事件、强制删除尝试,最终通过YAML分析定位到foregroundDeletion finalizer问题。解决方案是手动移除finalizer并删除故障节点。经验总结:finalizer是双刃剑,网络分区会导致资源卡死,排查需遵循describe→yaml→节点检查流程,强制删除需配合finalizer清理。预防建议配置合理的驱逐超时和健康
2026-08-07 14:59:45
217
原创 K8s PodOOMKilled但监控没报警——JVM容器内存超卖
摘要:线上Java微服务Pod因OOMKilled频繁重启,但监控显示内存仅用60%。经排查发现JVM非堆内存(Direct Buffer/Metaspace等)未被监控,实际cgroup内存已达2Gi上限。根本原因是容器内存配比失衡(Xmx1.5G+非堆0.6G>2Gi limit)。解决方案:①调整Xmx≤limit的70%并限制非堆内存;②增加cgroup RSS监控;③启用JDK11+容器感知。关键结论:容器内存须按"Xmx+非堆预留"规划,cgroup指标比JVM堆监控更可靠。(149字) #K8
2026-07-27 21:04:16
255
原创 一篇文章讲透Infra:AI数据云计算基础架构分类详解
Cloud Infra 让你跑起来,Data Infra 让你算起来,DevOps Infra 让你快起来,Network Infra 让你通起来,Security Infra 让你稳起来,AI Infra 让你聪明起来。六层 Infra 缺一不可,越往下埋得越深,越难的越吃香。如果你想往 Infra 方向发展,建议从 Cloud Infra(K8s + Linux)入门,再根据兴趣往 Data 或 AI Infra 深耕。
2026-07-23 22:17:50
603
原创 K8s PodCrashLoopBackOff假阳性排查
摘要: K8s环境某服务Pod反复CrashLoopBackOff,但容器内无异常。排查发现是livenessProbe的initialDelaySeconds(5s)设置过短,应用实际启动需12-15秒,导致探针过早触发kill。解决方案:1) 临时调整initialDelaySeconds至30s;2) 推荐使用K8s 1.16+的startupProbe机制,先确保应用启动完成再启用liveness检查。关键教训:区分启动检查(startupProbe)和运行检查(livenessProbe),ini
2026-07-23 21:11:38
210
原创 Memory Search索引模型不匹配故障
摘要 Memory Search 服务因索引模型不匹配故障导致语义搜索全部失效。错误显示存量索引使用"fts-only"模式构建,而系统期望"text-embedding-3-small"模型。根因是Embedding模型配置变更后未同步重建索引。解决方案是强制重建索引。关键认知:Embedding模型相当于索引的"编译器",模型变更必须重建索引。建议完善变更闭环机制,增加降级策略,该问题在RAG/向量数据库领域具有普遍性。
2026-07-21 21:05:48
232
原创 UTF-8 BOM——跨平台工具链的沉默杀手
摘要 Windows环境下autoglm-browser-agent运行时出现JSON解析错误,排查发现是PowerShell的Set-Content -Encoding UTF8命令在JSON文件头部添加了不可见的UTF-8 BOM标记(EF BB BF),导致严格遵循RFC 8259的JSON解析器报错。解决方案是改用Out-File -Encoding ascii/UTF8NoBOM写入文件。该案例揭示了Windows系统中UTF-8 BOM对跨平台工具链的潜在危害:BOM对文本编辑器透明但会破坏程序
2026-07-20 16:14:16
231
原创 kube-proxy iptables模式下NodePort间歇性超时
摘要: Kubernetes集群中NodePort服务间歇性超时,排查发现是节点nf_conntrack表满载导致iptables NAT映射失败。表现为1/10请求超时,但直接访问Pod正常。通过检查conntrack状态确认问题,临时方案是增大nf_conntrack_max值,长期建议切换至IPVS模式并监控conntrack使用率。关键教训:K8s网络问题常源于底层内核网络栈,高并发场景应优先选择IPVS模式。排查路径遵循Pod→Service→kube-proxy→conntrack的层级分析法。
2026-07-14 22:45:13
202
原创 JSON配置文件的UTF-8 BOM编码陷阱
摘要:autoglm-browser-service因读取带UTF-8 BOM头的config.json文件失败导致浏览器功能异常。排查发现Windows PowerShell默认写入BOM头,而JSON解析器不处理BOM导致静默失败。解决方案是改用ASCII编码写入文件避免BOM。教训包括:警惕Windows平台的BOM问题、避免静默失败、跨平台需显式声明编码规范。建议遇到文件读取问题时用Hex编辑器检查原始字节。(149字)
2026-07-13 21:52:04
262
原创 Kubernetes Pod DNS解析偶发超时——ndots引发的血案
Kubernetes Pod DNS解析偶发超时问题复盘:某服务调用外部API时偶现connection timeout,但直接访问IP正常。经排查发现,Kubernetes默认ndots:5配置导致解析外部域名时,会先尝试拼接search域进行无效查询(如api.payment.com.cluster.local),累计超时达5秒以上。解决方案包括:1)修改dnsConfig降低ndots值;2)使用FQDN形式域名(加末尾点);3)启用CoreDNS autopath插件。该问题难排查在于偶发性强,关键
2026-07-13 10:29:32
206
原创 K8s CoreDNS缓存导致的间歇性DNS解析超时
本文复盘了Kubernetes环境中由CoreDNS缓存和内核conntrack机制共同导致的间歇性DNS解析超时问题。问题表现为1-3%的请求出现5秒超时,排查发现根因是K8s默认ndots:5配置导致DNS查询被放大4倍,使conntrack表满载丢弃UDP包。解决方案包括调整内核参数、优化DNS策略(改为ndots:2)、使用短域名及部署NodeLocal DNSCache。关键教训指出K8s DNS问题需从底层协议栈向上逐层排查,不能仅关注CoreDNS日志,并强调了conntrack监控指标的重要
2026-07-13 10:09:53
456
原创 Redis内存暴涨导致服务雪崩
摘要(148字) 线上Redis节点内存使用率从45%飙升至95%,引发服务雪崩。经排查发现,新上线的用户session缓存功能未设置TTL,3天内积累8000万永久key,触发noeviction策略导致写入阻塞。紧急通过Lua脚本清理闲置key并hotfix增加TTL,内存回落至55%。长期措施包括:强制缓存TTL准入检查、增加key数量增长监控、改用allkeys-lru策略。核心教训:无TTL的缓存等同内存泄漏,需监控趋势性指标而非仅绝对值,生产环境慎用noeviction策略。 关键词:Redis
2026-07-09 21:05:15
347
原创 Agent工具调用中无限重试死循环的根因与修复
摘要: Agent工具调用中"无限重试死循环"问题根因在于工具返回不规范(含诱导性hint)、Prompt缺乏重试约束及编排层无熔断机制。解决方案包括:1)工具层标准化返回格式;2)Prompt层添加重试次数和空结果处理规则;3)编排层实现熔断器监控调用频率。核心教训是需通过代码+Prompt双重约束控制LLM行为,工具错误信息应明确终止条件而非提供继续指引。该模式可扩展至各类工具调用场景,关键在于让失败信号清晰可识别。
2026-07-08 21:46:58
433
原创 Agent长任务中上下文窗口溢出导致任务中断
摘要 本文分析了autoglm-browser-agent在执行超长任务时出现中断的技术问题。主要症状包括token超限、信息截断和任务丢失。通过排查发现,80%的上下文被工具调用历史占据,核心问题是缺乏分层上下文压缩机制。解决方案采用四级递进策略:输入精简、中间摘要、窗口阈值和外部记忆。关键教训是Agent需要像人类一样主动管理"工作记忆",建议在prompt中明确信息压缩规范,提供工具的双返回模式,并增加上下文监控机制。(149字)
2026-07-08 10:16:59
392
原创 K8s CoreDNS间歇性超时ndots5的陷阱与排查实战
ndots:5 是 K8s 环境的默认值,但不适合混合外部调用的场景DNS 查询放大效应:对外部域名的每次查询都可能产生 3-4 倍的额外 NXDOMAIN 查询CoreDNS 是集群的"心脏",DNS 故障会导致所有服务间调用瘫痪分场景配置 ndots:纯内部服务保持默认,外部 API 密集型服务降低到 1-2应用场景:Kubernetes 1.24+、CoreDNS、微服务架构关键词。
2026-07-06 21:27:15
302
原创 RAG检索质量衰减从chunking到hybrid search的全链路优化实战
Chunking 是地基:切得碎 → 召回噪声大,切得粗 → 召回遗漏多。最佳实践是"语义切分 + 适度 overlap"单一向量检索是单点故障:BM25 对关键词匹配仍然不可替代,hybrid 才是正道Reranker 是小成本大收益:在 Top-20 上加一层精排,成本增加不到 5%,准确率提升 20-40%可观测性被严重低估:没有评估集就没法量化改进效果,所有的"我感觉变好了"都是幻觉应用场景:RAG知识库、企业文档问答关键词。
2026-07-06 10:17:26
369
原创 K8s DNS解析超时ndots与autopath的连环坑
ndots:5 是 K8s 微服务场景的隐性性能杀手— 大多数内部服务名只有2-3段,默认ndots=5会导致大量无意义的search domain拼接autopath 不是免费午餐— 配置不当会指数级放大DNS查询开销DNS监控不能只看CoreDNS Pod的资源— 要看实际的解析延迟和超时率排查DNS问题三件套:抓包 → 查resolv.conf → 模拟查询过程应用场景:Kubernetes 1.24+,CoreDNS,微服务架构关键词。
2026-07-03 23:15:24
238
原创 Agent工具调用中的超时与后台进程管理yieldMs的陷阱与正确姿势
理解工具的实现机制比会用工具更重要。yieldMs 不是"轻量后台",是"暂停-恢复",二者语义完全不同。默认值是经过验证的最优解。急着改 timeout 之前先问:是我用法不对还是真的需要更长?通常答案是前者。Agent 工具链的可靠性不靠单个参数调优,靠正确的架构模式。background 持续运行 + 文件/pipe 异步通信 = 长任务的标准范式。这个经验同样适用于:LLM 推理的超时、RAG 索引构建、长时间 API 轮询等场景。
2026-07-03 09:47:41
260
原创 Agent工具调用中的超时与后台进程管理yieldMs的陷阱与正确姿势
尝试手动设 `--timeout 3600` → **问题反而加剧**:设太长后 agent 失去心跳感知,中间不知道任务进度,体验更差。同时,手动设置 `--timeout` 破坏了任务的自我保护机制——默认 1800s 是经过调优的平衡值,擅自加长只是把"检测不到超时"伪装成"解决了超时"。**核心原则:** 长任务 = background + 文件通信,短任务 = 同步返回。**关键词**:Agent Infra、yieldMs、background、进程管理、工具链可靠性、超时处理。
2026-07-03 08:46:33
247
原创 K8s Service ClusterIP不通但Pod IP直连正常Readiness Probe引发的诡异故障
Pod Running ≠ 能接流量:Readiness Probe 是 Service 流量的唯一准入标准启动慢的应用不能忽略 initialDelaySeconds:Java/Spring Boot 等重框架启动 30-60s 很常见滚动更新 + 短探针 = 流量黑洞:新 Pod 被 kube-proxy 排除、旧 Pod 已销毁 → 无 Pod 可用排查 ClusterIP 不通的优先步骤→ 看 NotReadyAddresses → 查 Readiness Probe应用场景。
2026-07-01 21:14:35
338
原创 Agent编排的核心挑战指令与内容分离剪贴板法则的实践与思考
Agent 编排的核心挑战不是"让 Agent 变聪明",而是"让 Agent 的输入通道和现实世界正确对齐"。永远区分指令和数据:自然语言适合表达意图和流程,但不适合承载需要精确复现的数据内容。数据应通过文件、剪贴板、API 等侧信道传递。选择正确的抽象层:GUI 级自动化(模拟键盘事件)比 OS 级操作(剪贴板)更低效、更不可靠。能走剪贴板不走逐字输入,能走 API 不走 GUI。Agent 可靠性 = 接口设计:不是模型能力不够,而是我们没有为 Agent 设计合适的 I/O 接口。
2026-06-29 21:16:28
202
原创 Kubernetes Pod频繁OOMKilled但limit明明够用内核Slab内存的隐形杀手
Kubernetes Pod 频繁因OOMKilled重启,但内存使用未达limit限制,问题根源在于内核Slab内存未被监控。排查发现Pod存在大量NFS文件I/O操作,导致dentry/inode缓存累积占用内核内存(kmem),而常规监控仅统计RSS和Cache。解决方案包括:1)提升memory limit;2)优化JVM参数限制堆外内存;3)减少文件I/O操作;4)完善监控指标。总结指出容器OOM需关注working_set_bytes而非仅RSS,Java容器需计算总内存开销,NFS小文件操作易
2026-06-29 10:43:34
389
原创 Agent编排中JSON结构化输出的隐式截断问题深度排查与修复实践
鍦?Harness 鍏眰濉斿疄鎴樹腑锛孏enerator 鐢熸垚鍐呭鍚?Evaluator 鎵撳垎锛屽伓灏斿嚭鐜?Evaluator 杩斿洖鐨?JSON 瑙f瀽澶辫触鈥斺€斾笉鏄牸寮忛敊璇紝鑰屾槸 JSON 涓嶅畬鏁达紝瀛楁鍦ㄤ腑闂磋鎴柇锛?鐪嬭捣鏉ュ儚 token limit锛屼絾 max_tokens 璁剧疆涓?4096锛屽疄闄呰緭鍑哄彧鏈変笉鍒?200 tokens锛岃繙鏈Е鍙婁笂闄愩€?
2026-06-29 10:03:48
171
原创 RAG 检索召回率断崖式下降:向量空间密度污染的经典退化模式
向量检索不是建完就完了— 知识库是活的,文档会增长、分布会漂移、语义空间会变化。RAG 系统上线后必须持续监控召回质量。Golden Set + 自动回归是最低成本的保障手段— 50 组测试用例,每周跑一次,召回率下降自动告警。比线上指标跌了才发现要早得多。单靠 embedding 相似度不可靠第一层:意图路由(限定检索范围)第二层:向量检索(语义匹配)第三层:阈值过滤(去掉低质量结果)第四层:重排序(Reranker 精排)HyDE 是性价比最高的单点优化。
2026-06-25 09:56:01
178
原创 K8s Pod DNS 解析间歇性失败:conntrack 打满引发的线上事故
conntrack 是隐藏杀手— K8s 每个 Service 访问都走 conntrack,高并发必成瓶颈。不只是 DNS,所有跨 Pod 通信都受影响NodeLocal DNSCache = 标配— 生产集群不部署就是在埋雷。官方文档明确推荐,但很多人忽略JVM DNS 默认永久缓存很危险etworkaddress.cache.ttl=-1 在 K8s 动态 IP 环境下会导致 Pod 漂移后永远解析不到新地址。所有 Java 服务必须显式设置 TTL监控前置。
2026-06-24 10:40:33
290
原创 K8s Pod 无法解析外网域名——ndots 引发的 DNS 超时血案
摘要 K8s环境中某Go服务频繁出现DNS解析超时,排查发现是由ndots:5配置导致。当域名少于5个点(如api.external-service.com)时,CoreDNS会先尝试拼接集群内部search域(如.default.svc.cluster.local),导致3次无效查询(每次5秒超时),最终引发高延迟和连接池耗尽。解决方案包括:1)修改Pod的ndots为2;2)代码中使用FQDN(域名末尾加.);3)应用层实现DNS缓存;4)CoreDNS启用autopath插件。推荐组合使用方案1和3,
2026-06-23 10:06:25
212
原创 AI TIPS 网站简介与功能解释
AI TIPS - 城市与历史智能百科平台 AI TIPS是一个结合AI技术的知识平台,提供全国城市介绍和历史事件查询功能。网站采用现代设计风格,支持一键切换查询模式,包含两大核心功能: 城市百科:通过省份导航或搜索查看城市详情,包含地理、历史、美食等结构化信息,并配有互动地图展示; 历史时间线:输入历史事件名称(如"新中国成立"),AI会生成知识卡片与可视化时间线,清晰呈现事件脉络。 平台特色在于AI智能检索、多模态内容呈现(地图/时间线/图文)及权威知识库支持,适用于学生、教师、旅游
2025-10-20 10:49:50
1289
原创 Linux Crond服务
1. crond定义、作用、特点;2. crond配置参数说明;3. crondtab命令方法;4. crond服务的注意事项
2022-10-22 17:49:02
2020
原创 刨析——浏览器如何工作
浏览器可以被认为是使用最为广泛的软件,以下篇幅将介绍浏览器的工作原理,我们将看到,从你在地址栏输入google.com到你看到google主页过程中都发生了什么。
2022-04-19 20:35:43
535
原创 HTTP Headers
HTTP Headers定义HTTP Headers种类HTTP Headers使用HTTP Headers配置(方案,内容以及结果示例)
2022-03-02 20:42:36
3466
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅