AI 时代程序员的方法论:从写代码到驾驭生成—验证系统
覆盖 9 个岗位(需求、前端、后端、测试、DevOps、数据、AI应用、安全、架构师)的 AI 时代开发方法论全景:从写代码升级为定义正确性、设计验证信号、控制爆炸半径,并驾驭生成—验证系统。
适用对象:需求工程师、前端工程师、后端工程师、测试工程师、DevOps/SRE、数据工程师、AI/LLM 应用工程师、安全工程师、架构师/Tech Lead。
核心目标:把“会用 AI 写代码”升级为“能定义正确性、设计验证信号、控制爆炸半径,并驾驭生成—验证系统”。
0. 一句话内核
AI 时代,程序员最核心的问题已经从:
我怎么把代码写出来?
变成了:
我凭什么知道 AI 生成的东西是对的?
所有岗位、所有流程、所有工具链,最终都应该围绕这个问题组织起来。
一个基础等式是:
1
最终产出质量 ≈ 输入端上下文质量 × 输出端验证强度 × 爆炸半径控制能力
AI 把“生产”变快了:写代码、写文档、写测试、写脚本、写 SQL、写配置、写 Prompt,都可以被快速生成。但生产速度变快后,真正稀缺的能力迁移到了三件事:
- 能不能说清楚“正确”长什么样;
- 能不能建立可靠的验证信号;
- 能不能控制一次错误带来的影响范围。
所以,AI 时代的程序员不是简单地从“手写代码”变成“提示词工程师”,而是从“代码生产者”升级为:
生成—验证系统的设计者和驾驭者。
1. 第一性问题:正确长什么样?
任何任务开始之前,第一句话永远是:
做完之后,我凭什么判断它是对的?
这个问题决定了后续的一切。
如果你能说出一个客观、明确、最好可以机器检验的标准,那么这个任务就是 AI 友好的。例如:
给定输入应该返回什么输出;
接口字段和错误码应该是什么;
某个 bug 如何稳定复现;
重构前后行为必须保持一致;
页面在某些状态下应该如何展示;
数据任务的源表、目标表、口径和对账规则是什么。
如果你只能说:
我读一下,看着对就行。
这就是警报。
它通常意味着两种情况:
- 你自己还没有想清楚需求;
- 这个任务本身低可验证,需要经验、品味、系统判断。
AI 最危险的地方不是它不会生成,而是它会生成一种“廉价的完整感”。它能给你一个看起来完整的方案、看起来能运行的代码、看起来很专业的文档,让你误以为问题已经被想清楚了。
但是,完整不等于正确,能跑不等于可靠,看起来合理不等于经过验证。
2. 两轴定位:可验证性 × 爆炸半径
每个任务都可以先放到两个轴上判断。
2.1 轴一:可验证性
问题的正确性,能不能被廉价、客观、重复地验证?
高可验证任务包括:
纯函数;
CRUD;
DTO 转换;
明确输入输出的接口;
有充分测试覆盖的重构;
有固定格式的文档生成;
有明确对账规则的数据处理。
低可验证任务包括:
架构选型;
抽象边界设计;
UI 体验;
产品需求取舍;
安全模型;
LLM 输出质量;
长期演进路线。
2.2 轴二:爆炸半径
做错之后,影响范围和回滚成本有多大?
低爆炸半径任务包括:
局部样式调整;
内部工具函数;
原型页面;
一次性脚本;
非核心路径重构。
高爆炸半径任务包括:
数据库迁移;
对外 API 契约;
权限鉴权;
支付、计费、资金逻辑;
生产环境变更;
安全策略;
架构边界;
数据口径变更。
2.3 四种委托姿态
| 任务类型 | 低爆炸半径 | 高爆炸半径 |
|---|---|---|
| 高可验证 | 放手委托。让 AI 做,主要看测试和结果。 | 委托但严审。让 AI 生成,但人逐行审关键路径,测试拉满。 |
| 低可验证 | 快速试错。让 AI 多生成几版,人做选择。 | AI 只当参谋。人主导决策,AI 做反方论证和风险补充。 |
这个矩阵可以直接指导日常工作:
左上角:不要过度把关,否则浪费 AI 的加速价值;
右上角:可以委托实现,但不能外包责任;
左下角:适合用 AI 发散、试错、对比;
右下角:这是人类专家价值最高的区域。
3. 通用生成—验证流程
无论岗位是什么,推荐统一走六步。
第一步:把任务拆到每一步都有验证信号
不要把一个大需求直接扔给 AI。工作的最小单元不是“一个功能”,而是:
一个能独立产生对错信号的小改动。
例如:
先定义接口契约;
再实现一个分支;
再补一个异常路径;
再补权限校验;
再写迁移脚本;
再补回滚方案。
每一步都能验证,AI 跑偏时最多损失一小步。
第二步:生成之前先放验证锚点
验证锚点必须尽量在生成之前定义。
常见锚点包括:
单元测试;
集成测试;
契约测试;
E2E 测试;
golden case;
截图 diff;
数据对账规则;
SLO 指标;
安全检查清单;
需求验收标准。
顺序非常重要:
1
先定义怎么算对 → 再让 AI 生成 → 再用锚点验证
而不是:
1
先让 AI 写实现 → 再让 AI 给自己补测试
后者很容易得到“迎合实现的假测试”。
第三步:按四象限决定委托深度
不要问“这个能不能交给 AI”,而要问:
1
2
这个任务处在哪个象限?
我应该让 AI 做实现、做草稿、做反方,还是只做辅助搜索?
第四步:让 AI 自己跑反馈闭环
理想状态不是人肉复制报错,而是让 AI 在受控环境里:
1
生成 → 编译 → 测试 → 读错误 → 修复 → 再测试
人的责任是:
提供正确上下文;
设置验证锚点;
限制改动范围;
审查关键路径;
判断最终是否真的通过。
记住一条纪律:
AI 说“完成了”,默认它没有完成;只有验证信号通过,才算完成。
第五步:小步提交,随时回滚
每个验证通过的小步都应该形成 checkpoint。
1
小步变更 → 验证通过 → commit → 继续下一步
这样可以把爆炸半径控制在最小。
第六步:三轮不收敛就停
如果你和 AI 来回三轮还不收敛,通常不是“再试一次”的问题,而是输入端出了问题:
需求不清楚;
上下文缺失;
验证锚点错误;
任务拆得太大;
问题超出了当前模型能力;
你已经被 AI 的生成节奏牵着走。
正确做法是停下来,回到上游:重写规格、补上下文、缩小任务、换验证方法,必要时自己接管。
4. 岗位总览矩阵
| 岗位 | 核心正确性 | 主要验证信号 | AI 适合做什么 | 人必须守住什么 |
|---|---|---|---|---|
| 需求工程师 | 问题真实、边界清楚、验收标准明确 | 用户场景、验收标准、反例、原型评审、需求评审 | 访谈提纲、场景梳理、PRD 草稿、边界枚举 | 真实问题判断、优先级、取舍、需求闭环 |
| 前端工程师 | 视觉、交互、状态、体验正确 | 组件测试、截图 diff、E2E、Storybook、人工体验评审 | 组件、样式、状态逻辑、页面草稿 | 体验判断、信息架构、复杂交互取舍 |
| 后端工程师 | 接口契约、数据一致性、异常处理 | 单测、集成测试、契约测试、压测、日志 | CRUD、接口实现、测试、脚本 | 事务、幂等、权限、安全、数据模型 |
| 测试工程师 | 测试能发现真实问题 | 用例覆盖、缺陷复现、变异测试、回归质量 | 生成用例、自动化脚本、边界枚举 | 测试策略、风险判断、断言价值 |
| DevOps/SRE | 稳定、可恢复、可观测 | SLO、监控、告警、演练、回滚验证 | 脚本、IaC、日志分析、排障建议 | 生产风险、变更窗口、回滚方案 |
| 数据工程师 | 数据正确、口径一致、链路可追溯 | 对账、质量规则、血缘、抽样核验 | SQL、ETL、校验脚本、文档 | 业务口径、数据契约、异常解释 |
| AI/LLM 应用工程师 | 输出质量可评估、失败可观察、风险可控 | eval、golden set、人工抽检、线上反馈 | Prompt、Agent 流程、工具调用、评测脚本 | 评估体系、失败模式、安全边界 |
| 安全工程师 | 攻击面可控、权限边界正确 | 威胁建模、扫描、审计、攻防验证 | 审计辅助、日志分析、清单生成 | 风险评级、授权边界、攻击路径判断 |
| 架构师/Tech Lead | 长期演进能力和系统边界正确 | ADR、设计评审、原型、压测、组织反馈 | 方案对比、反方论证、风险清单 | 最终取舍、不可逆决策、演进节奏 |
5. 需求工程师:从写 PRD 到定义正确性源头
5.1 岗位变化
需求工程师过去经常被理解为“写 PRD 的人”或者“把业务方的话翻译给研发的人”。
AI 介入后,PRD、用户故事、流程图、验收标准、竞品分析、会议纪要都可以快速生成。于是需求工程师的价值不再是“文档写得快”,而是:
能不能识别真实问题,定义清楚边界,并给下游提供可验证的正确性源头。
如果需求源头是模糊的,后面的开发、测试、上线都会被污染。AI 会把模糊需求包装成看起来完整的文档,但不会自动保证它解决的是真问题。
5.2 需求工程师的正确性
需求工程师要保证的不是“文档完整”,而是:
- 问题真实:这是不是用户真实存在、值得解决的问题?
- 目标清楚:做完后业务指标或用户行为应该发生什么变化?
- 边界明确:哪些做,哪些不做,哪些后续再做?
- 场景完整:主流程、异常流、边界流是否覆盖?
- 验收可测:研发和测试能不能判断它是否完成?
- 取舍透明:为什么现在做这个,而不是另一个?
5.3 验证信号
| 需求环节 | 验证信号 | 常见假信号 |
|---|---|---|
| 问题发现 | 用户访谈、工单、数据下降、真实场景复现 | 老板说要、竞品有、大家感觉需要 |
| 场景定义 | 用户故事、任务路径、前置条件、异常条件 | 只有一句“用户可以 XXX” |
| 范围边界 | in scope / out of scope、版本切分 | “先都做了再说” |
| 验收标准 | Given-When-Then、可测试规则、样例数据 | “体验要好”“性能要快” |
| 优先级 | 影响人数、频率、价值、风险、成本 | 谁声音大谁优先 |
| 变更管理 | 需求变更记录、影响分析、重新确认 | 口头改需求 |
5.4 AI 适合做什么
需求工程师可以大胆让 AI 做:
整理访谈纪要;
提炼用户痛点;
生成用户故事;
枚举异常场景;
生成 PRD 初稿;
对需求做反方质疑;
把模糊表述改写成验收标准;
把需求拆成版本范围;
生成需求评审问题清单。
5.5 人必须守住什么
不能轻易交给 AI 的是:
判断问题是否真实;
判断优先级;
判断业务价值;
判断组织约束;
判断哪些需求不做;
判断需求变更是否值得打断当前节奏;
判断方案是否过度复杂。
5.6 新工作流
1
2
3
4
5
6
7
8
9
收集原始信息
→ 让 AI 整理用户场景、痛点、矛盾点
→ 人判断真实问题和优先级
→ 让 AI 生成用户故事、边界条件、异常流
→ 人确认 scope 和版本切分
→ 让 AI 生成验收标准和评审清单
→ 研发、测试、设计一起评审
→ 形成需求基线
→ 变更时重新评估影响范围
5.7 检查清单
需求进入开发前,至少回答:
用户是谁?
他在什么场景下遇到什么问题?
现在为什么必须解决?
做完后如何判断有效?
主流程是什么?
异常流程是什么?
哪些明确不做?
验收标准是否能被测试?
是否存在权限、数据、安全、兼容性影响?
如果砍掉 50% 范围,最小可交付是什么?
5.8 新护城河
需求工程师的新护城河是:
把模糊愿望转化为清晰问题,把清晰问题转化为可验证需求,把可验证需求转化为下游的正确性源头。
6. 前端工程师:从写页面到设计状态与体验验证
6.1 岗位变化
AI 很擅长生成组件、CSS、表单、页面布局、状态管理样板代码。前端工程师的瓶颈不再是“会不会写一个页面”,而是:
能不能把页面拆成状态、交互、视觉、异常和体验判断,并建立验证闭环。
6.2 前端正确性
前端的正确性至少包括:
- 视觉正确:和设计稿一致;
- 交互正确:用户操作后的反馈符合预期;
- 状态正确:加载、空态、错误态、成功态都清楚;
- 数据正确:接口数据映射无误;
- 可访问性正确:键盘、屏幕阅读器、语义标签合格;
- 性能正确:首屏、交互响应、资源加载可接受;
- 体验正确:用户能自然完成任务。
6.3 验证信号
| 正确性类型 | 验证方式 | AI 委托程度 |
|---|---|---|
| 视觉还原 | 截图 diff、设计稿对比 | 高 |
| 组件逻辑 | 单测、Storybook、交互测试 | 高 |
| 页面流程 | Playwright/Cypress E2E | 中高 |
| 状态边界 | 状态矩阵、异常态检查 | 中 |
| 性能 | Lighthouse、Web Vitals | 中 |
| 可访问性 | axe、语义检查、键盘测试 | 中 |
| 体验判断 | 人工走查、产品评审 | 低 |
6.4 新工作流
1
2
3
4
5
6
7
8
先画状态矩阵
→ 定义组件契约和 props
→ 明确接口 mock 数据
→ 让 AI 生成组件和样式
→ Storybook 中验证各状态
→ 跑组件测试和 E2E
→ 人工体验走查
→ 小步提交
6.5 检查清单
页面有哪些状态?
每个状态是否都有设计和文案?
API 成功、失败、超时、空数据如何处理?
表单校验规则是否清楚?
交互反馈是否及时?
是否有 E2E 覆盖主流程?
是否有截图 diff 或视觉回归?
是否考虑移动端、暗色模式、多语言?
AI 生成的组件是否过度耦合?
用户是否能在不看说明的情况下完成任务?
6.6 新护城河
前端工程师的新护城河是:
把模糊的体验问题,拆成清晰的状态模型、交互契约和可验证 UI 系统。
7. 后端工程师:从写接口到守住一致性边界
7.1 岗位变化
AI 可以快速生成接口、DTO、数据库访问、Service、测试和文档。后端工程师的价值开始集中在:
契约、数据一致性、事务边界、幂等、安全、可观测和演进能力。
7.2 后端正确性
后端正确性包括:
- 接口契约正确;
- 业务规则正确;
- 数据状态正确;
- 并发行为正确;
- 失败处理正确;
- 权限边界正确;
- 性能和资源使用可接受;
- 对外兼容性稳定。
7.3 验证信号
| 正确性类型 | 验证方式 | AI 委托程度 |
|---|---|---|
| 输入输出契约 | OpenAPI、契约测试 | 高 |
| 基础业务逻辑 | 单测、集成测试 | 高 |
| 异常处理 | 错误码测试、失败注入 | 中高 |
| 数据一致性 | 事务测试、对账、并发测试 | 中 |
| 幂等性 | 重复请求测试、幂等 key | 中 |
| 权限安全 | 权限矩阵、越权测试 | 低中 |
| 数据迁移 | 影子库、回滚演练、人工审查 | 低 |
| 架构边界 | 设计评审、ADR | 低 |
7.4 新工作流
1
2
3
4
5
6
7
先定义接口契约
→ 写清业务不变量
→ 准备正常、异常、并发、重复请求用例
→ 让 AI 实现接口和测试
→ 跑单测、集成测试、契约测试
→ 人审事务、幂等、权限、迁移和日志
→ 小步发布
7.5 检查清单
接口契约是否稳定?
错误码是否清楚?
事务边界在哪里?
重复请求会不会产生副作用?
并发写会不会产生脏数据?
权限校验是在正确层做的吗?
是否有审计日志?
数据迁移能否回滚?
是否影响老版本客户端?
是否有压测或容量评估?
7.6 新护城河
后端工程师的新护城河是:
识别系统中的不可逆决策、数据风险和一致性边界,并把它们变成可验证的工程约束。
8. 测试工程师:从写用例到设计高杀伤力验证系统
8.1 岗位变化
AI 很擅长生成测试用例、自动化脚本、边界枚举和测试数据。但 AI 也很容易生成“看起来覆盖很多,实际没什么杀伤力”的测试。
测试工程师的价值变成:
设计能发现真实问题的验证系统。
8.2 测试正确性
测试工程师要保证的不是“用例数量多”,而是:
- 覆盖关键风险;
- 能复现真实缺陷;
- 断言有价值;
- 回归成本可控;
- 能发现需求、设计和实现之间的不一致;
- 能给团队提供可靠的质量信号。
8.3 验证信号
| 测试类型 | AI 适合做 | 人要守住 |
|---|---|---|
| 单元测试 | 生成分支和边界用例 | 判断断言是否验证了真实行为 |
| 集成测试 | 生成接口调用脚本 | 设计模块协作路径 |
| E2E 测试 | 生成用户流程脚本 | 判断主路径和高价值路径 |
| 回归测试 | 把历史 bug 转成用例 | 维护缺陷知识库 |
| 探索测试 | 生成探索清单 | 风险直觉和业务理解 |
| 变异测试 | 生成候选断言 | 判断测试杀伤力 |
8.4 新工作流
1
2
3
4
5
6
7
理解需求和风险
→ 让 AI 枚举场景、边界、异常
→ 人筛选高风险路径
→ 让 AI 生成测试脚本和数据
→ 人审断言质量
→ 接入 CI
→ 把线上缺陷回灌为回归用例
8.5 检查清单
这个测试能发现什么具体错误?
如果实现写错,测试真的会失败吗?
是否只是在测试实现细节?
是否覆盖异常流和边界值?
是否覆盖权限、并发、重复提交?
测试失败时定位成本高不高?
是否有 flaky 风险?
历史 bug 是否沉淀为回归用例?
8.6 新护城河
测试工程师的新护城河是:
设计高杀伤力验证信号,而不是堆砌低价值用例。
9. DevOps / SRE:从写脚本到控制生产风险
9.1 岗位变化
AI 可以生成 Shell、Dockerfile、Helm、Terraform、CI/CD 配置,也能辅助分析日志和告警。但生产环境的风险不可外包。
DevOps/SRE 的核心价值是:
让系统稳定运行,并在失败时可观测、可恢复、可回滚。
9.2 正确性
DevOps/SRE 的正确性包括:
- 变更可控;
- 配置正确;
- 部署可回滚;
- 故障可定位;
- 容量可承受;
- 权限最小化;
- 告警有效;
- 恢复路径经过演练。
9.3 验证信号
| 场景 | 验证信号 | AI 委托程度 |
|---|---|---|
| CI/CD | dry-run、流水线测试、权限检查 | 中高 |
| Kubernetes 配置 | kubeval、helm template、灰度验证 | 中高 |
| IaC | plan、review、漂移检测 | 中 |
| 监控告警 | SLO、告警命中率、噪音率 | 中 |
| 故障排查 | 日志、trace、metrics 交叉验证 | 中 |
| 生产变更 | 灰度、回滚演练、变更窗口 | 低 |
| 权限管理 | 最小权限审计 | 低 |
9.4 新工作流
1
2
3
4
5
6
7
8
先定义变更目标和回滚条件
→ 让 AI 生成脚本或配置
→ 在本地或测试环境 dry-run
→ 用工具验证配置
→ 人审权限、影响范围、回滚路径
→ 灰度发布
→ 观察指标
→ 达标后扩大范围
9.5 检查清单
这次变更影响哪些服务?
失败时如何回滚?
回滚是否演练过?
有没有 dry-run?
是否有灰度方案?
监控指标看什么?
告警是否会触发?
权限是否过大?
AI 生成的脚本有没有危险命令?
是否会误删数据或资源?
9.6 新护城河
DevOps/SRE 的新护城河是:
把生产变更变成可预期、可观测、可回滚的小步实验。
10. 数据工程师:从写 SQL 到守住数据口径
10.1 岗位变化
AI 很擅长写 SQL、ETL、数据清洗脚本、指标文档。但数据工程的核心难点不是 SQL 语法,而是:
数据口径是否一致,链路是否可信,异常是否可解释。
10.2 数据正确性
数据工程师要保证:
- 源数据理解正确;
- 指标口径一致;
- 转换逻辑正确;
- 数据延迟可控;
- 缺失、重复、异常可解释;
- 数据血缘可追溯;
- 下游依赖不被破坏。
10.3 验证信号
| 数据任务 | 验证信号 | AI 委托程度 |
|---|---|---|
| SQL 查询 | 样例数据、结果校验 | 高 |
| ETL 转换 | 行数对账、字段校验、checksum | 中高 |
| 指标开发 | 口径文档、历史对比、业务确认 | 中 |
| 数据质量 | 规则检查、异常分布 | 中 |
| 数据迁移 | 双写对账、抽样核验、回滚 | 低中 |
| 口径变更 | 影响分析、下游确认 | 低 |
10.4 新工作流
1
2
3
4
5
6
先定义指标口径和数据契约
→ 准备样例输入和期望输出
→ 让 AI 生成 SQL/ETL
→ 跑行数、字段、分布、历史趋势校验
→ 人审业务口径和异常解释
→ 输出血缘和文档
10.5 检查清单
指标口径是否有业务确认?
源表字段含义是否清楚?
时间口径是什么?
去重规则是什么?
空值如何处理?
是否有行数对账?
是否有历史趋势对比?
异常值如何解释?
下游依赖有哪些?
口径变更是否通知到位?
10.6 新护城河
数据工程师的新护城河是:
把数据处理从“能跑的 SQL”升级为“可信的数据契约和可追溯的数据链路”。
11. AI / LLM 应用工程师:从调 Prompt 到建设 Eval 系统
11.1 岗位变化
LLM 应用工程师经常容易陷入“调 Prompt”“接 API”“搭 Agent”的表层工作。但真正困难的是:
输出质量如何评估,失败如何观察,系统如何持续改进。
11.2 LLM 应用正确性
LLM 应用的正确性不是单次输出看起来好,而是:
- 在目标任务分布上稳定有效;
- 对失败模式有记录;
- 对工具调用有可观测性;
- 对幻觉和越权有控制;
- 对用户反馈有闭环;
- 对成本、延迟和质量有权衡。
11.3 验证信号
| 任务 | 验证信号 | AI 委托程度 |
|---|---|---|
| Prompt 设计 | golden set、人工评分 | 中高 |
| RAG | 检索命中率、答案引用、召回评估 | 中 |
| Agent | 轨迹日志、工具调用成功率 | 中 |
| 输出质量 | eval、偏好评测、人工抽检 | 中 |
| 安全边界 | 红队测试、越权测试 | 低中 |
| 成本延迟 | token、耗时、缓存命中 | 中 |
11.4 新工作流
1
2
3
4
5
6
7
8
定义任务类型
→ 建 golden set
→ 定义评价维度
→ 让 AI 生成 Prompt/流程/工具调用
→ 跑自动 eval
→ 人工抽检失败案例
→ 记录失败模式
→ 迭代 Prompt、工具、检索和工作流
11.5 检查清单
有没有 golden set?
评价维度是什么?
有没有区分事实正确、格式正确、风格正确?
失败案例是否沉淀?
RAG 是否要求引用来源?
工具调用失败怎么处理?
多轮对话状态会不会漂移?
成本和延迟是否可接受?
是否有越权和敏感信息风险?
线上反馈如何回灌?
11.6 新护城河
AI/LLM 应用工程师的新护城河是:
把模糊的“效果好不好”,变成可重复、可比较、可改进的评估系统。
12. 安全工程师:从漏洞扫描到威胁建模
12.1 岗位变化
AI 可以辅助代码审计、日志分析、生成安全检查清单、解释漏洞。但安全判断极其依赖上下文,不能只靠 AI 输出。
安全工程师的核心价值是:
识别攻击路径、权限边界和系统性风险。
12.2 安全正确性
安全工程师要保证:
- 权限边界正确;
- 攻击面可控;
- 敏感数据不泄露;
- 审计链路完整;
- 依赖风险可管理;
- 安全策略能落地;
- 风险评级合理。
12.3 验证信号
| 安全任务 | 验证信号 | AI 委托程度 |
|---|---|---|
| 代码审计 | SAST、人工复核、PoC | 中 |
| 权限检查 | 权限矩阵、越权测试 | 低中 |
| 威胁建模 | DFD、攻击路径、STRIDE | 低中 |
| 日志分析 | 异常模式、关联查询 | 中 |
| 依赖扫描 | CVE、SBOM、版本策略 | 中高 |
| 安全设计 | 评审、红队、演练 | 低 |
12.4 新工作流
1
2
3
4
5
6
7
画系统边界和数据流
→ 让 AI 枚举威胁和攻击路径
→ 人筛选真实风险
→ 让 AI 辅助代码审计和日志分析
→ 用工具扫描和 PoC 验证
→ 人做风险评级和修复优先级
→ 形成审计记录
12.5 检查清单
谁能访问什么资源?
有没有越权路径?
敏感数据在哪里存储和传输?
日志是否泄露敏感信息?
是否有审计记录?
第三方依赖是否有高危漏洞?
AI 生成的代码是否引入注入风险?
是否有默认密钥或过大权限?
风险评级依据是什么?
修复是否经过验证?
12.6 新护城河
安全工程师的新护城河是:
在 AI 可以生成大量“看似安全”的方案时,仍能识别真实攻击路径和关键权限边界。
13. 架构师 / Tech Lead:从给方案到做长期取舍
13.1 岗位变化
AI 很擅长生成架构方案、技术选型对比、设计文档和风险清单。但架构的困难不在于“列方案”,而在于:
在技术约束、业务节奏、团队能力和未来变化之间做取舍。
13.2 架构正确性
架构师要保证:
- 系统边界合理;
- 抽象不过早也不过晚;
- 关键路径可扩展;
- 失败隔离清楚;
- 数据和依赖方向正确;
- 团队能实现和维护;
- 未来变化有演进路径。
13.3 验证信号
| 架构任务 | 验证信号 | AI 委托程度 |
|---|---|---|
| 方案对比 | ADR、评审记录 | 中 |
| 技术选型 | PoC、benchmark、社区成熟度 | 中 |
| 模块边界 | 依赖图、变更影响分析 | 低中 |
| 性能架构 | 压测、容量模型 | 中 |
| 可靠性设计 | 故障演练、降级验证 | 中 |
| 长期演进 | 路线图、迁移成本评估 | 低 |
13.4 新工作流
1
2
3
4
5
6
7
先明确业务目标和约束
→ 让 AI 生成多种方案
→ 让 AI 扮演反方攻击每个方案
→ 人判断长期取舍
→ 做最小 PoC 验证关键假设
→ 写 ADR
→ 小步演进,而不是一次性大重构
13.5 检查清单
这个设计解决的核心问题是什么?
有没有更简单的方案?
哪些决策不可逆?
未来最可能变化的地方在哪里?
模块边界是否对应业务边界?
数据流是否清楚?
失败会不会扩散?
团队是否有能力维护?
迁移路径是什么?
三个月后和三年后看,这个设计是否仍然合理?
13.6 新护城河
架构师/Tech Lead 的新护城河是:
在 AI 可以快速生成方案时,仍能做出负责任的长期取舍,并控制不可逆决策。
14. 岗位落地模板
每个岗位都可以用同一个模板复盘自己的 AI 工作流。
1
2
3
4
5
6
7
8
9
10
11
12
岗位:
1. 我这个岗位真正保证的“正确性”是什么?
2. 哪些工作被 AI 加速了?
3. 新瓶颈迁移到了哪里?
4. 哪些任务高可验证、低风险,可以放手委托?
5. 哪些任务高可验证、高风险,需要委托但严审?
6. 哪些任务低可验证、低风险,可以快速试错?
7. 哪些任务低可验证、高风险,只能让 AI 做参谋?
8. 我的验证锚点是什么?
9. 我的失败案例如何沉淀?
10. 我的新护城河是什么?
15. 个人日常落地流程
每天开始工作前,可以用这个流程:
1
2
3
4
5
6
7
今天要做什么?
→ 每个任务的正确性标准是什么?
→ 哪些任务适合 AI 放手做?
→ 哪些任务需要我严审?
→ 哪些任务必须我先想清楚?
→ 每个任务的验证锚点是什么?
→ 最小可提交步骤是什么?
每次让 AI 开始前,先写清楚:
1
2
3
4
5
6
7
8
9
目标:
上下文:
输入:
输出:
约束:
不变量:
验证方式:
禁止修改范围:
完成标准:
每次 AI 说完成后,问:
1
2
3
4
5
6
7
测试是否真的跑过?
失败用例是否覆盖?
有没有修改无关文件?
有没有引入新依赖?
有没有破坏兼容性?
有没有日志和异常处理?
有没有回滚路径?
16. AI 时代程序员的新能力栈
传统能力栈是:
1
语言 → 框架 → 工具 → 项目经验
AI 时代要叠加新的能力栈:
1
2
3
4
5
6
7
8
问题定义能力
→ 正确性建模能力
→ 验证信号设计能力
→ 上下文组织能力
→ AI 委托能力
→ 结果审查能力
→ 风险控制能力
→ 失败案例沉淀能力
其中最关键的是三项:
- 定义正确性:知道什么叫做对;
- 设计验证信号:知道怎么证明它对;
- 控制爆炸半径:知道错了怎么不炸。
17. 最终原则
原则一:先定义正确,再追求生成
没有正确性标准的生成,只是在高速制造不确定性。
原则二:先放验证锚点,再让 AI 实现
不要让 AI 给自己的实现补证明。
原则三:按风险决定委托深度
不是所有任务都应该交给 AI,也不是所有任务都需要人逐行写。
原则四:小步闭环,不要大包生成
一次生成越大,验证越困难,风险越不可控。
原则五:AI 可以加速实现,不能替你承担责任
最终负责的人仍然是你。
原则六:三轮不收敛,停下来修输入
坏输入上继续抽卡,只会积累垃圾。
原则七:每个岗位都要重新定义自己的护城河
AI 不只是改变写代码方式,而是在重构每个岗位的判断重心。
18. 一页速查
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
任务来了
│
├─ 1. 正确长什么样?
│ 说不清 → 先停,不要生成
│
├─ 2. 可验证性高不高?
│ 高 → 测试、契约、对账、截图 diff
│ 低 → 人工评审、反方论证、PoC
│
├─ 3. 爆炸半径大不大?
│ 小 → 可以大胆试
│ 大 → 小步、严审、回滚
│
├─ 4. 选择委托姿态
│ 高验证 + 低风险 → 放手委托
│ 高验证 + 高风险 → 委托但严审
│ 低验证 + 低风险 → 快速试错
│ 低验证 + 高风险 → AI 只当参谋
│
├─ 5. 生成前放验证锚点
│ 测试 / 契约 / 不变量 / golden set / 对账 / 评审标准
│
├─ 6. 跑生成—验证回路
│ AI 生成 → 工具验证 → AI 修复 → 人最终确认
│
├─ 7. 小步提交
│ 通过就 commit,跑偏就回滚
│
└─ 8. 三轮不收敛
停止生成,修规格、补上下文、缩小任务或人接管
19. 结语
AI 时代,真正的升级不是“学会更多工具”,也不是“掌握几个万能提示词”。
真正的升级是:
从写代码的人,变成拿着正确性标准、设计验证系统、控制风险边界,并驾驭 AI 生成能力的人。
不同岗位的表层工作会被 AI 加速,但每个岗位的深层价值会更加凸显:
需求工程师守住真实问题和验收标准;
前端工程师守住状态、交互和体验;
后端工程师守住契约、一致性和权限;
测试工程师守住验证信号的杀伤力;
DevOps/SRE 守住生产风险和恢复路径;
数据工程师守住数据口径和可信链路;
AI/LLM 应用工程师守住评估系统和失败闭环;
安全工程师守住攻击路径和权限边界;
架构师/Tech Lead 守住长期取舍和不可逆决策。
AI 会让生产更快,也会让错误扩散更快。
所以,未来最重要的程序员,不是最会让 AI 写代码的人,而是最会回答这三个问题的人:
1
2
3
什么是对?
怎么证明对?
错了如何不炸?