跳转到主要内容

软件工程

15 篇
  • 文档驱动:AI 软件工程的第一秘籍

    冯若航 发布于 AI 6458 字 13 分钟

    冯若航AIAgent软件工程文档OINK

    文档驱动:AI 软件工程的第一秘籍

    文档不是代码写完以后的补充,而是写代码之前的输入、开发过程中的工作记忆,以及交付时的验收标准。 前几天写了《AGI 机关枪发下来了》,讲我怎么一个月烧掉十几个 AI 订阅,把手头一堆项目全推了一遍。后台和评论区问得最多的,不是“哪个模型好用”,而是:这么多 AI 写出来的代码,你怎么保证它不是屎山? 这问题问得对。机关枪发下来,人人都能突突;但代码写得快,不等于软件做得好,更不等于半年以后还能维护。所以今天就来聊聊我这几个月用 AI 做工程的路数和心得。 核心总共四条:文档驱动、对抗审查、暴力 …

    文档不是代码写完以后的补充,而是写代码之前的输入、开发过程中的工作记忆,以及交付时的验收标准。 前几天写了《AGI 机关枪发下来了》,讲我怎么一个月烧掉十几个 AI 订阅,把手头一堆项目全推了一遍。后台和评论区问得最多的,不是“哪个模型好用”,而是:这么多 AI 写出来的代码,你怎么保证它不是屎山? 这问题问得对。机关枪发下来,人人都能突突;但代码写得快,不等于软件做得好,更不等于半年以后还能维护。所以今天就来聊聊我这几个月用 AI 做工程的路数和心得。 核心总共四条:文档驱动、对抗审查、暴力 …

  • AGI 机关枪发下来了

    冯若航 发布于 AI 5357 字 11 分钟

    冯若航AIAgent软件工程开源

    AGI 机关枪发下来了

    我的朋友蒋老板一个月糊出四个数据库、一套操作系统、一门编程语言、一个编译器和一颗 CPU,成了当下 AI 狂欢的缩影。 最近这一个半月堪称一场 AI 狂欢:老冯的 Max 订阅大军已经扩编到十个,每个每月 200 美元。烧出来的东西数不胜数,出活比俺宣发还快。我认识的一些走在前沿的朋友,都在忙着闷声大发财,抓住这个机会窗口烧点东西出来。 当然,也有一些朋友手里刚拿到 AGI 机关枪,就忍不住四处扫射。其中最具代表性的,当属蒋老板。 蒋老板的机关枪 我们有一个交流群,蒋老板经常在群里分享他的 …

    我的朋友蒋老板一个月糊出四个数据库、一套操作系统、一门编程语言、一个编译器和一颗 CPU,成了当下 AI 狂欢的缩影。 最近这一个半月堪称一场 AI 狂欢:老冯的 Max 订阅大军已经扩编到十个,每个每月 200 美元。烧出来的东西数不胜数,出活比俺宣发还快。我认识的一些走在前沿的朋友,都在忙着闷声大发财,抓住这个机会窗口烧点东西出来。 当然,也有一些朋友手里刚拿到 AGI 机关枪,就忍不住四处扫射。其中最具代表性的,当属蒋老板。 蒋老板的机关枪 我们有一个交流群,蒋老板经常在群里分享他的 …

  • 大厂出来的人,为什么这么废

    冯若航 发布于 云计算 5326 字 11 分钟

    冯若航云计算软件工程架构职业

    大厂出来的人,为什么这么废

    网上流传一句据称出自 Sam Altman 的刻薄话:从大公司出来的人,野心、抱负和认知已经退化到了极低的程度。你跟他讲一件能改变行业的事,他第一反应是这事该谁批。 这话我深有同感,因为我见过太多了。不是没有反例,但很少。 评论区照例分两拨。一拨说可不是嘛,不过一颗螺丝钉;另一拨说酸什么,人家收入是你三倍。 两边都没什么意思。把一件事归结为“人不行”,是所有解释里最省事、也最没有信息量的一种。真正值得问的是另一个问题:一个聪明、勤奋、通过了层层筛选的人,究竟是怎么被搞成这样的? 太长不看 先把结 …

    网上流传一句据称出自 Sam Altman 的刻薄话:从大公司出来的人,野心、抱负和认知已经退化到了极低的程度。你跟他讲一件能改变行业的事,他第一反应是这事该谁批。 这话我深有同感,因为我见过太多了。不是没有反例,但很少。 评论区照例分两拨。一拨说可不是嘛,不过一颗螺丝钉;另一拨说酸什么,人家收入是你三倍。 两边都没什么意思。把一件事归结为“人不行”,是所有解释里最省事、也最没有信息量的一种。真正值得问的是另一个问题:一个聪明、勤奋、通过了层层筛选的人,究竟是怎么被搞成这样的? 太长不看 先把结 …

  • AI 用 Rust 重写 PostgreSQL?别逗了

    冯若航 发布于 AI 8052 字 17 分钟

    冯若航AIPostgreSQL软件工程数据库

    AI 用 Rust 重写 PostgreSQL?别逗了

    前两天,一个叫 pgrust 的项目冲上了 Hacker News 头条:作者借助 AI,用 Rust 搬了一遍 PostgreSQL,还跑通了核心回归测试。中文媒体的标题已经在路上了:“AI 用 Rust 重写了 PostgreSQL”。 可我把仓库、提交历史和测试脚本翻了一遍之后,觉得这件事最有意思的部分,恰恰不在标题里。 pgrust 花了两个月,亲手证明了一个和二手标题相反的事实:它用两个月时间,亲手证明了自己想推翻的东西。 引子:一天十二倍 先说作者。Michael Malis 不是跑 …

    前两天,一个叫 pgrust 的项目冲上了 Hacker News 头条:作者借助 AI,用 Rust 搬了一遍 PostgreSQL,还跑通了核心回归测试。中文媒体的标题已经在路上了:“AI 用 Rust 重写了 PostgreSQL”。 可我把仓库、提交历史和测试脚本翻了一遍之后,觉得这件事最有意思的部分,恰恰不在标题里。 pgrust 花了两个月,亲手证明了一个和二手标题相反的事实:它用两个月时间,亲手证明了自己想推翻的东西。 引子:一天十二倍 先说作者。Michael Malis 不是跑 …

  • 用AI当由头裁了4000人,但程序员的需求涨了11%

    冯若航 发布于 AI 1953 字 4 分钟

    冯若航AI软件工程职业技术评论

    用AI当由头裁了4000人,但程序员的需求涨了11%

    昨天一条大新闻炸了圈。Jack Dorsey (原本推特的创始人) 的 Block 公司一刀砍掉 40% 员工,四千多人走人,从一万多缩到不到六千。理由当然是 AI。Dorsey 还放了句狠话:一年之内,大多数公司都会做出类似的结构性调整。 消息一出,Block 股价盘后暴涨 24%。资本市场用真金白银投了票:裁得好。 但你仔细看:Block 在 2019 年底才三千八百人,疫情几年膨胀到一万多,股价同期跌了 75%。这哪是 AI 替代了人。这更像是疫情泡沫终于到了清算的时候。 AI 只不过给了 …

    昨天一条大新闻炸了圈。Jack Dorsey (原本推特的创始人) 的 Block 公司一刀砍掉 40% 员工,四千多人走人,从一万多缩到不到六千。理由当然是 AI。Dorsey 还放了句狠话:一年之内,大多数公司都会做出类似的结构性调整。 消息一出,Block 股价盘后暴涨 24%。资本市场用真金白银投了票:裁得好。 但你仔细看:Block 在 2019 年底才三千八百人,疫情几年膨胀到一万多,股价同期跌了 75%。这哪是 AI 替代了人。这更像是疫情泡沫终于到了清算的时候。 AI 只不过给了 …

  • 隐私换便利?云上AI助理意味着什么?

    发布于 AI 2970 字 6 分钟

    CLOUDAI云计算软件工程安全

    隐私换便利?云上AI助理意味着什么?

    当你在云上 “一键拉起” 私人助理的时候,不妨先想一下,这到底意味着什么? 一、当 AI 助手变成"贴身管家" 最近,一个叫 Moltbot(原名 Clawdbot)的开源项目在 GitHub 上火了,几天内斩获数万 Star,一度让 Mac Mini 卖到脱销。 它是什么?简单说,它是一个真正的"AI 私人助理"——不是那种只能聊天的 ChatGPT,而是能帮你发邮件、管日程、读文件、写代码、操作电脑的 全能管家。你可以通过 WhatsApp、Telegram、钉钉跟它对话,它会帮你把事情办了 …

    当你在云上 “一键拉起” 私人助理的时候,不妨先想一下,这到底意味着什么? 一、当 AI 助手变成"贴身管家" 最近,一个叫 Moltbot(原名 Clawdbot)的开源项目在 GitHub 上火了,几天内斩获数万 Star,一度让 Mac Mini 卖到脱销。 它是什么?简单说,它是一个真正的"AI 私人助理"——不是那种只能聊天的 ChatGPT,而是能帮你发邮件、管日程、读文件、写代码、操作电脑的 全能管家。你可以通过 WhatsApp、Telegram、钉钉跟它对话,它会帮你把事情办了 …

  • 冷门但稀缺的技能:打包构建

    冯若航 发布于 人生旅途 3538 字 8 分钟

    冯若航软件仓库软件工程

    冷门但稀缺的技能:打包构建

    最近我的朋友,Omnigres 的创始人尤里跟我聊天,他说想要招一个 PostgreSQL 打包专家 —— 当然具体的岗位名字,他起了个 EEE —— Extension Ecoystem Engineer,也就是 “扩展生态工程师”,倒是挺有意思。他发的这个 JD 吧,是公开的(https://github.com/omnigres/rfc/pull/2/files),我就直接贴在下面了。 稀缺的技能:Linux 打包 我觉得他的这个 JD 有点儿过分,DevRel + SRE + DBA + …

    最近我的朋友,Omnigres 的创始人尤里跟我聊天,他说想要招一个 PostgreSQL 打包专家 —— 当然具体的岗位名字,他起了个 EEE —— Extension Ecoystem Engineer,也就是 “扩展生态工程师”,倒是挺有意思。他发的这个 JD 吧,是公开的(https://github.com/omnigres/rfc/pull/2/files),我就直接贴在下面了。 稀缺的技能:Linux 打包 我觉得他的这个 JD 有点儿过分,DevRel + SRE + DBA + …

  • 软件3.0时代,AI带来的范式转移

    冯若航 发布于 AI 8937 字 18 分钟

    冯若航AI软件工程翻译

    软件3.0时代,AI带来的范式转移

    今天,YC/奇绩的朋友都被这个演讲视频刷屏了。OpenAI 创始成员,前特斯拉 AI 总监、安德烈·卡帕西(Andrej Karpathy)在 YC AI 创业学院发表了主题演讲 —— 软件(又一次)发生了范式转移。 这是个很大的标题,但老冯认为演讲的内容对得起这个大题目。视频的大意是,传统的代码是软件 1.0,神经网络的权重是软件 2.0,而现在可以使用自然语言编程的 LLM 是软件 3.0。在软件 3.0 的时代,什么样的软件是我们能立刻看到,可以动手去做或者期待出现的,真正的挑战又是什么, …

    今天,YC/奇绩的朋友都被这个演讲视频刷屏了。OpenAI 创始成员,前特斯拉 AI 总监、安德烈·卡帕西(Andrej Karpathy)在 YC AI 创业学院发表了主题演讲 —— 软件(又一次)发生了范式转移。 这是个很大的标题,但老冯认为演讲的内容对得起这个大题目。视频的大意是,传统的代码是软件 1.0,神经网络的权重是软件 2.0,而现在可以使用自然语言编程的 LLM 是软件 3.0。在软件 3.0 的时代,什么样的软件是我们能立刻看到,可以动手去做或者期待出现的,真正的挑战又是什么, …

  • 数据库老司机勇闯现代前端大观园

    冯若航 发布于 数据库 2422 字 5 分钟

    冯若航软件工程随笔

    数据库老司机勇闯现代前端大观园

    老冯已经很久没有折腾过前端了,上一次密集和前端打交道已经是十年前了,还是 JQuery 的古典前端时代。这次在一位前端大师,Claude Code,Cursor 以及 GPT 的帮助下,重新用 Next.js 把整个 Pigsty 的网站糊了一遍,跑步进入现代化。 干这件事的契机是两周前在去杭州出差的路上,俺的笔记本电脑被邻座老太太淋了酱油。笔记本里 8T 数据都有备份,唯独丢失了上个月 Vibe Coding 糊出来的 Pigsty 新网站首页源代码。我想这东西丢了也就丢了吧,正好我也想整个重 …

    老冯已经很久没有折腾过前端了,上一次密集和前端打交道已经是十年前了,还是 JQuery 的古典前端时代。这次在一位前端大师,Claude Code,Cursor 以及 GPT 的帮助下,重新用 Next.js 把整个 Pigsty 的网站糊了一遍,跑步进入现代化。 干这件事的契机是两周前在去杭州出差的路上,俺的笔记本电脑被邻座老太太淋了酱油。笔记本里 8T 数据都有备份,唯独丢失了上个月 Vibe Coding 糊出来的 Pigsty 新网站首页源代码。我想这东西丢了也就丢了吧,正好我也想整个重 …

  • MySQL vs PostgreSQL @ 2025

    冯若航 发布于 数据库 10626 字 22 分钟

    冯若航MySQL走好MySQLPostgreSQL数据库软件工程

    MySQL vs PostgreSQL @ 2025

    在 2025 年的当下,MySQL 无论是在功能特性集,质量正确性,性能表现,还是生态与社区上都被 PostgreSQL 拉开了差距,而且这个差距还在进一步扩大中。 今天我们就来对 MySQL 与 PostgreSQL 进行一个全方位的对比,从功能,性能,质量,生态来全方位反映这几年的生态变化。 功能 让我们先从开发者最关注的东西 —— 功能特性开始说起。 新版本 昨天,MySQL 发布了 “创新版本” 9.3 但是看上去和先前的 9.x 一样,都是些修修补补,看不到什么创新的东西。搜索尚未发布 …

    在 2025 年的当下,MySQL 无论是在功能特性集,质量正确性,性能表现,还是生态与社区上都被 PostgreSQL 拉开了差距,而且这个差距还在进一步扩大中。 今天我们就来对 MySQL 与 PostgreSQL 进行一个全方位的对比,从功能,性能,质量,生态来全方位反映这几年的生态变化。 功能 让我们先从开发者最关注的东西 —— 功能特性开始说起。 新版本 昨天,MySQL 发布了 “创新版本” 9.3 但是看上去和先前的 9.x 一样,都是些修修补补,看不到什么创新的东西。搜索尚未发布 …

  • 先优化碳基BIO核,再优化硅基CPU核

    DHH 发布于 数据库 3270 字 7 分钟

    DHH软件工程性能数据库翻译

    先优化碳基BIO核,再优化硅基CPU核

    先优化生物核,再优化硅内核 企业痴迷于 AI 的一个重要原因是,它有可能显著降低程序员的薪酬成本。如果一个公司需要 10 名程序员完成一项任务,而每个程序员的年薪为 20 万美元,那这就是一个每年 200 万美元的问题。如果 AI 能砍掉四分之一的成本,他们就能省出 50 万美元!如果能砍一半那就是 100 万美元!提高效率在程序员的薪资成本上会很快转化为利润! 这就是为什么我喜欢 Ruby!这就是我搞 Rails 的原因!过去 20 年,我一直坚信编程领域的趋势是:程序员的成本会越来越高,而计 …

    先优化生物核,再优化硅内核 企业痴迷于 AI 的一个重要原因是,它有可能显著降低程序员的薪酬成本。如果一个公司需要 10 名程序员完成一项任务,而每个程序员的年薪为 20 万美元,那这就是一个每年 200 万美元的问题。如果 AI 能砍掉四分之一的成本,他们就能省出 50 万美元!如果能砍一半那就是 100 万美元!提高效率在程序员的薪资成本上会很快转化为利润! 这就是为什么我喜欢 Ruby!这就是我搞 Rails 的原因!过去 20 年,我一直坚信编程领域的趋势是:程序员的成本会越来越高,而计 …

  • 数据库需求层次金字塔

    冯若航 发布于 数据库 3688 字 8 分钟

    冯若航数据库架构软件工程

    数据库需求层次金字塔

    与马斯洛需求金字塔类似,用户对于数据库的需求也有着一个递进的层次。用户对于数据库的需求从下往上可以分为八个层次,分别与人的八个需求层次相对应: 生理需求,功能:内核/正确性/ACID 安全需求,安全:备份/保密/完整/可用 归属需求,可靠:高可用/监控/告警 尊重需求,ROI:性能/成本/复杂度 认知需求,洞察:可观测性/数字化/可视化 审美需求,掌控:可控制性/易用性/IaC 自我实现,智能:标准化/产品化/智能化 超越需求,变革:真·自治数据库 安全需求与生理需求同属 基础需求,一个用于生产 …

    与马斯洛需求金字塔类似,用户对于数据库的需求也有着一个递进的层次。用户对于数据库的需求从下往上可以分为八个层次,分别与人的八个需求层次相对应: 生理需求,功能:内核/正确性/ACID 安全需求,安全:备份/保密/完整/可用 归属需求,可靠:高可用/监控/告警 尊重需求,ROI:性能/成本/复杂度 认知需求,洞察:可观测性/数字化/可视化 审美需求,掌控:可控制性/易用性/IaC 自我实现,智能:标准化/产品化/智能化 超越需求,变革:真·自治数据库 安全需求与生理需求同属 基础需求,一个用于生产 …

  • 做正确的事

    冯若航 发布于 人生旅途 9316 字 19 分钟

    冯若航软件工程社会观察

    做正确的事

    最近,微信公众号“小声比比”发表了几篇文章,捅了马蜂窝: 估值 175 亿的旅游独角兽,是一座僵尸和水军构成的鬼城? 马蜂窝开始毁灭证据了,但这水平真的哈哈哈哈哈哈哈哈 《我承认,我们是有组织攻击马蜂窝的》 非常敬佩博主梓泉,这个马蜂窝捅的好。蚂蜂窝已经提请诉讼,这个案子无论结果如何,意义和影响都是巨大的。目测将如同 06 年的南京彭宇案一样,载入中国的司法史。当年一个案子让国人的道德观念倒退了五十年;希望这一次劣币不会驱逐良币,虚假不会压倒真实。 虚假的游记与评论,是技术用于歧途的表现。软件工 …

    最近,微信公众号“小声比比”发表了几篇文章,捅了马蜂窝: 估值 175 亿的旅游独角兽,是一座僵尸和水军构成的鬼城? 马蜂窝开始毁灭证据了,但这水平真的哈哈哈哈哈哈哈哈 《我承认,我们是有组织攻击马蜂窝的》 非常敬佩博主梓泉,这个马蜂窝捅的好。蚂蜂窝已经提请诉讼,这个案子无论结果如何,意义和影响都是巨大的。目测将如同 06 年的南京彭宇案一样,载入中国的司法史。当年一个案子让国人的道德观念倒退了五十年;希望这一次劣币不会驱逐良币,虚假不会压倒真实。 虚假的游记与评论,是技术用于歧途的表现。软件工 …

  • PostgreSQL开发规约(2018版)

    冯若航 发布于 PGSQL 7398 字 15 分钟

    冯若航PostgreSQLPG开发软件工程

    PostgreSQL开发规约(2018版)

    微信公众号原文 0x00背景 没有规矩,不成方圆。 PostgreSQL的功能非常强大,但是要把PostgreSQL用好,需要后端、运维、DBA的协力配合。 本文针对PostgreSQL数据库原理与特性,整理了一份开发规范,希望可以减少大家在使用PostgreSQL数据库过程中遇到的困惑。你好我也好,大家都好。 0x01 命名规范 无名,万物之始,有名,万物之母。 【强制】 通用命名规则 本规则适用于所有对象名,包括:库名、表名、表名、列名、函数名、视图名、序列号名、别名等。 对象名务必只使用 …

    微信公众号原文 0x00背景 没有规矩,不成方圆。 PostgreSQL的功能非常强大,但是要把PostgreSQL用好,需要后端、运维、DBA的协力配合。 本文针对PostgreSQL数据库原理与特性,整理了一份开发规范,希望可以减少大家在使用PostgreSQL数据库过程中遇到的困惑。你好我也好,大家都好。 0x01 命名规范 无名,万物之始,有名,万物之母。 【强制】 通用命名规则 本规则适用于所有对象名,包括:库名、表名、表名、列名、函数名、视图名、序列号名、别名等。 对象名务必只使用 …

  • Go数据库教程:database/sql

    冯若航 发布于 PGSQL 8025 字 17 分钟

    冯若航PostgreSQL软件工程

    Go数据库教程:database/sql

    Go使用SQL与类SQL数据库的惯例是通过标准库database/sql。这是一个对关系型数据库的通用抽象,它提供了标准的、轻量的、面向行的接口。不过 database/sql 的包文档只讲它做了什么,却对如何使用只字未提。快速指南远比堆砌事实有用,本文讲述了 database/sql 的使用方法及其注意事项。 1. 顶层抽象 在Go中访问数据库需要用到 sql.DB 接口:它可以创建语句(statement)和事务(transaction),执行查询,获取结果。 sql.DB 并不是数据库连接 …

    Go使用SQL与类SQL数据库的惯例是通过标准库database/sql。这是一个对关系型数据库的通用抽象,它提供了标准的、轻量的、面向行的接口。不过 database/sql 的包文档只讲它做了什么,却对如何使用只字未提。快速指南远比堆砌事实有用,本文讲述了 database/sql 的使用方法及其注意事项。 1. 顶层抽象 在Go中访问数据库需要用到 sql.DB 接口:它可以创建语句(statement)和事务(transaction),执行查询,获取结果。 sql.DB 并不是数据库连接 …