最近,我越来越喜欢用一个词来理解 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岁程序员重新设计人生系统的过程。
我们下期接着聊。