1. 从代码搬运工到规则制定者的角色转变
十年前的程序员工作场景是这样的:产品经理拿着PRD文档过来,我们打开IDE开始逐行实现需求。那时的核心价值在于"如何把需求翻译成代码",评判标准是功能实现是否准确、代码是否高效。但今天,当我在团队里看到新来的实习生用GitHub Copilot十分钟完成了一个原本需要半天的工作模块时,我突然意识到——传统意义上的"建造者"角色正在被AI解构。
上周处理的一个真实案例很能说明问题。客户需要个智能客服系统,过去我们需要:
- 设计对话状态机
- 编写意图识别逻辑
- 构建问答知识库
而现在,我的工作变成了:
- 定义对话质量评估体系(如响应相关性、情感温度等12个维度)
- 设计AI训练数据的标注规则
- 制定人工复核的抽样策略
这个转变最明显的特征是:我不再直接写处理用户问句的if-else逻辑,而是通过设计评估标准和数据规范,间接控制AI的输出质量。就像从砌墙工人变成了建筑设计监理,工作界面从代码编辑器转移到了规则说明书。
2. 定义者需要掌握的三大核心能力
2.1 领域建模的抽象能力
去年帮某零售企业做库存预测系统时深有体会。传统做法是写算法预测销量,现在则需要:
- 拆解影响库存的23个因素(包括社交媒体热词、天气模式等)
- 定义各因素的量化方式(如将"网红带货"量化为直播观看人数与商品提及次数的加权值)
- 建立因素间的关联规则
这要求我们像产品经理一样思考业务本质。最近在做的电商推荐系统项目,我就花了整整两周时间与业务方确定"什么是好的推荐"——最终将其量化为包含转化率、多样性、惊喜度等7个指标的评估矩阵。
2.2 数据治理的架构能力
上个月优化客服机器人时发现:90%的bad case源于训练数据质量问题。现在我的工作流变成了:
- 设计数据标注手册(明确标注边界,如"退款问题"与"售后问题"的区分标准)
- 建立数据质量监控看板(识别标注不一致、数据漂移等问题)
- 制定数据增强策略(比如针对长尾问题的定向数据采集)
一个实战技巧:我们会用"对抗测试"来验证数据规范——故意构造边界案例让不同标注员处理,通过分歧点发现规则漏洞。这套方法使我们的意图识别准确率提升了38%。
2.3 评估体系的构建能力
最近在开发内部代码生成工具时,我们放弃了传统的"代码通过率"指标,转而设计包含:
- 可维护性(代码结构复杂度)
- 安全性(潜在漏洞数量)
- 可解释性(生成代码与需求的匹配度)
这需要掌握度量方法论。我们借鉴了软件工程中的CISQ标准,结合AI特点开发了包含17个检查项的评估框架。实施后,生成代码的返工率下降了62%。
3. 工作流程的重构实践
3.1 需求分析阶段的变化
现在接到需求后,我的第一反应不再是"这个功能怎么实现",而是"这个问题的本质是什么"。比如最近做的智能合同审查项目:
- 先与法务团队梳理出"高风险条款"的52个特征
- 设计条款风险等级的三层分类体系
- 定义不同风险等级的处置流程
这相当于在写代码前,先构建了业务的"认知图谱"。我们使用Miro白板进行可视化建模,这个过程往往要消耗整个项目40%的时间,但能减少后期70%的调整工作。
3.2 开发阶段的协作模式
我们的代码评审会现在变成了"规则评审会"。上周评审发票识别系统时:
- 检查字段提取规则的覆盖场景(如处理"金额大写"的7种变体)
- 验证异常处理逻辑的完备性(测试模糊发票图片的16种情况)
- 评估规则的可扩展性(预留港澳台发票的识别接口)
一个有效做法是维护"边界案例库",收集所有特殊情况进行集中管理。三个月来这个案例库已积累237个真实案例,成为团队的重要知识资产。
3.3 测试验证的范式转移
传统的单元测试正在被"规则有效性测试"取代。我们现在的测试流程:
- 构造包含200+案例的验证集(覆盖主要场景和边界情况)
- 运行自动化规则评估流水线
- 分析bad case进行规则迭代
有个实用工具链:用Jupyter Notebook+Great Expectations构建交互式验证环境,可以实时看到规则调整对各项指标的影响。
4. 职业发展的应对策略
4.1 学习路径的调整建议
最近面试候选人时,我会特别关注:
- 系统思维(能否用架构图表达复杂业务)
- 标准制定经验(是否参与过规范文档编写)
- 数据分析能力(如何用数据验证决策)
建议开发者:
- 精读领域标准文档(如医疗行业要熟悉HL7 FHIR)
- 练习将模糊需求转化为可量化指标
- 掌握基本的统计学和评估方法论
我个人的学习清单包括:《领域驱动设计》《数据密集型应用系统设计》《指标体系建设方法论》等。
4.2 日常工作习惯的优化
这两个月我强制自己做了些改变:
- 每天用1小时阅读行业白皮书而非技术博客
- 会议记录改用"规则-例外-待确认"的三栏式模板
- 代码注释重点说明设计决策而非实现细节
一个意外收获:这种思维模式对系统架构设计帮助很大。上周设计的物流调度系统,因为提前定义了12条运力分配原则,后续开发异常顺利。
4.3 价值定位的重新思考
我的薪资构成最近发生了有趣变化:
- 传统编码能力占比从70%降到30%
- 业务抽象能力占比升至40%
- 标准制定经验占30%
这反映出市场对"定义者"的价值认可。有个趋势值得注意:具备领域知识(如金融、医疗)的"定义型"开发者,薪资水平比纯技术型高出35-50%。
5. 工具链的转型升级
5.1 新一代的IDE配置
我的VSCode现在装满这些插件:
- 决策树可视化工具(用于规则逻辑展示)
- 数据分布分析插件(实时查看特征统计)
- 规则文档生成器(自动输出标准格式)
特别推荐一个工作技巧:用Markdown写设计文档时嵌入可执行的规则代码块,这样文档本身就是可验证的。我们团队用这套方法,使规则文档的准确率提升了55%。
5.2 知识管理的新方法
我现在的知识库分为:
- 领域模型库(业务概念图谱)
- 规则案例库(典型场景处理方案)
- 评估指标库(各场景的度量标准)
采用双链笔记工具管理,重点构建概念间的关联关系。比如"退货政策"会关联到:
- 7个相关业务规则
- 3个评估指标
- 12个典型处理案例
5.3 协作平台的改造
我们淘汰了传统的项目管理工具,改用:
- 规则管理平台(类似内部版的Swagger)
- 数据看板中心(集成指标监控)
- 案例协作空间(集体讨论边界情况)
一个创新做法:每个需求卡片不再关联代码分支,而是关联规则文档版本和数据验证报告。这让非技术成员也能有效参与评审。