跳到主要内容
阅微漫记
返回

AI不会替代程序员,但会淘汰旧版本的协议

最近,我越来越喜欢用一个词来理解 AI 带来的变化:协议。

在软件系统里,两个模块能够协作,不只是因为它们各自具备某种能力,还因为它们遵循共同的协议。

调用方知道如何发起请求,被调用方知道如何返回结果。双方约定好接口、参数、返回值和异常处理方式,系统才能正常运行。

如果底层实现发生变化,但接口协议保持兼容,上层系统就不一定需要跟着重写。

反过来,即使两个模块各自都很强大,如果它们遵循的协议完全不同,也很难直接协作。

我突然觉得,人与工具之间,也存在一套类似的协议。

过去,我作为程序员,习惯亲自分析需求、查阅资料、设计方案、编写代码、排查故障,再把最终结果交付出去。

我和工作的协作协议,大致是这样的:

组织提出需求,我负责理解和实现;遇到问题,我负责分析和解决;工作量增加,我投入更多时间和精力。

这套协议曾经非常有效。

它让我在技术行业里积累了经验,也让我能够通过持续工作获得收入。

但 AI 出现之后,我开始意识到:虽然我的职业身份没有立即改变,很多具体工作却已经可以通过新的方式完成。

以前需要我亲自编写的代码,现在可以让 AI 生成初稿。

以前需要花大量时间搜索和整理的信息,现在可以让 AI 协助归纳。

以前需要从零开始搭建的原型,现在可以通过人与 AI 的多轮协作更快地实现。

我依然需要理解问题、判断方案、验证结果,但我不再必须亲自完成所有中间步骤。

这意味着,原来那套人与工作的协作协议,正在出现新的选择。

我可以继续按照旧方式工作,也可以重新设计自己与工具之间的分工。

真正值得我警惕的,不是 AI 某一天突然取代了程序员,而是当新的协作方式已经能够创造更高价值时,我仍然把过去的工作方式当成唯一正确的方式。

AI 未必会淘汰程序员,但它可能让某些旧的工作协议越来越不划算。

而我需要做的,是识别这些协议,并决定哪些值得升级。

一、我过去默认的协议:能力越强,亲自完成的事情越多

回头看自己的工作习惯,我发现自己曾经默认了一套规则。

遇到问题,我应该能够自己解决。

接到需求,我应该尽快完成。

遇到技术难点,我应该通过学习和实践把它攻克。

如果工作量太大,我就想办法提高效率,或者投入更多时间。

这套规则背后,有一种很熟悉的程序员思维:只要自己的技术能力足够强,就能够解决更多问题。

在过去,这种思路有很强的合理性。

因为很多任务确实需要专业人员亲自完成。代码不会凭空出现,系统不会自动设计,复杂故障也不会因为等待就自行消失。

一个人掌握的技术越扎实,通常就越有能力独立完成工作。

但我慢慢发现,这套协议里藏着一个没有被认真检查过的假设:

既然我有能力完成这件事,那么这件事就应该由我亲自完成。

这个假设在 AI 时代可能不再成立。

我会写代码,不代表每一段代码都需要我从零开始写。

我会分析文档,不代表每份材料都需要我手动整理。

我能够搭建系统,不代表每个验证想法都必须从完整的工程建设开始。

能力的存在,不等于必须亲自使用这种能力完成所有任务。

过去,我可能把“自己能够完成”当成职业价值的重要证明。

现在,我更想问:在这个具体任务里,什么样的分工最合理?

哪些事情需要我的专业判断?

哪些事情可以交给 AI 执行?

哪些事情可以通过自动化流程完成?

哪些事情甚至根本不值得做?

这些问题改变了我的工作起点。

我不再只想着如何更快地完成任务,而是开始考虑:能否重新设计任务本身的完成方式?

这不是偷懒,也不是放弃技术能力。

而是当工具能力发生变化时,我需要重新评估自己的时间应该花在哪里。

二、旧协议的第一个问题:把执行过程当成了价值本身

在软件开发中,我们很容易把工作量和价值联系起来。

一个功能花了三天完成,我们觉得它有一定复杂度;一个问题经过反复排查才解决,我们认可其中的技术含量。

但从业务角度看,真正重要的并不是我们付出了多少劳动,而是这个功能是否解决了问题,这次排查是否避免了更大的损失。

过去,执行本身存在较高成本。

理解代码需要时间,编写代码需要时间,测试和修复也需要时间。因此,能够高质量地完成这些工作,本身就是一种重要能力。

AI 正在改变部分执行工作的成本结构。

假设过去我需要花半天时间,才能完成一段相对常规的代码。现在,AI 可能在较短时间内生成一个初步实现。

我仍然需要检查它是否正确,补充测试,处理边界条件,确保它符合现有系统的约束。

但整个任务的工作分布已经改变了。

如果我依然把大量精力放在那些可以由 AI 高效辅助的重复执行环节,而没有把省下来的时间投入到问题理解、系统设计和质量验证中,那么我可能只是用新工具维持旧的工作模式。

看起来,我也使用了 AI。

实际上,我并没有真正改变工作协议。

这让我想到一个区别。

使用 AI,是在旧流程中增加一个新工具;重新设计协议,则是重新决定整项工作应该如何完成。

前者可能让某个步骤更快。

后者才有机会改变整个任务的效率和价值。

例如,一次技术方案评审。

过去,我可能先阅读文档,再逐项整理问题,最后形成评审意见。

现在,我可以让 AI 辅助提取架构信息、检查常见风险、整理待确认事项。

但更关键的变化,不只是文档整理得更快。

而是我可以把更多时间放在真正需要经验判断的地方:方案是否满足业务约束,系统依赖是否合理,关键风险是否被遗漏,以及某些看似可行的设计会不会给未来留下难以维护的成本。

如果我只是让 AI 替我写了一份评审意见,工作协议的核心可能没有变化。

如果我重新设计了评审流程,让 AI 承担初步检查,而我集中处理关键判断,并将反复出现的问题沉淀成规则,那么这才是一次更有意义的升级。

我开始意识到,未来的竞争力可能不只是把任务完成得更快,而是能够重新设计任务的完成方式。

三、旧协议的第二个问题:把个人能力绑定在亲自操作上

程序员很容易通过实际操作建立信心。

我亲自写过代码,所以我知道它为什么这样运行。

我亲自搭建过环境,所以我知道部署中有哪些坑。

我亲自排查过故障,所以我知道应该从哪里开始。

这种经验非常重要。

但如果进一步推导,变成“只有我亲自完成,才能证明我的能力”,就可能限制自己。

我曾经很自然地认为,一个真正懂技术的人,应该能够独立解决足够多的问题。

但在复杂系统里,没有人能够掌握所有细节。

我们本来就需要依赖文档、工具、自动化系统和其他专业人员。

AI 只是进一步扩展了这种协作能力。

它可以成为一个能够接收任务、提供候选方案、生成实现并协助验证的执行伙伴。

当然,它不是一个永远可靠的同事。它会犯错,会误解上下文,也可能在缺乏关键信息时给出看似合理的答案。

因此,真正的变化不是把工作全部交给 AI,而是建立更合理的分工。

我负责明确目标和约束。

AI 协助探索方案、执行部分任务。

我检查关键假设,验证结果,并决定是否接受交付。

在需要的时候,我继续深入到底层,亲自处理复杂问题。

这种模式下,我的价值并没有消失。

只是价值的体现方式发生了变化。

我不再需要通过亲自完成每个细节来证明自己,而是需要证明自己能够组织一个可靠的解决过程。

这让我重新思考技术深度的意义。

技术深度并不是要求一个人永远亲自操作所有底层细节,而是当关键问题出现时,他有能力理解系统、定位风险、判断方案,并知道什么时候必须深入。

真正值得保留的,是能够理解和掌控系统的能力,而不是对每个执行动作的执着。

四、旧协议的第三个问题:用工作年限证明价值,却没有持续更新价值的载体

工作十几年,我积累了不少经验。

我知道复杂项目通常会遇到哪些问题,也了解系统建设过程中容易出现的风险,能够从过去的经历中找到一些判断依据。

这些积累让我有一定的职业底气。

但我也开始意识到,工作年限本身并不会自动转化为未来的竞争力。

经验需要不断更新,也需要通过合适的方式被使用。

如果我的经验只存在于脑海中,只能在当前岗位、当前组织和当前业务环境里发挥作用,那么它的价值就可能受到这些条件的限制。

更重要的是,当我离开某个项目时,很多经验可能没有留下可供复用的成果。

一个问题解决了,下一次遇到类似问题,我还是需要重新分析。

一套方案评审结束了,常见的风险点没有形成检查规则。

一个工作流程反复运行,却始终依赖人工处理。

这些工作当然创造了价值,但价值大多随着当次任务交付而结束。

我开始希望改变这种协议。

每完成一项有代表性的工作,我不只问自己“这次做完了吗”,还会问:

这次经验中,哪些内容能够复用?

哪些判断可以沉淀成规则?

哪些重复操作可以自动化?

哪些知识可以整理成文档、工具或方法?

哪些成果能够在当前岗位之外继续发挥作用?

AI 让这件事变得更容易了一些。

过去,整理知识、开发工具、生成文档和构建原型,都需要投入不少时间。现在,我可以借助 AI 降低一部分实现成本。

但真正重要的仍然是:我是否找到了值得解决的问题,是否验证了成果的价值,以及是否愿意持续维护和改进它。

我不希望自己只积累越来越多的工作经历。

我希望经历能够转化为经验,经验能够沉淀为资产,而资产能够在未来继续发挥作用。

这也是我对职业成长的新理解。

不只是让自己越来越能干,还要让自己的能力逐渐留下可以复用的成果。

五、旧协议的第四个问题:默认自己的时间只能通过工作出售

这一点,对我来说尤其重要。

过去,我很容易把职业成长理解为不断提高自己在工作中的价值。

学习新技术,承担更复杂的项目,解决更困难的问题,努力让自己成为组织里更有能力的人。

这些事情依然值得做。

但当我开始认真思考未来的生活时,我发现,只提升当前岗位中的能力,可能还不够。

因为即使我的工作能力不断增强,如果收入仍然高度依赖单一岗位,时间仍然主要由组织安排,那么我对生活的掌控程度未必会同步提高。

这让我意识到,自己可能一直默认了一套更深层的协议:

我提供时间和专业能力,组织支付薪酬;只要我持续工作,就能获得相应收入。

这是一种正常的劳动交换关系,并没有什么问题。

问题在于,如果我的所有能力都只能通过这种方式变现,那么我的选择就会受到单一收入来源的限制。

AI 并不会自动解决这个问题。

一个人使用 AI 提高工作效率,可能只是更快地完成同样的工作;如果节省下来的时间全部被更多任务填满,他甚至可能比以前更加忙碌。

因此,我开始思考另一种可能。

能否把工作中积累的经验,转化为可以独立交付的服务?

能否把反复解决的问题,沉淀成一个小工具或者产品?

能否把自己理解的知识整理出来,通过持续创作帮助更多人?

能否利用 AI 降低试错成本,探索新的收入来源?

这些路径都不保证成功。

内容创作可能没有读者,产品可能没有用户,服务也可能找不到愿意付费的人。

我不能因为 AI 让开发变得容易,就假设商业成功也变得容易。

但至少,我可以用更小的成本验证一些过去难以尝试的方向。

对我来说,这种尝试的意义,不是立刻离开现有工作。

而是在保持现金流稳定的前提下,逐渐建立更多选择。

如果说旧协议要求我不断提高自己出售时间的能力,那么我希望新协议能够帮助我把一部分时间,投入到未来仍然可能持续产生价值的东西上。

这不是要否定工作。

而是希望自己的生活,不必永远只依赖一种工作方式。

六、那么,程序员应该升级什么协议?

如果把前面的思考放在一起,我发现自己需要升级的,并不是某一项孤立的技能。

而是自己与工作、工具和未来之间的协作方式。

我不打算为此设计一套复杂的理论体系。

对我来说,可以先从几个具体的变化开始。

第一,从接收任务,转向重新定义问题。

接到需求后,不再立刻进入实现阶段。

先弄清楚要解决的真实问题、成功标准、关键约束,以及有没有更简单的解决方案。

AI 可以参与分析,但最终需要有人判断问题是否值得解决。

第二,从亲自执行,转向合理分工。

不再把所有工作都默认成必须自己完成。

将适合 AI 的部分交给 AI,将稳定重复的部分交给自动化,将需要专业判断和责任承担的部分留给自己。

这不是简单地把任务外包出去,而是重新设计工作流程。

第三,从接受结果,转向验证结果。

AI 生成的内容、代码和方案,都需要根据实际风险进行检查。

任务越关键,验证越不能省略。

不能因为执行成本降低,就忽略系统安全、数据正确性和交付质量。

第四,从完成任务,转向沉淀资产。

每当发现一个重复出现的问题,就考虑能否形成规则、清单、工具、流程或知识文档。

不是所有事情都值得系统化,但反复出现、具有稳定规律的问题,值得认真评估。

第五,从单一依赖,转向逐渐建立更多选择。

在做好当前工作的同时,持续积累可以迁移的能力,并通过小规模实验验证其他可能性。

不要因为 AI 出现就贸然推翻现有生活,也不要因为现有生活暂时稳定就停止探索。

这五个变化,并不要求我一夜之间完成。

我可以从手头最熟悉的一项任务开始。

先观察旧流程,再尝试新的分工,最后检查是否真正产生了更好的结果。

有效,就保留;无效,就调整。

这本身也是一种工程迭代。

七、但我也不想把所有旧协议都推倒重来

写到这里,我觉得还有一件事情需要说清楚。

不是所有旧的工作方式都应该被淘汰。

软件系统升级时,我们不会因为出现了新技术,就把所有稳定运行的模块全部重写。

我们会评估升级收益、兼容性、迁移成本和潜在风险。

人与 AI 的协作,也应该遵循类似的原则。

有些任务涉及高度敏感的数据,不适合直接交给外部工具处理。

有些工作需要严谨的人工判断,AI 可以辅助,却不能替代责任主体。

有些流程虽然看起来传统,但已经足够稳定,改造它所带来的收益可能还不如迁移成本。

还有一些工作,人与人之间的沟通、信任和共同决策,本身就是最终价值的一部分,不能只按执行效率衡量。

所以,我不需要因为 AI 出现,就认为过去的一切都过时了。

我需要做的是,识别哪些协议仍然适用,哪些已经不再合理,哪些可以在保留核心约束的前提下升级。

就像系统重构一样,目标不是追求新技术,而是让系统更适应当前的需求。

真正成熟的升级,不是把所有东西都改掉。

而是知道为什么要改,改动会影响什么,以及怎样验证升级确实带来了价值。

八、我真正想升级的,是自己面对变化的方式

回头看这段时间对 AI 的思考,我发现,自己最初关注的是一个外部问题:

AI 会不会替代程序员?

但随着思考深入,我开始发现,这个问题很容易让我陷入被动。

因为它把未来的主动权交给了技术发展。

如果 AI 发展得很快,我就焦虑;如果 AI 发展暂时没有达到预期,我就放松警惕。

无论哪一种,我都只是在等待外部环境告诉自己应该怎么办。

现在,我更想问自己另一个问题:

当技术和工作方式发生变化时,我有没有能力及时发现旧方法的问题,并主动设计新的解决方式?

这个问题更具体,也更值得我投入精力。

我无法决定 AI 未来发展到什么程度。

也无法决定整个行业会如何变化。

但我可以决定,自己是否愿意尝试新的工具,是否愿意重新审视熟悉的流程,是否愿意把工作经验转化成可迁移的能力和资产。

我可以在现有工作中寻找适合 AI 介入的任务,也可以把节省下来的时间投入到更重要的问题中。

我可以继续积累技术深度,同时学习如何更好地组织人与工具之间的协作。

我还可以逐步探索工作之外的可能性,而不是把所有未来都押在当前岗位能够持续稳定上。

这些选择不能保证我一定获得理想的结果。

但它们能够让我不再只是等待变化发生。

我开始明白,真正需要更新的,不只是我的技术栈。

还有那些过去没有被我认真审视过的默认规则:

我是不是必须亲自完成每一件事?

我是不是只有不断增加工作量,才能证明自己的价值?

我是不是必须依赖当前的岗位,才能让过去的经验继续产生回报?

我是不是总要等到准备充分,才允许自己尝试新的方向?

这些规则曾经帮助我建立职业能力,也可能在今天限制我的选择。

它们并非全部错误。

但它们都值得重新检查。

因为过去的成功,只能证明一套方法在过去的环境里有效,并不能证明它永远是最好的选择。

九、下一次版本升级,从一项真实工作开始

我不想把这篇文章写成一份宏大的转型宣言。

对于一个四十岁的程序员来说,生活里有工作、有家庭、有责任,也有有限的时间和精力。

如果每次面对技术变化,我都要先制定一套完整的升级计划,那么还没开始行动,就可能已经消耗了不少精力。

我更愿意从一件小事开始。

下一次遇到重复性的工作,我先不急着按照旧流程执行。

我会问自己:这件事的目标是什么?哪些步骤必须由我亲自完成?哪些步骤可以借助 AI?哪些结果必须经过验证?这次工作结束后,有没有什么值得沉淀下来?

然后,我尝试一次。

不要求一开始就实现完全自动化,也不要求立刻取得明显收益。

只要能够通过真实反馈,弄清楚新的协作方式是否有效,就已经有了价值。

如果效果不好,我就分析原因。

如果效果不错,我就把有效的部分保留下来。

如果某种工作模式能够在多个场景中重复产生价值,我再考虑把它变成稳定的流程或者工具。

我希望自己的变化也是这样发生的。

不是因为害怕被淘汰,所以拼命追赶所有新技术。

而是因为看见了新的可能,所以主动调整自己的工作方式。

不是急着证明过去的自己已经落后。

而是让过去积累的经验,在新的环境中继续发挥作用。

AI 可能会改变很多职业的工作方式,也可能让某些技能的市场价值发生变化。

但对于我来说,最重要的事情,不是提前猜中所有变化。

而是逐渐建立一种能够适应变化的能力。

AI 不会自动替我决定未来,但它提醒我:过去有效的协议,不应该未经检查就一直运行下去。

我依然是一名程序员。

我依然需要理解技术、设计系统、解决问题。

只是从现在开始,我希望自己不再只关心如何更快地执行任务。

我还要关心,任务为什么存在,应该如何完成,经验能否沉淀,以及这些能力最终能不能让我拥有更多选择。

这可能就是我理解的个人系统重构。

不必因为新技术出现,就推翻过去的一切。

但也不能因为过去的方式曾经有效,就拒绝升级。

我是语霖。

执笔为语,心落成霖。

希望用文字和声音,记录一个40岁程序员重新设计人生系统的过程。

我们下期接着聊。


分享这篇文章:

上一篇
不会用AI的人,会不会成为新的「文盲」?
下一篇
如何用AI,给自己的知识系统做一次自动化归档