We're sunsetting PodQuest on 2025-07-28. Thank you for your support!
Export Podcast Subscriptions
cover of episode EP104 继续聊 Vibe Coding 在复杂项目、项目维护中的那些事以及AI是否能取代程序员?

EP104 继续聊 Vibe Coding 在复杂项目、项目维护中的那些事以及AI是否能取代程序员?

2025/6/9
logo of podcast 硬地骇客

硬地骇客

AI Deep Dive AI Chapters Transcript
People
一笑
赛头
龟龟
Topics
一笑:我发现从零开始由 AI 参与的项目,在后续用 AI 维护、添加新功能和修复bug时,可能会更容易。这是因为AI参与越多,对项目的理解越深,就越懂这个项目,这与人类的表现类似。当然,提供上下文是解决bug的核心,包括项目代码和技术文档。AI在编程上的弱点在于搜索上下文的能力不如人类,但这一点可能会很快得到改善。 龟龟:如果理解 Vibe 出来的代码,AI 可以有效地辅助修复 Bug。但即使提供足够的上下文,AI 的反馈仍然是常规的,缺乏人类的灵感迸发。人类的优势在于灵感来源,AI 在当前技术架构下可能无法跨越这条界限。

Deep Dive

Chapters
本节探讨了AI辅助编程在项目维护中的反直觉之处:AI参与度越高,项目理解越深,维护越容易。但AI的优势在于处理常规问题,缺乏人类的灵感迸发。上下文信息是关键,包括代码、模块、文档和日志。
  • AI参与度越高,项目维护越容易
  • AI缺乏人类的灵感迸发
  • 上下文信息(代码、模块、文档、日志)是关键

Shownotes Transcript

大家好,欢迎收听尼海克,我是赛头,我是异象

我是龟龟本期节目由 Podwise 赞助播出 Podwise 是一款为播客听众制作的 AI 学习软件产品的 slogan 是 Read Before ListenPodwise 通过 AI 对播客内容进行转录提取总结分析等一系列操作帮你掰开了揉碎了硬核的播客内容同时与 Notion、Readwise 等平台的打通嵌入知识管理工作流协助您的其他包括新闻 Newsletter、Vlog 的内容帮你打造第二大脑

Podwise 也为本期听众准备了三个五折优惠码针对本期在小宇宙与我们互动的精选回复欢迎大家踊跃来玩好的 那开始我们本期的节目吧好 那在上期我们是跟大家一起聊了 webcoding 过程里边前后端的一些经验分享产品都已经开发齐活了嘛 对吧但是在真正的项目开发里边很大一部分是关于查问题的 对吧比如说怎么解决 bug 那上期我们聊的怎么去解决安全问题

我就在想说我们自己在做 Costwise 嘛然后一笑也有大的项目的经验我就想问一下一笑就说这个时候是不是说 web 出来的东西对吧很大一部分可能我自己也看不懂也没时间看是不是说这个时候我去查问题查 bug 安全问题等等的时候就比较难搞了嗯

我觉得这可能我有一种体感我觉得可能会反直觉的就直觉上来说我们可能认为会是这样的就是 webcoding 系的项目维护起来可能会很难乱糟糟的对吧但是我觉得这里可能会是一个反直觉的情况我自己的感受就是当然不是百分百的能肯定的就是这种从零都是 AI 参与的项目

可能在后面的这种断断续续的用 AI 来维护要添加新的功能修复 bug 的时候

它反倒更容易因为我今天在 Customize 和 Portarise 两个项目上进行开发的时候会有这种感觉其实在 Customize 上它更容易这种感受让我得出的我的一个初步的结论是 AI 参与得越多它其实对这个项目的理解得越多越深它就越懂这个项目就和我们人是一样的我觉得它这种方向的表现和人也是一样的这个可能得益于 Costar 对这个项目的

它会生成的一些索引,包括你去不断的去对话,那些对话任务过后也在它的数据库里面还有更多的上下文信息去检索,我觉得可能都会得益于整个环境的这样的一些上下文所以说我觉得这个地方是反直觉的

当然我们回到解决 bug 这些核心的话总结一下核心最核心的一个点就是上下文对吧不管你是老项目还是通过 AI 一直参与的项目核心还是要提供上下文最主要的上下文就是这个项目的代码就是项目有哪些模块有哪些文件这个是最重要的上下文还有我们使用到的一些技术战他们的官方文档

因为现在 Costar 他也能直接访问官方文档他能够直接去给他一个 UIL 他就能直接去搜索了对包括很多时候其实我也遇到过有些 bugCostar 他怎么解都解不过去一些前端的比如 Legs 在 1.5 上面他有些问题他怎么都解不过去我自己去 Google 一下就是很容易的 Google 到社区的一些讨论然后把那个讨论只需要复制粘贴给他一下都解决掉了对

所以说其实和我们人是一样的今天科学可能在搜索这种商下文上面可能还没有那么智能需要我们人去参与帮他完成这个商下文的提供这件事还包括像日志啊这些都是我们人经常关注的一些东西对所以说我一直就是会觉得说

AI 在编程这件事情上会越来越强今天我们觉得它弱的地方很多时候就是因为上下文不够我们人为什么觉得会够就是因为我们人会想尽设法的去寻找各种上下文比如说我遇到一个 bug 可能会去翻 GitHub 的 issue 对吧可能会去看一些社区的讨论到一些微信群里面去询问

或者说咨询一些更资深的人他们的经验又或者说可能会去甚至到最后没办法了再到 GitHub 里面去把一些项目的源代码翻出来看一看其实我们人做的所有的这些事情都是在找对于 AI 来说都是在找上下文对只是因为今天 AI 在搜索上下文上我觉得还没有人这么强

这么智能但是我觉得说可能很快这一部分会被补齐吧对我觉得这个问题啊你说它难搞难搞这个得有一个参照物相比什么来说更难搞

我觉得这个分情况看比如说 Vibe 出来的代码你自己本身没读过你也不理解那你其实就只能继续依赖 AI 去做 bug fix 对不对你反正这也是你唯一的办法所以它其实也不存在难搞不难搞的问题但是如果你本身看过 Vibe 出来的代码你理解它的工作原理的话 AI 其实能很有效地辅助你去 fix bug

就一般这种情况我会告诉 agent 说你不要着急去动手修复问题对吧你先尽可能全面的思考列出可能的原因

然后我会去判断说哪一个是最有可能的原因并在指示他修复但这里面其实有一个点前段时间不是那个 Redis 的创始人他那个网名叫 Anthony Z 对吧对对对他真名叫什么 Sava Vittoria 什么的忘了对他不是发了篇文章吗他说他觉得人类还是远远要强于 AI 的人类程序员他其实举的一个例子其实就是一个修复问题的例子

他其实想表达的是说人类在迸发灵感这方面就是 AI 现在是没有这种能力的其实刚刚像那一笑也提到说我们人其实可能能去找更多的上下文然后更善于从上下文里面去找到线索那我个人体感是说你即使塞给了 AI 足够多的上下文他给到的反馈仍然是期望内的是常规的

他很难出现说人这样的灵感迸发你可能就是突然在哪里看到一个点然后突然就有一个灵感说他这里可能是可以有相关的我可以在这个地方去做一个什么很巧妙的事情去解决它你可能用的是一些非常规的手段但是 AI 是做不到这个事情的所以我觉得这个也算是现阶段人类的一大优势就是他的灵感来源而且这个优势

可能可以持续很长时间因为我们不知道今天 AI 的工作方式它是不是真的就是能够跨越这条线就是跨越这个灵魂你可以讲的是灵魂对吧或者你可以讲的是一些别的东西就是跨过这条线它今天可能现在的技术架构下它不一定能跨过这条线但这个扯远了对所以我是觉得如果说你要说 MarkFix 这件事情

那你肯定还是在理解它的基础上去把它作为一个辅助来用我觉得是非常好用但是很多时候包括自己的经验来看有的时候这些疑难杂症的解决还是依赖于你自己的灵光一线

对 龟龟这里有提到一点说 web 出来的代码如果你不理解的话你就只能继续依赖 AH 去解决问题这个我也挺有体感如果你是在指导一个上期有聊过就是如果你是在指导一个 P5 的程序员的话你可能会一直盯着他的代码去看你知道说他每一步到底在干什么然后后续的话你就会持续地去看着他的代码然后盯着他持续做那这样的话你不会让渡你的权利直到你觉得说他是一个 P6

的时候你就不看了对吧但是一笑在聊的这个点是说他说他觉得其实用 AI 开发的项目它的维护成本是更低的是因为一笑把这个程序员当成了 P6 的程序员他一直在告诉他说你就帮我这么干就行了对吧我看到你的结果了你帮我把它改一改就行了对吧我就在想一个问题是不是说我们逐渐被 AI 替代的过程其实就是你们两个在使用 AI 的

贵贵现在还是把人家当 P5 在用的可能一笑已经把人家当 P6 了我觉得这是我最后的尊严对可能隔不了多久就变成了说其实我们每一个人都把自己当成产品经理你提供产品的 idea 你当 CEO 你当老板你提供钱你提供说我怎么能在 Versailles 上面部署 Cloudflare 的资源我帮你买了对吧对

然后其次我就告诉一个做设计的一个 AI 然后告诉他说其实我要做一个这样的产品你帮我先规划一下然后你再找了几个批发程序员帮你坑斯坑斯然后把这个代码写完了然后你就把自己的所有的东西全部都让渡出去了你只要关注商业就可以了

我觉得可能这个是一个过程啊对但是在这个过程中我现在其实还想问一个问题很多人不管在推特上面也好在极客上面也好很多都在讲说 webcoding 只能做简单产品比如说 webcoding 里边大家现在被吹得最火的产品就是小猫补光灯吧

小毛补光灯可能是一个 boostdrop 的代码就可以写完的一个东西对就是一个非常简单的东西那我就在想说 webcoding 的这个项目是不是它会有一定的复杂度上限它可能也受一些 LM 本身的上下文的限制再一个就是它本身的智能

它的达成率可能就会比较低再一个就是如果我们的产品逻辑很丰富我可能就是在做老的产品那么我会不会说在老产品上面用 webcoding 的时候其实也会碰到所谓复杂度的问题也好就是它达成率的问题也好对我不知道这方面你们两个有没有什么看法嗯

对我先来说一说那个复杂度的问题就是我觉得大多数项目的这个复杂性它本身其实是体现在牵扯到了一些更多的依赖更长的链路让它那个环境很复杂更多的环境就是说那个项目它的编量的那个因子特别特别的多

就像我们曾经做 2B 的时候我们经常不是有业务团队的去对接替代客户的老项目的时候可能就会发现人家老项目里面调用的外部的三方的 API 超级多对接了很多的软件的供应商或者之类的就觉得说这个东西干起来太复杂了

其实我想说的是大多数项目的复杂性它其实就是体现在这些地方就是要理解这么多的这种复杂的因子其实对今天的大模型来说的话真的就是需要更大的上下文窗口并且在模型的上下文当中它的能力要不衰退但是今天其实核心就是上下文比如像 JMLA 它可能很长达到了上百万级的上下文这个真的很好但是它也会衰退所以说并不是说我们

无限的去填充那个上下文你上下文里面的信息都能够被充分的使用这个是模型的今天是做不到的今天有很多人有一些经验比如说用 Cloudy 的那个写代码

就会发现一朝连续对话超过六轮七轮过后后面就衰退的比前面要严重很多很多了对这些都是每个人的一些经验的感受吧对但是这个其实已经说明了今天模型在上下文上的衰退是一个不真的一个事实所以这个东西肯定是当然我相信可能会肯定会被改变了那其实对人来讲的话也是一样的

那一个复杂的项目就是因为它涉及到的东西太多了我们的脑子其实装不下所以说我们就发明了一个东西叫软件工程对吧软件工程这个事情它要解决的不就是大型复杂项目很多很多的人参与的项目如何去高效协同如何去做一个复杂的大型项目就是软件工程要解决的问题那软件工程里面它就要涉及到怎么去做数据库的架构设计怎么去做

应用代码的架构设计什么模块化什么 JL 什么 API 等等乱七八糟的对吧反正各种花里胡哨的技术在

在过去的这么多几十年里面层出不穷其实核心这些东西都是属于整个软件工程为了解决复杂项目大家去实践出来的一些经验这些经验我想说的是今天在 AI 上都同样的使用一个好的架构对 AI 来说今天也是好的一个乱七八糟的架构 AI 也无能为力

对,有好的模块化设计,如果你有一个具复杂的项目但是你的模块化设计的非常非常的好,模块之间的解钥程度非常非常的高模块内的整个信息的这种闭环闭合的很好很好那 AI 在这个模块上的工作已经可以把它理解成是一个小项目的工作了同样可以做得很好很好,对

所以说我的最重要的观点就是说软件工程的最佳时间对 AI 同样适用我们不是说有了 AI 我们就放弃我们

研究了这么多年的整个软件工程上的一些实践包括像 Git 的使用对吧我相信今天用 Cursor 的人最在意的就是 Git 的使用我们可能要及时的 Git addCommute 等等回滚这些都是一样的其实对那再聊一下老项目的问题因为我自己确实也试图把

Costal AI 引入到像 Podwise 的整个后台的维护当中发现它比 Customize 做起来要懒要懒很多对那这里面可能一个原因是 Podwise 在后台上有一些模块化的设计它还没有那么好架构设计上还没有那么节奥对这可能是一个原因但是可能也是

Cursor AI 今天对我的 Portwise 的整个项目的后台的代码他没有那么理解我认为就是他没有那么理解这个项目的前因后果他也不懂历史所以我的猜想是如果我把整个项目的整个的结构加格设计以及它的逻辑的文档都输入给他我相信他可以发挥一个更大的作用但是我自己还没去做这件事对

对所以反正我不断走到这个地方来我的感觉就是他和我们招聘一个新的员工其实是一模一样的对一个新人让他参与到我们老项目的维护里面反正他也搞不定反正总是有很多的问题对所以我觉得还是一个同样的一个感受其实我自己在老项目里 Vibe coding 有一些技巧因为 Photowise 本身它是一个没有不是从 Vibe 来的一个项目它其实已经有很多人的代码了

然后我发现我要去在这个项目里面去把它用好的话我自己会去做一些 Rules 文件我们知道 Cursor 可以去写 Rules 文件嘛它可以写整个 Cursor 级别的也可以去写那个项目级别的放在它那个 Cursor 这个目录下面然后我会去做几个 Cursor 文件一个是工程本身的 Readme 就是这个工程是干嘛的对吧它的技术站是什么然后呢是工程结构然后就是这个工程大概这个有哪些主要的目录这个目录下面都放了些什么代码

这个其实你可以让 Cursor 自己去帮你生成你可以用一个 Cursor 的 agent 里面有一个 Rules 什么 Generator 的命令反正你可以让它去生成一个生成完自己再改一改就好了这是两个 Rules 文件然后还有会自己去把我封装的一些工具

就是一些非标的一些东西去写一个文档把它作为一个 rules 比如说我在 next.js 里面我是没有用那个 surrection 的我是自己封装了一套类型安全的这个前后调用的一个工具方法那这个其实因为本身它不是一个标准的东西所以就很有必要形成一份 rules 文档让 agent 知道说他要去写类似的代码的时候他应该怎么写然后还有一些你偏好的代码编写的规则

比如说要求 Curse 总是优先使用单引号啊或者说要求它在编写 UI 相关的代码的时候其中的文本要优先使用英文之类的因为你会用中文跟它对话嘛它就会倾向于铲除中文的文案对所以这些你就是要去给它规定好然后包括比如说我们对接的 API 定义因为这些都是内部 API 嘛它是没有文档的参考的

那你其实也可以做成 Rose 文档或者说单独做一个 Markdown 的文档有必要的时候你可以用 at 去引入这个文档来让 Edgington 更好地理解它这些其实都是在给 Edgington 一些你这个项目独有的信息就是你知道他不知道的东西

对它这个对于维护老项目是蛮有帮助的嗯对我觉得哥哥提的这个点挺好的假如我们要去用 AI 的这些编程工具协作然后一起去做项目的话大家可以去商议去形成一份整个项目的 cursor rules 对吧然后用这个 rules 来管理到底该怎么生成代码我到底有哪些背景知识

对但是这个最终还是会涉及到一个问题就是整个 LM 的一个上下文窗口大的上下文在这个上下文的情况下面我到底能解决到问题对当然上下文可以依靠软件工程的方式把它 break 成一些小的一些

上下文就是我让他小的上下文也能装好整个的软件的项目对但其实上下文还是会影响还有一点我一直有一个猜想现在大家都会发现说一个新的模型在上线过后过一段时间你就感觉它有点降质可能经常会有这样的发现 GPC 上线之后一开始大家效果特别好可能过了两个月三个月大家觉得说好像效果就没有一开始那么惊艳了我一直在思考这个问题是不是因为说

大家不断地在使用的过程里边缓存跟 cache 了太多东西了就是他可能很多人提的问题很相似他直接返回了一个缓存的内容那个内容不一定很好结果导致大家不断地在问的过程里边他不断地降制就是他把自己以前可以思考的东西变成了很多不能思考的固化

我大概猜可能是因为这个我不知道有没有真的在大模型公司里边在工作的人然后可以给我们科普一下就是这个降质是不是真的存在对吧然后背后的原因是什么对等等的我觉得刚才我们聊的这个复杂度的问题我觉得还是一个挺普遍的问题

我甚至还在想一个问题因为现在不是有很多开源项目吗然后一上来就有很多人贡献是不是很多 PR 其实本身就是 web 出来的然后大家现在也看不出来对吧反正你这个 web 只要能过我就合并啊等等之类的对在团队合作开发里边比如像 web coding 这种方式能不能用来写作没错我觉得这确实是一个很好的问题因为刚才可以听得出来我和龟龟的经验大家都还是站在自己个人的角度对那从我自己的使用的话

从我现有的认知来说我觉得说 webcoding 加团队协同就是真正的团队协同做一件事情我觉得真的挺难的就是这件事对反正我的感受是很难团队协同我觉得这可能是现在我觉得 AI 哪里哪里都好但是好像突然来到软件工程这个领域的时候在团队协同这个点上出来一个很大的一个问题对这是我对 AI 的现在的一个评价对

那我们先梳理一下比如说像做 webcoding 的流程对我来说就是

我作为指挥的人就是我自己先知道我需要干什么然后我就指挥 AI 去帮我干完了人就检查 AI 的结果它在多人的团队协同的开发当中往往它不是这样的一个流程它是需要深度交流的可能这里面涉及到很多的项目的什么大会小会开个不停的还有各种在通信软件里面的各种聊天聊来聊去一上午都在扯这个开发的问题对吧好

那现在这些东西都是 AI 干了那作为人我除了知道结果以外整个过程其实我都不知道我也不想关心这件事了那这个时候其实是那就没办法去开这些大会小会了我和你交流啥呢比如说我和龟龟聊啥呢我只会聊说这个我跟他做完了长这个样子

然后除此之外就没得交流了对吧所以说我觉得这是一个问题我觉得对可能是我们自己也没有时间过所以说还没掌握这里面的一些经验和技巧吧对那所以说如果让我今天去看在 AI 时代下软件开发的这样的一个协同的问题我觉得可能真的要实当的转变一下但是我也感觉会有这样的一个转变的趋势就是说可能真的在未来是不会再

分得那么细的一些工种就是工种上面不会分得那么细说你是一个写前端的你是一个写后端的那你是一个只负责这个 API 的这个服务模块开发的你就是给别人提供 API 你啥的其他的都不干我觉得这种

在现在的软件开发团队里面这种工种的划分可能未来可能不是很合适更多的是从设计产品工程开发更一体化了就是我们以前的词叫全站开发可能现在在 AI 时代这个要更全站一点更一体化一点这是我的一个感受我觉得这样可能是更好的

其实我觉得这个问题可能不是个问题什么意思呢就是你看比如说我现在把它当 P4 P5 用那我肯定是要知道它在干什么对吧那这样的话反正出面交流的是我的话那也无所谓嘛因为我知道到底发生了什么事情我可以很好的交流那假如说他们已经是 P6 P7 甚至 P8 了那我好像也没必要去跟别人交流了对吧

我就让他们全赖了我的团队本身就是 N 个 agent 了我不需要一个真的人来做这个事情然后假如说我真的是有一个特别大的团队我必须要去跟别人协同那我觉得团队本身是会自由化的当你真的要去必须要一个大的团队来协同的时候那 Vibe Coding 它就存不存在其实不重要它只是阐述代码的一种方式

你如果无法完成团队协同这件事对吧你不能做做点这个团队协同组件我说你不能持续的去维护他的时候那你自然会被淘汰掉啊就换个角度看比如说一个人总是拿着他不理解的带有问题的 web 出来的代码去提 PR 那我想多搞几次他就自然被排除在这个团队合作的范围之外了啊但是假如他一直来提 PR 是 web 出来的他甚至都不理解但是

这个 PR 没有任何问题能通过 code review 对吧能通过它的持续集成测试什么的那好像也无所谓对不对对你提的这个我觉得涉及到一个问题是什么你看比如说刚才一笑在聊的时候他说我们前后端产品设计大家会工程一体化对吧但是龟龟提的这个是说如果我有几个 agent 他的能力特别强的情况下我就依赖他就行了他还是一个 agent

对吧但是其实从规规的那个角度来讲的话他那个 agent 可能他就是写后端的他可能还是会有公众还是会有分类有什么会提到这个我想到一个点就是我们一直之前在软件工程领域有一个定律叫康威定律嘛你的组织是什么样子你的产品就是什么样子没错你像一笑提到的他说反正我都把那个东西交给 AI 了对吧那 AI 就是这一个 agent

对吧他自己把所有事全干了那我就倾向于说产品设计工程是一体化的对吧那对于郭飞来讲的话比如说有一个写后端的一个 agent 对吧有一个写搞设计的一个 agent 有一个搞啥的有一个搞啥的他可能还是有一坨 agent 他们各自在负责各自的那他可能他的软件架构跟以前可能没区别只不过被 AIT 带了

对吧我觉得这个也是一个挺有意思的我们未来到底是一个超级 agent 来干就是泛化 agent 来干所有事呢还是我其实是有很多很多特化 agent 你就是后端特化 agent 你就帮我把这个后端这个代码写好你别想别的想别的我相信你也干不好对吧就跟现在我们做 deep seek 等等一样的它不是有很多专家系统吗

对吧他用专家的形式来做那反正我就是有几个专家你们分别帮我负责某几块对吧到时候沟通的时候你们几个给我沟通你别让我自己一个人在那里扯我也扯不完然后我也不能 break 整个系统到这么小的东西我也 break 不了对

我觉得这个特别有意思我不知道大家是怎么想象说未来的 AI 变成方式是怎么样子大家怎么协作对我觉得这个挺有意思的大家如果有自己的思考的话可以在下方给我们留言然后我们接着再聊一下就是不管是做 CostWise 也好做 PodWise 的 ChatWiz Episode 也好我们也 web 了这么多代码了对吧能不能给大家分享一些投龙记就是比如说怎么样能够一次成型

对吧就是因为大家其实 webcoding 很烦的一件事就是我说我要干这个然后讲了八次都不对对吧然后我要不断地说说说调整方式说对吧像安德烈他在那个代码里面就讲说如果真的碰到了一个问题几次都解决不了我就换一种方式我不让他解决了你换一种方式给我解我不知道你们有没有一些成功率更高的一些 web 技巧对可以给大家分享一下

我觉得真的要一次成型这个确实还至少以目前的 AI 的或者说大元模型的这个能力还是挺难的至少我自己是还没有掌握这种屠龙之技的对如果我们有听众朋友有这种屠龙之技一定要在评论区里面给我们分享分享对 单从我的角度来说的话要想尽可能地提高这个成型的准确度的话唯一的方法就是第一步就是你要去写你的整个技术站

要采用什么样的技术战,你的架构设计要是怎么样的当然这个架构设计包括前端哈,要涉及到多少页面这些页面之间的关系是怎么样的,以及包括到后端有哪些 API 我觉得把这个东西如果你真的能写清楚,还包括到功能逻辑这些东西都能写清楚的话

那你真的可能用 AI 去 coding 这件事情已经成功了一半了这也是为什么会有很多人在鼓吹说在 AI 时代是产品经理的天下他们只需要把产品的逻辑写完了过后根本不需要程序员对吧现在这种言论也挺多的对吧但是我觉得说一个普通的产品经理如果他只知道产品的页面逻辑这些可能还是不够的比如技术战他就理解不了的话

那你可能也没办法去约束 AI 使用什么样的技术站来完成可靠性更高之类的

对我们先不讨论这个产品经理的话题好了我觉得刚才我们第一步就是写文档第二步可能就是拆分任务了对你能够把你的整个项目任务给它真的拆分成各种合适力度大小的任务然后再逐个完成我觉得这个准确度一定是比较高的也是唯一的今天能够去达成的

准确度的方法对好最后再补充一点因为刚才 Saito 也提到了就是提到了做 webcoding 是吧我完成不了这个任务就直接放弃这件事对我觉得这是一个非常重要的一个点

就是你千万不要无休止的去和 AI 或者和 Costal 去扯你一定要把我这个问题给我解决掉对吧你还是没解决我又把错误日子复制给你还是有这个错误对你不要你说你还其实我以前也是这样搞到后面就累了我

我也懒得给他提供上下网了就是直接说你还是没有解决请继续解决还是不对你再继续就是你如果持续这样下去其实它是没有任何效果的对的就是说一个任务无法很好完成的时候你就选择放弃吧对那放弃的方式在 Costal 里面就是直接律师多了对吧就是重立了一个第一条

第一条 property 的位置直接绿色多点对绿色多过后你就把那个 property 自己再改一改再加几行字或者怎么怎么样的或者说再把引用的上下文再添加添加一点东西或者说换一个模型过后再来对我现在一般就是反正我绿色多的频率还挺高的我只要稍微不满意比如像做前端页面的时候

它现在出的那个功能的样式我不满意我最刚开始还会选择微调的方式自己再去追加微调把它调成自己满意但是现在我已经很难难得去调了也难得去

打字了就直接绿是多了让他重新来一版吧对我觉得这个是直接放弃重来我觉得这件事情在 AI 时代这个成本实在是太低了我们不太留恋那个代码了或者换成在人的时代的话我可能写了一百行代码你要我删了重来我可能觉得这个也太心疼了我已经我已经写了一上午好不容易写到现在虽然说还有点 bug 没找到但是我觉得我再坚持一下午应该就可以解决了

对,这是我们人工写代码就是这样的,也会很珍惜你开发了一上午的代码的吧,但是现在用 Cursor 我完全不珍惜,我就是一直要出来不满足的效果直接 restore 删掉,然后重新生成,对。所以说我一般现在采用的就是这样的一个技巧,对。

然后在堆花上一般只会追加一两次最多三次我就放弃了不会再继续了对我说了这么多我觉得这里面有一个非常核心的一个点就是我们今天寄 Cursor 去做 webcoding 去做编程它整个的开发思路它其实还是一个专业程序员的开发的思路

有没有发现就是不管我们去用它去写什么东西它其实本身就是一个专业程序员使用的工具它的开发思路还是这个样子所以这里面你要想你的成功率高你就是得要践行软件工程的实践因为这个东西我已经说了好多遍了你就是要去写架构这些东西才能够拿到好的结果但其实我是相信 Cosr 不会是 AI coding

AI 编程的终局虽然 Costro 现在已经很好用了特别是对于我们这种专业程序来说我觉得它已经真的是很好用了但我觉得这个不是 AI coding 的终局我觉得会出现很多其他的 AI coding 的一些方向比如像现在 Uware 它选择的 coding 的方向我觉得就比较有意思了它就选择了人群我只需要面向一些清凉化的 coding 的方向大家可以在它上面去做一些有意思有创意的一些应用产品

就可以了他帮你直接托管掉就像 Warsail 一样所以说我觉得可能未来会有很多很多的更有意思的一些 coding 的方向吧

要说技巧的话你说这个一次成型啊我是也不能说掌握不掌握吧我就不喜欢你知道吧就是我有一种感觉就哪怕这个代码我自己写的是一坨屎那它是我自己写的我可以接受它存在于我的这个项目里面但是如果 AI 给我生成了一大堆我不知道它在干嘛我就觉得我这个项目脏了你知道吧

所以我一定要知道他到底干了什么还是珍惜自己的代码毕竟我还要长期的去维护他除非我真的说我就放手了我以后让 AI 去干这个事了不然我就觉得他脏了所以我就必须要让 agent 一步一步来这样我才能够跟得上不然我跟不上他一次给我十几个文件我读不过来

当然我觉得其实一步一步来也确实能够让它产出更稳定的更好的结果没错这个是肯定的是的对然后呢我觉得有一个点就是你在明确功能需求的时候需要去明确技术指标这个其实刚刚一下也提到了比如说你希望它用什么依赖库刚刚其实前面也提到过它可能去用一个旧的可能已经 deprecated 的 SDK 对吧那这种你是需要去约束它的

然后还有一些场景你可能希望说它不要想得太复杂因为这个场景你自己知道它是有一些现实的约束的你可能在别的地方有约束它不需要想太复杂但是可能比如说因为本身 Cursor 内置的 PromptPos 的原因它会让 agent 尽可能去反思去覆盖一些有可能压根不会发生的边界条件就会去产出很多不必要的代码

那这个时候你可以让 agent 说你就专注在这一个点上把它的基础根本的逻辑主要逻辑实现完就可以了然后你自己知道这些编程逻辑你去补一下会比让他去铲除一堆自己默默地铲除一个复杂的逻辑要好很多因为他会铲除一堆乱七八糟的没用的代码然后呢包括你也可以去说我需要你生成的这个接口要去符合哪一个库的 API 的规范为后面的对接去做预留做准备其实都是可以的

然后还有一个点其实刚刚也提到过就是善用 rules 那除了说我在这个 project 的级别的一些历史的信息的 rules

如果你遇到 agent 产出的结果不符合你的期望的时候你就可以考虑给他加一条 rules 他是能学的会的避免下次再犯比如说之前我让他给我实现一个功能的时候我会发现他倾向于不引入额外的第三方依赖他会从现有的依赖里面去东翻西找然后尝试拿这些依赖去实现这个功能就很别扭就会给他加条 rules 说如果现有依赖不能优雅的实现代码时提示我安装新的必要的依赖之类的

当然他提示了我之后我可能不会 accept 我会去看一下这个依赖这个第三方包到底干嘛的我决定要我才会自己去执行对所以你可以在他不符合你的期望的时候就去给他加入 OS 去教他所以我还是把他当一个实习生对吧

对虽然你现在把他是当实习生啊但是不确定说未来你多久的时间会把写代码的这个能力给他让渡出去啊对我们反正都聊到这了而且我们 Customize 这个产品也都 web 出来了对就你们觉得说程序员 Programmer 这个神圣的职业未来到底会不会被 AI 替代或者说我是不是该问说我们还有多长时间会被 AI 替代

对我觉得这是一个现在反正最有争议的问题也是一个价值观问题我觉得对我在给我的倾向性就这个问题如果就是说让大家来选就是选

假设没有中间的模糊地带只有说 AI 它就是会替代绝大多数程序员和 AI 不会替代大多数程序员只会替代非常非常小的一部分的程序员就只在这两个极端里面去选的话在做出这样的选择之前我觉得我得先表明我的背景我自己还是很喜欢编程的首先我不是产品经理对我不是自媒体也不是产品经理所以说我会选

怎么怎么样的对首先我自己我就是很喜欢编程我还是很享受手册代码的这个感觉的包括今天我自己比如在 Portwise 里面在很多时候无法用 Cursor 去做那些老的代码的维护的时候我还是会在 Vim 里面用 Vim 这种非常古老的工具在里面去

手册的一些代码其实我觉得这个过程还是很棒的但是今天如果回过头来让我看 AI 和程序员的关系让我有一个倾向性的选择的话如果没有中间的模糊地带我会选 AI 真的会很大的概率会替代程序员就是我现在会有这样的一个价值观的一个倾向可能是因为我真的很相信 AI 我是觉得说 AI 未来能力会非常非常的强

当然不是说是今天的 AI 这个时间究竟有多长并不是我能够确定的事情只是说我更有这样的一个倾向性或者说你会觉得说是我相信 AI 会在未来会走到这样的一条路上去当然这里我要补充一下就是我倾向的 AI 会替代程序员其实我不太

赞同说像今天像 Costal 这样的工具会直接替代我们今天的程序员我不太认同这一点因为我自己觉得说 AI 会替代程序员会发生我的思考的话是会发生在两个方面可能就是两个大的方向上可能会出现替代程序员的概率第一个就是未来的我们这些应用软件应用的形态和今天是不是还会一样

就是比如说是不是还是由一个一个的网页组成的还是不是就是有 iOS 的 APP 安卓一个一个的 APP

还会不会是这样的一个形态会不会是一种新的软件的形态的产生只会有数据了数据是真理然后并无软件的存在而是用一种我们可能现在还无法想象的一种交互方式出现了不管是语音也好自然语言也好规划框也好或者说有一种新的 AI 的阴间的不再是手机这种形态或者说也是手机或者怎么怎么样的

对但这个点是一个我相信现在有很多人也在探索这样的一个方向对

如果像这种方向出现的时候你会发现大量的今天的这种软件应用开发的程序员肯定都会被替代掉了是无疑的可能他那个时候根本就不需要做一个一个这么多的 APP 不要每天都去开发这么多的页面了可能他不需要这样的一层交互存在直接就被替代这个点就有点像啥呢就像曾经的那个邮递员对吧帮我们送信的那个人

被替代掉了被送信的那个人是因为我们当年要手写信对吧然后就有邮递员帮我们送到每家每户这个人被替代的原因是啥是因为互联网出现写信的这个形态被替换掉了

而不是说我们做了一个机器人来送信把那个人干掉了并不是出现了一个替代人的工具而是这个最终的形态变了它不需要这样的一个角色的存在了这是我其实还挺相信的一个点

好了第二个点的话那再保守一点其实我也觉得说可能在达成那个点上可能还有另外一个方向也是比较危险的因为我们过去这么多年一直都在做什么 local 的呀第一代码呀这样的一些概念但是这些概念在过去很多年里面其实它都没有真的起到那种变革对这个行业带来变革性的影响它并没有带来这么大的影响那是不是没有带来这么大的影响的本质原因就是因为差了一个 AI

是不是就是因为差了一个人那现在刚好有了个 AI 过后这种软件的开发方式真的还会像我们今天用 Costra 用这些 ID 的方式去开发吗会不会进入到一种新的古代码第一代码的方式我觉得完全是有可能的它可能会长出一种新的编程的方式对这个就是它还是需要编程但是它的编程的方式已经

已经完全被变革掉了不再是我们今天写的这种很低级的代码的方式像我们这种程序有大量的可能都会被淘汰掉了真下的就是有很多人都可以很轻松的去创造就像刚才说的像 UVL 那种你通过自然语言就算它现在还很简单很简单但是我想说的是现在可能有很多很多的产品 AI 方向的产品都在走这样的一个路径

对说不定这个路径真的很容易就达成了在有 AI 的时代和曾经没有 AI 的时代觉得很难对这是我觉得说 AI 有很大的概率会替代程序员的觉得是两个方向的一个观点吧对其实今天我觉得人类程序员还是比 AI 强的可能说你纯粹从这个

绝对产出代码的效率上没有 AI 高但是不管是结构化的思维啊创造力啊包括处理复杂项目的能力啊还是要比 AI 强不知道大家有没有这个体感其实你很多时候让 AI 去处理一些疑难杂症的时候你再跟它多对话几次之后它就会陷入无限循环就是也受制于它的上下文或者说它的这个

注意力的问题他会开始尝试用最开始被你否定的那个问题重新去解决这个问题就是他就陷入无限循环了

很气人你知道吧每次你跟他说你这个地方不对他就给你回一句说对你说的对然后再给你拿一个错误的方案出来如果这是一个真的人我都怀疑他在故意搞我对吧很气人但是有可能你自己灵光一闪就把这个问题解决掉了然后 AI 是没有这个灵光一闪的今天包括说你真的要让 AI 产出高质量的符合预期的代码的前提是你能够详细并且正确的描述你的需求这个需求包括

非功能性的部分所以这其实是需要你有足够的专业素养才能够正确的去描述技术战也好技术指标也好安全性的需求也好对那当然你可以说今天都是 AI 能力不足只不过这里有一个疑问感觉目前是还没有明确答案的虽然很多人是坚定的 AI 支持者拥抱者认为 AI 总有一天会超越人类但是今天的技术路线

是不是能够走到这一步我觉得是打个问号的他可能需要换一些技术路线他才能够真的在各种能力维度都超越人类那如果这个答案是肯定的那长期来看不光是程序员其实所有职业都可能被淘汰而且就会变成一个物种间的竞争对吧归基生命和碳基生命之间的竞争但这个其实是一个大家聊过很多次的话题我其实想说一个

不一样的观点是来自于刘慈欣以前那个小说很早了 05 年那个小说叫赡养人类刘慈欣还有一个小说叫赡养上帝大家不要搞混了这个小说叫赡养人类这里面讲的是一个什么呢他讲的不是技术发展之后归基和叹息之间的矛盾他其实讲的是每一次技术发展其实都会带来财富分配的进一步的皮肤差距的拉大

对然后就是他在这个故事里面这个故事本身我就不讲了他里面的有一个设定是地球有一个他叫哥哥文明就是比地球更高的一个文明叫哥哥文明那个星球上的贫富差距是非常极端的那个星球有一个富人拥有整个星球

然后剩下的 20 亿穷人就只拥有自己这个房子并且这个房子是一个完全封闭的生态循环系统因为外面的空气都属于这唯一的一个富人那为什么会发生这种情况呢是因为技术的发展知识可以通过直接注入到脑内的芯片对吧然后我的所有工作可以由我的今天叫巨神智能对吧其实就是机器人去完成

然后整个社会的法律的执行也都由机器人来完成然后机器人是绝对你可以说他是正义的或者公平的因为自由资产神圣不可侵犯所以他就筑成了一个牢不可破的一个阶级有一个人只有这一个人他通过多次的技术发展把资本全都聚集在自己手里最终把整个星球都买下来了我以前看这个故事我就觉得这是个故事但是今天再来看这个故事的时候我就

有一种感觉就是它一定会发生你明白我的意思吗就是它可能比归基和探机之间的它的更可怕一点因为它完全合法对它也不存在说什么说我归基生命我要受制于人工智能三定律什么的

因为最终掌握这个所有的资源的是个人类而且他可以自己都认为他和你们已经不是一个物种了尽管他仍然是个人类因为他里面会提到说知识可以被注入大脑之后它其实就可以被标价然后高阶的知识会被上层的阶级给牢牢地掌握在手里它只会更贵而下面的阶级是接触不到这些知识的然后久而久之这一个人他在这个故事里面他有一句话讲说

欢迎各位光临我的客厅因为整个星球都是他的客厅嘛然后光临我的客厅看在我们都是由同一生物演化而来的份上就是他已经认为我我跟你们已经不是一个物体对我给你们准备了多少艘飞船你们可以去外面寻找新的栖息地但是请离开我的花园就我觉得挺可怕的

所以这个我觉得是一个可以去思考的话题为什么我会觉得说它发生的概率很大我是觉得说这完全是要靠道德去约束的因为社会的财富再分配这个事情你说以前我们可能还可以通过革命去争取对吧我扛起锄头闹革命那以后你没有这个能力的普通的底层的经济是没有这个能力的就像赛亚人这个故事里面描述的巨神智能机器人

在第一时间就把这个事情给镇压了就把这个扼杀在萌芽中所以我觉得它是挺可怕的有意思 赡养人类大家可以花三分钟 AI 总结一下看一下具体在讲什么有兴趣的话可以阅读全文

对我觉得今天这个很有意思我觉得刚才贵贵有讲的一点是说你给 AI 指出说他不对 AI 可能就循环了又回到第一版了对吧写了三版飞机稿然后你说你这个不对这个不对这个不对又回到了第一版对其实还是不对我在想这个问题就是今天 AI 还是有一点太听人的话了

很多时候你指出它的问题其实有可能你指出的地方并不对但是它也会附和你说你说的对我按照你这个东西来来来怎么怎么样对吧然后又瞎说出一通对但其实没有效果

我觉得这个可能也是未来 AI 发展的一个很重要的一个点就 follow 指令这件事大家现在要求的是 AI 要尽可能遵从人类的指令对吧但是其实在 AI 有智能的情况下其实 AI 应该能够判断人类这个指令到底是对还是不对我应该怎么样去做后续的事情那这个时候可能 AI 的它的所谓的智能性可能就会更高一些我觉得未来真的挺恐怖的我觉得我们站在一个

一个时代的一个路口上面就这个路口可能再过个五年十年就是跟今天的世界完全不一样了它可能跟以前我们讲互联网时代的变革还是有很大的不一样就是你在互联网时代的时候你只是改变了一个交流渠道交流方式就是你的效率变高了但是今天真的是生产力革命这个真的是值得期待吧我们也只能边走边看对吧

好 那我们也是用两期的时间深度讨论了 Web Coding 我们一开始聊了前后端的实战对 然后再聊了一些工程层面的怎么解决问题啊然后怎么协作啊 对吧然后再探讨到赡养人类这个宇宙终极问题

对吧然后聊得很爽啊那从我个人的立场来讲的话我自己觉得说 webcoding 的这个发展我自己还是挺乐见其成的就如果 AI 能够帮助我们解决更多 build 的问题我只需要去思考怎么建立商业怎么联系客户那有可能未来联系客户可能也是 AI 做掉了我可能只要被赡养就行了啊对然后如果它能发展得更好的话你自己个人意志也无法阻挡嘛你就接受就行了对

好吧那我们本期节目就先聊到这儿吧对欢迎大家在评论区下方跟我们留言大家一起讨论如果你想了解更多关于 webcoding 的深度内容跟我们探讨 castwisewebcoding 的深度细节欢迎扫描 show notes 二维码加入我们知识星球和微信群跟往期嘉宾一起畅聊好那么本期节目就先到这里吧大家再见拜拜拜拜

以上就是我们本期播客的全部内容感谢大家收听也欢迎大家踊跃留言如果你喜欢我们欢迎点赞并分享给感兴趣的朋友如果你在用苹果播客收听也希望你花几秒钟给我们一个好评这会让更多的人了解到我们要是能再点击一下订阅那就再好不过了我们下周见