深度分析Claude Skills实际如何改变程序员工作方式,揭示AI编码工具的能力边界和职业适应。
AI 辅助编程对你的职业生涯究竟意味着什么——以及为什么实际情况比你想象的更乐观
🎧 音频版:更喜欢听?可以在 YouTube 上收听这篇深度文章的扩展版 AI 播客。
📺 视频版:更喜欢看?可以在 YouTube 上观看这段 7 分钟的可视化讲解。
Margaret 是一名高级软件工程师。Timothy 是她的初级同事。他们在伦敦一座宏伟的维多利亚式图书馆里工作——在这样的地方,思想会得到认真对待,而炒作只会被拒之门外。Timothy 昨晚第一次使用了 Claude Code。
Timothy 比平时来得更早。Margaret 注意到了,但什么也没说。她等着他开口。
他坐下来,打开笔记本电脑,对着屏幕看了一会儿,一个字也没敲。
“你昨晚用过它了。”她说道。这不是一个问题。
“是的。”他停顿了一下,“它确实有用。”
“可你现在看起来,却像是弄丢了什么重要的东西。”
他转过身面对她。“没错,就是这种感觉。我得到了想要的结果,代码能运行,测试也通过了。但后来我坐在那里想——我真的做了什么吗?”
Margaret 放下笔。“很好,”她说,“这正是你应该带来的问题。”
“我是认真的,”他说,“我描述了问题,它写出了方案,我从头到尾读了一遍,看起来没问题,于是就发布了。这里面哪里体现了我的技能?”
“那你认为技能体现在哪里?”Margaret 问。
“我不知道。这正是问题所在。”
“把整个过程讲给我听。要准确。”
Timothy 想了一会儿。“我有一条数据 pipeline,处理大规模输入时总是超时。我自己研究了一个小时,并且对瓶颈的位置有了一个猜测。我向 Claude Code 描述了问题——包括上下文、约束条件,以及我观察到的行为。它提出了一个解决方案。我读了一遍,理解了它,然后把代码推了上去。”
“你的猜测,”Margaret 说,“正确吗?”
“差不多。真正的瓶颈比我以为的位置早了一个步骤。”
“当你阅读它提出的解决方案时——你怎么知道这个方案是正确的?”
Timothy 张了张嘴,又闭上了。
“慢慢想,”Margaret 说。
“因为我理解它在做什么,”他缓缓说道,“我能看出为什么这个改动可以解决问题。我能看出它没有引入任何新问题。我也能看出它与系统其他部分的工作方式是一致的。”
Margaret 点了一下头。“这,”她说,“就是技能。”
“但代码不是我写的。”Timothy 说。他并没有轻易放弃,而 Margaret 很欣赏这一点。
“是的。使用编译器的工程师也不会亲自编写机器码,使用框架的工程师也不会亲自实现 HTTP stack。我们一直都在借助各种工具构建软件,由这些工具处理底层的实现细节。Claude Code 只是下一层工具。始终不变的——一直以来从未改变的——是判断力。”
“判断力。”Timothy 重复了一遍,仿佛在掂量这个词的分量。
“也就是看到一个解决方案时,能够判断它是否正确,是否安全,能否经受住工具没有考虑到的情况,以及它是否用正确的答案解决了正确的问题。”她停顿了一下,“这种判断力不是 Claude Code 赋予你的,任何工具都无法赋予你。它来自你长年累月对专业技艺的认真钻研。而眼下大多数人都忽略了一件事——”
她微微向前倾了倾身子,这意味着接下来要说的很重要。
“这种判断力从未像现在这样有价值。不是价值变小了,而是变得更大了。”
Timothy 皱起眉头。“所有人似乎都持相反的看法。他们认为 AI 降低了门槛,现在任何人都能发布代码。”
“现在任何人都能生成代码,”Margaret 说,“这一点没错。但负责任地发布代码,完全是另一回事。初级开发者手写出糟糕代码时,造成破坏的速度还会受到打字速度的限制。同一个开发者如果在缺乏判断力的情况下使用 Claude Code,就能以惊人的速度和规模生成糟糕代码。”她靠回椅背,“下限变得更低,上限变得更高,而两者之间的距离也拉大了。”
“所以风险实际上更高了。”
“对于那些认真对待这门技艺的人来说——没错,而且高了很多。真正理解软件开发的开发者借助这个工具,如今能够完成两年前根本不可能达到的产出。而缺乏理解的开发者,也能制造两年前根本不可能发生的灾难。”
Timothy 安静了一会儿,仔细琢磨着这番话。“所以它是一个放大器。”
“正是如此。它会放大你带给它的一切。这意味着,你现在能做的最重要的投资,不是学习 prompt 语法,也不是背诵 Claude Code 命令,而是加深自己对基础知识的理解。系统、架构、事物如何失效、代码为什么会变得难以维护——这些道理过去始终成立,而且无论你使用什么工具,未来也依然成立。”
Timothy 靠回椅背,抬头看了一会儿天花板。每当他准备说一件略感难为情的事时,都会摆出这种姿势。
“我能告诉你,我认为人们真正担心的是什么吗?”
“请讲。”Margaret 说。
“他们真正担心的并不是技能,而是机会。以后还会不会有工作,他们花费多年学到的东西是否仍然有意义,以及他们是否——”他停住了。
“是否仍然被需要。”Margaret 温和地替他说完。
她沉默了一会儿,再开口时措辞十分谨慎。
“Timothy,我写软件已经很久了。我亲眼看着这个行业接纳 IDE、版本控制、云计算、容器化,以及十几种其他曾被认为会改变一切的技术。每一次,那些主动拥抱变化、深入而审慎地学习新事物的开发者,最终都会发现自己的机会不但没有减少,反而增加了。”
“那些没有这样做的人呢?”
“会觉得更难。不是完全没有机会,只是会更难。”她拿起笔,“问题从来不是要不要使用这个工具。工具已经来了。真正的问题是,你会成为带着理解去使用它的开发者,还是带着侥幸去使用它的开发者。”
Timothy 听到这里笑了——这次是真心的。“带着侥幸。”
“祈祷它是正确的,祈祷它没有遗漏任何东西,祈祷它考虑过那些 edge case。但祈祷不是工程方法论。”
“那么在这个新世界里,我究竟应该怎样培养技能?”Timothy 问,“具体来说。”
“和过去一样,”Margaret 说,“只不过要加上一件重要的事。你要阅读代码。Claude Code 生成的每一行代码,你都要读。不是为了批准它,而是为了理解它。你要问自己,它为什么做出每一个选择。遇到不懂的地方,就去弄明白。把每一段生成的代码都当作一次学习机会,而不是绕过学习的捷径。”
“听起来,这比我自己写还要费事。”
“短期来看,有时确实如此。但从长期来看,你是在向一个接触过极其广泛的模式和方法的系统学习。只要认真留意,你就会遇到一些独自工作时想不到的解决方案。你的能力储备会不断扩展。”她停顿了一下,“那些审慎使用 Claude Code、认真阅读它生成的所有内容的开发者,可以接触到极其广泛的模式和方法。这是以往任何一代开发者在职业生涯的这个阶段都不曾拥有的条件。这绝不是无足轻重的事,而是一个真正非凡的机会。”
Timothy 再次看向自己的笔记本电脑,这一次他的神情不同了。有些东西已经发生了变化。
“我想,我之前完全想错了。”他说。
“大多数人都想错了,”Margaret 说,“所以我们才会在这里。”
他端起茶杯。“其实你对这一切很乐观,对吧?是真心的。”
“是的,”Margaret 毫不犹豫地说,“我从未拥有过一种能让优秀思考产生更高生产力的工具。我从未能如此迅速地探索一个问题空间,以如此低的成本验证一种方案,也从未能如此快速地把想法变成可运行的实现。对于一个热爱这门技艺的开发者而言——而我确实热爱它——这是一个非凡的从业时代。”
“即使代码是它写的?”
“它写了其中一部分代码。我决定要构建什么,以及为什么要构建。我把问题定义得足够清晰,让它能够被解决。我用自己掌握的全部知识审查它生成的内容,发现它遗漏的地方,并做出最终判断。”她笑了——那是一个少见而灿烂的笑容,“工作中最美好的部分仍然属于我,而那些乏味的部分则有了一位出色的助手。我实在看不出悲剧在哪里。”
Timothy 笑出了声——这一次是真正的笑声,意味着某种负担终于卸下了。
“技能等于机会。”他说。
“一直都是如此,”Margaret 说,“而现在,那些正在学习如何真正熟练运用这些工具的开发者,积累机会的速度足以让其他所有人认真关注。”她翻开笔记本,“而这也正是整个系列想要说明的核心。”
图书馆的窗外,伦敦正在照常度过这一天。图书馆内,两名开发者也在继续他们的工作——其中一位已经不像前一天那样忧虑了。
下一集:Timothy 带来了他的第一个真正的 prompt。Margaret 提出了一系列问题,彻底重构了这个 prompt。两人还共同发现,为什么问题的质量比工具的质量更重要。
如果这个系列对你有帮助,请把它分享给一位需要听到这些话的开发者。
Aaron Rose 是一名软件工程师,也是 tech-reader.blog 的科技作者。如需观看讲解视频和收听播客,请访问 Tech-Reader YouTube 频道。
部分评论可能只有登录后的访客才能看到。请登录以查看所有评论。
如需采取进一步措施,你可以考虑屏蔽此人和/或举报滥用行为。