20260209
每日一谚:Go is not theoretically exciting on the surface, but it is very useful in real life.
沉睡 8 年的提案被唤醒:Go 语言真的要引入“不可变类型”了吗?
2026 年 2 月 4 日,在 Go 语言规范团队的最新一次“语言变更评审会议”纪要中,一个尘封已久的 Issue 赫然在列:proposal: spec: immutable type qualifier #27975。这个提案最初提交于 2018 年,那是“Towards Go 2”口号喊得最响亮的年代。当时的 Go 社区正沉浸在对泛型、错误处理和不可变性的热烈讨论中。然而,随着泛型的落地,关于不可变性的声音似乎逐渐微弱。 如今,这个提案被重新摆上台面,是否意味着 Go 语言在完成泛型这一宏大叙事后,终于要向“数据竞争”和“防御性编程”这两个顽疾开刀了?今天,我们就来看看复盘这份长达 8 年的提案,剖析一下“不可变性”对 Go 意味着什么,以及它面临的巨大挑战。
“Go 2,请不要发生!”:如果 Go 变成了“缝合怪”,你还会爱它吗?
近日,一张充满讽刺意味的老梗图在 r/golang 社区又炸开了锅。图片的上方,是我们熟悉的 Gopher 吉祥物——那只呆萌、简单、甚至有点傻气的蓝色地鼠,它象征着 Go 语言纯粹而克制的灵魂。 而在图片的下方,这只 Gopher 发生了一场令人毛骨悚然的“变异”:它长出了巨大的龙翼,上面写着“Generics”(泛型);它生出了锋利的机械利爪 ,标签是“Try/Catch”;它的身体变得臃肿不堪,缝合了“Mixins”(混入)、“Lambda 表达式”、“操作符重载”、“多态方法”等各种来自其他语言的特性。这只被缝合得面目全非的怪兽,被标注为——“Go 2”。
数据打脸刻板印象:Go 的“样板代码”竟然和 Rust 一样多?
在编程语言的鄙视链中,Go 语言常常因为其“繁琐”而饱受诟病。 “if err != nil 写断手”、“缺乏语法糖”、“到处都是重复的样板代码”…… 这些似乎已经成为了 Go 的标签。 相比之下,Rust 往往被视为“表达力”的代表,拥有强大的宏、模式匹配和类型系统,能够用更少的代码做更多的事。 然而,Ben Boyter 最近的一项硬核研究,通过分析 GitHub 上各语言 Top 100 仓库(总计约 4 亿行代码),得出了一个令编程语言社区大跌眼镜的结论: **在代码重复率和“样板代码”密度上,Go 和 Rust 几乎处于同一水平线。
告别单打独斗!Claude Code 全新“Agent Team”模式:当 AI 开始组队干活
随着史上最强编程大模型 Claude Opus 4.6 的发布,官方博客披露了一个令人瞠目结舌的内部实验: 一个由 16 个 Claude Agent 组成的“全自动研发团队”,在基本没有人类干预的情况下,仅用两周时间,从零写出了一个 10 万行代码的 C 语言编译器,并且成功编译了 Linux 6.9 内核。 注意,这不是简单的代码补全,也不是写个贪吃蛇游戏。 这是系统级软件开发。它需要处理复杂的语法解析、中间代码生成、寄存器分配,以及对 x86、ARM、RISC-V 等多种架构的底层支持。 这一刻,我觉得我们之前熟悉的 AI 编程(Chat 模式、Copilot 模式)瞬间变得像是在玩玩具。 这是工业级 AI 生产力的黎明。
AMP 宣布砍掉 VS Code 插件:为什么说“人机结对编程”已死?
如果一家 AI 编程工具公司,宣布砍掉它最受欢迎、用户量最大的产品入口,你会怎么想? 这听起来像是商业自杀,但这正是 AMP(从 Sourcegraph 孵化出来的 AI 编程 Agent)刚刚做出的决定。 在 2026 年 2 月的一期播客中,AMP 的创始人 Thorsten 和 Quinn 宣布:将在 60 天后,彻底关停 AMP 的 VS Code 插件和 Cursor 扩展。 要知道,在过去的两年里(2024-2025),IDE 侧边栏(Sidebar)几乎定义了 AI 编程的标准形态。无论是 GitHub Copilot、Cursor 还是早期的 AMP,我们都习惯了在编辑器里写代码,在侧边栏里和 AI “乒乓球”式地对话。 但 AMP 团队认为:这个时代结束了。
MySQL 的路径,向量搜索版
这是一篇外部文章,内容是关于 MySQL 的向量搜索的路径。页面会重定向到 'https://theconsensus.dev/p/2026/02/08/paths-of-mysql-vector-search-edition.html'。
大型科技公司不需要英雄
大型科技公司的成果主要由复杂的系统(流程和激励措施)驱动,这些系统独立于任何个人。虽然个人英雄主义可以短期改善局部效率,但从长远来看,它对大公司整体发展帮助不大,甚至可能掩盖系统性的问题。文章建议工程师应抵制“英雄式”修补组织低效的冲动,除非这些工作有明确的制度奖励,否则应专注于自己的核心工作,并学会适应大型科技公司背景下的固有低效,以便更有策略地利用精力。
为智能体设计的语言
代理希望使用什么样的编程语言进行编程?作者探讨了代理时代编程语言的未来发展,认为现有语言的局限性(如类型推断依赖LSP、基于空白符的缩进、隐式上下文流动、异常处理、宏依赖等)将推动新语言的出现。理想的代理友好型语言应具备显式的上下文、清晰的结构(避免空白符敏感和复杂的括号匹配)、偏好结果而非异常、易于被基本工具“grep”以及支持依赖清晰的构建系统等特点。作者预测新语言将会出现,因为软件编写成本下降,且现在可以通过关注代理的需求来推动语言的采纳。
快速进入氛围编码状态
页面正在加载中,显示一个旋转的加载图标,内容和详细摘要无法从提供的HTML中提取。
如何使用 Claude Code、Cowork 或 Codex 生成美观的报告
这是一个分步指南,介绍如何利用编码代理提取您的品牌设计系统,并生成符合品牌规范的 PDF 报告和幻灯片。该过程包括提取设计系统、创建报告模板(报告和幻灯片)以及编写一个将 Markdown 转换为所需格式 PDF 的 Node.js 脚本。
人人都是微服务
本文探讨了康威定律(Conway's law)的反转观点:系统的设计决定了围绕它构建的组织的沟通结构。作者提倡“人大小的服务”架构,即每个服务由一个可以将其代码和全部上下文(约数万行代码)完整地保存在脑海中的开发者全职拥有。这种模式的优势包括:便于离线思考、快速达成改进共识、减少故障、提高质量、使架构变更在政治上更易于管理,并加速工程师的成长。文章对比了这种“正确的方式”与团队拥有多个服务的“错误的方式”,并讨论了单人所有制在“巴士系数”(即所有者离职或意外发生)和组织管理方面的风险与应对策略,指出这种模式下只需少量管理层,并依赖资深工程师作为技术“中尉”来维持可见性。
我为什么加入 OpenAI
作者决定加入 OpenAI 是因为人工智能数据中心惊人的且快速增长的成本,这需要前所未有的性能工程投入,其目标不仅是节省成本,更是为了拯救地球。他将专注于 ChatGPT 的性能优化,并认为这是一个绝佳的机会,因为可以在一个快速发展的环境中进行大规模、无障碍的变革。作者还分享了与普通用户(如理发师)的交流经历,这让他深刻认识到 ChatGPT 已成为人们日常生活中的重要工具。此外,他还提到了对 AI 的早期兴趣(模仿英剧《Blake's 7》中的超级计算机 Orac),以及在 OpenAI 遇到的优秀工程师和工作环境与 Netflix 时代的相似性。他目前担任 OpenAI 的技术人员,远程工作于悉尼,主要负责 ChatGPT 性能工程团队,首要任务是制定多组织战略以提高性能和降低成本。
The Programmer's Paradox: 系统思维
文章探讨了构建大型复杂软件系统的两种主要方法:增量演化(像创业公司)和预先设计(像现代摩天大楼的工程设计)。作者指出,这两种方法的根本区别在于如何处理依赖关系。演化方法倾向于忽略依赖关系,留待后续处理,这在短期内更快,但长期来看,修复依赖的成本更高,并会增加“人工复杂性”。预先设计方法则需要在开始时就理解所有依赖关系,需要大量的团队间协调沟通,但这通常能带来更稳定、可靠和低成本的长期结果。文章还提到,当前缺乏成熟的工程方法是因为技术栈变化快、缺乏经验丰富的资深开发者,以及演化项目本身更有趣。最终,作者提出一个折衷方案:以依赖关系为先导,制定一个长远的总体设计蓝图,但在实施过程中允许增量演化和重构,以收敛到坚实的设计。
计算的二十五年
作者Susam Pal回顾了自己参与软件开发的二十五年历程,分享了七个与技术和职业生涯相关的个人故事。这些故事涵盖了从大学时期初学网页制作、测试处理器复位向量的经历,到工作中处理不稳定的安装程序、学习中间人攻击(MITM)的防御、调试“意大利面条式代码”,再到成功实现被认为不可能的机顶盒动画,以及在CTF竞赛中表现出色却被归功于经验的故事。文章着重于技术探索的好奇心、职业发展中的导师影响,以及个人技能和心态随时间的变化。
GitHub Agentic Workflows
GitHub Agentic Workflows 提供了在 GitHub Actions 中运行的自动化仓库代理,利用您熟悉的编码代理(如 GitHub Copilot、Claude 或 Codex)来执行事件触发、周期性或计划性的任务,例如改进代码、维护文档和分析仓库。该项目由 GitHub Next 和 Microsoft Research 开发,强调安全性和强有力的护栏机制,默认以最小权限运行,并使用经过严格审批的安全输出进行写操作。
如何有效地使用AI编写高质量代码
人工智能在如今的代码编写中几乎是不可或缺的,但如何才能让你仍然为自己的手艺感到自豪呢?本文将介绍一套工作流程,指导你如何利用AI工具有效地编写高质量、健壮的代码。关键策略包括:建立清晰的愿景、维护精确的文档、构建辅助AI的调试系统、标记代码审查级别、自己编写高层级规范和测试、隔离接口测试的上下文、使用严格的Linting和格式化规则、采用特定于上下文的代理提示、标记高安全风险函数、尽可能降低代码复杂度、通过实验和原型探索问题,以及避免盲目或一次性生成过多复杂代码。
Haskell for all: Beyond agentic coding
作者对“代理式编码”(agentic coding)持保留态度,认为它未能提高生产力,反而削弱了用户对代码库的熟悉程度。文章通过个人经验、面试观察和研究报告佐证了这一观点。作者主张AI辅助软件开发应转向更符合“平静技术”(Calm Technology)原则的范式,目标是让用户尽可能长时间地保持心流状态。文章列举了非LLM的平静技术示例,如代码中的内嵌提示(Inlay hints)和文件树预览,并分析了聊天式代理如何违背这些原则。最后,作者提出了AI辅助平静技术的设想,包括基于语义面的项目导航、自动化的Commit重构以及“文件透镜”(File lens)等创新性界面。
**翻译:**
**标题:** Haskell for all:超越代理式编码
**摘要:** 作者对“代理式编码”(agentic coding)持保留态度,认为它未能提高生产力,反而削弱了用户对代码库的熟悉程度。文章通过个人经验、面试观察和研究报告佐证了这一观点。作者主张AI辅助软件开发应转向更符合“平静技术”(Calm Technology)原则的范式,目标是让用户尽可能长时间地保持心流状态。文章列举了非LLM的平静技术示例,如代码中的内嵌提示(Inlay hints)和文件树预览,并分析了聊天式代理如何违背这些原则。最后,作者提出了AI辅助平静技术的设想,包括基于语义面的项目导航、自动化的Commit重构以及“文件透镜”(File lens)等创新性界面。
软件工程回归
作者认为,自从2025年12月以来,随着前沿模型和编码代理的出现,软件工程取得了显著进步。他将这种进步称为“自动化编程”,认为它能够取代大量繁琐的手动编码工作(如框架和样板代码),使工程师能够专注于架构、产品决策等更有价值的“真正的复杂性”。作者批评了过去多年来过度依赖无意义、昂贵且有缺陷的框架,认为这是“智力上的投降”,并呼吁工程师们利用这些新工具,回归到真正属于自己的、聚焦于核心创意的工程实践中。
OpenClaw 正在改变我的生活
作者分享了使用 OpenClaw 的最新体验,认为它带来了革命性的变化。此前,虽然 Claude Code 等工具提升了编码效率,但作者仍是代码的执行者。OpenClaw 使得作者可以完全从编程环境中抽身,仅通过对话(包括手机上的语音)就能独立处理项目的开发、测试、部署和使用。OpenClaw 作为一个通用代理,其独立工作能力、持久的记忆和通过意图驱动的流程,真正将作者的角色从代码执行者转变为“超级管理者”,使作者离拥有一个能够实现其想法的“虚拟团队”的梦想更近了一步。
AI 让简单的事情更简单,让困难的事情更困难
这篇文章探讨了人工智能在软件开发中的应用及其带来的影响。作者认为,AI 擅长处理编写代码这些相对容易的部分,但留下了更困难的任务,如调查、理解上下文和验证假设。过度依赖 AI 可能会导致开发者跳过关键的调查步骤,从而对他们没有足够背景知识去评估 AI 生成的代码感到困惑。作者还指出,如果团队因快速交付(可能得益于 AI)而设定了不可持续的冲刺期望,可能会导致倦怠和产品质量下降。作者认为,AI 辅助更像是一种高级技能,需要像对待初级工程师一样谨慎地对待其输出,而负责任地拥有代码的责任依然存在,即使代码是 AI 生成的。最后,作者分享了一个生产环境中利用 AI 帮助快速定位时区错误的积极案例,展示了 AI 如何在“困难部分”提供帮助。
wavetermdev/waveterm
An open-source, cross-platform terminal for seamless workflows
meshery/meshery
Meshery, the cloud native manager
jesseduffield/lazygit
simple terminal UI for git commands
github/gh-aw
GitHub Agentic Workflows
wailsapp/wails
Create beautiful applications using Go
infracost/infracost
Cloud cost estimates for Terraform in pull requests💰📉 Shift FinOps Left!
ollama/ollama
Get up and running with Kimi-K2.5, GLM-4.7, DeepSeek, gpt-oss, Qwen, Gemma and other models.
ramonvermeulen/whosthere
Local Area Network discovery tool with a modern Terminal User Interface (TUI) written in Go. Discover, explore, and understand your LAN in an intuitive way. Knock Knock.. who's there? 🚪
external-secrets/external-secrets
External Secrets Operator reads information from a third-party service like AWS Secrets Manager and automatically injects the values as Kubernetes Secrets.
mudler/LocalAI
🤖 The free, Open Source alternative to OpenAI, Claude and others. Self-hosted and local-first. Drop-in replacement, running on consumer-grade hardware. No GPU required. Runs gguf, transformers, diffusers and many more. Features: Generate Text, MCP, Audio, Video, Images, Voice Cloning, Distributed, P2P and decentralized inference
aquasecurity/trivy
Find vulnerabilities, misconfigurations, secrets, SBOM in containers, Kubernetes, code repositories, clouds and more
dlvhdr/gh-dash
A rich terminal UI for GitHub that doesn't break your flow.
AlistGo/alist
🗂️A file list/WebDAV program that supports multiple storages, powered by Gin and Solidjs. / 一个支持多存储的文件列表/WebDAV程序,使用 Gin 和 Solidjs。
loft-sh/vcluster
vCluster - Create fully functional virtual Kubernetes clusters - Each vcluster runs inside a namespace of the underlying k8s cluster. It's cheaper than creating separate full-blown clusters and it offers better multi-tenancy and isolation than regular namespaces.
rcourtman/Pulse
Real-time monitoring for Proxmox, Docker, and Kubernetes with AI-powered insights, smart alerts, and a beautiful unified dashboard
SagerNet/sing-box
The universal proxy platform
pocketbase/pocketbase
Open Source realtime backend in 1 file
ViRb3/wgcf
🚤 Cross-platform, unofficial CLI for Cloudflare Warp
编辑:Tony Bai
编辑主页:tonybai.com
GopherDaily项目:github.com/bigwhite/gopherdaily
Copyright 2019-2024 GopherDaily