Web Analytics

Tony Bai

一个程序员的心路历程

告别标签页焦虑:我让 AI 帮我做了个浏览器插件 TabQueue

面对浏览器标签页堆积如山导致的内存暴涨、风扇狂转与精神焦虑,市面上的书签或稍后读工具往往因为操作繁琐或功能过重而沦为“标签坟墓”。为此,作者利用 AI 辅助开发了一款名为 TabQueue 的 Chrome/Edge 浏览器扩展。该插件主打“一键收纳、自动去重、按域分组、阅后归档”的极简工作流,将混乱的标签页转化为如同收件箱般井然有序的阅读队列。TabQueue 坚持 100% 本地存储、零网络请求的隐私底线,并支持将内容无缝集成至 Trello、Todoist 和 Obsidian 等第三方工作流。本文详细介绍了其核心设计理念、三分钟快速上手指南以及未来的迭代规划,为重度信息消费者提供了一个轻量且优雅的自我解救方案。

July 18, 2026 · 9 min · Tony Bai

Bun刚把Zig重写成Rust,这个团队却用487天反向重写

就在 Bun 团队宣布用 AI 花 11 天将 50 万行 Zig 代码重写为 Rust 之后,Roc 编译器团队发表了一篇方向截然相反的硬核复盘:他们耗时 487 天,以纯人工方式将 30 万行的 Rust 编译器从零重写为了 Zig。重写的核心动机并非语言优劣,而是为了彻底解决一个因架构设计导致的底层 Bug。在重新选择语言时,团队因构建速度、细粒度的内存控制、更贴合编译器生态的库,以及 Zig 对密集“不安全代码(Unsafe)”的更好兜底,最终放弃了原有的 Rust。实测数据揭示了一个反直觉的结论:丢掉 Rust 借用检查器后,Zig 版编译器的内存损坏 Bug 数量不增反降,且增量编译速度飙升至惊人的 35 毫秒。文章强调,在真实的软件工程中,没有绝对完美的语言,只有与特定架构约束、生态假设(如全局分配器 vs 显式 Arena)最契合的务实选择。

July 18, 2026 · 16 min · Tony Bai

为了一个函数名,Go官方吵了两个月:maps.Same提案近日正式通过

Go 的 map 本质是指向哈希表的引用,但语言层面从未提供安全的方式判断“两个 map 变量是否指向同一份数据”——过去只能靠 reflect + unsafe 曲线救国。今天,Go 提案委员会正式采纳了 issue #78456,将在标准库 maps 包中新增 Same 函数。这个看似只有三行代码的提案,却在命名、nil 语义、NaN 陷阱、泛型签名四个维度上引发了长达数月的拉锯战,也让我们得以一窥 Go 语言演进背后严谨到近乎“较真”的设计哲学。

July 17, 2026 · 12 min · Tony Bai

Go 1.28 路线图首度曝光:Cgo 告别C工具链?泛型容器将入标准库?

本文基于 Go 官方编译器与运行时团队的内部会议纪要(Issue #43930),深度前瞻了 Go 1.28 版本的技术路线图。文章梳理了三大核心演进方向:首先是语言人体工程学的持续改进,包括类型推断复合字面量的扩展与结构化 Struct Tag 的提案;其次是面向未来计算平台的强力布局,涵盖 SIMD 指令集的架构解耦与跨平台推进、Wasm 栈切换以及免 C 工具链的 Cgo 探索;最后是深入运行时的极限压榨,包括分片计数器的原生支持、泛型导出数据重构、Green Tea GC 落地后的可扩展性突破,以及利用 runtime.free 配合编译器主动释放内存以减轻 GC 压力。透过这份尚在讨论中的草案,我们得以一窥 Go 语言在追求极致性能与开发体验双赢道路上的坚实步伐。

July 16, 2026 · 18 min · Tony Bai

掌控外环:为什么“循环工程”的边界必须由人类死守?

在 AI Agent 开发迅速迈入“循环工程(Loop Engineering)”与多智能体并发阶段的今天,谷歌前高管 Addy Osmani 提出了一项引发行业深思的架构范式:在自动化狂潮中,人类必须死守系统设计的“外环(Outer Loop)”。文章明确指出,AI 智能体可以在“内环(Inner Loop)”中以机器速度进行调查、执行和测试,但决定系统边界、审查客观证据、做出最终发布裁决(Verdict),以及承担最终事故责任(Accountability)的权力,必须且只能掌握在人类工程师手中。文章深度剖析了开发者在过度依赖 AI 时面临的“认知妥协”、“认知债务”与“协调管理税”三大隐形成本,并强调了在客观技术衰减(Decay)的时代,人类的“审美品味(Taste)”与“受托问责制”才是不可被规模化替代的终极资产。通过严格解耦内部执行与外部决策,为大模型系统设定反向压力机制,我们将迎来重塑职业价值、夺回系统架构所有权的新黄金时代。

July 15, 2026 · 20 min · Tony Bai

171个“已批准”却迟迟未实现的提案:Go语言的十年“欠账清单”

在 Go 语言的 GitHub 仓库中,存在着 171 个被官方标记为“Accepted(已批准)”却长期未合入代码的提案,其中最古老的积压长达 13 年之久。本文对这份“十年欠账清单”进行了全景式的体检与分类,发现超半数提案积压 5 年以上,且多集中于 x 扩展库及底层命令行工具。文章深度拆解了四个经典的“钉子户”提案背后的故事,指出“已批准”往往仅代表共识达成,而非排期承诺;许多涉及行为变更或依赖社区人力的提案,因为 Go 严格的向后兼容原则而经历了漫长的软着陆期。不过,近期的里程碑(如 Go 1.27/1.28)数据显示,Go 团队正在加速消化这些历史遗留问题。这份公开透明的清单,不仅是 Go 审慎演进的历史见证,更是开发者参与高质量开源贡献的最佳切入点。

July 14, 2026 · 11 min · Tony Bai

别再往 Go 里塞 Java 了:拆解 spf13 的 Idiomatic Go 信仰

随着 Go 语言的普及,大量带有 Java/Spring Boot 痕迹的过度抽象与分层设计(如 service/、repository/、复杂的 mock 框架等)被错误地包装为“Go 最佳实践”,甚至深刻污染了 AI 编程智能体的训练语料。为此,前 Google Go 核心团队成员、Cobra/Viper 作者 Steve Francia(spf13)开源了 go-skills 项目,旨在为 AI 和人类开发者提供一份硬核的“地道 Go(Idiomatic Go)”矫正教材。本文深度拆解了 spf13 的这套架构信仰,围绕“清晰胜于巧妙(Clear is better than clever)”的核心原则,详细梳理了包组织的扁平化策略、隐式接口的发现机制、将错误视为值处理、基于 Channel 而非 Mutex 的并发编排、极简的表驱动测试、泛型的克制使用,以及 Command-First 的 CLI 架构设计。文章指出,真正的 Go 工程哲学在于摒弃不必要的抽象层,充分利用强大的标准库,回归代码的可预测性与高可读性。这不仅是指导 AI 编程智能体的规范,更是每一位高级 Go 工程师必备的技术品味与代码审查心法。

July 13, 2026 · 16 min · Tony Bai

AI 不在乎代码烂不烂,但你的Token账单在乎:一项660次实验揭示的编程新常识

在 AI 编程助手普及的今天,“既然 AI 不嫌代码丑,能跑通不就行了?”成为了不少开发者的借口。然而,SonarSource 的一项基于 660 次严格对照实验的研究(arXiv:2605.20049)打破了这一幻觉。研究表明,虽然代码整洁度几乎不影响 Agent 完成任务的通过率,但却实打实地决定了 AI 干活的“成本”。在干净的代码库中,Claude Code 的输入输出 Token 消耗显著降低,文件重复访问率更是锐减 34%。凌乱的代码会让 AI 不断“绕路”并反复核实,从而推高开发者的 API 账单。文章深入解读了这项研究,指出“写干净代码”在 AI 时代依然重要,只不过其价值从“方便人类阅读”延伸到了“降低机器计算成本与冗余消耗”。

July 12, 2026 · 12 min · Tony Bai

10倍速 TypeScript 7.0 正式发布,前Go产品经理:Go才是AI智能体时代的“天选语言”

微软近日正式发布了Go重写版的TypeScript 7.0版本,构建速度飙升 10 倍。这一举动印证了前 Go 语言产品经理 Steve Francia (spf13) 的最新“反直觉”论断:在 AI 智能体(Agentic AI)主导开发的时代,Go 才是真正的“天选语言”。文章深度剖析了其背后的工程逻辑:当 AI 取代人类成为高频“写作者”时,人类将退化为“阅读者”与“审查员”。此时,Go 语言在诞生之初押注的“为阅读优化”、“严格的依赖管理”、“极致的编译速度”与“十年如一的向后兼容性”,完美契合了 AI 循环迭代对确定性、低上下文消耗和安全闸门的需求。相比之下,Python 与 TS 的动态性和隐式依赖反而会成倍放大 AI 的纠错成本。文章强调,并非要用 Go 统一天下,但在构建 Agentic 时代的基础设施和后端服务层,Go 凭借更低的 API 成本和更高的迭代吞吐量,已经成为不可替代的默认选项。

July 11, 2026 · 22 min · Tony Bai

Bun 重写为 Rust 后,Zig 之父罕见开炮:“我们早就等着看你重写”

在 Bun 官方发布“AI 将数十万行 Zig 代码重写为 Rust”的公关长文后,Zig 语言创始人 Andrew Kelley 撰写了一篇火药味十足的万字博文予以强硬回击。文章首度披露了双方长达五年、因风投介入与价值观分歧而最终破裂的“塑料兄弟情”。Kelley 直言,Zig 团队早就将充斥着技术债和“糊弄式代码”的 Bun 视为生态的“净负资产”,对这次脱钩感到“如释重负”。同时,Kelley 从技术层面对 Bun 的官方博文提出了五大尖锐质疑:指控其对模糊测试(Fuzzing)的描述纯属捏造,驳斥其“风格指南无用论”,并指出 LTO 优化其实早在 Zig 时代就已存在,直击所谓“重写带来质变”的技术漏洞。这场开源社区的顶级交锋,深刻揭示了当由极客驱动的底层技术遭遇资本催熟的初创公司时,必将面临的技术妥协与生态撕裂。

July 10, 2026 · 9 min · Tony Bai