- 博客(36)
- 收藏
- 关注
原创 Go IM 源码实战(8):四个 Kafka topic,落库失败不返 error 会静默丢消息
一条消息从 msg 服务发出去到落进 Mongo,中间经过了四个 Kafka topic。我一开始以为这层是多余的,直到 Mongo 抖了一次——发送接口毫无感觉,队列自己积压自己消化。这篇讲清四个 topic 各干什么、同会话保序靠的三层防线、批处理为什么必须有两个触发条件,以及我在这套代码里找到的四个坑:Do 没有返回值,所以业务失败根本没法表达。
2026-10-27 20:44:48
161
原创 Go IM 源码实战(7):断线三天重连,水位算错就漏消息
用户点了"清空聊天记录",退出重进,消息全回来了;另一个用户把历史往下翻,翻到第 40 页还在加载。两个 bug 一个原因:拉取接口少夹了一层水位边界。这篇把同步的四个水位、四道边界、镜像的 isEnd 判定讲透,也讲清未读数为什么能直接用 maxSeq 减 hasReadSeq——这个减法成立是有前提的。
2026-10-27 20:44:28
285
原创 RAG 检索面试十连问:召回率从 92% 掉到 61%,答案句被拦腰截断怎么排查
召回率从 92% 掉到 61%,团队折腾两天换 embedding 模型却没搞清楚问题出在切分。本文用 10 个面试追问拆开 RAG 检索链路:切分怎么切、混合检索怎么融、rerank 什么时候上、召回率暴跌的排查顺序,附一个能直接跑的 chunk 切分评估脚本和排查速查表。
2026-10-27 19:56:10
434
原创 Go IM 源码实战(6):一条消息只占 1/100 个文档,100 是改不了的硬编码
一条 500 人群里的消息只存一份,但 500 个人打开看到 500 种样子——撤回的看不到、删了的不显示、自己的那条带已读。这背后是"分桶 + 读时改写"两个设计:100 条消息塞一个 Mongo 文档,靠 (seq-1)/100 定位;展示形态在读取时才拼。这篇顺带算清一件事:为什么这个 100 一旦上线就不能改,改了历史消息会全乱。
2026-10-26 20:34:58
286
原创 Go IM 源码实战(5):seq 分配两段式 Lua,号段发完那 3 秒会撞号
群聊里两个人同时发消息,序号撞成了同一个。查了半小时日志才发现,问题不在并发写,而在号段发完那一刻:Redis 里这一段用尽,第二段 Lua 还没写回,两个请求同时走了 Mongo 兜底。这篇拆开 518 行 seq 分配器,讲清两段式 Lua 的 4 个状态、10 次重试失败后为什么只打日志、以及单聊 50 / 群聊 100 这两个数字是从哪来的。
2026-10-26 20:34:19
291
原创 万字详解 | Go 进阶(三)内存分配器:一次 make 背后 9 次跳转,它和 GC 怎么配合不拖垮延迟
网关服务白天正常,晚上高峰 P99 从 3ms 飙到 40ms,gctrace 里 GC 占比只涨到 2.1%,调大 GOGC 却只降 5ms。本文顺着一次 make([]byte, 512) 的 9 站旅程拆开 Go 内存分配器:66 个 size class 怎么分、mcache 凭什么无锁、span 双位图怎么与 GC 互不打架,附可复制的 benchmark 代码和分配慢/GC 频繁排查速查表。Go 1.25 源码口径,建议收藏备用。
2026-10-26 19:56:42
635
原创 Go IM 源码实战(4):发消息 16 行不落库,11 个开关配错满屏红点
发送接口只有 16 行,而且它不落库——消息投进 Kafka 就直接返回成功。这篇拆 OpenIM 的消息发送链路:三个 ID 各管什么、为什么通知类型完全不校验、11 个开关怎么决定一条消息的一生、已读回执为什么必须关掉 4 个开关,以及我读代码时挖到的两个真 bug。
2026-10-25 20:54:26
283
原创 Go IM 源码实战(3):HTTP 155 条路由,限流退避永远只等 1 秒
一个 README 里写着「可选」的参数,代码里却是必填;一个限流中间件写成了 CPU/CPU,退避时间永远 1 秒。这篇拆 OpenIM 的 HTTP API 层:11 层中间件为什么顺序不能乱、155 条路由怎么做到风格完全一致、认证中间件只处理 POST 会留下什么隐患,以及那个恒等于 1.0 的 loadRatio 到底算什么 bug。
2026-10-25 20:53:59
222
原创 RAG 检索层变天:NVIDIA 三模型全开源,官方实测 token 成本立降 14%,旧方案会失效吗
10 月 17 日到 21 日四天,NVIDIA 把文档解析、向量嵌入、重排序三个模型接连开源,权重开放可商用,官方实测换套检索配置每轮 token 成本降约 14%,Embed 8B 在 ViDoRe v3.1 拿到 61.17 nDCG@10。这篇不吹不黑:三个模型各管哪段、14% 该怎么打折看、和 BGE/Jina 怎么选,三张对照表直接拿走。
2026-10-25 19:55:55
563
原创 Go IM 源码实战(2):WebSocket 握手 11 步,少 1 个参数连不上
照着文档连 WebSocket 网关,握手一直失败,报错只有一行 strconv.ParseBool: parsing "": invalid syntax——文档说这参数可选,代码里却是必填。这篇拆 OpenIM 网关握手的 11 步:每一步失败返回什么、连接数检查为什么必须放在鉴权之前、10 万连接到底吃掉多少 fd 和内存,以及多端互踢为什么必须连 token 一起废掉。
2026-10-23 20:37:16
304
原创 Go IM 源码实战(1):一条群消息 1500 次写入,同步做会拖垮整个服务
给 App 加个聊天功能,很多人的第一反应是建一张 message 表、发消息就 INSERT。等群聊、离线补拉、多端同步、未读红点一个个压上来,才发现查询全乱、消息会重、红点永远对不上。这篇从一个 400 个 Go 文件的开源 IM 服务端讲起:一条 500 人群消息为什么会产生 1500 次写入,以及它凭什么敢在投完 Kafka 就立刻返回成功。
2026-10-23 20:36:44
85
原创 万字详解 | Go 进阶(二)GC 三色标记:STW 从 10ms 压到 40μs,1 次 Full GC 让线上 P99 抖了 3 秒
Go 服务平时不卡,一到业务高峰就周期性抖一下?八成是 GC 并发标记被分配速率拖垮,辅助标记全压在业务 goroutine 上。这篇从三色标记主干讲到混合写屏障,用 gctrace 逐段拆开 STW 为什么只有 40 微秒,再给 GOGC 调优、GOMEMLIMIT 配置和三个线上故障的真实定位过程。看完能看懂自己服务的 GC 曲线,知道参数该往哪边调。
2026-10-23 20:00:29
442
原创 Go 项目骨架 25 个目录只用 9 个:错误码错 1 位,线上排查多花 3 小时
新手搭 Go 工程最爱直接套 project-layout 的 25 个目录,结果一半目录从建起来就没用过,错误码还随手从 1001 开始编。上线后排查一个问题,先在十几个空目录里迷路,再对着对不上的错误码猜位置,一下午就没了。这篇把我们团队实际留下的 9 个目录、三段式错误码编码和配置分层一次讲清,附可运行的骨架代码和目录取舍速查表。
2026-10-22 19:04:52
1177
原创 Go GMP 调度器 10 个高频追问:3 个线上故障让 P99 从 80ms 飙到 2s、10 万 goroutine 泄漏
线上一个 Go 服务,QPS 没涨、内存却一路飙到 8G,P99 从 80ms 直接跳到 2s——查下来是 GMP 调度器在偷偷拖后腿:goroutine 泄漏、P 被系统调用卡住、GOMAXPROCS 在容器里取错。这篇把 G、M、P 怎么配合、调度循环怎么转、10 个面试高频追问和 3 个真实线上故障一次讲清,每个故障都给排查命令和定位路径。
2026-10-21 20:33:52
428
原创 万字详解 | Go 进阶(一)GMP 调度器:10万个goroutine凭什么不慌?
GMP 调度器是 Go 高并发的发动机。本文用一家餐厅的故事讲透 G/M/P 三角色、本地队列与 work stealing、从协作式到异步抢占的演进、netpoller,并拆解容器里 GOMAXPROCS 配错导致 P99 飙高的经典事故与 Go 1.25 的自动修复。万字长文,建议收藏慢读。
2026-10-20 14:46:53
602
原创 一周AI热点速览 | Gemini 4 Argon百万上下文全球上线、Meta开源8160亿参数Muse Spark:大模型进入“比干活“时代
过去一周AI圈依旧神仙打架:Google Gemini 4 Argon全球上线、Meta首款前沿模型亮相并开源8160亿参数模型、DeepSeek深夜更新、Kimi K3.1预告百万上下文……本文用5分钟带你看完本周最值得关注的AI动态,文末附对Go后端/Agent开发者的3条落地建议。
2026-10-19 08:00:49
309
原创 上下文一长就忘事?万字长文教你构建Agent“工作台便签+档案柜”记忆系统
万字长文!工具稳了,下一个翻车点就是记性。用“工作台便签和档案柜”的生活比喻,带你掌握短期上下文窗口管理、长期记忆存储、读写策略与淘汰机制。记忆和RAG到底有什么区别?窗口满了只会截断怎么办?新旧记忆冲突听谁的?面试高频考点全解析,配面试追问提示与答题框架,帮你打通记忆分层。
2026-10-16 20:01:11
198
原创 Agent 线上翻车最多的地方!万字拆解工具调用、幂等设计与面试八股
万字长文!循环让Agent动起来,但手脚乱动照样出事。用“给师傅配工具箱”的生活比喻,把工具定义、参数校验、权限分级、幂等设计和结果回灌讲透。工具描述怎么写才能防幻觉?写操作幂等键怎么设计?工具太多塞不下prompt怎么办?每个技术点附带面试官追问提示,帮你彻底解决Agent手脚不听使唤的问题。
2026-10-14 20:08:06
426
原创 Agent死循环一晚上烧掉一个月预算?万字拆解工程级循环设计与面试考点
万字长文!Agent是接单制的,不是一问一答。用“接单、干活、交活、复盘”四大场景,带你吃透ReAct循环的工程实现。为什么状态机比while循环更稳?终止条件怎么设三层?死循环怎么排查?融合面试高频追问与答题框架,带你从Demo跑起来到稳上线,面试时讲明白,一篇讲透。
2026-10-13 20:00:00
492
原创 RAG 不进化就淘汰!2026到2027年 最新趋势全解读:Agentic RAG、GraphRAG、多模态、长上下文,面试官都在问
万字番外篇!2026 年 RAG 生态大变天:Agentic RAG 让检索从被动变主动研究,多模态 RAG 把图片表格录音全拉进语义空间,GraphRAG 用知识图谱补上关系推理,长上下文和 RAG 分层共存,自适应检索让参数自己学,评估治理成了合规硬要求。每一条趋势都标了官方发布时间和来源,回扣前六篇基础,附赠面试话术。面试官问“最近 RAG 有什么新进展”,这一篇直接甩他脸上。建议收藏。
2026-10-12 20:04:20
910
9
原创 RAG落地常见坑与评估上线:怎么知道这套东西好不好用?万字收尾
专栏收官之作!RAG落地五大坑逐一拆解:切分不合理、召回不准、Prompt太长、模型不遵循上下文、评估缺失。用修车铺试车、模拟考出题、餐厅试营业三大比喻,讲透分层评估、评估集建设、上线监控、生产容错。从能跑到敢扛生产流量,这一篇帮你把坑全填平,面试和落地都稳了。
2026-10-11 19:54:31
417
2
原创 RAG检索重排与引用溯源:怎么找到真正有用的资料?面试加分项
RAG检索链路全拆解!混合召回为什么比纯向量强?重排和召回有什么区别?Prompt怎么编排才不迷失?引用溯源为什么是RAG最能打的优势?用“秘书整理材料”、“餐厅上菜”、“给厨师配菜单”、“论文脚注”四大比喻,把检索、重排、编排、溯源讲得透透的。面试加分项,这一篇必看。
2026-10-09 19:38:04
425
3
原创 一文搞懂向量与向量数据库:文字怎么变成可计算的数字?面试必问
从“地图坐标”到“语义地图”,小白也能懂的向量与向量数据库!一文讲透向量是什么、Embedding怎么把文字变成数字、余弦相似度和欧氏距离到底用哪个。为什么传统数据库做不了语义检索?向量数据库和传统库什么关系?面试必问的Embedding、相似度、向量检索全在这,帮你彻底搞懂RAG的底层引擎
2026-10-08 19:54:29
428
3
原创 RAG文档切分避坑指南:切太大检索不准,切太小答非所问,到底切多大?
万字长文拆解RAG六步流程,重点攻克“坑最多”的文档切分!切太大语义稀释、检索不准;切太小上下文碎片、答非所问。用图书馆索引卡片、切菜火候、拼图三连比喻,把切分策略、重叠窗口、评估调优讲得明明白白。面试必问的切分问题,这一篇全搞定。
2026-10-07 20:06:16
1236
3
原创 降低ai幻觉RAG不是唯一解!微调、Prompt、工具调用到底怎么选?面试官最爱问
面试官最爱问的降幻觉武器库来了!Prompt Engineering、微调、工具调用、RAG到底怎么选?用“四个厨师”的绝妙比喻,讲透微调与RAG的本质区别:知识存在哪、更新成本、可解释性。附送场景选型指南和判断顺序,面试时直接甩出这套逻辑,面试官都点头。
2026-10-06 19:50:16
486
原创 RAG入门别踩坑:大模型为什么会胡说?一文讲透幻觉与RAG救命逻辑
从Agent到RAG的完美衔接!用开卷考试和厨师配菜单的比喻,把大模型幻觉、知识截止、私有知识缺失三大困局讲透。RAG怎么降幻觉?为什么不是100%可靠?面试必问的幻觉原理、RAG降幻觉机制、微调区别全在这。万字长文带你从0到1吃透RAG入门,面试直接抄作业!
2026-10-05 19:59:11
609
原创 Agent进阶必看:万字总结Skills与A2A协议,从单兵作战到多智能体协作的全指南
万字系列完结篇!MCP解决了工具标准化,但复杂的业务流程和多Agent协同怎么办?本文带你深入拆解Skills(技能编排)与A2A协议,用“扳手、工具箱与修车SOP”的绝妙比喻,助你彻底理解Agent架构的最后两块拼图。全景回顾整个系列核心知识,干货拉满,强烈建议先收藏,然后关注我,下个专栏《RAG实战》和《Agent工程方法论》我们接着聊!
2026-10-04 20:42:58
394
原创 告别重复造轮子!万字详解MCP协议:为什么说它是AI时代的USB接口?(附架构拆解)
面试官问“怎么解决不同大模型工具调用不兼容的问题”,你还在支支吾吾?这篇万字详解MCP协议,帮你拉满面试官的好感!从互联网协议混战的历史讲起,大白话拆解MCP的诞生背景、核心架构与实际价值。为什么Anthropic要推它?它为什么被称为AI时代的HTTP协议?一文讲透!附详细架构拆解与落地场景。大厂AI岗必考知识点,点赞收藏,追更不迷路!
2026-10-03 20:01:07
493
原创 Go代码实战:5步搞定Function Call,手把手教你让AI调用真实API(附完整源码)
大厂面试必问:大模型如何真正调用外部API?别在面试时卡壳了!本文用最通俗的语言,彻底讲透Function Call的核心原理与执行流程。附赠Go代码实战,5步教你实现AI自动查天气、调接口。不仅讲透原理,更手把手教你实操。全是干货,没有废话!点赞收藏,带你弯道超车拿下大厂Offer
2026-10-02 19:58:53
326
原创 还在把AI当聊天机器人?万字详解LLM与Agent的本质区别,一文讲透“超级大脑”如何长出手脚
面试官问“什么是Agent”,你还在答“就是个智能助手”?这篇万字干货直接帮你拉满面试官的好感!彻底讲透LLM的三大硬伤(幻觉、知识滞后、无法执行),以及Agent如何通过规划、记忆、工具弥补这些缺陷。用生动的比喻带你吃透AI架构底层逻辑。大厂招聘风口正盛,现在上车还来得及!点赞收藏,追更不迷路。
2026-10-01 20:03:01
557
原创 面试官:聊聊你对Agent的理解?别慌,万字长文带你从0到1吃透大模型落地【附学习路线】
面试官开口就问Agent,传统后端HC却肉眼可见缩水?别慌!这篇万字长文,从LLM的三大硬伤讲起,深入浅出拆解Agent、Function Call、MCP协议与A2A多智能体协作。不堆砌术语,用大白话+Go代码实战,带你从0到1吃透大模型落地,附学习路线与避坑指南。窗口期不等人,建议收藏追更!
2026-09-30 20:00:29
318
原创 《万字详解 | Go 基础从入门到入土》(并发实战篇)
刚入行看Go代码像看天书?满屏的 goroutine 和 channel 让人头皮发麻?这篇 8000 字保姆级长文,带你从入门到上手!拒绝枯燥的官方文档,用“快递柜”、“切菜”、“俄罗斯套娃”等大白话和比喻,把变量、切片、Map、接口、并发全部揉碎了讲透。附带完整可运行代码和避坑指南,建议收藏慢慢看!
2026-09-29 20:32:17
446
原创 《万字详解 | Go 基础从入门到入土》(核心进阶篇)
刚入行看Go代码像看天书?满屏的 goroutine 和 channel 让人头皮发麻?这篇 8000 字保姆级长文,带你从入门到上手!拒绝枯燥的官方文档,用“快递柜”、“切菜”、“俄罗斯套娃”等大白话和比喻,把变量、切片、Map、接口、并发全部揉碎了讲透。附带完整可运行代码和避坑指南,建议收藏慢慢看!
2026-09-28 19:53:41
993
6
原创 《万字详解 | Go 基础从入门到入土》(基础语法篇)
刚入行看Go代码像看天书?满屏的 goroutine 和 channel 让人头皮发麻?这篇 8000 字保姆级长文,带你从入门到上手!拒绝枯燥的官方文档,用“快递柜”、“切菜”、“俄罗斯套娃”等大白话和比喻,把变量、切片、Map、接口、并发全部揉碎了讲透。附带完整可运行代码和避坑指南,建议收藏慢慢看!
2026-09-27 20:28:44
623
7
原创 《万字详解 | Go 基础从入门到入土》(前言)
刚入行看Go代码像看天书?满屏的 goroutine 和 channel 让人头皮发麻?这篇 8000 字保姆级长文,带你从入门到上手!拒绝枯燥的官方文档,用“快递柜”、“切菜”、“俄罗斯套娃”等大白话和比喻,把变量、切片、Map、接口、并发全部揉碎了讲透。附带完整可运行代码和避坑指南,建议收藏慢慢看!
2026-09-27 20:15:52
288
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅