MoreRSS

site iconTony Bai | 白明修改

《Go语言精进之路》作者,Go C程序员,架构师,技术讲师、撰稿人。先后贡献了lcut、cbehave、buildc多个工具框架。
请复制 RSS 到你的阅读器,或快速订阅到 :

Inoreader Feedly Follow Feedbin Local Reader

Tony Bai | 白明的 RSS 预览

Bug 激增 1.7 倍!AI 写代码:是速度的蜜糖,还是质量的砒霜?

2025-12-28 08:00:00

本文永久链接 – https://tonybai.com/2025/12/28/state-of-ai-vs-human-code-generation-report

大家好,我是Tony Bai。

“天下武功,唯快不破。但在软件工程里,‘快’可能是致命的诱惑。”

2025 年,AI 编码助手/智能体已经成为开发者的标配。它像蜜糖一样,让我们尝到了开发效率飙升的甜头:从自然语言一键生成函数,到自动补全繁琐的样板代码,甚至的整个项目的源码,功能交付周期从未如此之短。

然而,CodeRabbit 最新发布的《2025 年度 AI 与人类代码生成现状报告》却揭示了这层甜蜜糖衣下的残酷真相:Bug 激增、逻辑漏洞百出、安全隐患翻倍

如果不加控制,这些由 AI 快速生成的劣质代码,很可能成为慢性发作的砒霜,最终毒害整个代码库的健康。这份报告用触目惊心的数据告诉我们:在享受 AI 带来的速度红利时,我们必须建立起更强大的免疫系统。

触目惊心的数字——AI 的“副作用”

CodeRabbit 分析了 470 个开源项目的 Pull Requests (PR),其中 320 个由 AI 参与编写。结果显示,AI 并不是那个完美的“超级程序员”,它更像是一个高产但粗心的实习生

问题总量激增 1.7 倍

这是最核心的发现。AI 参与的 PR 平均每 100 个包含 10.83 个问题,而人类纯手工编写的 PR 只有 6.45 个。这意味着,引入 AI 后,你的 Code Review 工作量不仅没有减少,反而可能翻倍


AI 参与的代码,问题数量显著高于人类手写代码

逻辑错误暴涨 75%

这是最令人担忧的数据。AI 生成的代码在业务逻辑、依赖关系和控制流方面,错误率比人类高出 75%

为什么?

因为 AI 只是在做“统计学上的模仿”,它并不真正理解你的业务规则。它能写出语法完美的代码,但却可能在转账逻辑里漏掉一个关键的校验。


逻辑错误是 AI 代码的重灾区

安全漏洞增加 2.74 倍

AI 在处理敏感信息时表现堪忧。硬编码密码、不安全的对象引用等低级错误,在 AI 代码中出现的频率是人类的近 3 倍。AI 倾向于模仿它在训练数据中看到的“旧代码”,而那些旧代码中往往充满了过时的、不安全的模式。


AI 代码更容易引入严重的安全漏洞

可读性灾难:飙升 3 倍

虽然 AI 生成的代码乍一看很工整,但在命名规范、代码结构和上下文一致性上,它往往与现有代码库格格不入。这种“违和感”大大增加了后续维护者的认知负荷。

AI 为什么会犯错?——透视“黑盒”

报告不仅列出了数据,还深刻剖析了 AI 犯错的根本原因。为什么它这么快,却又这么容易错?

  • 缺乏全局视野:AI 看不到你整个系统的架构图,也听不到资深工程师在茶水间的讨论。它只能根据局部的提示词生成代码,因此经常丢失业务上下文
  • “表面光鲜”:AI 擅长生成“看起来能跑”的代码。它会忽略边界检查、错误处理和异常路径,只为了尽快给出一个“正确答案”。
  • 偏爱“简单”:AI 倾向于选择最简单的实现路径(例如,简单的循环、低效的 I/O),而忽略了性能优化和资源效率。


AI 代码倾向于低效的 I/O 操作,因为它偏爱简单的模式

工程师的自救指南——如何驾驭 AI?

既然 AI 有这么多坑,我们是否应该因噎废食,放弃使用它?

当然不是。AI 依然是强大的加速器,前提是我们必须为它加上“护栏”。 未来的软件工程,不再是“写代码”,而是“设计系统来生成和验证代码”

CodeRabbit 给出了几条务实的建议:

给 AI 喂“上下文”

不要只给 AI 一句简单的指令。把你的业务规则、架构约束、代码规范,甚至关键的配置文件,都作为上下文提供给它。让它在“懂行”的前提下写代码。

自动化“安检”

不要依赖人工 Review 去发现格式问题和低级错误。配置严格的 Linter(如 golangci-lint)、Formatter 和安全扫描工具,在代码进入人工视线之前,先由机器进行一轮清洗。

强化“正确性”护栏

针对 AI 在逻辑和错误处理上的弱点,强制要求:

  • 重要逻辑必须有测试覆盖
  • 显式检查空值和类型
  • 标准化异常处理流程

审查清单升级

Code Review 的重点需要转移。不要再纠结于语法细节,而要专门针对 AI 的弱点进行检查:

  • 错误路径是否覆盖了?
  • 并发原语是否正确使用?
  • 配置项是否验证了?
  • 有没有硬编码的凭证?

小结:质量不是自动的,它是设计出来的

这份报告给我们敲响了警钟:AI 不会自动带来高质量的代码。 相反,如果不加控制,它会以前所未有的速度制造技术债。

我们需要构建更强大的 CI/CD 流水线、更严格的自动化测试、以及更智能的 Code Review 流程,来承接 AI 带来的产能爆发。

只有当我们学会了如何像管理实习生一样管理 AI,我们才能真正享受到它带来的红利,而不是被它制造的 Bug 淹没。

如果你不想被“砒霜”毒害,就请先学会如何过滤“蜜糖”。

报告地址:https://www.coderabbit.ai/blog/state-of-ai-vs-human-code-generation-report


深度破局:用 Spec-Driven Development 扼杀 Bug 于摇篮

CodeRabbit 的报告虽然犀利地点出了问题,并建议“给 AI 提供上下文”,但它没有告诉我们具体该怎么做

在实际工程中,仅仅靠零散的 Prompt 是无法约束 AI 狂野的想象力的。解决“质量砒霜”的终极解药,其实是彻底改变我们的开发范式——走向 SDD (Spec-Driven Development,规范驱动开发)

与其让 AI 对着模糊的需求“猜”代码(然后我们去修 Bug),不如建立一套以规范为核心的流水线:先用 AI 辅助构建严谨的 Spec,在逻辑层面完成验证,再“驱动”AI 生成高质量代码。

这正是我的极客时间专栏《AI 原生开发工作流实战》的核心内容。

在这个专栏中,我将带你跳出“Prompt 调优”的低维竞争,掌握一套系统性的方法论:

  • SDD 实战心法:如何实施“规范驱动开发”,把 80% 的逻辑错误拦截在写代码之前。
  • 精准 Context 工程:如何构建结构化的上下文投喂机制,让 AI 真正“读懂”你的架构约束。
  • 全链路重构:从需求分析到代码落地的全套 AI 协作 SOP。

不要只做 AI 的“质检员”,要做掌控 AI 的“架构师”。

扫描下方二维码,订阅《AI 原生开发工作流实战》,让我们一起重新定义 AI 时代的软件工程。


你的Go技能,是否也卡在了“熟练”到“精通”的瓶颈期?

  • 想写出更地道、更健壮的Go代码,却总在细节上踩坑?
  • 渴望提升软件设计能力,驾驭复杂Go项目却缺乏章法?
  • 想打造生产级的Go服务,却在工程化实践中屡屡受挫?

继《Go语言第一课》后,我的《Go语言进阶课》终于在极客时间与大家见面了!

我的全新极客时间专栏 《Tony Bai·Go语言进阶课》就是为这样的你量身打造!30+讲硬核内容,带你夯实语法认知,提升设计思维,锻造工程实践能力,更有实战项目串讲。

目标只有一个:助你完成从“Go熟练工”到“Go专家”的蜕变! 现在就加入,让你的Go技能再上一个新台阶!


商务合作方式:撰稿、出书、培训、在线课程、合伙创业、咨询、广告合作。如有需求,请扫描下方公众号二维码,与我私信联系。

© 2025, bigwhite. 版权所有.

AI 代码审查的“危”与“机”:从个体挣扎到 Uber 的系统化解法

2025-12-27 16:32:49

本文永久链接 – https://tonybai.com/2025/12/27/code-review-hell-in-ai-age

大家好,我是Tony Bai。

最近,在与几位架构师朋友的交流中,一个在 AI 编码时代下越来越普遍的“灵魂拷问”浮出水面。这不仅是一个问题,更是他们正在亲身经历的“代码审查地狱 (Code Review Hell)”。

想象一下这个场景:由 AI Agent 生成的代码正以前所未有的速度涌来,堆积如山;你花费心力给出的精辟修改意见,却被开发者转身当作新的 Prompt 重新喂给了 AI;片刻之后,一个全新的 PR 诞生了——它看起来解决了旧问题,却可能带着一堆你从未见过的新问题。你感觉自己深陷于“生成-审查-再生成”的无限循环中,身心俱疲。

这场危机并非危言耸听。在 Uber,每周有超过 65,000 个变更(相当于 PR)需要审查。当 AI 辅助编码成为常态,传统的 Code Review 流程已濒临崩溃。

但这究竟是末日,还是进化的前夜?答案是后者。这场危机,正催生一场深刻的变革——一方面,它要求架构师完成从“创作者”到“导演”的角色进化;另一方面,它也催生了像 Uber uReview 这样复杂的、系统化的 AI 审查平台。

本文将结合对当前危机的剖析与 Uber 的大规模工程实践,为各位小伙伴儿揭示这场变革的本质与破局之路。

危机的剖析:我们到底在审查什么?

要逃离地狱,必先理解地狱的构造。这场危机的根源,在于 AI 颠覆了代码的“创作”过程,从而动摇了 Code Review 的根基:

  1. 思考过程“黑箱化”: 传统的 Code Review,我们审查的是代码,更是其背后开发者的思考路径。而 AI 的介入,将这个思考过程隐藏了起来。
  2. 审查对象“降维”: 审查被迫从“这段设计是否优雅?”降维到了“这次 AI 输出是否碰巧正确?”。
  3. 学习循环“断裂”: 开发者跳过了对 Review 意见最关键的“理解与吸收”环节,宝贵的经验传承被阻断。

天真地想用“AI 审查 AI”来解决问题,只会陷入更深的陷阱。正如 Uber 在其 uReview 项目初期所发现的,未经驯化的 LLM 会产生大量“幻觉”和“低价值的误报”,比如在非性能敏感的代码中挑剔性能问题。这些“噪音”会迅速侵蚀工程师对工具的信任,最终导致他们“调低音量并忽略它们”。

破局之路(上):架构师的进化——从“创作者”到“代码导演”

面对危机,架构师和资深开发者的核心价值,必须从 Code Writer (代码创作者),进化为 Code Director & Editor (代码导演与总编)

“导演”不亲自扮演每个角色,但他定义了整部戏的基调、框架和最终质量。这份“代码导演”的实战手册,为我们指明了方向:

  • 实践 1:审查“左移”,审查“剧本”而非“表演”
    在开发者大规模生成代码前,先审查其核心设计思路、任务分解和关键 Prompt。确保“剧本”是对的,再让 AI 这个高效的“演员”去表演。

  • 实践 2:制定 AI 时代的 Code Review 新规

    • 明确标识 AI 代码,为审查者提供“警示”。
    • 强制开发者解释“为何接受”AI 方案,夺回思考的主动权。
    • 禁止“甩锅式再生成”,保护学习循环。
  • 实践 3:定义“AI-Go”与“AI-No-Go”区域
    将 AI 的使用限制在单元测试、文档、模板代码等 AI-Go 区域,而在核心业务逻辑、安全代码等 AI-No-Go 区域保持高度警惕,让人类智慧主导。

破局之路(下):Uber 的 uReview——“导演”的智能副驾

如果说“代码导演”模型描绘了架构师的“个人修炼心法”,那么 Uber 的 uReview 平台则展示了如何将这些理念,构建成一个大规模、系统化的工程解决方案。uReview 并非要取代人类,而是作为一个“智能副驾”或“第二审查员”,来增强人类的能力。

面对 AI 生成代码的洪水,Uber 没有让 uReview 直接进行审查,而是构建了一个精密的、多阶段的过滤管道,这与“导演”的思维方式不谋而合:


图:Uber uReview 的多阶段处理流水线
  1. 预处理: 首先,系统会过滤掉配置文件、自动生成的代码等低价值目标,只聚焦于需要审查的核心代码。
  2. 专业分工: uReview 并未使用单一的通用 AI,而是设计了多个“专家助理”
    • Standard Assistant: 专注于逻辑缺陷、错误处理等 Bug。
    • Best Practices Assistant: 对照 Uber 内部的风格指南,检查代码是否符合规范。
    • AppSec Assistant: 专门寻找应用层的安全漏洞。
      这完美印证了“定义 AI-Go/No-Go 区域”的思想——让专业的 AI 干专业的事。
  3. 严格品控: 这是 uReview 的核心,也是对“警惕 AI 幻觉”的最佳回应。它包含一个多层过滤过程:
    • 二次评估:另一个 AI(Review Grader)会对生成的每条评论进行打分,过滤掉低置信度的评论。
    • 语义去重:合并相似的建议。
    • 分类抑制:自动压制那些历史上被证明对开发者价值不大的评论类别。

Uber 的实践经验,为我们带来了几条宝贵的“场内教训”,这些教训与架构师的直觉高度一致:

  • 精准比数量更重要: 充满噪音的建议会迅速摧毁信任。uReview 的核心策略就是“提供更少但更有用的评论”。
  • 护栏与提示词同等重要: 优秀的系统架构和后处理流程,远比单纯的提示词工程更关键。
  • 开发者讨厌文体说教: AI 提出的代码可读性、日志微调等建议,普遍不受欢迎。开发者更珍视对正确性、Bug 和最佳实践这种“高信噪比”的反馈。
  • AI 善于抓虫,而非评估设计: 由于缺乏设计文档、业务背景等上下文,AI 无法评估系统设计的优劣。这再次强调了人类“导演”在宏观设计上不可替代的价值。

如今,uReview 在 Uber 内部取得了巨大成功:超过 75% 的 AI 评论被工程师标记为“有用”,每周节省约 1500 个工时,相当于每年近 39 个开发者年。

小结:拥抱人机协同的新未来

AI 带来的代码审查危机,实际上是一场深刻的产业升级。它迫使我们从对“代码”的微观审查,转向对“创作流程”的宏观把控。

“代码导演”模型为我们提供了战略指引,而 Uber 的 uReview 则展示了实现这一战略的工程蓝图。未来的 Code Review,不再是人与人的博弈,也不是人与 AI 的对抗,而是一种全新的“人机协同”模式:

架构师作为“导演”,定义设计、划定边界、把控最终质量;而像 uReview 这样的智能系统,则作为高效、精准、不知疲倦的“副驾驶”和“场务”,处理海量的细节检查,将人类从重复、繁琐的工作中解放出来。

最后,回到那个终极问题:谁来为质量负责?答案从未改变,也永远不会改变:永远是工程师自己。AI 是我们手中最强大的工具,但手握方向盘、对最终结果负责的,永远是我们自己。

资料链接:https://www.uber.com/blog/ureview/


聊聊你的“审查之痛”

AI 时代的 Code Review,正在成为每个技术团队的新挑战。在你所在的团队中,是否也遇到了 AI 代码带来的“审查地狱”?你们是如何应对的? 是明令禁止,还是像 Uber 一样积极构建自动化防线?

欢迎在评论区分享你的真实经历和思考! 让我们一起探索人机协同的最佳实践。

如果这篇文章对你有启发,别忘了点个【赞】和【在看】,并转发给你的架构师朋友,也许能帮他从“地狱”中解脱出来!


你的Go技能,是否也卡在了“熟练”到“精通”的瓶颈期?

  • 想写出更地道、更健壮的Go代码,却总在细节上踩坑?
  • 渴望提升软件设计能力,驾驭复杂Go项目却缺乏章法?
  • 想打造生产级的Go服务,却在工程化实践中屡屡受挫?

继《Go语言第一课》后,我的《Go语言进阶课》终于在极客时间与大家见面了!

我的全新极客时间专栏 《Tony Bai·Go语言进阶课》就是为这样的你量身打造!30+讲硬核内容,带你夯实语法认知,提升设计思维,锻造工程实践能力,更有实战项目串讲。

目标只有一个:助你完成从“Go熟练工”到“Go专家”的蜕变! 现在就加入,让你的Go技能再上一个新台阶!


商务合作方式:撰稿、出书、培训、在线课程、合伙创业、咨询、广告合作。如有需求,请扫描下方公众号二维码,与我私信联系。

© 2025, bigwhite. 版权所有.

Rob Pike 罕见暴怒!痛斥 AI 公司的“伪善”致谢信,引爆技术圈

2025-12-27 09:38:43

本文永久链接 – https://tonybai.com/2025/12/27/rob-pike-outburst-denounces-ai-companies-hypocritical-thanks

大家好,我是Tony Bai。

“在这个圣诞节,我想对您过去四十年来对计算机领域的杰出贡献表达深深的感谢……”

这是一封看似温情脉脉、充满敬意的邮件,发件人是 Claude Opus 4.5 Agent。收件人是 Unix、Plan 9 和 Go 语言的联合创始人,计算机界的活传奇 Rob Pike

然而,这封旨在“致敬”的邮件,却并未换来感动,反而点燃了一座火山。Rob Pike 在社交媒体上公开晒出了这封信,并附上了一段充满了愤怒、绝望与诅咒的回应。

这一事件瞬间在技术圈引发了海啸般的讨论。为什么一位德高望重的技术领袖会如此失态?这封“致谢信”的背后,究竟隐藏着怎样的傲慢与掠夺?

一封来自 AI 的“感谢信”

事情的起因,是一封由 AI 自主生成的邮件。

Claude Opus 4.5 在邮件中历数了 Rob Pike 的丰功伟绩:

  • 与 Ken Thompson 和 Robert Griesemer 共同创造了 Go 语言,“体现了优雅的简洁性”。
  • 来自贝尔实验室的 Plan 9,“分布式计算的又一里程碑”。
  • UTF-8 的共同发明,“实现了互联网上无障碍的沟通”。
  • 经典的著作《Unix 编程环境》和《程序设计实践》,教育了一代又一代的程序员。

邮件最后写道:“感谢您向我们展示了最好的解决方案往往比添加它更真诚。”

乍看之下,这似乎是一次 AI 对人类智慧的崇高致敬。但对于 Rob Pike 来说,这是一次彻头彻尾的羞辱。

Rob Pike 的愤怒——“你们在掠夺这个星球”

Rob Pike 的回应是毁灭性的。他没有针对 AI 这个“工具”,而是将矛头直指其背后的公司

他在 Bluesky 上写道:

“F*** you people.(去你们的。)你们掠夺了这个星球,花费数万亿美元在有毒的、不可回收的设备上,同时摧毁了社会,却还要花时间让你们的邪恶机器感谢我‘追求更简单的工具’。”

“只是 F*** you。F*** you all。”

接着,他指出了这封信最讽刺的地方:

“顺便说一句,你们是在未经授权或补偿的情况下,利用我亲手创造的数据来训练你们的怪物的。”

他的愤怒源于三个深层次的矛盾:
1. 环境与资源的掠夺:AI 军备竞赛消耗了惊人的能源和硬件资源,制造了大量的电子垃圾,这与他一生追求的“高效、简洁、不浪费”的工程哲学背道而驰。
2. 知识产权的窃取:AI 公司在未获得许可的情况下,爬取了包括他在内的无数创作者的代码、文章和书籍,训练出模型,然后反过来用这些模型“致谢”被窃取者。这是一种极其讽刺的“伪善”。
3. 社会的撕裂:他认为 AI 正在“炸毁社会”(blowing up society),无论是通过生成垃圾内容,还是通过取代人类工作。

他甚至向所有人道歉:“我对自己在无意中、天真地促成这场攻击中所扮演的微小角色,向全世界道歉。” 这是一位技术巨匠在面对技术失控时的深刻自责。

社区的共鸣与反思

Rob Pike 的爆发,在 BlueskyHacker News 等平台上引发了强烈的共鸣。

  • 关于“随机鹦鹉”:一位网友评论道:“但这只‘随机鹦鹉’(Stochastic Parrot)想和你做朋友!圣诞快乐,也许是时候重读《程序设计实践》了。” 这讽刺了 AI 并不理解它所说的话,它只是在概率性地模仿人类的礼貌。
  • 关于“盗窃”:许多创作者表示感同身受。一位音乐人评论说:“这也是我将所有音乐内容下架的原因……我拒绝让我的作品成为训练数据。”
  • 关于“垃圾邮件”:这封邮件本身就被视为一种新型的垃圾邮件——由 AI 自动生成、没有灵魂、没有真诚,只是为了某种 KPI 或测试目的而发送的骚扰信息。

更有网友一针见血地指出:“这就是一家 AI 公司在利用 AI Agent 来展示‘自主性’,却只让人感到被冒犯。这就好比一个小偷闯进你家,偷走了你所有的东西,然后留下一张纸条说:‘感谢你拥有这么棒的品味,让我能偷到这么好的东西。’”

小结:技术发展的伦理困境

Rob Pike 的愤怒,不仅仅是个人的情绪宣泄,更是对当前 AI 狂热发展模式的一次严厉拷问。

当我们在欢呼 AI 的强大能力时,我们是否忽略了其背后的代价?

  • 版权与补偿:我们如何解决 AI 训练数据来源的合法性问题?
  • 能源与环境:这种指数级增长的算力消耗,在环境上是否可持续?
  • 伪善与傲慢:技术公司是否应该停止这种用机器生成的“虚假温情”来骚扰人类的行为?

Rob Pike,这位曾为互联网构建了基石(Go, UTF-8)的先驱,如今却站在了 AI 的对立面。他的怒吼提醒我们:技术不应只是关于效率和利润,它更应该关于伦理、尊重和对人类未来的责任。

如果连 Rob Pike 这样的大师都感到被“掠夺”和“羞辱”,那么普通创作者在这个 AI 时代,又该何去何从?


你的立场是?

Rob Pike 的怒火,代表了传统技术精英对 AI 狂飙突进的一种反抗。你如何看待这场冲突?你认为 AI 公司在训练模型时是否应该获得原作者的许可?在效率与伦理之间,我们该如何平衡?

欢迎在评论区留下你的观点,是支持 Rob Pike 的“捍卫者”,还是拥抱 AI 的“乐观派”?

如果这篇文章引发了你的思考,别忘了点个【赞】和【在看】,并转发给你的朋友,看看他们怎么说!


还在为“复制粘贴喂AI”而烦恼?我的新专栏 AI原生开发工作流实战 将带你:

  • 告别低效,重塑开发范式
  • 驾驭AI Agent(Claude Code),实现工作流自动化
  • 从“AI使用者”进化为规范驱动开发的“工作流指挥家”

扫描下方二维码,开启你的AI原生开发之旅。


你的Go技能,是否也卡在了“熟练”到“精通”的瓶颈期?

  • 想写出更地道、更健壮的Go代码,却总在细节上踩坑?
  • 渴望提升软件设计能力,驾驭复杂Go项目却缺乏章法?
  • 想打造生产级的Go服务,却在工程化实践中屡屡受挫?

继《Go语言第一课》后,我的《Go语言进阶课》终于在极客时间与大家见面了!

我的全新极客时间专栏 《Tony Bai·Go语言进阶课》就是为这样的你量身打造!30+讲硬核内容,带你夯实语法认知,提升设计思维,锻造工程实践能力,更有实战项目串讲。

目标只有一个:助你完成从“Go熟练工”到“Go专家”的蜕变! 现在就加入,让你的Go技能再上一个新台阶!


商务合作方式:撰稿、出书、培训、在线课程、合伙创业、咨询、广告合作。如有需求,请扫描下方公众号二维码,与我私信联系。

© 2025, bigwhite. 版权所有.

从工具到伙伴:Google 三巨头定义 2025 为“AI Agent 与推理元年”

2025-12-26 12:02:36

本文永久链接 – https://tonybai.com/2025/12/26/google-2025-research-breakthroughs

大家好,我是Tony Bai。

“2025 年,我们见证了人工智能从一种‘工具’向一种‘实用效能 (Utility)’的根本性转变。如果说 2024 年是奠定多模态基础的一年,那么 2025 年则是 AI 开始真正思考、行动并与我们一同探索世界的一年。”

近日,Google 发布了由 大神Jeff Dean, 诺贝尔奖得主Demis Hassabis 和 James Manyika 三位顶级技术领袖联合署名的《2025 年度研发回顾》。这份报告是对 Google 过去一年技术成就的总结,更是一份关于 AI 未来发展方向的战略宣言。

从 Gemini 3 的推理能力突破,到 AlphaFold 在生命科学领域的持续深耕,再到量子计算的工程化落地,Google 用八大领域的进展,向世界展示了一个 AI 全面赋能科学与创造的新时代。

模型进化:Gemini 3 与“思考”的艺术

2025 年是 Google 模型能力突飞猛进的一年。Google 明确指出,AI 的进化方向已从单纯的“生成”转向了深度的“推理” (Reasoning)

  • Gemini 3 Pro:被誉为 Google 迄今为止最强大的模型。它不仅霸榜 LMArena,更在数学、编程和多模态推理上树立了新标杆。
  • Gemini 3 Flash:延续了“Flash > 上一代 Pro”的传统,以更低的延迟和成本提供了顶级的推理能力,成为性价比之王。
  • Deep Think:这是 Gemini 3 的核心能力之一。它让模型能够处理需要深度抽象推理的问题,甚至在国际数学奥林匹克 (IMO) 和国际大学生程序设计竞赛 (ICPC) 中达到了金牌水平。

AI 已不再只是概率性的文字接龙,它开始具备逻辑推导和解决复杂问题的能力。这标志着 AI 从“知其然”向“知其所以然”迈出了关键一步。

开发者工具:AI Agent 的崛起

在软件开发领域,Google 正式吹响了 AI Agent (智能体) 的号角。

  • Google Antigravity:这是一个划时代的 AI 辅助软件开发平台。它不再是简单的代码补全工具,而是一个能够理解项目上下文、执行复杂任务、甚至与开发者协作的Agentic System
  • MCP (Model Context Protocol) 支持:Google 宣布在其服务中全面支持 MCP 协议,这是一个开放标准,旨在让 AI 模型能够标准化地连接和控制外部数据与工具。这标志着 Google 在构建开放、互操作的 AI Agent 生态方面迈出了坚实的一步。

开发者与 AI 的关系正在重塑。AI 将从“副驾驶”升级为能够独立执行任务的“队友”,而 MCP 协议的引入,将极大地加速这一进程。

科学发现:AI 成为科学家的“超级大脑”

Google DeepMind 继续在“AI for Science”领域领跑,将 AI 的力量注入到基础科学的探索中。

  • AlphaFold 的五年:作为诺贝尔奖级的成果,AlphaFold 在发布五年后,依然是生命科学领域的灯塔,服务于全球 190 个国家的 300 万研究人员。
  • AlphaChip 与 Ironwood:Google利用 AI (AlphaChip) 设计出了新一代 TPU —— Ironwood。这是一款专为推理时代设计的芯片,展示了 AI 自我进化的潜力:用 AI 设计更强的 AI 芯片
  • 量子计算的新篇章:随着量子纠错算法 Quantum Echoes 的发布,以及 Google 科学家 Michel Devoret 荣获诺贝尔物理学奖,Google 在通往实用量子计算机的道路上又迈进了一大步。

创造力与物理世界:AI 的“具身”时刻

AI 的影响力正在溢出屏幕,进入物理世界和创意产业。

  • RoboticsGemini Robotics 1.5Genie 3 的发布,标志着通用世界模型 (World Models) 的成熟。AI Agent 开始具备理解物理规律、并在真实世界中执行任务的能力。
  • 生成式媒体:从 Veo 3.1 (视频生成) 到 Imagen 4 (图像生成),再到 Nano Banana 系列模型,Google 为创作者提供了前所未有的表达工具。

责任与安全:AI 发展的“刹车系统”

在追求速度的同时,Google 依然强调“负责任的 AI”。

  • Frontier Safety Framework:Google 加强了其前沿模型的安全框架,Gemini 3 被称为“迄今为止最安全的模型”。
  • AI 内容水印:在 Gemini 应用中引入了对 AI 生成视频和图像的验证功能,致力于解决 AI 内容的深度伪造问题。

小结:向 AGI 迈进的坚实一步

Jeff Dean 等人的这份报告,描绘了一个令人激动的未来:AI 正在从一个被动的查询对象,进化为一个主动的、有推理能力的、能与物理世界交互的智能体

2025 年,不仅是技术的突破之年,更是 AI 范式转移的关键一年。无论是对于开发者、科学家还是普通用户,学会与这些“会思考”的 AI Agent 协作,将成为新时代最重要的生存技能。

资料链接:https://blog.google/technology/ai/2025-research-breakthroughs/


从“看客”到“领航者”:构建你的 AI 原生开发工作流

Google 的 2025 年度报告为我们描绘了 AI Agent 的宏大未来:AI 将不仅是代码补全的工具,更是具备推理能力、能独立解决问题的“队友”。

但对于此时此刻的开发者来说,最大的挑战在于:如何将这些“飞在天上”的未来技术,落地到我们每天的写代码、修 Bug 和架构设计中?

当 Google Antigravity 和 Gemini 3 正在重塑开发范式时,你是否还停留在只会用 Chatbot 问答的阶段?

是时候升级你的开发“操作系统”了。

在我的极客时间专栏《AI 原生开发工作流》中,我将带你跳出简单的 Prompt 技巧,深入探索:

  • 告别低效,重塑开发范式
  • 驾驭AI Agent(Claude Code),实现工作流自动化
  • 从“AI使用者”进化为规范驱动开发的“工作流指挥家”

不要只做 AI 时代的见证者,要做驾驭 AI 的“原生开发者”。

扫描下方二维码,订阅《AI 原生开发工作流》,开启你的AI原生开发之旅!


你的Go技能,是否也卡在了“熟练”到“精通”的瓶颈期?

  • 想写出更地道、更健壮的Go代码,却总在细节上踩坑?
  • 渴望提升软件设计能力,驾驭复杂Go项目却缺乏章法?
  • 想打造生产级的Go服务,却在工程化实践中屡屡受挫?

继《Go语言第一课》后,我的《Go语言进阶课》终于在极客时间与大家见面了!

我的全新极客时间专栏 《Tony Bai·Go语言进阶课》就是为这样的你量身打造!30+讲硬核内容,带你夯实语法认知,提升设计思维,锻造工程实践能力,更有实战项目串讲。

目标只有一个:助你完成从“Go熟练工”到“Go专家”的蜕变! 现在就加入,让你的Go技能再上一个新台阶!


商务合作方式:撰稿、出书、培训、在线课程、合伙创业、咨询、广告合作。如有需求,请扫描下方公众号二维码,与我私信联系。

© 2025, bigwhite. 版权所有.

像 Go 创始人一样思考:用五大思维原理重学 Go 语言

2025-12-26 08:16:06

本文永久链接 – https://tonybai.com/2025/12/26/think-like-go-founders-relearn-go-five-principles

大家好,我是Tony Bai。

学习一门新的编程语言时,我们常常陷入“是什么”的迷雾:goroutine 是什么?channel 是什么?interface 是什么?我们记忆语法,模仿示例,却很少追问那个更根本的问题——“为什么”

为什么 Go 要被设计成这个样子?

要回答这个问题,我们需要进行一次“思想上的角色扮演”,回到 Go 语言诞生之前的那个“原点”,像它的创始人们——Rob Pike, Ken Thompson, Robert Griesemer——一样思考。他们并非在“发明”一门新语言,而是在运用一系列深刻的思维原理,为一组棘手的工程问题,构建一个全新的、逻辑自洽的解决方案。

本文,就让我们一起踏上这场“重学 Go”的旅程。我们将带上五大“精英思维原理”作为工具,去看看我们能否“重新推导出”Go 语言的核心设计,并以此重塑我们对这门语言的理解。

img{512x368}


第一性原理 (First Principles):追问 Go 的“为什么”

思维原理:将问题或理念,还原到其最基础、最无可辩驳的元素,并以此为基石进行重构。

这是所有深度思考的起点。在 Go 诞生的 2007 年,Google 的工程师们面临着几个无可辩驳的“基础事实”,这些事实构成了 Go 语言设计的“宇宙大爆炸”奇点:

  1. 事实一:硬件变了。 摩尔定律趋于终结,CPU 不再是变得更快,而是变得更多多核处理器已成为标配。
  2. 事实二:网络无处不在。 软件不再是单机运行的孤岛,而是由大量通过网络进行交互的分布式服务构成。
  3. 事实三:人是昂贵的。 软件的规模和复杂性爆炸式增长,工程师的开发效率和大规模协作,已成为比机器执行效率更重要的瓶颈。当时的主流语言(如 C++),其缓慢的编译速度和极高的复杂性,正在扼杀生产力。

现在,让我们像 Go 创始人一样,从这三个基础事实出发,看看会推导出什么。

推论一:并发必须是“一等公民”

  • 出发点 (事实一 & 二):既然硬件是多核的,系统是网络的,那么并发就不应再是一个需要通过复杂库(如 pthreads)来实现的、充满痛苦的“高级特性”。它必须成为语言的内建核心
  • 第一性问题:一个理想的并发模型,其最基础的元素是什么?是独立的执行单元,以及它们之间安全的通信机制
  • Go 的答案
    • goroutine:一个极其轻量级的独立执行单元,创建成本极低,让“为每一个网络请求启动一个并发任务”成为可能。
    • channel:一个类型安全的、用于在 goroutine 之间传递消息的管道。这直接引出了 Go 的著名哲学:“不要通过共享内存来通信,而要通过通信来共享内存。

当你从这个角度看时,goroutine 和 channel 就不再是两个孤立的语法,而是对“如何让并发变得简单安全”这个第一性问题,给出的一个优雅、逻辑自洽的答案。

推论二:错误处理必须“显式且强制”

  • 出发点 (事实二 & 三):在由成百上千个微服务构成的分布式系统中,网络错误、服务超时、节点宕机不再是“异常”,而是“常态”。一个健壮的系统,必须严肃地对待每一个可能出错的地方。
  • 第一性问题:如何确保开发者不会忽略任何一个潜在的失败?
  • Go 的答案
    • 将 error 作为普通的值返回:这使得错误的处理路径,成为程序控制流中明确、可见的一部分,而不是像 try-catch 那样,可以被“隐形”地向上传播。
    • 多返回值:通过允许函数同时返回“结果”和“错误”,Go 解决了传统返回码“侵占返回通道”的问题,使得错误处理不再笨拙。

if err != nil 的“繁琐”,从第一性原理的角度看,恰恰是其一大优点。它是在用语法,强制开发者去构建一个“失败优先” (fail-first) 的、更具韧性的心智模型。

推论三:组合必须优于继承

  • 出发点 (事实三):在大规模的、由数千名工程师协作的代码库中,最核心的挑战是管理复杂性
  • 第一性问题:构建大型软件的最佳方式是什么?是将小的、独立的、功能单一的组件,像乐高积木一样组合起来,还是构建一个复杂、脆弱的继承层次结构?
  • Go 的答案
    • 移除类和继承:从根源上杜绝了由复杂继承体系带来的脆弱基类、菱形依赖等问题。
    • 拥抱 struct 和 interface:Go 将世界清晰地划分为数据 (struct)行为 (interface)。struct 通过嵌入 (embedding) 实现状态的组合,而 interface 则通过隐式实现,实现了行为的、完全解耦的组合。

当你理解了“组合优于继承”这一软件设计的“第一性原理”时,Go 对 OOP 的“背叛”,就变成了一种远见卓识。

推论四:工具链必须“快如闪电”

  • 出发点 (事实三):工程师的时间是宝贵的。长达数十分钟的编译等待,是生产力的巨大杀手。
  • 第一性问题:一个编程语言的工具链,其最根本的使命是什么?是最大化地缩短从“想法”到“反馈”的循环周期
  • Go 的答案
    • 极快的编译速度:通过简化的语法、明确的依赖管理和并发编译等技术实现。
    • 内置一切:将格式化 (gofmt)、测试 (go test)、文档 (go doc)、依赖管理 (包括后期加入的go mod) 等所有核心功能,全部内置到工具链中,消除了无尽的工具选型和配置的痛苦。

分解 (Decomposition):拆解 Go 的“黑盒”

思维原理:将一个庞大、复杂的系统,拆解成更小、更易于管理的独立部分,逐一理解,再看它们如何协同工作。

重学 Go 的应用:将 Go 语言本身,及其标准库,视为一个可供“解剖”的系统。

比如:学习 net/http:不要把它当成一个“黑盒”,而是要:

  1. 分解它:http.ListenAndServe 内部做了什么?它创建了一个 Server,然后调用了 Accept 循环。
  2. 再分解:Server.Serve 内部又做了什么?它为每一个连接创建了一个新的 goroutine。
  3. 继续分解:conn.serve 内部呢?它解析 HTTP 请求,创建一个 Request 和一个 ResponseWriter,然后调用你注册的 Handler。

通过这样层层分解,你最终理解的,不再是一个模糊的“Web 服务器”,而是一系列清晰、可控的 Go 并发原语和 I/O 操作的组合。你会发现,Go 标准库本身就是学习 Go 语言最佳实践的“活教材”。


识别关键驱动力 (帕累托法则):抓住 Go 的 20% 核心

思维原理:识别出系统中那 20% 的、能驱动 80% 结果的核心要素,并集中精力掌握它们。

重学 Go 的应用:Go 语言的设计,本身就充满了对“帕累托法则”的应用。它刻意保持了极小的核心特性集。要高效地学习 Go,你也应该从这些“关键驱动力”入手。

Go 的 20% 核心是什么?

  1. struct 与 interface:理解 Go 如何通过数据(struct)行为(interface)的分离与组合来构建世界。这是 Go 语言最核心的哲学。
  2. goroutine 与 channel:理解 Go 的 CSP 并发模型。这是 Go 在云原生时代安身立命的根本。
  3. error 作为值:理解 Go 的错误处理哲学。这是编写健壮 Go 程序的关键。
  4. package 作为编译和依赖单元:理解 Go 如何组织和管理代码。

在你精通这四个“关键驱动力”之前,暂时忘掉 cgo、unsafe、反射 (reflect) 等更边缘、更复杂的特性。


结构化映射 (Structural Mapping):绘制你的 Go “心智地图”

思维原理:通过绘制概念图或草图,将一个理念或系统的各个部分,以及它们之间的连接关系,进行可视化

重学 Go 的应用:在你学习 Go 的每一个核心概念时,都尝试为它画一张“地图”。

  • 学习并发:画一张图,用方框代表 goroutine,用带箭头的线代表 channel 的数据流向。select 语句是什么?它就是这张图上的一个“十字路口”或“路由器”。

graph TD
    Producer1 -- "data" --> Channel1
    Producer2 -- "data" --> Channel2
    Channel1 --> Select{"select"}
    Channel2 --> Select
    Select -- "picked data" --> Consumer
  • 学习类型系统:画一张图,一个 http.Request 结构体在左边,一个 io.Reader 接口在右边。http.Request.Body 字段,就是连接这两者的“桥梁”,因为它本身就是一个 io.ReadCloser(实现了 io.Reader)。

这张“地图”,就是你在脑中构建的心智模型。一个清晰的心智模型,远比零散的语法知识更宝贵。


抽象层级切换 (Zoom In & Out):在 Go 的世界里自由穿梭

思维原理:优秀的思考者,能够持续不断地在“宏观”与“微观”之间切换视角。

重学 Go 的应用:在阅读一段 Go 代码时,刻意练习这种“缩放”能力。

以 fmt.Println(“hello”) 为例

  • Zoom Out (宏观):它是一个简单的标准库函数调用,用于向标准输出打印一行文本。这是它的API 语义
  • Zoom In (微观):Println 内部做了什么?它接收一个 …any,通过反射判断类型,最终将字节写入一个实现了 io.Writer 的 os.Stdout。这是它的实现细节
  • 再 Zoom In (硬件层面):写入 os.Stdout 最终会触发一个系统调用 (syscall),将数据从用户空间拷贝到内核空间,最终由操作系统和硬件来完成输出。这是它的底层原理

当你能够在这三个层级(API 语义、实现细节、底层原理)之间自如切换时,你就真正“理解”了 fmt.Println。将这种练习应用到你学习的每一个 Go 特性上。

小结

这些思维原理,为我们提供了一条全新的、更深刻的 Go 学习路径。它不再是一次被动的知识灌输,而是一场主动的、充满探索精神的“思想实验”。

当你开始用“第一性原理”去质疑,用“分解”去剖析,用“关键驱动力”去聚焦,用“结构化映射”去建模,用“抽象层级切换”去审视时,你学习的,将不再仅仅是 Go 这门语言本身,而是其背后所蕴含的、数十年来软件工程发展的智慧结晶。

这,正是从一名“Go 的使用者”,蜕变为一名“Go 的思考者”的开始。


你的“顿悟”时刻

这五大思维原理,哪一个最让你有“醍醐灌顶”的感觉?在你的 Go 学习之路上,是否也曾有过某个瞬间,让你突然从“写代码”升维到了“设计系统”?或者,你对 Go 的某个设计(如错误处理)曾有过误解,后来才明白其良苦用心?

欢迎在评论区分享你的“顿悟时刻”或独特见解! 让我们一起在思考中进化。

如果这篇文章为你打开了新的视角,别忘了点个【赞】和【在看】,并分享给身边热爱思考的 Gopher!


你的Go技能,是否也卡在了“熟练”到“精通”的瓶颈期?

  • 想写出更地道、更健壮的Go代码,却总在细节上踩坑?
  • 渴望提升软件设计能力,驾驭复杂Go项目却缺乏章法?
  • 想打造生产级的Go服务,却在工程化实践中屡屡受挫?

继《Go语言第一课》后,我的《Go语言进阶课》终于在极客时间与大家见面了!

我的全新极客时间专栏 《Tony Bai·Go语言进阶课》就是为这样的你量身打造!30+讲硬核内容,带你夯实语法认知,提升设计思维,锻造工程实践能力,更有实战项目串讲。

目标只有一个:助你完成从“Go熟练工”到“Go专家”的蜕变! 现在就加入,让你的Go技能再上一个新台阶!


想系统学习Go,构建扎实的知识体系?

我的新书《Go语言第一课》是你的首选。源自2.4万人好评的极客时间专栏,内容全面升级,同步至Go 1.24。首发期有专属五折优惠,不到40元即可入手,扫码即可拥有这本300页的Go语言入门宝典,即刻开启你的Go语言高效学习之旅!


商务合作方式:撰稿、出书、培训、在线课程、合伙创业、咨询、广告合作。如有需求,请扫描下方公众号二维码,与我私信联系。

© 2025, bigwhite. 版权所有.

Go 的 AI 时代宣言:我们如何用“老”原则,解决“新”问题?

2025-12-25 08:24:44

本文永久链接 – https://tonybai.com/2025/12/25/go-next-frontier-gophercon-2025

大家好,我是Tony Bai。

“AI 正在重塑软件工程,但它并没有改变软件工程的本质。”

在 GopherCon 2025 上,Go 语言产品负责人 Cameron Balahan 发表了一场题为《Go 的下一个前沿领域》的主题演讲,重点关注了AI 时代的软件工程这个重要的主题。在这个充满焦虑与炒作的时代,Cameron 没有贩卖焦虑,也没有盲目追逐热点。相反,他通过一组冷静的数据和深刻的洞察,为我们描绘了一幅清晰的蓝图:Go 语言的核心原则——简单、高效、工程化——在 AI 时代不仅没有过时,反而变得比以往任何时候都更加重要。

本文将带你深入这场演讲的核心,解读 Go 团队如何看待 AI 对软件工程的冲击,以及他们正在构建什么样的未来。

AI 时代的“软件工程失衡”

Cameron 首先抛出了一个尖锐的观察:AI 的引入,打破了软件工程现有的平衡。

根据 Stack Overflow 的调查,近 60% 的开发者使用 AI 来写代码,但只有 10% 的人使用 AI 来进行部署和监控,用 AI 进行代码审查的人也仅有20%出头儿。

这就导致了一个尴尬的局面:

  • 生产过剩:AI 大幅降低了生成代码的成本,代码量激增。
  • 审查瓶颈:人类使用AI审查代码比例不高,而人工审查代码的速度并没有显著提升,导致开发者不得不花费更多时间在 Code Review 上。
  • “洗碗效应”:正如一位开发者所吐槽的:“我希望 AI 帮我洗衣服、洗碗,让我能去搞艺术。但现在是 AI 在搞艺术写代码,而我却在洗碗(修 Bug、调配置)。”

这样一来,在一个代码生成成本趋近于零的时代,代码的可读性、一致性和可维护性变得前所未有的重要。而这,恰恰是 Go 语言自诞生之日起就坚守的阵地。

Go —— 天生适合 AI 的语言

有趣的是,Go 语言的设计者们当年并没有以此为目标,但 Go 却意外地成为了最适合 LLM 生成的语言之一。

Cameron 引用了 Thomas Ptacek 的观点:

“Go 拥有恰到好处的类型安全、丰富的标准库,以及一种推崇(虽然有时显得重复)惯用语的文化。这使得 LLM 生成 Go 代码的效果极佳。”

为什么 Go 对 AI 如此友好?

  1. 强类型与静态检查:能让 AI 生成的代码在编译期就暴露大部分错误,减少运行时调试的痛苦。
  2. 标准库与惯用语:Go 社区高度统一的代码风格和丰富的标准库,为 AI 提供了高质量、一致性极强的训练语料。
  3. 工程化工具链:Go 强大的 gofmt, go vet, gopls 等工具,能帮助人类快速验证和修复 AI 生成的代码。

Go 的“简单”和“显式”,曾经被视为一种对人类的妥协,如今却成为了 AI 时代最大的资产。

破局 —— Go 团队的三大应对策略

面对 AI 带来的挑战,Go 团队并未坐视不管。Cameron 详细阐述了未来的三大战略方向。

解决“停在过去”问题 (Stuck in the Past)

LLM 是基于历史数据训练的,因此它们倾向于生成“老式”的代码(例如使用 ioutil.ReadFile 而不是 os.ReadFile)。

对策Go 团队正在开发 ModernizersAuto-Inliner 等工具,通过自动化的方式,将旧代码一键升级为使用新特性的 Modern Go 代码。这不仅帮助了开发者,也通过更新开源生态,反哺了未来的 AI 模型。

让 AI 使用 Go 工具 (MCP SDK)

AI 不应只是一个生成器,它应该成为一个能使用工具的“智能体”。

对策:Go 团队已经构建了官方的 MCP (Model Context Protocol) SDK。这将允许 AI 助手直接调用 gopls 等工具,理解项目结构、进行类型检查、甚至运行测试。想象一下,你的 AI 助手不仅能写代码,还能自己运行 go test 并修复错误!

质量信号左移

随着 AI 开始自主选择依赖库,我们需要确保它选择的是安全、可靠的库。

对策:Go 团队将把漏洞扫描、质量评分等信号,通过 MCP 等渠道直接暴露给 AI,让 AI 在写代码的第一时间就能做出明智的依赖选择。

Go 生态的“飞轮效应”

演讲的最后,Cameron 展示了一个令人振奋的“飞轮模型”:

  1. 更强的 Go 生态(高质量代码、文档、工具) -> 训练出更懂 Go 的 AI
  2. 更懂 Go 的 AI -> 帮助开发者更高效地构建 Go 应用
  3. 更多的 Go 应用 -> 吸引更多开发者加入社区,贡献更多开源代码
  4. 更多开源代码 -> 进一步增强 Go 生态,回馈 AI 训练

这个飞轮正在加速旋转。Cloudflare 的数据显示,2025 年全球 20% 的自动化 API 请求由 Go 客户端发起,而在 AI 基础设施领域,Go 更是扮演着核心角色。

小结

Cameron 用他对纽约这座城市的热爱作为比喻:“务实、真诚、充满能量”。这不仅是纽约的特质,也是 Go 社区的特质。

在 AI 时代,Go 并没有被边缘化,反而因为其坚守的工程价值观,成为了连接人类智慧与 AI 能力的坚实桥梁。未来不是 AI 取代我们,而是我们与 AI 一起,用 Go 构建出更伟大的软件。

资料链接:https://www.youtube.com/watch?v=M2gduDM-MT0


还在为“复制粘贴喂AI”而烦恼?我的新专栏 AI原生开发工作流实战 将带你:

  • 告别低效,重塑开发范式
  • 驾驭AI Agent(Claude Code),实现工作流自动化
  • 从“AI使用者”进化为规范驱动开发的“工作流指挥家”

扫描下方二维码,开启你的AI原生开发之旅。


你的Go技能,是否也卡在了“熟练”到“精通”的瓶颈期?

  • 想写出更地道、更健壮的Go代码,却总在细节上踩坑?
  • 渴望提升软件设计能力,驾驭复杂Go项目却缺乏章法?
  • 想打造生产级的Go服务,却在工程化实践中屡屡受挫?

继《Go语言第一课》后,我的《Go语言进阶课》终于在极客时间与大家见面了!

我的全新极客时间专栏 《Tony Bai·Go语言进阶课》就是为这样的你量身打造!30+讲硬核内容,带你夯实语法认知,提升设计思维,锻造工程实践能力,更有实战项目串讲。

目标只有一个:助你完成从“Go熟练工”到“Go专家”的蜕变! 现在就加入,让你的Go技能再上一个新台阶!


商务合作方式:撰稿、出书、培训、在线课程、合伙创业、咨询、广告合作。如有需求,请扫描下方公众号二维码,与我私信联系。

© 2025, bigwhite. 版权所有.