1.6 从写代码到做产品——AI 时代开发者的能力迁移图

1 阅读18分钟

模块一:认知重构与快速起步 | 第05讲:从写代码到做产品——AI 时代开发者的能力迁移图

你好。这一讲要把「你会很多技术」翻译成「你能持续交付产品」。仓库里的旧稿 课程内容/1.41.5 给了流程骨架,但重复与空泛较多;这里我会把它升级成可执行体系:对照表、路径图、练习、以及一段可直接运行的目标拆解脚本。读完你会能用一张地图解释:传统开发者技能哪些仍然值钱,哪些需要迁移,AI 时代新增的「硬通货」是什么。

1. 为什么「能力迁移」比「学新框架」更急

框架会更迭,工具会改名,但交付规律不会:你要么把价值推到用户面前,要么停在教程里。大量复盘里真正拉开差距的不是「会不会某个语法」,而是能否把业务问题拆成稳定步骤:先价值、再边界、再实现、再数据、再迭代。顺序错了,你会陷入返工螺旋;顺序对了,工具怎么换你都能继续 ship。

flowchart TD
  P[识别问题与场景] --> G[定义目标与非目标]
  G --> M[最小可交付切片 MVP slice]
  M --> I[实现与本地验证]
  I --> S[上线与可观测]
  S --> D[数据与反馈]
  D --> N[下一轮假设]
  N --> P

2. 传统技能 vs AI 时代技能:不是替代,是重排优先级

仍然值钱(甚至被放大)

  • 读写代码的能力:不是逐行敲的速度,而是快速理解、定位风险、审查 diff。
  • 系统设计的基本功:边界、数据模型、失败模式、回滚路径。
  • 性能与安全意识:知道哪里会慢、哪里会漏、哪里会炸。
  • 协作与文档:让别人能接手、让未来的自己不骂今天的自己。

需要迁移(从「亲自做」到「编排与验收」)

  • 样板实现:大量交给 AI,但你要验收结构与一致性。
  • 检索与拼接:从人肉搜索栈溢出,到结构化提问与最小复现。
  • 局部重构:AI 很强,但你需要定义重构目标与约束。

新增高杠杆(AI 时代「新核心」)

我把它总结为五项:产品化思维、提示与规格工程、上下文管理、质量审查、系统与数据设计。下一节展开。

3. 五项新核心能力:你要怎么练

  1. 产品化思维:把「功能」翻译成「用户可感知的进步」,把成功定义成可观察指标。
  2. 提示与规格工程:把模糊想法变成可执行、可验收、可拆分的任务说明。
  3. 上下文管理:规则文件、任务切片、日志与证据链,让模型少猜。
  4. 质量审查:安全、依赖、边界条件、回归路径;敢 say no。
  5. 系统与数据设计:知道状态放哪、一致性如何保证、以后怎么扩展。
mindmap
  root((AI 时代开发者))
    产品化思维
      用户场景
      价值假设
      指标
    规格工程
      验收标准
      非目标
      分步任务
    上下文管理
      规则文件
      证据粘贴
      任务切片
    质量审查
      读 diff
      跑命令
      安全底线
    系统设计
      数据模型
      失败模式
      演进路径

4. 目标拆解方法论:从「愿望」到「本周可完成」

旧稿里的步骤方向正确,但缺少「落地格式」。我推荐你用 Outcome → Milestones → Tasks → DoD(完成定义) 四层:

  • Outcome:本月要达成的一个可观察结果(例如「VibeNote 可在手机浏览器使用并持久保存」)。
  • Milestones:2-4 个检查点,每个检查点都能演示(不是「代码写完了」这种虚的)。
  • Tasks:每个 milestone 下 3-7 条任务,粒度以「1-2 小时能完成」为佳。
  • DoD:每条任务写明如何验收(命令、截图、手动步骤)。

5. 「非目标」为什么和「目标」同样重要

AI 特别会「多做事」。你不写非目标,它就会加登录、加后台、加复杂状态。非目标示范:

  • 本期不做账号体系。
  • 本期不做协同编辑。
  • 本期不做富文本编辑器,只做纯文本。

6. 对照表:优秀实践 vs 常见踩坑(升级版)

维度常见踩坑推荐做法你会得到的收益
需求功能堆叠单点痛点 + 非目标返工率下降
AI 协作口语指挥规格 + 验收 + 分步输出稳定
质量只看 UIUI + 边界 + 错误态线上更稳
数据先随便存先模型化再实现迁移成本更低
发布本地完美再上线小步上线收集现实节奏更快
迭代凭感觉指标 + 用户反馈增长可控

7. 可运行代码:把里程碑拆成任务列表(Node.js)

将下面保存为 goal-breakdown.mjs 并运行:node goal-breakdown.mjs

// goal-breakdown.mjs
// 运行:node goal-breakdown.mjs

const outcome = {
  title: "VibeNote V1:本地可用笔记",
  horizon: "7 天",
  milestones: [
    {
      name: "M1:项目可运行",
      demo: "pnpm dev 打开首页看到布局",
      tasks: [
        "创建 Next.js 项目(TS + Tailwind + App Router)",
        "建立基础布局与页面标题",
        "README 写明启动命令",
      ],
      dod: [
        "新机器按 README 可启动",
        "首页无控制台报错(与示例一致)",
      ],
    },
    {
      name: "M2:笔记 CRUD 闭环",
      demo: "新增/编辑/删除后列表正确变化",
      tasks: [
        "定义 Note 类型(id/title/body/updatedAt)",
        "实现内存或 localStorage 存储层",
        "实现列表与编辑区组件拆分",
      ],
      dod: [
        "刷新页面数据仍在(若承诺持久化)",
        "空状态与错误提示可读",
      ],
    },
    {
      name: "M3:可部署",
      demo: "公网 URL 可打开并使用核心功能",
      tasks: [
        "推到 Git 仓库",
        "Vercel 连接并部署",
        "用手机验收关键路径",
      ],
      dod: [
        "HTTPS 可访问",
        "核心路径在移动端可用",
      ],
    },
  ],
};

function printPlan(o) {
  console.log(`\nOutcome:${o.title}`);
  console.log(`周期:${o.horizon}\n`);

  o.milestones.forEach((m, idx) => {
    console.log(`${idx + 1}. ${m.name}`);
    console.log(`   Demo:${m.demo}`);
    console.log(`   Tasks:`);
    m.tasks.forEach((t) => console.log(`   - ${t}`));
    console.log(`   DoD:`);
    m.dod.forEach((d) => console.log(`   - ${d}`));
    console.log("");
  });

  console.log("建议:每个 milestone 结束就提交一次 git,并写清楚 demo 视频或截图路径。\n");
}

printPlan(outcome);

8. 把能力迁移映射到 VibeNote

  • 产品化:V1 解决「我能不能快速记录并找回」而不是「像 Notion」。
  • 规格:每条笔记字段固定;交互路径固定;错误提示固定。
  • 上下文:为项目建 AGENTS.md(后续讲),写技术栈与非目标。
  • 审查:存储层是否有丢数据风险?是否有 XSS 入口(未来富文本更要警惕)?
  • 系统设计:本地存储是临时方案,数据模型要预留迁移到 Postgres 的空间。

9. 学习路径:12 周视角(可裁剪)

你不用一次吃完,但你需要知道「地图全长什么样」:

1-2 周:环境与上线纪律;3-4 周:组件化与状态;5-6 周:数据库与 API;7-8 周:认证与权限;9-10 周:AI 功能接入;11-12 周:质量、监控与增长实验。每周一个可演示里程碑。

10. 复盘清单(比收藏更重要的是执行)

  • 本周唯一最重要的 Outcome 是什么?
  • 本周非目标写了没有?
  • 本周上线或演示了吗?
  • 本周最大的返工来自哪里?规格、实现还是验证?

11. 本讲小结

  • 能力迁移的关键是重排优先级:审查与设计变重,样板实现可委托。
  • 五项新核心是稳定交付的杠杆。
  • 目标拆解要用 Outcome/Milestone/Task/DoD 四层格式。
  • 非目标是控制 AI 与控制复杂度的利器。

实操作业

  1. 用脚本模板改写你自己的 Outcome(非 VibeNote 也可)。2) 写三条非目标。3) 给每个 milestone 录屏 10 秒 demo(练习表达能力)。

思考题

  1. 你最强的传统技能是什么?它如何迁移成新角色里的优势?2) 你最弱的「新核心」是什么?下周只练这一项。3) 你如何定义 VibeNote「本周 done」?

下一讲预告

第06讲:VibeNote V1.0 实战——列表、编辑、删除与 localStorage,全代码交付。你会第一次把方法论落成仓库里的真实目录。


(本讲在结构上吸收并替换了旧稿 课程内容/1.41.5 的框架,去掉重复段落,补上可执行工具与练习。)

加餐:从「任务列表」到「风险列表」

每个 milestone 加一行「最大风险是什么」:例如本地存储容量、浏览器隐私模式、迁移数据损失。你会更早做兜底。

加餐:指标最小集

即使是个人项目,也建议记录:每周提交次数、每周部署次数、每周用户反馈条数。指标不用多,但要真实。

加餐:别让学习笔记变成自我感动

笔记要写「决策与原因」,不要只抄定义。三个月后你能复盘,才叫资产。

加餐:与合作者沟通的新语言

学会说:「这是我的非目标」「这是 DoD」「这是本期 demo」。沟通成本会骤降。

加餐:AI 不是产品经理

它可以帮你头脑风暴,但价值取舍必须你负责。把取舍写下来。

加餐:从「我会 React」到「我能维护」

维护包含:升级依赖、修 bug、加功能不破坏旧功能。能力迁移的目标是维护力。

加餐:别用忙碌衡量进步

用里程碑衡量。忙碌是最廉价的幻觉。

加餐:每周一次的「砍需求仪式」

问自己:如果本周只能留一个任务,留哪个?这能训练判断力。

加餐:失败假设也要写

你假设用户最需要什么?如果错了,你怎么在三天内发现?

结语

能力地图的意义是让你少焦虑:你知道该练什么、该放什么。下一讲我们进入 VibeNote 代码,把地图落地。

深度展开:产品化思维不是「当产品经理」

很多人听到产品化就抗拒,觉得自己不是 PM。这里的产品化更朴素:把改变说清楚给谁、在什么场景、带来什么结果。你不需要会画高大上路线图,你需要会回答:用户(哪怕是你自己)完成任务的步骤是否变短?失败时是否知道怎么办?这些问题的答案,决定 AI 生成的功能是不是「看起来厉害但不好用」。

深度展开:规格工程=把模糊变可判定

规格工程的核心不是写长文档,而是把「完成」变成可判定命题。可判定意味着:两个人读同一份 spec,会对 done 有一致判断。AI 最喜欢这种输入,你也最喜欢这种输出,因为它减少扯皮与返工。

深度展开:上下文管理=注意力预算管理

上下文是预算,不是仓库。你把所有文件都塞给模型,并不会更聪明,只会更噪声。要学会分层:规则层稳定、任务层临时、证据层原汁原味。上下文管理练到高级,你会像导演一样安排「什么时候给什么镜头」。

深度展开:质量审查=把事故挡在合并之前

审查不是不信任 AI,而是承认概率模型会犯错。审查清单很短但很硬:权限、依赖、数据丢失、XSS、性能热点。每次合并前过一遍,成本远低于线上救火。

深度展开:系统与数据设计=给未来留路

VibeNote 会从本地走向数据库。若你一开始把数据结构写成一坨字符串拼接,未来迁移会痛。设计不是过度工程,而是边界清晰:类型、字段、约束、默认值,都是未来三个月的你写给今天的情书。

案例:把「我想做笔记应用」拆成可执行叙述

差:我想做笔记应用,支持 AI。好:我做单人笔记,先支持标题与正文,数据存 localStorage,页面包含列表与编辑区,刷新不丢;本期不做登录;验收路径是新增→编辑→删除→刷新验证。

案例:把「提升体验」改成可验收描述

差:体验更好。好:空状态提供创建引导;删除二次确认;长标题在列表自动截断并 tooltip;移动端编辑区占满宽度且键盘不遮挡提交按钮(尽可能)。

案例:一周计划怎么写才不骗自己

不要写「学习 Next.js」,要写「完成 M1 demo 并部署预览」。动词必须是可观察的。

与 AI 的分工:你负责取舍,AI 负责展开

你可以让 AI 帮你生成任务列表,但你必须亲自删:删掉不属于本周的,删掉不属于 V1 的。删的能力比加的能力更高级。

与旧稿差异:我们删掉了什么

删掉了重复堆砌的「项目化思考」段落,把它改写成案例与练习;删掉了空洞口号,把它换成 DoD 与脚本;保留了旧稿正确的骨架:问题—边界—最小实现—验证—迭代。

能力雷达图(自评用)

给五项新核心分别打 1-5 分:产品化、规格、上下文、审查、系统设计。每月重打一次,看趋势不比看分数重要。

时间盒:每天两小时怎么分配

一小时实现,三十分钟审查与记录,三十分钟处理报错与复盘。不要全天都在「生成」。

焦虑管理:你不需要会一切

地图的意义是让你知道「现在练哪块」。焦虑来自不知道自己缺什么。

协作场景:如果你和别人一起做

把 DoD 贴在 issue 上,把非目标写在开头。争论会少很多。

独立开发者场景:你是自己的 PM

更要写非目标,否则你会无限加功能,最后 nothing ships。

学生场景:把作业变成作品

作业写完就部署,招聘时链接比分数更有说服力。

转行场景:证明你能交付

项目清单 + 链接 + 复盘文章,是新的简历语言。

全职工程师场景:把方法带回团队

你会更快 code review,更快写设计文档,更快识别 AI 引入的风险。

反模式:把「学习」当进度条

学习不是进度条,交付才是。

反模式:把 AI 当许愿机

没有规格就没有稳定输出。

反模式:把完美当前置条件

完美是迭代结果,不是起点。

术语:MVP slice

最小切片:能演示价值的最小功能集合,而不是「最小简陋」。

术语:DoD

Definition of Done:完成定义,用来结束争论。

术语:Non-goals

非目标:明确不做的范围,用来对抗范围膨胀。

长文:为什么「指标」不只属于增长团队

个人开发者也需要指标,否则你会被主观感受骗。最小指标也能用:每周几次部署、几次真实用户使用、几次反馈。

长文:能力迁移的心理障碍

你会担心「我不写代码会不会变菜」。真相是:你会写更关键的代码,少写无聊的代码。关键代码才是职业资产。

长文:为什么复盘比学习笔记贵

复盘连接行动与结果,笔记只连接输入与情绪。

练习:写一页「VibeNote 宪章」

十行以内:愿景、V1 范围、非目标、质量标准。贴到仓库。

练习:给 AI 一个「拒绝权」

告诉它:如果你发现需求矛盾,先提问再改代码。你会惊讶它变稳。

练习:每周一次「砍需求」

写下你砍掉的三个需求及原因。你会更懂取舍。

结束语补充

地图在手,别停在地图前。下一讲我们走进 VibeNote:用代码说话。

附:与 1.5「目标拆解」对齐的升级点

旧稿重复强调同一流程但缺少工具与格式;本讲补上 goal-breakdown.mjs 的可运行模板,并把「非目标」与「风险」纳入拆解体系,使方法论可落地、可复盘、可迭代。

附:与 1.4「能力迁移」对齐的升级点

旧稿流程图保留思想,但缺少能力维度与练习闭环;本讲用五项新核心与雷达自评补齐「知道」到「练到」的缺口。

最后提醒

别把这讲当鸡汤。把它当检查表。下一讲开始,你的检查表会在代码里逐项打勾。

再补一张「从技能到交付」的转化图

flowchart LR
  SK[技能 Skill] --> H[可演示结果]
  H --> U[用户可用增量]
  U --> E[证据 链接/指标/反馈]
  E --> SK

这张图强调闭环:技能必须穿过演示与用户证据,才算完成迁移;否则只是「学过」。

再谈五项新核心:每个一条「本周练习」

  1. 产品化:写清用户故事一句。2) 规格:写三条验收标准。3) 上下文:更新一次规则文件。4) 审查:读三次 AI diff 并记录风险点。5) 系统设计:画一张数据字段表。

再谈里程碑:demo 应该怎么演示

十到三十秒,打开链接,完成关键路径,展示结果。不要讲解代码细节,除非听众是工程师。

再谈任务粒度:一小时法则

任务太大你会拖延;太小你会碎片化。一小时左右刚刚好,完成即有正反馈。

再谈 DoD:必须包含「如何验证」

没有验证方式的 DoD 是愿望清单。

再谈非目标:要对 AI 宣读

把非目标写进提示与规则文件,否则模型会「好心办坏事」。

再谈风险:三类风险清单

技术风险、产品风险、流程风险。每周各写一条。

再谈反馈:三类反馈来源

你自己、真实用户、数据指标。至少激活一个。

再谈迭代:小步快跑不是乱改

每步有假设:改了什么,期待什么变化,如何观察。没假设就是乱试。

再谈学习:输入输出比

每读一小时,至少产出一次可运行变更。否则输入会忘。

再谈职业:作品集语言

链接、截图、复盘、指标。比「熟悉某某框架」更有说服力。

再谈团队:如果未来你做负责人

你要会把这套方法教给同事:规格、DoD、非目标、审查清单。这是可复制的领导力。

再谈焦虑:对比对象的错误

别跟社交媒体的「炫技视频」比进度。跟你自己上周比。

再谈完美主义:用版本号战胜

V1 丑但真,V2 美且稳。版本号给你心理出口。

再谈时间管理:保护深度工作

AI 会让你更忙也可能更碎。深度工作时间要写在日历上。

再谈工具:工具服务流程

别为了工具改流程,除非流程确实落后。

再谈沟通:对外怎么说你在做什么

用结果说话:「我上线了一个笔记应用 V1,支持某某」比「我在学 Next.js」有力。

再谈英文:文档阅读

能力迁移包含读文档能力。每天读一段官方文档,比刷短视频有用。

再谈社区:提问质量

贴规格、贴复现、贴期望。社区会回报你。

再谈长期:复利在哪里

规范、脚本、组件、复盘笔记,都是复利。一次性炫技不是。

再谈失败:失败要分类

规格失败、实现失败、验证失败、发布失败。分类后才能改进。

再谈成功:成功要复制

成功路径要记录成模板,下次直接复用。

再谈 VibeNote:V1 的北极星指标

建议先用「我是否愿意每天用」当北极星,比 DAU 更现实。

再谈下一讲:你会看到规格如何落盘

代码是规格的投影。读代码时对照本讲,你会学得更牢。

最后一句话

别只迁移技能,也迁移你的骄傲来源:从「我会写」迁移到「我能交付」。下一讲见。

终极清单:今晚就能做的「30 分钟迁移练习」

  1. 写出 VibeNote V1 的三条验收标准。2) 写出三条非目标。3) 运行 goal-breakdown.mjs 并把输出粘贴到笔记。4) 给每个 milestone 设定一个十秒 demo。5) 把本周唯一任务标红。

终极提醒:别偷看下一讲之前跳过练习

下一讲代码很长,如果你没做拆解练习,你会陷入「复制粘贴能跑但不理解」。理解来自对照:本讲的 Outcome 与下一讲的文件结构必须能对上号。

补充段落:从「知识点」到「决策点」

传统学习关注知识点:什么是 hook、什么是路由。迁移后更关注决策点:状态放客户端还是服务端?存储用 local 还是数据库?这些决策影响成本与风险,AI 可以给你选项,但你要做选择并承担后果。

补充段落:如何写「验收标准」才算数

好的验收标准往往包含:正常路径、边界路径、失败路径。哪怕每条一句话,也胜过一万字愿景。

补充段落:如何写「本期不做」才算数

非目标要具体到功能名:不做登录、不做同步、不做富文本。模糊的「先不做复杂的」无效。

补充段落:如何把复盘写成可执行项

复盘结尾必须是三条 action,否则复盘是情绪发泄。

补充段落:如何衡量你是否在迁移

看你每天的时间分配:如果审查与设计时间上升、无脑复制时间下降,你在迁移。

补充段落:如何防止自己回到旧习惯

旧习惯是「堆教程」。新习惯是「堆里程碑」。让日历上的里程碑比收藏夹多。

补充段落:给三个月后的你写信

写下你现在的短板与假设。三个月后打开,会非常有教育意义。

补充段落:本讲与专栏后续模块的关系

模块二会强化规格与前端交互;模块三会把数据与系统设计落地;模块四会把 AI 能力接入;模块五会把质量与上线变成默认。你现在看到的是总纲。

补充段落:别轻视「写」

写规格、写复盘、写宪章,都是高级技能。它们决定 AI 产出上限。

补充段落:结束

去运行脚本,去写宪章,然后进入下一讲代码实战。