开发向 · 延伸篇

他不会写代码,但 AI 会

团队里多了这样一个人之后,权限、边界和审查都得重新设计——照搬来的那套会失效。

START

团队里多了这样一个人

他最懂客户实际怎么用、哪里别扭、哪个默认值不合理。他不写代码,但他可以让 AI 替他写。于是他开始参与开发——然后你会撞上下面这三件事。

你经历的真正发生的
他说只是"改一下筛选条件",结果一次会话改了几十个文件,你审不过来AI 把单个人的影响半径放大了。改动规模不再由他的能力决定,由 AI 的能力决定
他改的是自己那块,可上线后别处挂了AI 分析后认为要调公共接口,于是"顺便"改了——他看不出这个改动会影响谁
你想给他降权限,结果他每推一次都要找你,工作流直接跑不动降权限治不了这个病。它拦的是"他主动越界",而问题出在"AI 顺手越界"

三件事有同一个根:多数协作规范都隐含一个前提——操作者是人,而且是会写代码的人。你的团队不是。照搬来的权限设计会在这个前提上塌掉。

MODEL

一个反直觉的推论

传统上,能改代码的人=会写代码的人。所以权限设计约等于能力设计——给谁权限,就等于承认谁有能力。

现在不一样了:他的"能力"由 AI 提供,"权限"和"责任"仍然是他的。这两样第一次分开了。

推论是反直觉的:权限设计必须更严,而不是更松。

因为 AI 放大了单个人的影响半径。一次会话可能改几十个文件,而授权它的那个人看不懂那些改动对不对。能力上去了,判断力没跟上——这中间的差额,就是新增的风险。

三类参与者

参与者性质靠什么约束
决策者、责任主体代码托管平台的权限(硬边界)
大脑理解需求、规划改动、出指令它读得到的约定文件(软边界)
双手在明确边界内实际改代码同上 + 自动化检查兜底

AI 没有独立的账号身份,它用的是授权它的那个人的凭据。所以 AI 的每一次提交,在系统眼里都是那个人做的。

好处:责任模型天然清晰——AI 干的活,责任在授权它的人身上,不需要给 AI 单独建账号。

代价:正因为责任归人,"谁是谁"必须先分清。共用一个账号时,所有产出混成一个主体,事后无法区分是谁授权的、出问题找谁。

把"谁是谁"分清楚这件事本身,是上一页的内容——别共用一个账号:先把账号架构理顺

LAYER

权限管不住 AI 的手

平台权限        管「能不能推上去」      ← 硬边界,技术强制
约定文件        管「AI 会不会去改」      ← 软边界,AI 自觉遵守

业务成员有推送权限,技术上能推任何目录。但真实风险不是他主动越界,而是 AI 顺手越界。

典型场景

他让 AI「修一下客户列表的筛选条件」,AI 分析后认为需要调整后端返回结构,于是"顺便"改了公共接口——而他看不出来这个改动会让别的地方挂掉。

AI 不会读你的权限设置,但它会读你写给它的约定文件。所以约束必须写在它读得到的地方。

只有硬边界只有软边界两层配合
AI 照样在权限内乱改权限没兜底,误操作直达生产AI 不去改 + 改了也推不上关键区

所以对这类团队,软边界比硬边界更关键——这是与传统团队最大的差别。

CORE

发现一个待优化点之后,先判断走哪条通道

这一节可以整块转发给要动手的人

发现一个待优化点
 │
 ├─ 通道 C · 配置 ── 文案、默认值、话术、规则参数、字段顺序、阈值
 │    → 直接在系统后台改,即时生效
 │    → 不进代码库、不需要分支、不需要评审
 │    → 目标:这条通道要覆盖 70% 以上
 │
 ├─ 通道 A · 本目录代码 ── 只动自己主责的目录
 │    → 大脑理解 → 双手改 → 本地验 → 推主干 → 自动化检查兜底
 │
 └─ 通道 B · 共享区 ── 需要加数据库字段、改公开接口
      → 停下来,写需求交给平台负责人
      → 由他评估、改结构、通知下游重新对齐

A / B / C 判断法

通道判断依据
C改的是内容或参数——文案、默认值、阈值、顺序、规则参数
A改的是自己主责目录内的交互或逻辑
B涉及数据库结构或公开接口契约

为什么 C 是关键

走代码(通道 A)走配置(通道 C)
他要理解的东西分支、构建、部署只需会用系统
出错影响可能构建挂、生产崩界面上改回来
生效速度提交 → 检查 → 部署即时
占用负责人精力每次都要审定期抽查
他能独立完成吗需要兜底完全独立

「架构已经稳定、只是要优化操作逻辑」——这句话本身就在提示:大部分优化点很可能是参数和文案,而不是结构。

盘点表(可照抄)

正式分工之前,先把待优化点列出来逐条分类:

#优化点描述类型走哪条通道是否需要先做配置化改造
1客户列表默认排序改成按最近跟进C后台配置是——当前是硬编码
2售后话术第 3 条措辞调整C后台配置否——已可配
3订单列表增加一个筛选条件A代码 · 主干
4客户表需要加"行业"字段B交平台负责人

如果 C 类占多数——先把这些做成后台可配置,分工难度会下降一个数量级。这项改造工作量最大,但收益也最大:它决定了后续是"他能独立跑",还是"每件事都要你兜底"。

CHECK

审查对象要上移一层

AI 写出来的代码通常不差。出问题的是它理解错了需求,或者做了额外的事。所以审查的注意力要从"写得对不对"上移到"理解对不对、范围对不对"。

重点看而不是
改动范围对不对(有没有越界)代码风格
需求理解对不对(他要的是 A,AI 做的是 A 吗)变量命名
有没有引入不该有的东西(新依赖、新表、改了公共接口)缩进格式
有没有误提交(配置文件、密钥、构建产物)注释写得好不好

把注意力放在机器判断不了的地方。格式、构建、类型交给自动化检查;人只看机器判断不了的:范围与意图。

让 AI 自己报告越界

在那份 AI 每次会话都会读的约定文件里,加一条收尾自检,要求它在会话结束前主动输出:

  1. 本次改动涉及的目录清单
  2. 是否碰了不属于自己主责的目录?碰了要说明理由
  3. 是否改动了数据库结构或公开接口?改了必须提示走握手协议
  4. 是否新增了依赖?新增了要说明为什么

他看不懂代码差异,但他看得懂"我改了 XX 目录"这句话。让 AI 自己报告,等于给了不懂技术的人一个可执行的检查点——这比要求他去读代码现实得多。

RULES

三条纪律

面向所有用 AI 写代码的人,不分角色。

1

让 AI 动手前,人先提交一次。 —— 版本管理就是安全网。改坏了随时退回上一个干净状态——这一步花三秒,省下的是整晚。

2

大改动先开分支。 —— 改砸了删掉分支,主干毫发无损。

3

提交时精确指定路径,不要习惯性地"全加"。 —— AI 可能生成你没预期的文件。提交前扫一眼未跟踪的那些条目,别把不该进去的东西一起推上去。

NEXT

第一次一定要陪着走完

从一个真实的小需求开始,不要用假任务。走通一次,后面就是重复。

第一次的十步

  1. 让他先判断走哪条通道(C / A / B)——这一步最重要
  2. 若走 A:开工先拉取最新代码
  3. 用大脑描述需求,先看它的理解对不对,再让双手动手
  4. 动手前先提交一次
  5. 改完看 AI 的收尾自检报告:有没有越界
  6. 本地验证效果
  7. 扫一眼变更列表,确认没有意外文件
  8. 精确添加 + 提交 + 推送
  9. 看自动化检查是否通过
  10. 负责人按语义层审:范围对不对、理解对不对

最好的移交,是让大部分工作不需要移交。

把"需要开发能力才能做的事"降级成"会用系统就能做的事"——这比培训对方学一套开发流程便宜一个数量级,也比你替他做可持续得多。

伴读词条 · 概念词典第三层