AI 摘要
不要重复造轮子
这句话我现在是非常认同的
但这个认同,不是因为我看了多少文章,而是我自己踩过一轮坑之后,才慢慢意识到的
如果非要总结原因,其实就三个:
- 浪费时间
- 浪费算力
- 取悦自己
浪费时间
一开始我做很多东西,出发点其实是为了提效
比如:做一个自己的工具、写一个自己的模板、封装一套自己的流程
听起来都很合理
但问题在于:
你以为你在提效,其实你在造工具
而造工具这件事,本身就是一个无底洞:
- 架构要不要优化?
- 代码要不要重构?
- 这个功能要不要顺手加上?
- 既然都做了,要不要做得更通用一点?
最后的结果往往是:
主业务没推进,工具倒是越做越复杂
那段时间我最大的感受就是:
- 每天都在写代码
- 每天都感觉很忙
- 但项目就是不上线
本质就是一句话:本末倒置
浪费算力
以前写代码,最多就是浪费时间
现在不一样了
现在你用 AI 写代码,本质是在:
消耗 token
我基本是:
- Claude + GPT 轮着用
- 写一段代码 → 不对 → 改 prompt → 再来一轮
一个市场上已经有成熟方案的东西
那这些 token,其实就是在做一件事:重复造轮子
而且是:用钱重复造轮子
很多时候你会有一种错觉:我是在优化方案
但其实是:我在为一个没人用的方案买单
取悦自己
这一点是最隐蔽的,也是最难承认的
很多时候你造轮子,不是因为真的需要,而是因为:想自己做一遍
这种感觉很爽:
- 架构是自己设计的
- 代码是自己写的
- 一切都在掌控中
但问题在于,这种爽是没有任何商业价值的
因为:
- 市面上已经有更好的方案
- 已经被用户验证过
而你做的东西:
- 只服务你自己
- 质量不一定好
所以本质上,这是一种:
技术自嗨
个人踩坑
SaaS 模板
当时刚开始接触出海,就有一个很自然的想法:
做一个自己的 SaaS 模板,以后可以快速上站
于是我花了接近两个月时间,做了一套“看起来还不错”的东西:
- 模板结构
- 登录
- Stripe 支付
- 通用 HTTP 模块
一开始甚至有点成就感
但问题很快就来了:
- CMS 没有
- Stripe webhook 很多没处理
- 权限体系不完整
- SEO 也没设计好
这些东西的特点是:
每一个都很耗时间,而且很容易踩坑
后来我才意识到一个很关键的问题:
我根本不知道一个成熟的 SaaS 模板应该长什么样
但市面上其实已经有很多成熟方案,比如:
这些东西的价值在于:
- 已经踩过坑
- 架构是合理的
- 可以直接二次开发
而我当时做的,本质就是:
从 0 开始,把别人已经做过的事情再做一遍
那两个月,说白了:
交学费
i18n 翻译
后来在做 SaaS 的过程中,又遇到了 i18n 的问题
一开始我的想法很简单:
能省 token 就省 token
于是我选择:
- 本地跑 LM Studio
- 用
translategemma-4b-it
结果:
- 专有词控制不了
- 各国语境翻译不出来
- 速度慢
- 调试成本很高
我那段时间干了很多看起来很努力的事情:
- 改 prompt
- 调参数
- 重跑数据
但本质上是在:
反复试错
后来去调研,发现已经有成熟方案,比如 lingo.dev
但我当时还是在犹豫:
要不要花这个钱?
结果就是,在折腾过程中:
消耗了接近 100 美元的模型费用
而且效果还不如直接用现成方案
这时候才真正意识到:
省小钱,真的会亏大钱
什么时候不是重复造轮子
不是说永远不能造轮子
关键在于:你解决的,是不是一个新问题
还是 i18n 这个例子
后来我的需求变成:
- 本地 + 数据库双源
- 精细控制翻译范围
- JSON 层级复杂
- 有些字段不需要翻译
这时候我发现:
现有工具根本满足不了
所以我才继续改之前的脚本,并且换成更便宜的模型 Qwen3.5-122B-A10B


这一次的区别在于:
我很清楚,这个东西是为我的需求服务的
而不是为了我想做
所以这个轮子,是有意义的
一个很简单的判断方法
后来我给自己定了一个很简单的规则
每次想自己做一个东西的时候,就问三句话:
- 市面上有没有成熟方案?
- 我的需求是不是特殊?
- 我做这个,是为了结果,还是为了爽?
如果答案是:
- 有现成方案
- 需求不特殊
- 只是想自己做
那基本可以确定:又在重复造轮子
最后
这一路下来,我最大的变化不是技术,而是思维
以前我会觉得:
会不会写,很重要
现在我更在意的是:
有没有必要写
工程的本质,其实很简单:
用最小成本,把事情做成
如果你现在也在造一个看起来挺酷的东西,
不妨停一下,问自己一句:
这件事,真的非你不可吗?
如无特殊说明 《不要重复造轮子》 为博主LIN 原创,转载请注明原文链接为:https://blog.lin03.cn/archives/144/