- AI 确实是生产力(守旧的大老鼠落伍地感慨中 2025-03-19
- AI 编程改变了我(改变中… 2025-12-01
感觉其实也在做类似的事情,只是今天决定把这件事情当做一个系列去写,记录ai的变化也记录我思想的转变。当然内容零零碎碎的,而且也不一定正确,只能算是我当前认知的一种切片。
误打误撞的组合
最近讲过几次的故事,但是还是讲一下吧。
目前各种 AI 编辑器给的免费额度基本都是比较少的,顶多也就是够每个月简单测试一下,但凡要用它写一个功能都是不够用的。但是我想实现一个想法,而恰巧我看到 Kimi 的账户里有赠送的 15 元。把 AI 接入编辑器的方法还是挺多的,我选择对我来说最简单的直接把它填入了 Cline,因为这个插件本来就在我的编辑器里。
模型我不会选,那就选一个看起来比较新的 Kimi-0905。
然后我列出了我想写的这个插件的需求,丢给它我就去干别的了。因为我的项目只有一个空白文件夹,我没什么可担心的。一般来说现在这些编辑器的自动化,也会限制命令的使用,对于危险命令,比如删除文件,它是需要人授权的。
耗时不算太多,插件写好了,它已经调试到可以正确编译了。而且确实实现了我要求的所有功能。
如果只是想写一个网页小工具,他能够一下子写成功,我觉得是预期之内的。但写一个插件的复杂度显然要比这个高多了,即便我要实现的功能并不复杂。所以没有见识的我还是被震撼到了。
然后我开始给他提出各种修改需求增加功能……这个过程中,它可能没有完成功能,它可能改来改去效果在原地转圈。但基本上都能保证正确编译,而且可以运行。这在我以前使用的 AI 编程工具中是很难做到的。以至于我认为现在 AI 进步的是如此之快,已经能够即便做不好事情也不把事情搞砸了。
但额度消耗的是非常快的,15 块钱的额度大概也就用了一个晚上吧,晚上横竖睡不着,又在闲鱼买了 15 块钱的额度,然后第 2 天上午两三个小时又消耗光了。但他依然完美地回应了我的期待,即便后来代码开始变得复杂,我提的功能也开始逐渐的……不走脑子,他还是把我要求的功能基本都写出来了。
后来因为没有了额度,我测试在其他工具下使用相同的模型,也注册了 Cline 的账户,然后他赠送了 0.5 刀的额度,我在里面尝试使用 Claude-sonnet-4.5,都没有办法达到相同的效果。我使用 Kimi-k2-thinking 效果也不行。这时候我才知道最初的组合是怎样的价值。
只可惜后来我和人说起,他们居然都出奇的一致:
- Kimi 就是一坨……
- 你用过 Claude Code 吗?
我……现在编程的人都不讲理性思考了吗?为什么没尝试过就要先否定呢?我不理解,但我选择闭嘴。
阅读代码
当然这个项目终究是被我写乱了,我认为是 AI 写的不好,我决定手动重构。
阅读代码,看不下去了呢!相同的功能在不同文件中有重复定义的函数,有些功能明明已经提供了内部 api,但它却使用比较笨的方法去实现。
但写着写着,我发现 80% 的函数我都是从它的代码里复制过来的……
再仔细想一想,产生重复定义的原因是我不断的在追加需求,有时候前后需求是冲突的或者重复的。这就好像工作中领导总是在拍脑门出主意,我们也只能忙着各处打补丁,最后写出一堆屎山代码。
所以写着写着,我觉得也许问题出在我自己身上。如果我能一次性将需求完善的写好交给它,说不定能够获得一个挺不错的结果。
而且因为上面我所讲到他的完成能力,让我对问题开始不那么慎重的思考,我只是提出需求而不思考这些需求应该如何去实现,如果这个需求本身是不合理的,而它实现出来的效果又不符合我的预期,拉扯几轮之后得到一堆屎山代码,这应该也算一个合理的结果。
使用方法
所以工具终究是工具,工具确实是在不断强大,但工具强大不等于可以随心所欲,更了解它的特性才能够更好的加以利用。
所以现在想写好代码的重点是如何合理细致严谨的提出需求。从写代码到写需求这是一个非常重要的转变。
而事后追加需求永远都不是好办法。
工具的场景适用性
似乎每次聊到 AI 编程大家都对国内的各种模型嗤之以鼻。我觉得也没必要吧,假设他们真的是差劲的,可是也不是我们所有的场景都需要高端的。小学生做数学题时即便使用计算器也没必要弄一个科学计算器吧?
比如这几天我在使用 Trae CN,里面都是国内的模型,但是我是在手动重构,我把他们当做高级的代码补全,这就很好用啊,而且反应速度相当快。写代码都不会反对自动补全吧,那更快更智能的自动补全当然也没有理由反对啊,在这个场景下它是足够用的。
重构中我希望更细致的掌控每一个细节让他们都符合我的想象,而不简单的是能跑就行,因为有时候我也挺强迫症的。这时候我可以控制它的生成只局限于某一个函数之内,写一个函数一二十行代码总出不了什么大问题了,而且因为代码量少这样准确度会更高。而好处是它可以结合整个项目的内容去书写这个函数。我所要做的只是在他写好之后去阅读,以保证这个函数确实符合我的想象。
所以把它的应用控制在合理的范围内这是很重要的。正确的使用方法能够更好地体现工具的价值。而单纯依靠工具的强大,容易让人忘记自己存在的价值。
关于隐含条件的思考
当我们提出一个需求的时候,永远不可能描述的面面俱到,也就是永远存在隐含条件,但我们假设对方是了解这些隐含条件的,这可能是一个常识,一个解决这个问题的基础知识,几个条件综合以后的必然结果……
但事实上我们很难确定对方是否在思路上和我们足够对齐,和人交流是如此,和 AI 交流也是如此。有时候我们很宽泛的提出一个问题,但是 AI 很认真的去考虑了相关的各个方面,最后给出一个超出我们预期的答案。但是在编程中,我们提出整个项目的需求,这时候未涉及到的需要双方共鸣的细节就非常多了,有一些 AI 会做的超出我们的预期,而有一些则可能完全相反。好的方面容易被我们忽视而坏的方面常常又被我们放大。而且在数量叠加以后这种感觉更加明显。
所以又回到了应该如何去提需求,足够全面,严谨,不出疏漏。又如何把 AI 每次的生成量控制在理想的范围内。
付费编程
当然也不得不承认,有一些模型的效果就是断崖式的领先。好像除了价格贵也没什么毛病。
以前想要编程有一台旧电脑也就够了,不好用就不好用吧,但这不是主要因素,至少它不会影响我编程的水平。但现在想要编程先得给 AI 付费,而有没有 AI 对最终代码的效果可能真的影响很大。
以前我和大佬之间的差距只是我们个人水平的差距,而以后可能单纯是双方经济实力的差距。当然这种说法很偏激了。但还是,令我感慨了许久。
付费也是认可的,毕竟完全理解 AI 超高的算力消耗成本是很高的。但现在你追我赶此起彼伏的时代,在任何一家模型的身上也不敢过多下注。在这家买了一年,三个月以后发现他被超越了,甚至是毫无争议的被超越了,而后面的 9 个月里他都没能赶超,那这钱付的就很尴尬了呀。
发展太快了
现在国内的这些模型如果放在年初,那写代码能力算是非常强了吧,当然我们都不会知足的,最好连需求都不用我提……当然那时候我就该非常焦虑——我自己究竟有什么用呢。
发展终究还是太快了呀!比如年初的机器人跳舞和年末的机器人跳舞。这可不到 365 天啊。现在看新闻慢一点儿都担心立刻被时代淘汰掉。
虽然我在认真地讨论着应该如何写提示词,但其实很多 AI 工具中已经自带提示词优化功能了,如果借助这样的功能在实际生成之前先优化几轮提示词,应该也能够获得挺不错的效果了。只是我确实太懒了呀——我也不知道我想要什么,反正你先做出来给我看看呗……终究是活成了自己讨厌的样子。
懒就懒吧
说着是手动重构代码,还不是从 AI 生成的代码里搬了一大堆,然后需要自己写的时候打着练习书写提示词的旗号,让 AI 帮我生成我需要的函数。
当初学会使用编辑器的自动完成之后我就再也回不去了,很多单词我都是不会拼写的,但是我基本都记得前三个字母。
现在学会了让 AI 帮我写代码,我觉得我肯定是又回不去自己手敲代码的时代了。
