crackhopper 最近的时间轴更新
这网站还不错,挺好玩。
2017-04-02 22:42:51 +08:00
crackhopper

crackhopper

V2EX 第 223983 号会员,加入于 2017-04-01 10:22:04 +08:00
crackhopper 最近回复了
我举的例子都是技术细节上比较深的例子。不过架构问题也是类似的。但架构本身是艺术,不好评价什么是好,什么是不好,是综合多个方面,所有技术细节的,更加权衡和综合性的考虑。AI 同样可以加速 [本来就能成为架构师] 的那部分人快速成长,对 [本来就成为不了架构师] 的那部分人来说还是成为不了。结论和我上一个帖子一致。
@zhenghuiy 很赞同。

之前用 AI ,控制力很差。最近使用起来,有很大提升。

先说我对 AI 目前 coding 能力的见解: 很多较为简单的逻辑,加上合适的 prompt 技巧,基本 AI 能解决很好。复杂一些的需求,往往需要开发人员对代码深入理解,以及更灵活使用 AI 的姿势(比如,及时在 AI 跑偏的时候打断,等等)。更进一步的,长期做项目,应该还要在项目中维护一系列 prompt 模板,方便定点解决一些重复性需求( CR 、重构、文档化)。再专业一些,如果要最大化 AI 的效率提升,大部分人搞不了(比如,维护 prompt 模板库,和一套校验测试 prompt 有效性的数据和实验),大概率是等待 AI IDE 厂商来迭代了。

对新人程序员来说:首先对 AI 使用的程度本身,就说明一定的问题。如果用法不够深入的话,大概率是 1 类人(需要环境逼迫)。

其次,对于某个领域深入学习,利用各种 chat ,通过问和自己实验的方式来推进。这里也并不如想象中那么新手友好。浅层的知识很容易获取正确答案,也许对新人到中级有帮助。但更加复杂的知识,我经历过两个 case:一次是关于有限域椭圆曲线加密快速算法上的细节问题,AI 基本一直误导我,最后还是靠我自己手动推导搞定的;另一次是,vulkan 程序上出现的异常情况(没有明显报错信息),AI 基本乱猜,最后靠我自己用 windbg+有意识引导 AI 按照我的思路排查,最终从二进制上定位到原因。我的这两个 case 之所以我能搞定,是因为我有比较扎实的理论功底和思路,如果同样的问题给到新人,真的能排查搞定么?我对此很怀疑。(当然,肯定有人可以搞定,但绝对不是大多数人)

AI 对于“好读书,不求甚解”、“叶公好龙”,这种类型的技术人员来说,只会让他们更懒了,以及让他们更加容易被替代了。(不幸的是,这样的人大概率是大多数)。而对于“打破砂锅问到底”,这种类型的技术人员来说,是效率的极速提升,而这部分人,没有 AI 也会成为技术专家和架构师。

综上,AI 加速了高级人才的成长速度。但遗憾的是没有扩大人数,稀缺性还是有,也许会稍微多一些(多出来的人 = 压缩的成长时间 x 原本每年市场上高端人才的增加量)。这个是更加冷静客观的看法。因此,楼主的左右截图,都很片面,左边说不稀缺和右侧的更加稀缺,都只是站在对自己观点有利的角度考虑。

总结:市场上高端人才适度增加,但仍然稀缺。中低端人才更加卷(因为不需要那么多了)。
152 天前
回复了 wwyf 创建的主题 程序员 感觉 claude code 让我成为了技术 leader
我的感受总结:AI 成了我的领导,我成了 AI 的组员(兼任多个方向的组员)
152 天前
回复了 wwyf 创建的主题 程序员 感觉 claude code 让我成为了技术 leader
我个人感受,但有可能是我使用姿势不对,欢迎斧正:

1. 搭建脚手架。文档工作做好的情况下,非常 ok 。
2. 重构项目。很困难。
- 如果重构涉及的模块比较多:目前我的做法只能是针对重构部分的业务,详细化写出重构的代码设计(很费时间),然后以类似脚手架的方式让 AI 来生成重构后的模块代码。随后,手动修复细节。并在系统其他位置上调用新代码,并修复各种调用依赖,最后再手动删掉旧代码。(目前,我正在评估这个方式会不会好)
- 如果重构比较小,基本手写更快。感觉和 AI 描述清楚太费劲了。它不太能理解我想重构的方式方法。
3. 代码内自动补全,非常 ok 。
4. 单个文件内(不考虑多模块间)的简单重构或者增加新方法,用 chat 的方式。比较 ok 。但我很少需要这种重构,写的时候我基本就写好了……程序员的自我素养
5. 配置文件修改,不需要打开额外的编辑器(csv,yaml,json 等编辑器),用 chat 的方式让 AI 修改。非常 ok ,我不喜欢切换软件(除了浏览器)

以上就是我使用的姿势。说实话,不觉得 AI 能成为组员,除非比较常见的任务,或者从零到一,它完成的还好。稍微复杂深入点,很容易卡主。确实如同楼上所说,需要 support 它。

我觉得他缺失人类的一种能力,就是人类如果自己不明确的话,会和你进行沟通确认细节,来保证更好的对接。但 AI 不知道自己不懂,它会尝试猜。于是就有对有错,于是就也要求你 prompt 更细一些。prompt 很细本身就是成本,prompt 失败也会产生成本,需要重新 prompt 。我很难相信有人能做到 100%prompt 成功。对于粒度细到一定程度的问题,prompt 失败率高,而手写更加确定和稳定(配合 completion )反而成本更低。

从细节和全局角度来看,我觉得 AI 对我来说,更像是领导,我特么才是组员。它可以做好架构,做好大的设计,然后细节搞不定,我扮演一堆组员,解决各种细节问题……;包括怎么业务逻辑思考后更细节的 prompt ,也不过是我身为组员给领导汇报一下思路,领导哐哐给我写出来个大体的意思,然后把细节和 bug 丢给我来解决。

难道我姿势有问题??唉……
不如就基于 java 后端,做一些项目,并且开源。定好方向,比如自己熟悉的业务方向。做得足够久,业务足够细、功能足够细(必然要求不仅仅会后端),还是会有竞争力的。其实最好还是做项目能解决自己的兴趣需求的,以及想办法能一直坚持做,这两点看起来容易,做起来比较难。你那些方向全都不靠谱,水深着呢,并且前提还是得有点钱才行。
要是换做让我做,我就换工作。
要我是公司管理层,想法就是:总之只要钱给到位,还是有人会硬着头皮干的;而且总是有人不怎么在乎职业发展,或者没办法在乎职业发展的,人肯定是能找到。
248 天前
回复了 runninghipp 创建的主题 程序员 传统开发如何入门 ai
推荐看李宏毅老师的视频课。
我其实刚想说,看已经撕起来了,哈哈。

还真没看到过啥优雅的依赖管理方式。说优雅只能说,用得还不够深度。而且,我比较喜欢都复制在本地文件夹。放在全局,项目一多了,真的头疼。每个项目都能隔离好,才是真正的优雅。而且放在本地还能一起复制走,多好。浪费点存储算什么。我有时候还会 hack 到依赖包里改源码(当然也不提交版本库,要提交也有专门的方法打 patch 吧,通过 build script 什么的),这种改依赖包源码的情况,放全局岂不是灾难?
读了一下 2 楼的内容,精神压力直接飙升。虽然我不用 java……
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   5422 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 17ms · UTC 01:35 · PVG 09:35 · LAX 17:35 · JFK 20:35
♥ Do have faith in what you're doing.