请问HN:人工智能在多大程度上改变了你作为软件工程师的工作产出?

2作者: nomilk大约 1 个月前原帖
与大约两年前AI编码工具普及之前的时代相比,如果要给出一个数字,你认为作为软件工程师(SWE)的生产力变化了多少? 我经常思考这个问题,也很想听听其他人的看法。对我来说,简短的回答是:大约提高了2倍(即比大型语言模型(LLMs)出现前快100%)。详细来说: 当我充分理解领域(即我正在解决的业务逻辑和现实世界问题)并熟悉技术栈时,我的编码速度大约提高了10倍,同时代码质量相同或更好。 当我不理解领域时,提示会变得模糊或不充分,LLM会进行猜测,虽然它能在一天内完成一个月的工作,但我接下来的三周会花在重构上,并意识到代码的糟糕程度,这都是因为提示的不佳。总的来说,这可能仍然比AI出现前更快,但会带来一种令人沮丧的心理现象,让你以为某个任务快完成了,结果却花了几周时间进行调试、重构,常常还得把它扔掉重新开始。 在不熟悉的技术栈中,我并不总能发现明显的错误(由AI或提示引起的错误),因此生产力降低,风险增加。 生产力提升的10-15%归功于开发环境的改善。我会打开大约~/.dotfiles,告诉它我遇到的问题或请求特定的改进。它通常会修改.zshrc、.vimrc或类似文件(如果第一次尝试不成功,会进行必要的迭代)。由于这个过程非常快速(例如5分钟),我已经做了大约20个小调整,这些调整之前并不值得花时间去做。它们确实让我更开心,也稍微提高了我的生产力。 但总体而言,综合考虑所有因素,我可以说我现在的生产力大约是大型语言模型出现前的2倍。
查看原文
Compared to the era before AI coding tools (say, ~2 years ago), if you had to put a number on it, how much has your productivity as a SWE changed?<p>I think about this a lot; am keen to hear what others perceptions are. For me; the short answer: about 2x (i.e. 100% faster than pre LLMs). Long answer:<p>When I thoroughly understand the domain (i.e. business logic and real world problem I&#x27;m solving), and am familiar with the tech stack, I&#x27;m about ~10x faster for the same or better code quality.<p>When I don&#x27;t understand the domain, prompts will be ambiguous or inadequate, the LLM will guess, it will do a month&#x27;s work in a day, but I&#x27;ll spend the next 3 weeks refactoring and realising how trash the code was, due to how trash the prompt was. All in all, it&#x27;s probably still faster than pre AI, but can give a demoralising psychological phenomena where you <i>think</i> something&#x27;s nearly completed only to spend weeks debugging it, refactoring, and often tossing it away and starting over.<p>In an unfamiliar tech stack, I can&#x27;t always spot obvious mistakes (mistakes caused by the AI or the prompt), so it&#x27;s less productive and more risky.<p>10-15% of the productivity improvement is due to improvements in the dev environment. I open ~&#x2F;dotfiles with cursor and tell it a problem I have or ask for a specific improvement. It usually modifies .zshrc, .vimrc or similar (and iterates as necessary if the first attempt didn&#x27;t work). Due to how fast this is (e.g. 5 minutes), I&#x27;ve made about 20 little tweaks that previously didn&#x27;t justify the time. They definitely make me happier as well as a bit more productive.<p>But overall, taking everything into account, I&#x27;d say I&#x27;m about 2x as productive as before LLMs.