Go语言技术文章
-
Go 1.26 将 cgo 基线运行时开销降低约 30%,但收益取决于跨语言固定成本在业务中的占比。本文按高频小调用、参数转换、回调阻塞和多平台构建,整理升级后值得优先回归的场景与最小基准设计。323 收藏 -
LLM 输出 JSON 不稳定时,不能只靠提示词要求“返回 JSON”。本文用一个工单分类小项目拆解解析、JSON Schema 校验、错误分类和有限重试,并说明为什么业务失败不该混入格式重试。480 收藏 -
Go 1.26 已默认启用 Green Tea GC,但这不等于所有服务的内存占用都会自动下降。本文用固定负载、runtime.ReadMemStats、GODEBUG=gctrace=1 和 nogreenteagc 构建对照,整理一套可重复的观察方法。340 收藏 -
OCR 识别表格不能只保留文字,还要保存每个片段的坐标框,再通过行聚类、列排序和跨度判断重建二维结构。本文给出一套可落地的处理流程。147 收藏 -
Go 1.27 将 goroutineleak profile 正式带入 runtime/pprof。本文用一个提前返回的 channel 场景,讲清如何采集 profile、读取 Type、Total、ROUTINE、flat/cum,并根据源码行修复 goroutine 泄漏。228 收藏 -
Reranker 分数不是通用的相关性刻度。本文从分数归一化、候选集标注、分层阈值和 top-k 兜底四个方面,说明如何减少相关答案被过滤的问题。477 收藏 -
Go 1.27 引入 encoding/json/v2 后,omitempty 的判断边界值得提前检查。本文按字段类型区分 Go 零值与 JSON 空值,给出 omitzero、兼容选项和契约测试的迁移路径。379 收藏 -
更换 embedding 模型时,先读取新旧模型的真实向量维度,再用模型版本、维度和距离度量建立双索引迁移边界,最后通过小批量回填验证后切换查询路由。498 收藏 -
Go 1.27 支持具体类型声明泛型方法,但接口方法仍不能声明类型参数,泛型方法也不会自动实现旧接口。本文用 Map、方法表达式和编译期接口断言说明升级边界,并给出 CI 与下游版本回归清单。328 收藏 -
RAG 文档切片的 overlap 没有固定标准。本文按独立问答、连续流程和跨段推理拆分起始比例,并用边界命中、重复率、索引规模和答案证据建立调参方法。280 收藏 -
Python 3.15 引入 free-threaded Stable ABI(abi3t),本文从兼容路线、C API 改造、wheel 标签和双运行时测试说明扩展迁移准备。122 收藏 -
向量索引不能只看查询速度。本文以 Redis 的 FLAT、HNSW 和 SVS-VAMANA 为例,拆开比较召回率、内存、写入维护与重建代价,并给出一套可复查的选型压测方法。485 收藏 -
Python 3.15 为 pathlib.Path.mkdir 新增 parent_mode。本文说明它与 mode、parents、umask 的边界,并给出兼容 Python 3.14 及更早版本的逐级创建写法。496 收藏 -
图像问答不稳定,常常不是模型不会看,而是说明文字和视觉证据没有分层。本文给出冲突分类、证据优先级、结构化输入和人工复核的实用提示设计。404 收藏 -
Redis Iris 里的 Context Retriever 和 Agent Memory 不是两个同义的检索组件:前者回答当前业务数据是什么,后者回答过去对话发生过什么。本文用实际问题拆开两者的边界、组合方式和选型误区。248 收藏