我是如何使用 AI 编程的:从“自己硬写”到“和 AI 一起进化”

  • King
  • 发布于 6小时前
  • 阅读 10

一开始并不相信AI能真正帮到编程。原因很简单:写代码这件事,表面上是敲键盘,实际上是做决策——怎么设计结构、怎么处理异常、怎么控制性能、怎么保证系统稳定。尤其当项目一复杂,真正耗时间的往往不是“写出一个函数”,而是“让它长期稳定地跑下去”。但后来发现,对AI的误解在于:把它当成了“替我

一开始并不相信 AI 能真正帮到编程。

原因很简单:写代码这件事,表面上是敲键盘,实际上是做决策——怎么设计结构、怎么处理异常、怎么控制性能、怎么保证系统稳定。尤其当项目一复杂,真正耗时间的往往不是“写出一个函数”,而是“让它长期稳定地跑下去”。

但后来发现,对 AI 的误解在于:

把它当成了“替我写代码的人”,而不是“帮我加速迭代的人”。

直到开始用一种更符合工程现实的方式使用 AI:

先把系统做出来,再让 AI 帮我优化,最后甚至让它参与重构。

这套流程,让我写代码的节奏完全变了。


最开始的习惯:自己写到能跑为止

以前写项目时会有一种执念: “必须一次写对。”

所以经常陷入一种状态:

  • 代码还没跑起来
  • 结构已经反复纠结了好几轮
  • 还没验证需求,先把复杂度堆上去了

结果就是: 写得很慢,而且越写越不敢动。

后来意识到一个事实: 能跑的版本,永远比完美的设计更重要。

因为只有跑起来,才有真实数据、真实瓶颈、真实反馈。

从那之后,会强迫自己遵守一个顺序:

先实现(能跑) → 再优化(能扛) → 最后重构(能维护)

而 AI,恰好在后两步发挥了巨大价值。


使用 AI 的第一阶段:让它当“加速器”,而不是“驾驶员”

现在更像是这样使用 AI 的:

  • 我负责方向和判断
  • AI 负责补全细节和提供候选方案

不会一开始就问:“给我写个完整项目。”

我会先把一个粗糙但正确的版本做出来,然后把问题丢给 AI:

  • 这个结构有没有明显问题?
  • 这里的并发有没有隐患?
  • 这个逻辑是不是可以更简洁?
  • 这段代码有没有更 Rust 的写法?

我越来越喜欢这种感觉: AI 不决定我做什么,但它让我更快做到我想做的事。


最有效的一种方式:我先写“第一版”,AI 帮我做“第二版”

发现一个很真实的规律:

第一版代码写出来时,我脑子里装的是“功能正确” 第二版代码优化时,我脑子里才开始装“工程质量”

而 AI 最适合参与的就是第二版。

比如我经常会这样操作:

第一步:我先写一个能跑的版本

哪怕它丑一点,结构硬一点,甚至有些重复代码也没关系。

重点是:

  • 输入输出跑通
  • 数据流通了
  • 错误能捕获
  • 日志能看懂

第二步:我把代码片段交给 AI,让它优化

我会明确告诉 AI 我想要什么:

  • “这里能不能减少 clone?”
  • “能不能把错误处理统一一下?”
  • “这段 match 太长了,有没有更清晰的拆法?”
  • “帮我把这块拆成模块,结构要可扩展”

AI 给我的通常不是“唯一答案”,而是多个改法

我最喜欢它的一点是: 它能让我快速看到不同的设计路线,而不是我一个人硬想半小时。

第三步:我自己选择并合并改动

我不会照单全收,我会做判断:

  • 哪种方案更适合我的系统?
  • 是否会引入额外复杂度?
  • 会不会影响性能或可读性?

最后的代码看起来像“我写的”,但效率比以前高很多。


甚至会让 AI 帮我“重构”:把代码从“能用”变成“能长期用”

以前我对“重构”有点抗拒。

因为重构意味着:

  • 改动范围大
  • 容易引入新 bug
  • 改完还要重新测试

但当项目增长到一定规模,你会发现:

不重构才是更大的风险。

我现在会把重构当成一种“升级工程寿命”的手段,而 AI 让这件事变得没那么痛苦。

我会这样对 AI 提要求:

  • “帮我把这一坨逻辑拆成 3 个模块,职责清晰”
  • “把这段同步流程改成异步 pipeline”
  • “这里想加 backpressure,结构怎么调整比较自然?”
  • “把散落的配置项收敛成一个 Config struct”

有时候 AI 给的重构方案我不会直接用,但它提供的思路会让我少走很多弯路。

最重要的是: 它让我敢重构。

因为我不再是一个人面对一堆代码,而是有一个“随时能讨论方案的搭档”。


用 AI 学到的最重要一课:写得快不等于写得乱

很多人担心 AI 编程会导致“代码越来越烂”。

但我的体验刚好相反——前提是你使用方式正确。

我现在的节奏是:

  • 我快速实现第一版(别纠结)
  • AI 帮我补齐工程细节(日志、错误、结构、测试)
  • 我再做关键的性能与边界处理
  • 最后形成一个更稳、更干净的版本

这种方式反而让我更容易做到:

  • 代码结构清晰
  • 模块边界明确
  • 可维护性更强
  • 出问题更容易定位

也就是从“写得快”升级为“迭代快”。


现在怎么看 AI:它改变的不是编程方式,而是成长方式

以前我遇到问题,成长路径是这样的:

查文档 → 看 issue → 搜博客 → 自己试错 → 逐渐搞懂

这个过程当然有效,但很慢,而且很吃耐心。

现在 AI 给了我一种新的学习节奏:

先问 AI 得到方向 → 自己验证 → 再深入查资料 → 最后沉淀成自己的经验

它让“学习”变得更像“对话式探索”。

我不再因为一个小问题卡住半天,也不会因为细节不确定而停下整个开发节奏。

甚至很多时候,我会把 AI 当作一种“镜子”:

  • 我把自己的思路讲给它听
  • 它帮我指出逻辑漏洞
  • 我再修正我的表达和设计

这其实是一种非常隐性的成长: 我越来越会把复杂问题讲清楚。

而这项能力,比写代码本身更值钱。


最后:AI 没有让我变懒,反而让我更“像工程师”

如果一定要总结,我觉得 AI 给我带来的最大变化不是“少写代码”,而是:

  • 我更敢快速试错
  • 我更愿意做第二版、第三版
  • 我更关注结构、边界和长期维护
  • 我更像一个在搭建系统的人,而不是在堆函数的人

AI 没有替我完成工作,它只是让我把精力从重复劳动里释放出来,去做更重要的事:

  • 把系统跑起来
  • 把瓶颈找出来
  • 把代码变干净
  • 把复杂度控制住

我越来越相信一件事:

真正厉害的不是“AI 会写代码”,而是你能用 AI 把迭代速度拉到一个新的层级。

而我正在享受这种变化。

点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
King
King
0x56af...a0dd
擅长Rust/Solidity/FunC/Move开发