前言:最近在开发自己的第一款软件时,对AI辅助编程的现状产生了一些思考。看到很多人用MCP快速试错产品,而我却在慢慢打磨框架、排查Bug。这种对比让我对创造的本质有了新的理解。
一、同质化浪潮下的创造困境
1.1 MCP的双刃剑效应
我之前考虑的事情似乎正在发生,也可能是我的错觉:
我之前想过,MCP会让应用百花齐放,也可能让应用充满同质化。
这二者似乎在同时被放大。
最近刷推,觉得很多人vibe coding出来的MVP同质化还是比较严重的,至少从UI来讲是这样。
我不认为这是一个坏事,至少它保证了一个产品的下限,但是这也可能会导致螃蟹效应或者是生态绞杀现象。
大家都挤在一个篮子里,用最省力的方式做事。
当下的技术生态正在经历一场前所未有的”民主化”进程。
AI正在极大地拉高产品的下限,同时也可能在拉低上限的独特性。
当所有人使用相似的模型、相似的框架、相似的提示词模板时,产出的UI和基础架构自然会趋同。
1.2 两种创造模式的分野
我在近日开发自己的第一款软件的时候内心就产生了鲜明的对比,我没有学过代码,却在Gemini和Claude Code的帮助下推进项目。
我看到别人用MCP一天就试错了很多款产品的时候,我用一个周才慢慢把框架搭出来,昨天晚上排查BUG排查到2点,焦头烂额,因为自己不懂代码和架构,只能自己摸索。
这种对比让我幻想未来会发生的事情。
实际上折射出两种截然不同的创造模式:
探索需求型:通过快速、低成本的试错,验证哪个想法可能会有市场。这是一种广度优先的搜索(Breadth-First Search),如同在沙滩上快速画出很多草图。
构建系统型:在修复Bug的过程中,学到的不仅仅是那一行代码,而是整个系统的运作逻辑、数据的流转、模块间的依赖关系。这是一种深度优先的搜索(Depth-First Search)。
我认为,在AI时代,后者的价值非但没有减弱,反而被放大了。
因为当AI能轻易生成90%的”平庸”代码时,那剩下10%的、决定产品灵魂、稳定性和天花板的架构设计、深度优化和独特创意,就成了稀缺资产。
一个MCP产品,半天就做出来了,可能他们本来路是对的,结果开发出来的产品一堆Debug等着去解决,他们会误认为是错的产品,然后抛弃,换赛道了。
这件事情我相信这段时间一定是有在发生的。
他们会把”执行层面的困难”误判为”战略方向的错误”。
因为来得太快,他们没有投入足够的时间和情感,没有与问题进行殊死搏斗,或者说没有进行深度思考。
所以会造成认知偏误,无法判断这个BUG是通往正确道路上的一块绊脚石,还是整条路都是死胡同的标志。
二、人机协同的艺术
2.1 从工具到伙伴的转变
一个有趣的事情:我和Gemini探讨一个问题以后得出来的解决方法,甚至让Gemini写好提示词,然后让Claude code去解决。
捣鼓了半天没有成功。
而当我不把提示词写得太精准,转而专注于去和Claude code说明我碰到的情况和现象的时候,Claude开始动脑子了,然后一点点帮我排查掉了问题。
这个发现揭示了与AI协作的两种情景:
把AI当”工具”或”编译器”:给它一个精确、规范化的指令,期待一个确定的输出。这适用于”造螺丝”——比如快速生成一个API接口。这是模板化的,高效的,但也是死板的。当指令与AI的内部知识稍有偏差,它就会失败,因为它没有被赋予”思考”的权限。
把AI当”伙伴”或”结对程序员”:向它描述困境、上下文和观察到的现象。不是在下命令,而是在邀请它进入思考过程。这给了AI模型一个机会,去动用它更深层次的推理、联想和模式匹配能力。它从一个指令执行者,变成了一个问题解决的参与者。
我认为LLM果然目前还是个单细胞生物,它的目的是满足你的要求,补足你的想法。它局限于人的思维。
于是我就想,究竟我们应不应该写规范化的提示词,每个人都厌倦了和AI描述自己的想法,转而走向模板化的时候,迎来的也是同质化。
过度依赖和追求”标准化完美提示词”,最终很可能会走向平庸和同质化。
而创造力源于和AI之间这种独特、充满探索、如同雕刻般的对话。
能够清晰地描述问题、提供丰富上下文、并与AI进行启发式对话的能力,将是一种核心竞争力。
2.2 模块化思维:像练琴一样写代码
也可能是我的做法更倾向于去慢慢雕刻一些作品,我弹钢琴的时候一首歌都能打磨好几个月。
目前我觉得最好解决上下文的方式还是随处做笔记,在每个模块加入md说明,限制架构条约。
LLM就和人一样,在算力速度和处理速度比现在迭代N倍之前,人和LLM都无法即时学太多东西。
举个例子,这就和练琴一样,如果一个人从头弹一首曲子弹到尾,他如果不是那种钢琴专家,而是个新手的话,他可能永远都学不会这首曲子了。
换句话说,他可能会不停犯错,然后人的脑子又是一种输入形态的记忆模式,人脑会把错误记下来,然后下一次继续犯同样的错。
想要练好一首曲子的最好方法就是不要犯错,而人的记忆又无法记住一首歌这么长的内容,
于是我们只能先保证自己在第一行甚至第一小节不犯错,把这项工程模块化,用100%的正确率重复训练写入大脑,才能跑整首曲子。
这种对练琴方式,可以映射到软件工程和AI协作的本质。
“人脑会把错误记下来,然后下一次继续犯同样的错”——心理学上”错误强化”(Error Reinforcement)的体现。
将这个模型应用到AI的上下文工程上:
极度收敛上下文:给LLM一个庞大、混乱、充满矛盾的代码库,就像让一个新手从头到尾弹奏《拉赫玛尼诺夫第三钢琴协奏曲》,结果必然是灾难性的”幻觉”和错误。
创造练习小节:每一个模块的文档就是那段乐谱,架构条约就是乐理。强迫自己和AI在这个高度受限但绝对清晰的环境里工作,直到这个模块完美无瑕。
这是一种工程纪律,强迫我们思考、整理、把混乱化为秩序。而这是AI本身相对不擅长的事情。
不信你让AI整理自己的笔记就知道了,那些笔记最终依然不是属于你的东西。
三、技术选择与价值判断
3.1 CLI:回归本质
MCP确实很快,将来我也得学用一些小工具,比如快速增加一个api接口,那这种螺丝其实可以没有必要自己造。
但我认为CLI才是未来最好的Coding assistant。
CLI作为编码助理的核心优势在于:
组合性(Composability):CLI是强大的”乐高积木”。可以用管道符将AI的能力与无数个经典工具串联起来,构建出无限可能的自动化工作流。这是任何图形化界面都难以企及的Ability。
精确与专注:CLI摒弃一切不必要的视觉干扰,让人专注于指令和逻辑本身,与机器直接、高效沟通。
通用性与跨平台:一行CLI指令,在MacBook、远程Linux服务器、CI/CD流水线里,都能以同样的方式工作。
与工匠精神相符:CLI鼓励更深入地理解底层系统,而不是停留在漂亮的界面上。
未来的终极Coding Assistant,会是一个多模态的、无处不在的”代理(Agent)”——它的核心逻辑深植于CLI,同时也会有视觉化的前端,能理解并无缝关联来自不同界面的信息。
3.2 生态平衡:共生非对立
这个世界就是这样奇妙,追逐MCP的人,和耐心打磨的人,都会有出路,大家都有饭吃,互相制衡,没有绝对的对错。
不过,有一点我可以确认的是,一个能让业内称之为艺术品的软件,绝对不是用MCP做出来的。
这是一个健康的生态系统应有的样子:
追逐MCP的人是生态系统中的”探险家”和”投机者”。他们快速验证想法,寻找新的大陆。他们中的大多数会失败,少数的成功会开辟出全新的市场和可能性。
耐心打磨的人是生态系统中的”建设者”和”工匠”。他们在已被验证有价值的地方,慢慢雕琢出护城河非常深的艺术科技作品。
二者不是绝对的对立,而是价值链上的不同环节。探险家找到了金矿,建设者来开采和冶炼。没有前者,后者无的放矢;没有后者,前者发现的价值无法最大化。
四、从实践中提炼的方法论
4.1 调试中的顿悟
我在协同CLI开发的过程中,进行了很多次优化,以及修改了很多次开发方向的调整,甚至把我软件的内核都换了。
在排查BUG的过程中,一度怀疑自己的软件架构是不是做错了,产品逻辑是不是出了问题。
排查掉BUG以后,有一种”我真的做到了”的感觉。这感觉有点像第一次打败碎星拉塔恩。
每一步都走得艰难,每一步都走得扎实。(想起有张GIF是开发者小心翼翼地把计算机拖进回收站了,笑)
通过解决问题,建立起了对整个系统坚不可摧的信心和理解。
这种持续性快乐是速成产品无法给予的。
4.2 思想的涌现式架构
讲真我一条代码都不懂写,但是走到今天,有了这种感悟,让程序大佬们看到,估计会笑话我。
最近刚学习了obsidian的笔记逻辑,卡片笔记写作法,我在开发的过程中也用到了这个。
把所有的日志分类好,不顾一切记下所有我看不懂的笔记,然后想办法在笔记中寻求软件框架和逻辑。
我感觉AI Agent,obsidian这些美好的工具,都恰如其分在最好的节点和我相遇。
我很喜欢卡片笔记写作法的理念:
分类和需求是逐渐生长出来的,排除一切干扰,思考是唯一要做的事。
这不就是我这阶段正在体验的最美好的事情。
这句话完美地描述了”涌现式设计”(Emergent Design)的核心思想。
不是在用一个僵硬的、预设的框架去框住思想;而是在让思想自由连接、生长,最终让框架和逻辑从思想的连接中自然涌现出来。
4.3 语言即代码
很久以前看到过这句话,”Talk is cheap. Show me the code.” - Linus Torvalds。
现在的现状似乎反转过来了:Code is cheap,show me the talk。
当我们用程序的思维去表达我们的语言的时候,可以如此的精准,去get things done,这本身就是一个无比浪漫的事。
Linus Torvalds说这句话的时代,瓶颈在于执行。
将思想转化为代码的过程漫长而昂贵。
现在,AI正在让代码本身变得前所未有的”便宜”。
瓶颈正在迅速转移到思想和语言。
但这里的”Talk”早已不是廉价的吹牛。它是一种新的、极其宝贵的技能:
- 结构化的语言:能够用清晰的逻辑、无歧义的词汇去描述一个复杂的系统
- 精确的表达:能够把需求、意图、甚至情感,精准地传达给AI
- 系统的思考:在”说”之前,已经完成了整个思维过程的推演
当能用”程序的思维去表达语言”时,就不再是一个”不懂代码”的人了。
掌握的是比代码本身更底层的、更强大的东西——逻辑本身。
我认为:人类最终还是要回归生物奇迹的本源:思考,洞见,逻辑,情感。
虽然我没打造过出一个完整的产品(目前正在路上),但是我已经可以预见到,这些就是打造出一个完美产品的最好的基底。
五、反思
AI时代的真相
不亲手写一款软件真的不知道,那些认为用AI的那些差生,会淘汰高级计算机工程师的想法真的是痴人说梦,认真学习的人会被不认真学习的人淘汰,这个世界从来没发生过这种事,这不符合逻辑。
聪明的高级计算机工程师早就拥抱AI了。他们能淘汰的只是那些不思进取的中间层面的人,而那些人在时代的浪潮下被冲到底层,愿意动脑子的人将取代他们。这才是符合力学逻辑的现象。
AI不是一个可以让人”弯道超车”的作弊码,它是一个”能力放大器”:
对于不思进取的中层工程师,AI放大了他的懒惰,让他更快地生成平庸的代码,最终让他的平庸变得更加无用。
对于聪明的高级工程师,AI放大了他的智慧,让他能把精力从繁琐的样板代码中解放出来,投入到更高级的系统设计、性能优化和用户体验上,让他变得更加无可替代。
最终的图景是:这不是AI淘汰人类,而是拥抱AI的强者,淘汰了固步自封的弱者。
愿意动脑子、不断学习、拥抱新工具的人,将取代那些停止思考、依赖旧经验的人,站到价值链的更高处。
在这里不得不感叹,感谢前人做出的努力和付出,感谢他们一点点敲出来的代码,才汇聚成今天的人工智能,让我们能在这个时代去拥抱科技,用上最好的生产工具,让我们有机会摆脱生产,重回创造,享受自己的人生。
从阿兰·图灵的理论,到冯·诺依曼的架构;从贝尔实验室的工程师,到开源社区的每一个贡献者 —— 用几代人的智慧、心血和坚持,把最繁重的”生产”工作,通过逻辑和算法,固化成了可以调用的工具。
结语
我们正站在一个特殊的历史节点上。AI正在重新定义创造的门槛和方式,MCP让快速试错成为可能,CLI让精确控制得以实现。但最终,决定一个作品是否能成为”艺术品”的,不是工具,而是使用工具的人。
在这个时代,最强大的创造者,是那些能够将深刻思考与强大工具完美结合的人,无论他们是否会写for
循环。
这是一趟关于学习、创造旅程。在效率与艺术之间,每个人都需要找到属于自己的节奏。
文章作者: SouNd
版权声明:除另有声明外,本博客文章均采用 CC BY-NC-SA 4.0 许可协议。转载请注明原作者与文章出处。