Lixin Lin林里鑫
Published on

AI时代的软件工程新思考:从经验主义到第一性原理

Authors

引言:一个反直觉的发现

在与Claude和其他AI工具深度协作一周后,我有了一个反直觉的认识:在AI时代,做软件工程反而比做客服更简单

这听起来可能违背常识,但让我解释一下原因:

  • 软件工程有更好的环境:明确的输入输出、清晰的测试用例
  • 更清晰的reward机制:代码要么工作要么不工作,结果立即可见
  • 更多的数据和文档:技术文档、API说明、开源代码库

两个核心原则的转变

1. 基于结果而非过程

传统的软件开发强调过程:先学语法、再学框架、最后做项目。但在AI时代,我们可以直接从结果出发:

  • 明确你想要什么
  • 提供充分的上下文
  • 让AI帮你实现细节

2. 白盒规则而非黑盒偏好

不再依赖个人经验或模型偏好,而是基于清晰的规则和逻辑:

  • 规则是可解释的
  • 逻辑是可验证的
  • 结果是可重现的

我的实践案例:Go语言的第一个任务

最近在金山接到了第一个Go编程任务。我没有Go编程经验,但有6年Java经验。传统方法是:

  1. 学习Go语法
  2. 了解Go生态
  3. 慢慢上手项目

但我选择了新方法:

  1. 明确需求:用自然语言描述清楚要做什么
  2. 提供上下文:告诉Claude我的Java背景和项目需求
  3. 定义测试用例:明确输入输出的期望
  4. 迭代优化:根据实际运行结果调整

结果?任务顺利完成,而且代码质量很高。

Context(上下文):人类最后的护城河?

现在的AI模型推理能力很强,考试成绩优秀,游戏水平高超,但为什么还没有创造足够的经济价值?

根本原因:缺乏context(上下文)

什么是真正的Context?

在人类社会中,很多context永远只存在于人的大脑中:

  • 老板的行为习惯
  • 团队的隐性知识
  • 公司的文化氛围
  • 难以言说的经验

这些context是分布式维护的,每个人脑中都有一部分,无法完全文档化。

普通人的优势

世界上大多数人不是乔布斯或爱因斯坦,他们可能:

  • 数学推理能力不如GPT-4
  • 编程速度不如Claude
  • 记忆力不如AI

但他们能够管理context

  • 进入公司7天后,积累了文档之外的隐性知识
  • 理解团队的工作方式
  • 掌握人际关系的微妙

这就是为什么即使你没有AI聪明,但有了这些context,你做得比AI好。

从道德经中寻找智慧

道:自然规律的体现

抛弃经验主义,从第一性原理出发,这就是道德经中"道"的体现:

"道可道,非常道"

真正的道不是经验的累积,而是对自然规律的理解和遵循。

如何得道?

种一棵果树,细心栽培,也能从中获得道。

这不是比喻,而是实践:

  • 观察生长规律
  • 理解因果关系
  • 顺应自然节律
  • 在实践中领悟

我的行动计划

基于这些思考,我制定了以下行动计划:

1. 建立个人知识体系

  • 搭建专属博客网站
  • 输出深度思考文章
  • 制作视频分享
  • 形成知识沉淀

2. 深度复盘与实践

就像我在命理深度学习中做的:

  • 复盘过往30年的经历
  • 结合专业知识
  • 提供充分上下文给AI
  • 减少噪音,提高准确性

3. All in 当下机会

一定要全身心投入金山AI的机会

只有专注和全情投入,才能:

  • 获得真正的context
  • 理解深层规律
  • 在实践中得"道"

对未来的思考

挑战与机遇

更复杂的项目需求能否用这种方法解决?我相信是可以的:

  • 复杂需求也能用自然语言描述清楚
  • 技术文档可以提供充分上下文
  • 正确的测试用例保证质量

新的工作方式

未来的软件工程师可能更像是:

  • 需求翻译官:将业务需求转化为清晰的技术描述
  • Context管理者:维护和传递项目的隐性知识
  • 质量把关人:定义标准,验证结果

结语

AI时代的软件工程不是要替代人类,而是要改变我们的工作方式。从经验主义到第一性原理,从过程导向到结果导向,这是一个范式的转变。

最重要的是,保持开放的心态,在实践中不断学习和调整。就像道德经所说:

"上善若水,水善利万物而不争"

在AI的浪潮中,我们要像水一样,灵活适应,顺势而为,在变化中找到自己的位置和价值。


这是我对AI时代软件工程的一些思考,欢迎交流讨论。让我们一起在这个变革的时代,找到属于自己的"道"。