代码能跑就行?领域知识才是程序员真正的护城河

3 阅读5分钟

AI编程工具越来越强,这点没人否认。GitHub Copilot能秒级生成函数,ChatGPT能帮你搭起整个项目框架,Cursor Windsor可以根据简单描述生成完整前端页面。小伙伴们开始讨论:写代码的门槛是不是已经低到人人可入了?

但实际情况恰恰相反。

技术文档越来越标准化,开源代码越来越丰富,AI生成代码的质量也越来越高,可"专业差距"不是缩小了,而是更明显了。这种差距不体现在谁能写出能跑的代码上,而体现在谁能写出"对"的代码。对谁?对业务。

代码能跑,不代表业务能跑

先说一个真实的坑。

CRM系统里有个常见的"客户重复购买"逻辑。AI可以快速给出实现方案,检测同一客户在订单表里的重复记录。但实际业务场景远比这复杂——

# AI生成的代码大概是这个样子
def find_duplicate_purchases(customer_id):
    return db.query("SELECT * FROM orders WHERE customer_id = ?", customer_id)

看起来没问题对吧?但实际业务要考虑的边界条件多了去了:

  • 重复购买的时间窗口怎么定?30天内还是365天内?
  • 退款后再次购买算不算重复购买?
  • 企业客户(公司)和个人客户(员工)的判断逻辑要不要区分?
  • 跨店铺的订单算不算重复?

这些边界条件,没有实际参与过业务的人是不会知道的。AI生成的代码语法零错误,跑起来要么业务逻辑不符合预期,要么在边界情况下直接崩溃。

什么是领域知识

说白了,领域知识就是那些"没有文档的行业经验"。

某些行业的规则是几十年沉淀下来的,不是读过几篇博客就能理解的:

  • 金融:监管合规逻辑、反洗钱规则、风险定价模型
  • 能源:电网调度规则、峰谷定价逻辑、设备运维周期
  • 医疗:用药禁忌、医保报销规则、诊断流程

这些知识散落在老师傅的脑子里,散落在项目代码的注释里,散落在踩过坑的人的失败经历里。AI训练数据里很少有这些东西,因为它们从来没被完整地写出来过。

为什么AI难以替代

1. 隐性知识难以传递

你问一个资深风控人员"这笔贷款能不能批",他可能说不出完整的判断逻辑,但就是有一种直觉。这种直觉是多年接触大量案例后形成的模式识别能力——说不清但确实存在。

2. 获取成本很高

技术书籍可以快速读完,在线课程可以几周刷完,但领域知识不行。它需要时间积累,需要踩坑,需要跟业务方反复掰扯需求。一个刚毕业的计算机系学生和一个在行业里干了五年的业务专家,写出来的代码"能跑"可能差不多,但"能用"的差距可能就是那五年的业务沉淀。

3. 训练数据覆盖不了

公开数据覆盖不了所有领域。很多行业的核心知识从来没上过互联网:内部流程、保密协议、老代码里"这个别改,改了会出事"的注释。

开发者如何构建领域知识壁垒

1. 选一个行业深耕

不要只盯着技术栈。技术更新快,但技术本身不值钱。真正值钱的是技术跟某个领域的结合。

一个写了五年CURD的工程师,和一个在医疗信息化领域深耕五年的工程师,后者的替换成本高得多。不是因为他会什么框架,而是因为他知道那些没有文档的规则。

2. 理解业务逻辑而不只是实现逻辑

选一个你有感觉的行业,持续跟踪这个行业的动态:监管政策、行业报告、客户投诉、竞品功能。试着理解业务为什么要这么做。

几年下来,你脑子里会形成一张业务逻辑图。这张图比任何框架都难替代。

3. 学会问"边界在哪里"

程序员最容易忽略的问题是"这个逻辑的边界在哪里"。AI生成代码的时候,你给它一个需求,它给出一段实现。但边界条件需要你自己去挖掘。

举个例子,你接到了一个"限制用户每日提现额度"的需求。AI可以快速给出代码:

def check_withdrawal_limit(user_id, amount):
    today_withdrawn = get_today_withdrawn(user_id)
    if today_withdrawn + amount > DAILY_LIMIT:
        return False
    return True

但边界条件呢?

  • 额度是按"自然日"还是"任意24小时"计算?
  • 提现失败后额度释放的时序是怎样的?
  • 风控触发的临时限额和常规限额如何叠加?
  • 测试环境怎么构造"今日已提现"的测试数据?

这些边界条件,才是真正考验领域知识的地方。

总结

写代码的能力不会贬值,就像数学能力不会因为计算器的普及而变得无用。AI淘汰的是低附加值的代码工作,而不是所有代码工作。

但领域知识的重要性在上升。它难以被替代,难以被快速获取,而且跟业务价值直接挂钩。对于想建立长期竞争力的开发者,与其焦虑AI会不会取代自己,不如想想怎么让自己跟某个领域的结合更深。

代码能跑就行?这个标准已经不够了。