时政
财经
科技
虚拟货币
其他
登录
#编程工具
关注
宝玉
1个月前
转译:为什么生成式 AI 编程工具和智能体对我没用 作者:Miguel Grinberg 人们总是问我,我是否使用生成式 AI 工具来编程,以及我对它们有何看法。因此,我决定将我的想法写下来,这样以后再有人问起,我就可以直接把这篇文章甩给他们,而不必每次都重复自己的观点。 从标题你大概已经猜到,这不会是一篇吹捧 AI 的博文。但它也不是一篇反对 AI 的文章,至少我不这么认为。市面上已经有太多 AI 吹和 AI 黑写的文章了,我觉得没必要再多我这一篇。虽然在这个话题上我绝非中立,但在这篇文章里,我只想从纯粹技术的角度,分享我个人使用这些工具的真实体验。 AI 并不更快 说真的,生成式 AI 工具对我没用的最主要、也是最重要的原因是:它们并没有让我写代码变得更快。就这么简单。 使用生成式 AI 编程工具来为我写代码,听起来很容易。如果是一个 AI 智能体,那就更方便了,它在我做别的事情时就能直接编辑我的文件。原则上,这一切听起来都很美好。 但问题在于,我需要为这些代码负责。我不能盲目地把它们添加到我的项目中,然后祈祷一切顺利。只有在我彻底审查并确保完全理解了 AI 生成的代码之后,我才可能将其整合进我的项目。我必须有信心在未来能够修改或扩展这段代码,否则我就不能用它。 不幸的是,审查代码实际上比大多数人想象的要困难得多。审查一段不是我写的代码,至少要花掉我与亲手写这段代码相同的时间,甚至更多。我们行业里有句名言,大意是“读代码比写代码更难”。我记得最早将此概念理论化的人是 Joel Spolsky(Stack Overflow 和 Trello 的创始人),在他的文章《有些事你永远不该做,第一部分》中提到了。 你可能会说,可以把 AI 写的代码当成一个“黑箱”。我想,你可以说服自己,只要代码能按预期工作,就可以安全使用,无需审查,这样就能提升一些生产力。但在我看来,这是极不负责任的,因为如果这段代码将来出了问题,AI 是不会承担任何责任的。无论有没有 AI,我永远是我产出的代码的第一负责人。在我看来,承担如此巨大的风险是疯狂的。 这一点在我从事的某些工作中尤为重要,因为这些工作涉及签署合同、法律义务和金钱交易。如果我是以专业人士的身份被雇佣,那我别无选择,只能做到专业。AI 工具无法帮我赚更多钱,也无法让我在更短时间内完成工作。我唯一能通过它实现这些目标的方式,就是牺牲工作质量并引入风险,而这是我绝不愿意做的。 AI 不是生产力倍增器 我听过有人说,生成式 AI 编程工具对他们来说是生产力的“倍增器”或“赋能器”。基本上,持这种观点的人声称,使用生成式 AI 后,他们能工作得更快,也能处理更复杂的问题。可惜的是,这些说法仅仅基于使用者自身的感觉,并没有确凿的数据来支持。我猜,或许有些人审查代码的效率比我高,但我对此表示怀疑。我认为真实情况是,这些人之所以能节省时间,是因为他们只对 AI 生成的代码进行抽查,或者干脆跳过了整个审查阶段——正如我上面所说,这对我来说是绝对无法接受的。 另一个我常听到的论点是,当你需要用一种不熟悉的语言或技术编写代码时,生成式 AI 会很有帮助。对我来说,这同样没什么道理。作为一名软件工程师,我最享受的部分就是学习新事物,所以“不懂”从来都不是我的障碍。你越是练习学习,学习的速度就会越快、越容易!近年来,我为了不同的项目,不得不学习了 Rust、Go、TypeScript、WASM、Java 和 C#,我绝不会把这个学习的过程委托给 AI,哪怕它能帮我节省时间。当然,它也省不了,原因还是上面那些——我要为我产出的代码负责。抱歉,我在这点上有点啰嗦。 AI 代码不同于人类代码 前几天我和一个朋友聊起这些观点,他问我,既然如此,为什么我乐于接受人们为我的开源项目所做的贡献呢?那些不也是别人写的代码吗?为什么人类写的可以,AI 生成的就不行? 真相可能会让一些人感到震惊:用户提交的开源贡献其实也并不能节省我的时间,因为我同样觉得必须对它们进行严格的审查。但是我享受与那些对我的项目感兴趣并花时间报告 bug、请求新功能或提交代码修改的用户合作。这些互动首先是新思想的源泉,它们直接帮助我把工作做得更好。这正是我热爱开源工作的地方! 我的朋友仍然不服气,他建议我可以并行启动一堆 AI 智能体,为我所有未解决的 bug 创建拉取请求(PR)。“这会改变游戏规则的!”他说。不幸的是,这只会花掉我的钱,并且可能让我变得更慢,原因已如前述。即便我们假设 AI 编程工具已经足够成熟(实际上还差得远),能够在很少或没有监督的情况下修复我项目中的问题,我仍然是那个瓶颈,因为所有这些代码在合并之前都必须经过我的审查。 AI 编程工具唾手可得,其不幸的一面是,现在一些用户也用它们来生成低质量、敷衍了事的拉取请求。我已经收到过一些这样的 PR,有趣的是,当我开始阅读那些未经真人编辑和润色的 AI 代码时,一种“恐怖谷”效应在我心中油然而生。当我遇到这类 PR 时,我会开始向提交者追问他们代码中那些奇怪的部分,因为我认为他们需要为自己想要合并的代码负责。但他们,通常很少回应。 AI 不等于实习生 许多 AI 倡导者说,你应该把你的 AI 编程工具当作一个渴望取悦你的实习生。我认为说这话的人,大概从没带过实习生! 在初期,将工作委派给实习生会导致你的生产力下降,原因和我上面列举的差不多。实习生需要大量手把手的指导,他们产出的所有代码在被接受前都需要仔细审查。 但是,实习生会学习并随着时间的推移而进步。你花在审查代码或向实习生提供反馈上的时间并没有被浪费,这是对未来的投资。实习生会吸收你分享的知识,并将其用于你之后分配给他们的新任务中,随着实习期的推进,对他们进行密切监督的需求会逐渐减少。最终,实习生常常因为成长为成功的独立贡献者而被公司聘为全职员工。 而一个 AI 工具,最多只能算是一个患有“顺行性遗忘症”的实习生,这可不是什么好实习生。对于每一项新任务,这个“AI 实习生”都会重置回原点,什么也没学会! 结论 我希望通过这篇文章,我已经清楚地阐述了我在工作中应用生成式 AI 编程工具时遇到的技术性问题。 根据我的经验,AI 编程这回事,天下没有免费的午餐。我相信那些声称 AI 让他们更快或更高效的人,是为了实现这些收益而有意识地选择放宽了他们的质量标准。要么是这样,要么他们这么说,只是因为他们自己能从向你推销 AI 中获利。
#生成式AI
#编程工具
#智能体
#个人观点
分享
评论 0
0
图拉鼎
2个月前
Xcode 26 诚意满满,终于跟上 AI 编程了🤩
#Xcode26
#AI编程
#编程工具
#苹果开发
分享
评论 0
0
toobug
2个月前
在Node中运行PHP又有新玩具了!虽然不一定有用,但我看到这种东西总是很兴奋。
#Node.js
#PHP
#新技术
#Web开发
#编程工具
#跨平台
#软件开发
分享
评论 0
0
蓝点网
2个月前
#OpenAI 宣布升级编程开发工具 #Codex,现已支持联网安装依赖项、升级软件包或调用外部资源等。 默认情况下联网是被禁用的,用户可以在特定场景下启用,该功能目前仅支持 ChatGPT Plus、Pro 和 Teams 订阅用户使用。 更新内容:
#OpenAI
#Codex
#ChatGPT Plus
#联网功能
#编程工具
分享
评论 0
0
李老师不是你老师
2个月前
5月28日,字节跳动安全与风控部门发布邮件表示,出于对防范数据泄露风险的考虑,自6月30日起,内部分批次禁用第三方人工智能开发软件,包括AI编程工具Cursor、Windsurf等,将字节跳动旗下编程助手Trae作为替代方案。
#字节跳动
#数据泄露
#人工智能
#安全风控
#编程工具
分享
评论 0
0
前端之虎陈随易
2个月前
VSCode编程神器fnMap(函数地图)v8.4.0版本发布,编辑器待办支持颜色高亮了,安装方式,在VSCode扩展面板搜索fnMap即可。
#VsCode
#编程工具
#fnMap
#v8.4.0版本
#高亮
#安装指南
分享
评论 0
0
向阳乔木
4个月前
没研究过Docker,但很多朋友提这个需求。 我转述给AI编程工具。 “如何把我们的程序生成一份docker镜像安装文件和安装说明书” 然后,它就做好了? 有点震撼!
#Docker
#AI
#编程工具
#docker镜像
#安装说明书
分享
评论 0
0
向阳乔木
5个月前
沉迷编程第四天,用 Grok3 + Trae写了个跟微信读书相关的工具。 功能: 1. 读取自己书架,指定书籍获取热门划线和人数。 2. 根据微信读书URL,读取热门划线内容。 3. 生成本地CSV文件,并同步飞书多维表格。 基于划线内容和人数,飞书AI自动总结、打分、写阅读理由。 经验: 1. 给Github代码库地址,让Grok3分析实现方案。比如参考了Obsidian Weread Plugin 2. 飞书多维表格如果内容过长,AI总结会失败,需要用公式抽取一部分。 [划线内容].LEFT(500) 3. 拆解为多个子功能实现,然后指定文件,让Trae读取参考做整合。
#编程工具
#微信读书
#Grok3
#Trae
#热门划线
#CSV文件
#飞书AI
#Obsidian Weread
分享
评论 0
0
小互
6个月前
字节跳动发布全新的 AI IDE 产品: Trae 标配Claude 3.5sonnet 和 GPT-4o 限时免费 直接对标的 Cursor 的 Agent 功能,提出了全新的从Copilot向Autopilot演进概念 即:通过用户的提问直接生成一个完整的代码项目出来。 看我演示,全程我只动用了一次键盘,鼠标点点就行 操作起来非常的流畅,对编程小白用户来说也是非常容易上手。
#字节跳动
#AI
#IDE
#Trae
#Claude 3.5
#GPT-4
#Cursor
#agent
#Copilot
#Autopilot
#编程
#编程工具
#技术创新
#代码生成
分享
评论 0
0
biantaishabi
7个月前
有个老外写了个deepseek-engineer,是个命令行的编程助手,里面给他加上了一些读写文件的工具,然后解析出来执行,还可以添加上下文,感觉是轻量级的cursor的感觉,用着不错,而且代码简单就三百多行,适合让我们自己加些工具进去给他用。
#命令行助手
#编程工具
#代码解析
#文件读写
分享
评论 0
0
个人主页
通知
我的投稿
我的关注
我的拉黑
我的评论
我的点赞