Software 3.0 编程范式的革命来了

Posted on Sun 06 July 2025 in Journal

Abstract Cursor 使用一周感受
Authors Walter Fan
 Category    learning note  
Status v1.0
Updated 2025-07-06
License CC-BY-NC-ND 4.0

公司购买了 Cursor,我也可以愉快地使用它来帮我干活了。不管愿不愿意承认,有些程序,Cursor 写得比我写得更好更快,特别是我不太熟悉的前端,比如 React。我写一个组件可能要花半个小时,而 Cursor 可能只需要几分钟。

仿佛又回到了当年干 Product Owner 的时候:我只管定义需求,定架构,提点技术上的要求和建议,然后就交给 Cursor 去实现就好了。当 Cursor 实现需求之后,我再验收它的成果,不满意就让它改,直到我满意为止。

回顾一下我所经历的软件开发方式, 从最开始的软件 1.0, 到现在的软件 3.0, 世界变化太快了.

软件开发方式经历了 3 次重要的范式转变:

  • Software 1.0:程序员写规则,写代码,机器执行。
  • Software 2.0:程序员提供数据,训练模型,机器学习规则。
  • Software 3.0:程序员提供需求,写 prompt,机器生成代码。

而现在,我们正在大踏步迈进 Software 3.0 时代。


三代软件开发范式对比

Software 1.0:人写规则

def is_spam(email_text: str) -> bool:
    spam_keywords = ["buy now", "free", "click here"]
    return any(k in email_text.lower() for k in spam_keywords)
````

所有逻辑都是人写的规则越多代码越复杂

---

### Software 2.0:人喂数据,机器学规则

```python
from sklearn.naive_bayes import MultinomialNB
from sklearn.feature_extraction.text import CountVectorizer

texts = ["free money", "hello friend", "win a prize"]
labels = [1, 0, 1]  # 1 是垃圾邮件

vec = CountVectorizer()
X = vec.fit_transform(texts)

model = MultinomialNB()
model.fit(X, labels)

程序逻辑不再硬编码,而是“学出来”的。


Software 3.0:人讲需求,机器写代码

给 Cursor 或 ChatGPT 下一个指令:

写一个 REST API,支持添加、删除、查询用户,用 Go 和 SQLite 实现。

几秒钟,代码就生成了。甚至能帮你写测试和文档。


软件开发,变成了人机协作

开发流程也正在改变:

过去 现在(Software 3.0)
写代码 写 Prompt
调用 API 让 AI 帮你生成调用代码
调试 Bug 让 AI 帮你分析原因
写文档 让 AI 自动生成或总结
手写测试 让 AI 自动生成测试用例
写 SQL 自然语言转 SQL / ORM 查询

一个例子:垃圾邮件识别的三种方式

Software 1.0:手写规则

def is_spam(text):
    return "免费" in text or "点击查看" in text

Software 2.0:训练模型

# 用机器学习训练分类器

Software 3.0:直接问 AI

请判断这段文字是不是垃圾邮件:“点击查看中奖名单

新问题也随之而来

  1. AI 有时会“胡说八道”(hallucination)
  2. 安全性难保障
  3. 代码的归属与合规问题
  4. 缺乏解释能力与调试线索

程序员应该怎么应对?

学会写好 Prompt(提示工程)

把需求、边界、输入输出格式讲清楚,才能让 AI 给出好结果。

做好架构设计与接口定义

AI 擅长写实现,但不擅长做架构与分层设计。

成为“AI 生成代码”的审核者

我们不再是“码农”,而是产品经理、审稿人、技术评审、测试工程师的合体。

保持学习,掌握 AI 工具链

如:

  • GitHub Copilot / ChatGPT
  • LangChain / AutoGen / LlamaIndex
  • 向量数据库(pgvector / Weaviate)

写在最后

Software 3.0 并不会“淘汰程序员”,但会淘汰那些不会用 AI 的程序员。

未来已来,拥抱变化,拥抱 AI, 我不相信程序员会被替代, 只是程序员需要从改变自己开始.

我的一位同事问道, 是不是将来不需要咱们这些有经验的程序员, 只需要一些年轻的程序员, 他们只需要知道如何使用 Cursor 或者 ChatGPT 来写代码, 就可以完成工作.

我回答说, 不会的, 程序员的价值在于, 他们能够深刻地理解需求, 设计适合的系统, 驾驭不同的工具, 包括各种 AI 工具, 持续不断地交付价值. 有经验的程序员能够指导 A I 向正确的方向发展, 并且用他们丰富的经验来防止 AI 犯错, 给 AI 纠错, 这时候技术品味, 判断力会更重要, 过去的经验和教训会更有价值.


本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。