第一性原理:AI时代,写代码已不再是核心能力

富阳说:做 1000 个 AI 工具,让每个人享受 AI 便利。

我做了十年开发,写过的代码少说也有几十万行。但最近一年我越来越意识到一个事实:我花了太多时间创造代码,却花了太少时间解决问题。

这句话听起来有点反直觉。毕竟作为一个开发者,写代码不就是我的工作吗?

还真不一定。

那个「代码写完了」的幻觉

独立开发者最容易陷入的一个陷阱:用代码量衡量工作成果

一周时间,写了 2000 行代码,感觉很充实。但仔细一问,这 2000 行代码解决了什么问题?回答往往是「实现了XXX功能」。

功能?用户真的需要这个功能吗?

我曾经花了整整两周,为我的一个小产品写了一个复杂的富文本编辑器。支持拖拽、版本历史、实时协作。代码写完的那一刻,成就感满满。

然后我发现:用户真正需要的,只是简单地写几段文字、加个标题、插张图片。

那两周的代码,99%是浪费。

这个经历让我开始反思:我们在创造代码,还是在解决问题?

第一性原理视角下的「代码」

第一性原理的思考方式,要求我们从最基本的不可分割的事实出发。应用到软件开发:

最基本的问题是什么?

不是「用什么技术栈」,不是「怎么实现」,而是「用户真正需要什么」。

马斯克当年造电动车,不是问「怎么把电池做得更好」,而是问「电动车的本质是什么」。答案很简单:一种更高效、更环保的出行方式。带着这个本质问题,他颠覆了整个汽车行业。

回到软件开发:一个博客网站的本质是什么?

不是「用 Next.js 还是 WordPress」,不是「要不要加 SEO 优化」,而是「帮助一个人把想法变成文字,传播出去」。

带着这个本质问题,很多决策就变得清晰了:

  • 需要复杂的富文本编辑器吗?不需要,一个简单的 Markdown 就够了。
  • 需要用户登录系统吗?不一定,静态网站更简单。
  • 需要实时协作吗?大多数个人博客不需要。

代码只是解决问题的一种手段。 当手段变得极其廉价(AI 可以分分钟生成),我们反而要更清醒地追问:问题本身是什么?

AI带来的范式转变

AI 真正改变的不是「写代码更快」,而是重新定义了开发者的角色

旧范式

需求 → 分析 → 设计 → 写代码 → 测试 → 交付
              ↑
          人主导

人是最慢的那个环节。写代码是瓶颈,所以我们要学更多框架、更多语言、更多工具。

新范式

需求 → 定义问题 → 描述给AI → AI生成代码 → 人判断结果
                              ↑
                         AI执行

现在,最慢的环节变成了定义问题判断结果。写代码本身,已经变得非常快。

这意味着什么?

独立开发者的新角色是:问题定义者 + 结果验证者。

你不再需要「能写代码」,你需要的是:

  1. 发现问题的能力 —— 用户真正需要什么?
  2. 定义问题的能力 —— 把模糊的需求变成清晰的问题描述
  3. 验证结果的能力 —— 判断 AI 生成的方案是否真的解决了问题

这种转变的三个层次

我观察自己和身边的独立开发者,这种范式转变分了三个层次:

第一层:效率层

AI 帮你写代码,你来审查和调试。写代码的速度提升了,但你的工作方式没本质变化。

这是大多数人在用的方式。它确实有效,但还没有触及根本。

第二层:能力层

因为你不需要自己写代码了,你能解决的问题边界急剧扩大。

以前你只能做「Web 开发」,因为你是前端。或者你只能做「后端架构」,因为你是后端。现在你会发现,当代码生成不再是瓶颈,你的设计能力、产品思维、领域知识变得更重要。

一个全栈应用,你一个人可以在几天内完成 MVP。不是因为你突然学会了好几个框架,而是因为你把时间花在了「想清楚做什么」,而不是「学习怎么写」。

第三层:思维层

你开始重新审视每个问题的本质。

「我需要做一个登录功能」—— 真的需要吗?静态博客需要登录吗?

「我要做个复杂的推荐系统」—— 用户的核心问题是「找不到内容」吗?也许一个简单的分类导航就够了。

这个层次的变化是根本性的。你不再是说「我会用 XX 技术来实现 YY 功能」,而是说「我重新定义了问题 ZZ,解决方案是……」

独立开发者的新核心竞争力

回到第一性原理。你的核心竞争力是什么?

以前是「能写什么代码」。你会 React、你会 Node、你会微服务架构——这些是竞争力。

现在,这些依然有价值,但已经不是核心了。

AI时代真正的核心竞争力:你能发现什么问题值得解决。

这听起来像是一句正确的废话。但仔细想想:

  • 为什么同样是独立开发者,有些人做的产品叫好又叫座,有些人做了很多产品但都没人用?
  • 为什么有些技术高手做出的东西反而很复杂、很难用?

答案往往是:后者太沉迷于「解决问题」,忘了问「这是真正的问题吗」

一个真实的故事。我的朋友阿强是个全栈高手,技术栈超级扎实。他做了一个「功能完备」的在线笔记应用,有标签系统、搜索、协作、导出、导入,支持 Web、App、小程序。代码量十几万行。

上线后,月活跃用户:37 人。

我的另一个朋友小明,是个不太会写代码的产品经理。他用现成的工具搭了一个简单的博客,专门记录他对「如何做好早餐」的研究。三年了,稳定每月几千块打赏。

不是要嘲笑谁。核心问题是:谁在真正解决别人的问题?

代码能力的门槛越来越低,但定义问题的能力永远不会。

实践建议

说了一些「虚」的,最后给几个「实」的。

每天问一次

在开始任何开发工作之前,先问自己:

我要解决的核心问题是什么?

写在纸上或者文档里,然后再动手。这一步很多人觉得多余,但它能帮你节省 90% 的无效工作。

动手之前先「脱裤子」

不是那个意思。是说,在打开 IDE 之前,先把问题想清楚。

  • 这个功能不做会怎样?
  • 用户真的会用到吗?
  • 有没有更简单的解决方案?

很多功能,其实不需要代码。一个 Excel 表格、一个 Notion 页面、一个现成的工具,就能解决 80% 的问题。

把 AI 当执行者,不要让它替你思考

AI 很强大,但它是你的工具,不是你的大脑。

你可以让 AI 帮你写代码、帮你调试、帮你优化。但定义问题这个环节,必须你自己来。

prompt写得再好,如果你自己都不知道要什么,AI 也帮不了你。

回到第一性原理

埃隆·马斯克说,他用第一性原理思考所有重要问题。

对于独立开发这件事,第一性原理是什么?

软件存在的意义,是解决问题。

不是展示技术能力,不是写漂亮的代码,不是证明你懂多少框架。实实在在帮用户解决问题,他们才愿意付费。

代码是达成目标的手段,目标不是写代码。

AI 时代,这个逻辑更清晰了。当手段变得极其廉价,我们需要把更多精力放在定义目标上。

真正稀缺的,永远是知道「要做什么」的人。


联系我

如果本文对你有帮助,点个赞让更多人看到。有问题欢迎评论区聊聊。