AI 不会读心 ™ — AI Communication Series

为什么同样是和 AI 对话,
别人让 AI 做出来的是产品,而你的则是一堆 Bug

因为 AI 不会读心。 它只会执行。 表达越清楚,AI 越聪明。

学会表达
比学会编程 更重要

一本写给普通人的 AI 表达课

目标范围限制验证
人与 AI 沟通

为什么写这本书?

过去一年,我让 AI 完成了:

✔ 网站 ✔ 小程序 ✔ 工具 ✔ 插件

我发现:真正决定 AI 水平的,不是模型。而是表达。

前言 为什么 AI 总是理解错你?

前言 为什么 AI 总是理解错你?

本章训练目标范围限制验证

你告诉 AI:"帮我做一个记账的软件。"

它问了你一堆问题,你不知道怎么回答。好不容易开始写了,一看,完全不是你想要的。让它改,越改越乱。让它修一个问题,它把别的地方也一起改了。

最后你放弃了,觉得"AI 还是不行"。

但问题可能不在 AI 身上。

会不会不是 AI 不行,而是你没说清楚?


AI 不会读心

这可能是全书最重要的一句话。

AI 不会读心。

它不会猜你真正想要什么,不会根据常识帮你补全信息。哪些功能最重要、哪些地方不能改、哪些只是"以后再说"——它一概不知道。

它只能理解你已经说出来的话。

你说多少,它就理解多少。你说得模糊,它就猜。猜错了,就开始返工。

这不是 AI 的问题,是所有沟通的共同规律:表达质量,决定结果质量。

你跟一个刚认识的人说"帮我整理一下",他也会困惑——整理什么?怎么整理?整理到什么程度?跟 AI 说同样的话,它困惑得更厉害,因为它连你和同事之间那点默契都没有。


一句话,十种理解

你跟 AI 说:

帮我优化一下。

你觉得说得很清楚。但 AI 听到的是:让页面加载更快?让代码结构更清晰?让界面更漂亮?减少内存占用?合并重复代码?

你心里想的是"让页面打开快一点",但你没说。AI 只能猜。猜错了,你说"不对";它再猜,你又说不对;最后你生气了,AI 也不知道你为什么生气。

这不是 AI 笨。是你把"一句话"当成了"一个意思"。

同样一句话,在不同人的脑子里,可以有十种理解。你少说一句,AI 就少一个关键信息;少说三句,它就基本靠猜;少说五句,做出来的东西可能跟你想要的完全是两回事。


会写代码,不等于会和 AI 协作

你可能会想:"是不是因为我不会编程,AI 才听不懂我说话?"

不是。

很多程序员也遇到同样的问题。他们甚至写了很长的指令,AI 还是跑偏。

因为——编程能力和表达能力,是两种完全不同的能力。

编程是跟机器说话。你写什么代码,它就执行什么逻辑,不需要理解你的意图。

但 AI 不一样。它需要先理解你的意图,再决定怎么做。你要把脑子里的想法,翻译成它能听懂的语言。这个翻译的过程,跟编程没有关系,跟沟通有关系。

所以,这本书不是教你编程的,也不是教你写 Prompt 的,更不是教你用哪个 AI 工具更好。

它只做一件事:帮你把脑子里的想法,准确地说给 AI 听。


这本书怎么用

它不是一本需要从头读到尾的书,更像一本沟通词典

遇到什么问题,就翻到对应的章节:AI 越改越乱,翻到第三章;想加新功能又怕影响已有的,翻到第四章;想让 AI 帮你检查问题,翻到第五章。每一节都独立完整,从任何一节开始读都可以。

每一节的结构都一样:

  • 先讲问题——让你知道"原来不只我一个人遇到这个"。
  • 再讲原因——告诉你 AI 为什么会这样理解。
  • 然后给方案——告诉你应该怎么说,AI 才会准确理解。
  • 最后给一句话记住——不用背,看过一遍就忘不了。

这本书不会让你成为编程高手,但它会让你成为 AI 更愿意合作的人。你不需要学任何编程知识,只需要学会一件事:把你想说的,说清楚。

全书围绕四条核心心法展开:

1. 说得越具体,返工越少。 你少说的一句,最后都变成来回拉扯的代价。 2. 能贴的绝不用嘴说。 报错直接贴,文件直接给,别让AI顺着你的描述去猜。 3. 让AI知道"怎样才算成功"。 给一个能验证的标准,AI就能自己检查做没做到。 4. 大活儿先看图纸再砸墙。 改动大、跨多文件的任务,先让AI列计划,你确认后再动手。

这四条心法对应全书的核心公式:目标、范围、限制、验证。每一章、每一节,都在用不同的场景练习这四个步骤。


回到开头那个问题:为什么 AI 总是理解错你?

答案很简单:不是它理解错了,是你没说清楚。

这本书,就是帮你把话说清楚。


在开始之前:你该用什么工具跟 AI 对话?

你可能会问:我要在哪里跟 AI 说话?用 ChatGPT?Claude?还是别的什么?

答案是:这本书教的方法,在任何 AI 工具上都适用。 就像你学会了开车,开哪辆车都能上路。

但如果你还没选好工具,这里有一个简单的判断方法:

  • 如果你只是想试试看:用任何能跟 AI 聊天的网页版都行(ChatGPT、Claude、Kimi、通义千问等)。你把 AI 给你的代码复制到文件里,手动保存。
  • 如果你想做一个小项目:建议用 AI 编程工具(如 Trae、Cursor 等)。它们不仅能聊天,还能直接帮你创建文件、运行代码,省去了手动复制粘贴的麻烦。

不确定怎么选?直接问 AI:

"我是一个完全零基础的人,想做[你想做的项目]。

请推荐一个适合我的 AI 编程工具,告诉我它叫什么、怎么安装、为什么适合我。

"

AI 会根据你的具体情况推荐,还会一步步教你安装。

记住:工具不重要,方法才重要。这本书教的不是某个工具的操作手册,而是跟 AI 沟通的方法。换什么工具,方法都通用。


准备好了吗?我们开始。

◆ 这一章真正改变你的是
从"AI 不行"到"我没说清楚"——责任的视角转变
第一章 项目开始前:先让 AI 理解,而不是先写代码
核心能力:建立共同理解

第一章 项目开始前:先让 AI 理解,而不是先写代码

本章训练目标范围限制验证
💡 本章可能出现你不熟悉的专业词汇。遇到不懂的词,可以翻到附录B查看通俗解释,或直接问 AI。
1.1

开始之前,先别急着让 AI 写代码

① 开场问题

打开 AI,第一句话就是"帮我做一个……",然后看着它刷刷刷地写代码,心里还挺高兴。但做完一看,完全不是你想要的东西。


② 为什么会这样

你让 AI 直接开始写代码,就像你叫一个建筑师直接开始砌墙。 没有图纸。 他不知道这栋楼要盖几层。 不知道是办公楼还是住宅。 不知道你喜欢什么风格。 不知道你的预算是多少。 但他还是要砌。因为他收到了"开始砌"的指令。 于是他就按照自己的理解砌了一面墙。 你一看,说:"不对,我要的是落地窗。" 他只能把墙拆了,重新砌。


AI 也是一样。 当你告诉它"帮我做一个软件",它收到的信息只有"开始写代码"。 其它的,它一概不知道。 它不知道你真正想解决什么问题。 它不知道谁会来用这个软件。 它不知道你在什么场景下会用。 它不知道哪些功能是必须的,哪些是以后再说。 它不知道你有什么特殊要求。 它只能猜。 猜错了,就返工。


这不是 AI 的错。 是你跳过了最重要的一步: 先让 AI 理解你,再让它写代码。


③ 很多人会这样说
"帮我做一个记账软件。"

问题: AI 完全不知道你要什么样的记账软件,它只能按照最常见的理解去做。


④ 建议这样说

可以直接这样告诉 AI:

"我想做一个记账工具,帮我记录每天花了多少钱。请先不要写代码,先问我几个问题,帮你了解我的需求。"

为什么这样更好:

  • 目标明确了:做记账工具,而不是别的
  • 范围明确了:记录每天花多少钱,而不是所有财务功能
  • 限制明确了:先不要写代码,先问问题
  • 验证标准明确了:AI 需要先理解你的需求

⑤ AI 会发生什么变化

旧表达下,AI 可能会:

  • 直接开始写代码,生成一个你可能根本不需要的记账页面
  • 自作主张地加了很多功能,比如财务报表、预算分析、多账户管理
  • 你看着一堆代码,不知道从哪里改起

新表达下,AI 会:

  • 停下来,先问你问题
  • 比如:"你希望记录哪些类型的支出?"、"需要分类功能吗?"、"需要按月统计吗?"
  • 你回答了这些问题,AI 才真正理解你要什么
  • 然后再开始写代码,出来的东西就更接近你的想法

完整迭代过程

下面是同一个需求,三种不同的说法,看看结果差多少。


第一轮

"帮我做一个记账软件。"

AI 马上开始写代码,生成了一整个应用。 里面有收支分类、预算管理、报表分析、多账户、数据导出……功能一大堆。 但你只想要一个最简单的记账。

问题: 完全不是想要的。你什么都没说清楚,AI 就按自己的理解全做了。


第二轮 你换了个说法。

"只要记录每天花了多少钱,不要其他功能。"

这次 AI 做了个简单版,功能少了。 但它还是一上来就写代码,没问你任何问题。 做出来你一看,分类方式不对,输入方式也不顺手。

问题: 没问需求就开始写。AI 还是在猜,猜的还是错的。


第三轮 你再把话说完整一点。

"我想做一个记账工具,记录每天花了多少钱。请先不要写代码,先问我几个问题了解我的需求。"

这次 AI 停下来了。 它问:你想记录哪些信息?需要分类吗?用手机还是电脑?想看月度统计吗? 你一一回答。 然后 AI 才开始写代码。 做出来的东西,终于接近你想要的了。 结果: 接近想要的东西。


你看,AI 还是那个 AI。 变的是你说的话。 AI 没有变聪明,是输入变完整了。


⑥ 一句话记住
先让 AI 问问题,再让它写代码。
1.2

接手一个项目时,从大到小问三层

① 开场问题

有人给了你一个已经写好的项目,让你接着做。你打开一看,文件几十个,代码上万行,完全看不懂。第一步该问 AI 什么?


② 为什么会这样

零基础用户面对一个已有项目时,最容易"不知道从哪问起",然后直接让 AI 改代码。但改代码之前,你得先搞懂这个项目是怎么运转的。就像你新到一家公司,不会一上来就钻进某个模块改代码,而是先找老员工问清楚"咱们公司整体是做什么的""支付那块代码在哪""一笔订单从下单到扣款是怎么走的"。


③ 很多人会这样说
"帮我看看这个项目。"

AI 不知道你想了解哪方面,可能给你一段泛泛的介绍,也可能直接动手改代码——而你现在只是想搞懂它。


④ 建议这样说
"我刚接手这个项目,帮我快速上手。分三步:第一步,给我整体概览,说清主要模块和它们的职责;
第二步,负责 [你关心的功能,如'订单支付'] 的代码在哪些文件里;
第三步,追踪 [某条核心流程,如'一笔订单的创建到支付'] 的完整执行路径。
用新手能懂的方式讲,先别改任何代码。"

⑤ AI 会发生什么变化

AI 不再"随便猜你想干什么",而是按层级给你讲清楚项目结构:先给你一张全景图,再定位到你关心的模块,最后带你走一遍核心流程。三步走完,你对项目的理解就从"完全看不懂"变成"知道大概怎么回事"了。


⑥ 一句话记住
从大架构到具体文件再到执行链路,从大到小三层问。
1.3

告诉 AI 你真正想解决的问题,而不是直接说功能

① 开场问题

你跟 AI 说:"帮我加一个排行榜"、"帮我加一个打卡功能"、"帮我加一个评论区"。你说的是功能,但 AI 不知道你为什么需要这些功能。


② 为什么会这样

你说"加一个排行榜",AI 就给你加一个排行榜。 但你真正想要的,是"激励用户多使用"。 排行榜只是你想到的一种方法。 但也许还有更好的方法? 比如积分系统、成就徽章、每日提醒、学习报告…… 你不知道这些方法。 因为你不是产品经理。 你是普通人。 你只能想到"排行榜"。 但 AI 可以想到更多。 前提是——你告诉它你的真正目标。


AI 的工作方式是这样的: 你给它一个动作,它就执行一个动作。 你给它一个目标,它就会思考如何达成目标。 如果你只告诉它"加一个排行榜",它的思考范围就只限于"排行榜怎么实现"。 如果你告诉它"我想激励用户多使用",它的思考范围就变成了"有哪些方法可以激励用户"。 范围大了,方案就多了。 方案多了,你就更容易找到最适合你的。


③ 很多人会这样说
"帮我加一个排行榜功能。"

问题: 只说了功能,没有说为什么需要这个功能。AI 不知道你的真正目标,也没办法帮你想到更好的方案。


④ 建议这样说

可以直接这样告诉 AI:

"我希望找到一种方法,能够激励用户更频繁地使用这个软件。
我想到的是排行榜,但不确定这是不是最好的方式。
请帮我分析一下,还有哪些方法可以达到同样的效果,并推荐最适合我这种小项目的方案。
"

为什么这样更好:

  • 目标明确了:激励用户多使用,而不是"加排行榜"
  • 范围明确了:分析可选方案,而不是直接实现
  • 限制明确了:适合小项目,不要太复杂
  • 验证标准明确了:推荐最适合的方案

⑤ AI 会发生什么变化

旧表达下,AI 可能会:

  • 直接做一个排行榜,包括排名、积分、头像等各种功能
  • 排行榜做完了,你发现它跟你整个软件的风格完全不搭
  • 你也不知道这个排行榜到底能不能激励用户

新表达下,AI 会:

  • 先分析"激励用户"有哪些方法
  • 可能列出:排行榜、积分、徽章、每日提醒、进度条、周报
  • 然后帮你分析每个方法的优缺点
  • 根据你的小项目,推荐最合适的方案
  • 你可能发现,一个简单的"连续打卡天数"比排行榜更有效

⑥ 一句话记住
说目标,别只说功能。
1.4

学会描述目标用户

① 开场问题

同样一个功能,不同的人用起来感觉完全不同。你让 AI 做出来的东西,你觉得挺好,但给朋友一看,朋友说"这什么啊,完全不会用"。


② 为什么会这样

因为 AI 不知道你的用户是谁。 它默认按照"所有人"来设计。 但"所有人"是不存在的。 你的用户可能是小学生,也可能是退休老人。 可能是上班族,也可能是自由职业者。 可能是技术高手,也可能是第一次用手机的人。 不同的人,需要完全不同的设计。


举个例子。 同样是"添加一条记录"这个功能。 如果是给小学生用的,按钮要大,文字要少,颜色要鲜艳。 如果是给会计用的,界面要紧凑,信息要密集,操作要高效。 如果是给老人用的,字要特别大,步骤要特别少,每个按钮都要有说明。 AI 不知道你的用户是谁,它只能按照一个"平均人"来设计。 但"平均人"不存在。 所以做出来的东西,谁用都觉得不太对。


③ 很多人会这样说
"帮我做一个学习软件。"

问题: AI 不知道是给谁用的。小学生、大学生、上班族,需要的学习软件完全不同。


④ 建议这样说

可以直接这样告诉 AI:

"我想做一个英语单词学习工具。目标用户是准备考研的大学生,他们每天有大量的学习任务,只有碎片时间用来背单词,而且他们已经很习惯用手机了。
"

为什么这样更好:

  • 目标明确了:背单词,不是其他学习
  • 范围明确了:大学生,不是小学生或上班族
  • 限制明确了:碎片时间,不能设计需要长时间专注的功能
  • 验证标准明确了:AI 设计的功能应该适合碎片化使用

⑤ AI 会发生什么变化

旧表达下,AI 可能会:

  • 做一个通用的学习软件,功能很多但都不精准
  • 可能加入游戏化元素,但考研学生不需要这些
  • 可能设计成需要长时间专注的学习流程,不适合碎片时间

新表达下,AI 会:

  • 知道用户是考研学生,自动过滤掉不相关的功能
  • 设计适合碎片时间的功能:快速浏览、稍后复习、今日目标
  • 知道用户是手机重度使用者,优先考虑移动端体验
  • 界面风格更简洁高效,而不是花里胡哨

⑥ 一句话记住
告诉 AI 谁在用,它才知道怎么做。
1.5

学会描述使用场景

① 开场问题

AI 做出来的功能,逻辑上没问题,但就是用起来很别扭。比如,你让 AI 做了一个记录功能,它让你填写十几个字段,但你在外面用手机的时候,只想花三秒钟记一笔。


② 为什么会这样

因为 AI 不知道你在什么场景下使用。 它默认的场景是:你坐在电脑前,时间充裕,精力集中。 但真实的场景可能是: 你在地铁上,一只手抓着扶手,另一只手拿着手机。 你在开会,偷偷在桌子底下记录。 你在睡前,躺在床上,已经快睡着了。 你刚花了钱,站在收银台前,后面还有人排队。


不同的场景,需要完全不同的设计。 同样是"记录一笔支出": 在电脑前,你可以慢慢填金额、分类、备注、日期、标签。 在地铁上,你只能快速输入一个数字,然后点确定。 在收银台前,你甚至来不及打字,最好能拍一张小票就自动识别。 AI 不知道这些。 你不说,它就按照最理想的情况来设计。 但真实生活从来不是理想的。


③ 很多人会这样说
"帮我做一个记账的功能。"

问题: AI 不知道你在什么场景下记账。它可能设计一个需要慢慢填写的表单,跟你的真实使用场景完全不匹配。


④ 建议这样说

可以直接这样告诉 AI:

"我平时记账的场景是:在外面吃饭或者买东西的时候,用手机快速记一笔。
每次记录只花几秒钟,能选分类、输金额就行。
不需要填备注,也不需要拍照片。回家以后可能会在电脑上看看这个月的统计。
"

为什么这样更好:

  • 目标明确了:快速记账,不是详细财务管理
  • 范围明确了:手机端快速输入,电脑端查看统计
  • 限制明确了:不需要备注和照片,不需要复杂表单
  • 验证标准明确了:几秒钟能完成一次记录,才算合格

⑤ AI 会发生什么变化

旧表达下,AI 可能会:

  • 设计一个包含十多个字段的记账表单
  • 需要填写金额、分类、日期、备注、标签、账户、币种……
  • 你在地铁上根本没法用

新表达下,AI 会:

  • 设计一个极简的记录页面:大数字键盘 + 几个分类按钮
  • 输入金额,选分类,就完成了
  • 默认日期就是今天,不需要手动选
  • 电脑端另外做一个统计页面,可以慢慢看
  • 手机端和电脑端各司其职,不互相干扰

⑥ 一句话记住
告诉 AI 在哪里用,它才知道怎么做。
1.6

请 AI 帮你整理需求,而不是直接开发

① 开场问题

你脑子里有很多想法,但说不清楚。你大概知道自己想要什么,但一旦要写出来,就不知道从哪开始。


② 为什么会这样

这是正常的。 你不是产品经理。 你没有受过需求整理的训练。 你脑子里有的,是一个模糊的想法。 比如"我想做一个好用的学习工具"。 但"好用"是什么? "学习工具"包括什么? 你不知道怎么拆解。


但 AI 知道。 AI 非常适合做一件事:把你模糊的想法,整理成清晰的需求。 你只需要把脑子里零散的想法全部倒出来。 不用管逻辑。 不用管顺序。 不用管有没有遗漏。 就像你跟朋友聊天一样,想到什么说什么。 然后 AI 帮你整理。


这就像你跟一个很会整理的人说:"我房间太乱了,你帮我看看怎么收拾。" 你不用告诉他每件东西放哪里。 你只需要告诉他你的想法。 他会帮你分类、整理、提出方案。 AI 也是一样。


③ 很多人会这样说
"我想做一个学习软件,但不知道具体怎么做。"

问题: 这句话之后就停住了。读者不知道怎么继续往下推进。


④ 建议这样说

可以直接这样告诉 AI:

"我想做一个学习工具,但不太确定具体需要哪些功能。
我先把我能想到的告诉你,你帮我整理一下,然后告诉我:你觉得还缺什么、哪些功能是最重要的、建议按什么顺序来做。
"

为什么这样更好:

  • 目标明确了:需要 AI 帮忙整理需求,而不是直接开发
  • 范围明确了:你先说你能想到的,AI 再补充
  • 限制明确了:AI 需要告诉你优先级和顺序
  • 验证标准明确了:AI 需要输出整理后的需求清单

⑤ AI 会发生什么变化

旧表达下,AI 可能会:

  • 不知道从何下手,因为信息太少
  • 可能直接开始做一个最简单的学习软件
  • 做完以后你发现缺了很多东西

新表达下,AI 会:

  • 先耐心听你把你脑子里能想到的全部说出来
  • 然后帮你分类:这是核心功能,这是辅助功能,这是以后再说
  • 告诉你还缺什么:比如"你没有提到复习功能,需要吗?"
  • 帮你排优先级:先做什么,后做什么
  • 你看到整理好的清单,一下子清晰了

⑥ 一句话记住
让 AI 做你的需求整理师。
1.7

请 AI 主动补充遗漏

① 开场问题

你跟 AI 说了很多,AI 也按照你说的做了,但做完以后你发现,还缺了很多东西。有些是你忘记说了,有些是你根本没想到。


② 为什么会这样

你只是一个普通人。 你不可能在第一次描述需求时,就把所有事情都想全。 这是正常的。 但 AI 不会主动提醒你。 因为 AI 收到的指令是:按照你说的做。 它不会说:"你还需要一个登录功能。" 它不会说:"你只说了添加记录,但删除记录呢?" 它不会说:"如果用户忘记了密码怎么办?"


但如果你明确告诉 AI:请帮我补充遗漏。 AI 就会切换到"检查模式"。 它会系统地思考:这个功能还需要什么配套? 这个场景还有什么没考虑到? 这种思维方式,AI 非常擅长。 但前提是——你要让它做这件事。


③ 很多人会这样说
"帮我做一个单词本,可以添加单词、查看单词、搜索单词。"

问题: 只说了三个功能,但一个完整的单词本还需要很多配套功能。AI 不会主动提醒你。


④ 建议这样说

可以直接这样告诉 AI:

"我想做一个单词本,目前想到的功能是:添加单词、查看单词、搜索单词。
这肯定不全,请你帮我补充一下:一个完整的单词本还需要哪些功能?
哪些是我没想到的?"

为什么这样更好:

  • 目标明确了:需要 AI 补充遗漏的功能
  • 范围明确了:基于"单词本"这个方向补充,不跑题
  • 限制明确了:AI 需要主动思考和提醒
  • 验证标准明确了:AI 需要列出你没提到的功能

⑤ AI 会发生什么变化

旧表达下,AI 可能会:

  • 就按你说的三个功能做
  • 做完以后,你发现:不能删除单词、不能修改、不能分类、不能导入导出
  • 你又得一个一个补充,每次补充都要修改

新表达下,AI 会:

  • 主动列出你可能遗漏的功能:

- 删除单词、修改单词 - 按分类整理(名词、动词、形容词) - 标记已掌握 / 未掌握 - 导入单词表 - 按日期查看学习记录 - 收藏夹 - 复习提醒

  • 然后你可以选择哪些需要,哪些不需要
  • 一次就把该考虑的都考虑到了

⑥ 一句话记住
让 AI 主动告诉你,你漏了什么。
1.8

让 AI 把大项目拆成小任务

① 开场问题

想做一个"大项目",但打开 AI 以后,不知道从哪开始。感觉要做的东西太多了,一上来就头大了。


② 为什么会这样

你看到的是一个完整的"成品"。 你想象的是:一个功能齐全的网站,或者一个完整的软件。 但 AI 不能一次做出一个完整的软件。 它需要一个功能一个功能地做。 你需要的,不是一次做完所有事情。 而是把一个大项目,拆成很多个小任务。 然后一个一个完成。


这就像你搬家。 你不能一次把所有东西都搬过去。 你需要把东西分类:先搬大件家具,再搬衣服,最后搬零碎物品。 做软件也是一样。 你需要先拆:哪些是核心功能,哪些是辅助功能,哪些可以以后再做。 但你可能不知道该怎么拆。 AI 可以帮你拆。


③ 很多人会这样说
"帮我做一个完整的在线课程平台。"

问题: "完整的在线课程平台"太庞大了。AI 不知道从哪开始,你也不知道从哪开始。


④ 建议这样说

可以直接这样告诉 AI:

"我想做一个在线课程平台。最终目标是可以让老师上传课程、学生在线学习,但一次肯定做不完。
请帮我:把这个大项目拆成多个小阶段,每个阶段只做一件事,并且告诉我每个阶段大概需要做什么。
"

为什么这样更好:

  • 目标明确了:最终目标是完整平台,但分阶段来
  • 范围明确了:一次只做一件事
  • 限制明确了:不追求一次做完
  • 验证标准明确了:需要 AI 给出分阶段的计划

⑤ AI 会发生什么变化

旧表达下,AI 可能会:

  • 不知道从哪开始,可能随便选一个功能开始做
  • 做了一半发现依赖另一个功能,又回去补
  • 整个过程混乱,你也很焦虑

新表达下,AI 会:

  • 帮你拆成清晰的阶段:

- 第一阶段:课程展示页面(学生能看到有哪些课) - 第二阶段:用户注册和登录 - 第三阶段:老师上传课程 - 第四阶段:学生学习记录 - 第五阶段:评论和讨论

  • 每个阶段都很小,你每次只需要关注一件事
  • 你清楚地知道:现在做到哪了,下一步做什么

⑥ 一句话记住
大项目拆小,一次只做一件事。
1.9

让 AI 比较不同方案,而不是直接选一种

① 开场问题

AI 给了你一个方案,你照着做了,但后来发现还有更好的办法。你心想:"要是当时 AI 告诉我还有别的选择就好了。"


② 为什么会这样

AI 倾向于给你一个"它认为最好的方案"。 但 AI 不知道你的偏好。 它不知道你更看重速度,还是更看重质量。 它不知道你更在意简单,还是更在意功能齐全。 它不知道你的预算是多少。 它的"最好",不一定是你心中的"最好"。


但如果你让 AI 列出多个方案,并比较它们的优缺点。 你就可以自己选择。 比如: 方案 A:简单快速,三天能做完,但功能少。 方案 B:功能齐全,但需要两周,而且维护成本高。 方案 C:中等方案,一周能做完,功能够用。 你不知道这些选项的存在。 AI 需要你明确告诉它:列出选项,让我选。


③ 很多人会这样说
"帮我做一个用户登录功能。"

问题: AI 会直接选一种方式实现。但它不会告诉你还有哪些方式,也不会告诉你每种方式的优缺点。


④ 建议这样说

可以直接这样告诉 AI:

"我需要一个用户登录功能。请帮我列出几种常见的实现方式,比较它们的优缺点,然后告诉我每种方式适合什么情况。
不要直接开始写代码,我先看看哪种最适合我。
"

为什么这样更好:

  • 目标明确了:需要登录功能,但先选方案
  • 范围明确了:比较不同的实现方式
  • 限制明确了:不要直接写代码
  • 验证标准明确了:需要看到方案对比,再做决定

⑤ AI 会发生什么变化

旧表达下,AI 可能会:

  • 直接选一种方式实现登录
  • 你也不知道有没有更好的方式
  • 做完了才发现,这种方式不适合你的项目

新表达下,AI 会:

  • 列出几种方案:

- 邮箱 + 密码登录(最简单,适合小项目) - 手机验证码登录(不需要记密码,但需要短信服务) - 第三方登录(微信、QQ,方便但需要额外配置) - 邮箱 + 密码 + 第三方登录(最完整,但开发量最大)

  • 告诉你每种方案的优缺点和适用场景
  • 你可以根据你的情况选择最合适的

⑥ 一句话记住
让 AI 列出选项,你来选。
1.10

让 AI 推荐最适合你的方案

① 开场问题

看了 AI 列出的几个方案,你还是不知道怎么选。每个方案都有优点,每个方案都有缺点。你心想:"我要是懂技术就好了,就能知道哪个最适合我。"


② 为什么会这样

做选择需要两个条件: 一、知道有哪些选项。 二、知道哪个选项最适合你。 第一节解决了第一个条件(让 AI 列出选项)。 但第二个条件,需要你把自己的情况告诉 AI。


你不需要懂技术。 你只需要告诉 AI 你的真实情况: 你是一个人做,还是有一个小团队? 你想尽快上线,还是可以慢慢打磨? 你更看重简单,还是更看重功能齐全? 你愿意花多少钱? 你的用户有多少人? 这些信息,AI 无法自己获取。 但一旦你告诉它,它就可以帮你判断。


③ 很多人会这样说
"这几个方案,你觉得哪个好?"

问题: AI 不知道你的具体情况,它给的建议可能不适合你。


④ 建议这样说

可以直接这样告诉 AI:

"我是一个人做这个项目,没有技术背景,希望能尽快上线。
我的用户大概只有几十个人,不需要太复杂。请根据这些情况,帮我推荐最适合我的方案。
"

为什么这样更好:

  • 目标明确了:需要推荐最适合的方案
  • 范围明确了:一个人、零基础、小用户量
  • 限制明确了:追求简单快速,不需要复杂
  • 验证标准明确了:AI 的推荐必须符合你的实际情况

⑤ AI 会发生什么变化

旧表达下,AI 可能会:

  • 推荐一个"技术上最好"的方案
  • 但那个方案可能太复杂,你一个人根本做不了
  • 或者推荐一个"最简单"的方案,但可能不适合你的长期需求

新表达下,AI 会:

  • 根据你的实际情况推荐:

- "因为你是一个人,而且追求快速上线,我建议用邮箱+密码登录。它最简单,不需要配置第三方服务,也不需要花钱买短信。等你用户多了,以后可以再加第三方登录。"

  • 这个推荐是为你量身定制的
  • 而且它还告诉你以后可以怎么升级

⑥ 一句话记住
告诉 AI 你的情况,它才能帮你选。
1.11

开工前,先约定整个项目的工作规则

① 开场问题

AI 每次改代码,风格都不一样。有时候用中文写注释,有时候用英文。有时候把代码写在一个文件里,有时候又拆成很多文件。每次改完,你都不知道它到底做了什么。


② 为什么会这样

因为 AI 每次都是"重新开始"。 它不记得上次是怎么做的。 它不知道你希望保持什么样的风格。 它不知道你希望它怎么报告进度。 它不知道哪些事情需要问你,哪些事情可以自己决定。


但如果你在项目一开始,就跟 AI 说清楚: "以后每次改代码,都按这些规则来。" AI 就会遵守。 因为 AI 最擅长的事情之一,就是"遵守规则"。 你给它一个规则,它就会一直遵守。 但你不给它规则,它就会按照自己的习惯来。 而它的习惯,每次都可能不一样。


③ 很多人会这样说
"开始写代码吧。"

问题: 没有约定任何规则。AI 每次都会按照自己的理解来,风格不统一,过程不可控。


④ 建议这样说

可以直接这样告诉 AI:

"在正式开始写代码之前,我们先定几个规则: 1. 每次只做一个功能,做完等我确认,再开始下一个。
2. 所有注释都用中文写。
3. 修改代码之前,先告诉我你打算怎么改。
4. 修改完以后,告诉我你改了哪些文件、影响了哪些功能。
5. 不确定的地方,先问我,不要自己决定。 这些规则,请在整个项目中一直遵守。"

为什么这样更好:

  • 目标明确了:建立整个项目的协作规则
  • 范围明确了:5条规则,涵盖沟通、风格、修改范围
  • 限制明确了:不确定的地方先问,不能自己决定
  • 验证标准明确了:每次修改都要报告改了什么

规则该怎么写才有效

不是所有规则都一样管用。一条好规则,你能一眼看出有没有违反;一条差规则,说了等于没说。 | 差规则(没用) | 好规则(管用) | |---------------|--------------| | 代码应该比较整洁 | 函数不超过50行,超了必须拆 | | 尽量写测试 | 每个新增函数都必须有对应测试 | | 注意安全 | 用户输入必须先做格式校验,再进数据库 | | 别改那个目录 | 禁止修改 legacy 目录下任何文件 | 好规则的特点:具体到能一眼验证。写每条规则之前,先问自己"这条能不能用一眼看出有没有违反"。判不了,就是写虚了,回去改具体。 常见的该约定的五类内容:项目概述(一句话说清项目是什么)、技术栈(用什么语言和框架)、常用命令(测试怎么跑、构建怎么做)、代码约定(命名风格、单文件行数上限)、禁区(哪些文件不能碰、哪些操作必须先问)。


⑤ AI 会发生什么变化

旧表达下,AI 可能会:

  • 每次风格都不一样,代码越来越乱
  • 改完不告诉你改了哪里,你完全不知道发生了什么
  • 自己决定一些重要的事情,你后来才发现
  • 一次改了很多地方,出了问题很难排查

新表达下,AI 会:

  • 每次都遵守同样的规则,代码风格统一
  • 每次修改前先告诉你计划,你确认后再动手
  • 每次修改后告诉你改了哪些文件、影响了哪些功能
  • 遇到不确定的事情,主动问你
  • 整个过程变得可控、可预测

⑥ 一句话记住
开工前定规则,整个项目都省心。 ## 本章收获 学会让 AI 先思考,再开发。 你已经学会了:不急着让 AI 写代码、告诉它真正的问题而不是功能、描述用户和场景、让它帮你整理需求和补充遗漏、拆大任务为小任务、比较多方案、推荐最适合的方案、以及开工前约定规则。 这十件事,都在帮你做同一件事:在 AI 写第一行代码之前,先建立共同理解。 理解到位了,后面的开发就顺了。 理解不到位,后面每一步都可能返工。
1.12

在 AI 写代码之前:两件事你必须先知道

第一件:怎么让代码跑起来

AI 给你写的代码,不能直接用——它需要"运行环境"。 什么是运行环境?就像你买了一盆花,不能直接放桌上,得先准备花盆、土、水壶。代码也一样,它需要一些"工具"才能跑起来。 好消息是:你不需要自己搞。直接告诉 AI:

"我是一个完全零基础的人,从来没有在电脑上运行过代码。
请一步步教我怎么安装运行环境,每一步都要告诉我:点哪里、输入什么、看到什么算成功。
如果中间出错了,我该怎么做。"

AI 会根据你的电脑(Windows 还是 Mac)、你的项目类型,给你一份"傻瓜式"安装指南。

常见问题

  • 如果 AI 让你输入命令(比如 npm install),你需要在"命令行"里输入。不知道命令行是什么?问 AI:"请告诉我怎么打开命令行,我是 Windows/Mac 用户。"
  • 如果安装时报错,把报错信息截图或复制给 AI,它会告诉你怎么修。记住本书的核心方法:不要描述情绪,描述事实。 把完整的报错信息给 AI,而不是说"装不上"。

第二件:数据存哪?

你的项目需要保存数据吗?比如用户注册的信息、文章内容、订单记录? 如果是,你需要告诉 AI 用什么方式存数据。但你可能不知道有哪些选择。没关系,问 AI:

"我要做一个[你的项目类型],需要保存[你要保存的数据,比如用户信息、文章内容]。
请告诉我有哪些存数据的方案,每种方案的优缺点,以及你推荐哪个。
我是零基础,请用最通俗的方式解释。"

AI 通常会推荐以下几种方案之一:

  • 文件存储:最简单,就像把数据写在一个文本文件里。适合小项目、临时项目。
  • SQLite:一个轻量级数据库,不需要额外安装服务器,一个文件就能存。适合中小型项目。
  • MySQL / PostgreSQL:专业数据库,功能强大但需要配置。适合大型项目。

你不需要理解这些方案的区别。 你只需要把 AI 的推荐告诉它:"就按你推荐的方案来,请帮我把数据存储的部分也做好。"


记住:在 AI 写第一行代码之前,确保两件事——环境能跑起来,数据有地方存。
这两件事都可以让 AI 手把手教你完成。
本章你真正学会的是学会让 AI 先思考,再开发。
◆ ◆ ◆
◆ 这一章真正改变你的是
从"直接开始"到"先对齐理解"——建立秩序感
第二章 AI 开始写代码以后,如何让开发保持可控
核心能力:控制开发过程

第二章 AI 开始写代码以后,如何让开发保持可控

本章训练目标范围限制验证
💡 本章可能出现你不熟悉的专业词汇。遇到不懂的词,可以翻到附录B查看通俗解释,或直接问 AI。
2.1

一次只做一个功能

① 开场问题

你让 AI "把这些功能都做了",它一口气改了几十个文件。你看着满屏的改动,心里发慌——改了什么?改对了吗?万一有一个地方改坏了,根本找不到。


② 为什么会这样

AI 收到"把多个功能都做了"的指令,它就开始同时处理。 它不会主动告诉你"这个太多了,我们一个一个来"。 它只会尽量完成你给的任务。 但问题是:改动越多,出错的可能越大。 改动越多,你越难检查。 改动越多,出了问题越难排查。


这就像你让一个人同时搬十件家具。 他可能会打碎一两个。 但你不知道是哪个环节打碎的。 你也不知道是不是所有家具都搬到了正确的位置。 但如果你让他一次只搬一件,每搬完一件你确认一下。 就不会出问题。 AI 也是这样。


③ 很多人会这样说
"帮我把登录、注册和找回密码都做了。"

问题: 三个功能一次做,AI 改了几十个文件,你不知道从哪开始检查。


④ 建议这样说

可以直接这样告诉 AI:

"我们先做登录功能,这是今天唯一要做的。做完以后,等我确认没问题了,再开始做注册。
注册做完了,再做找回密码。一次只做一个。"

为什么这样更好:

  • 目标明确了:先做登录,不要做别的
  • 范围明确了:只有登录功能,不涉及注册和找回密码
  • 限制明确了:做完一个,确认一个,再做下一个
  • 验证标准明确了:确认没问题了,才进入下一个

⑤ AI 会发生什么变化

旧表达下,AI 可能会:

  • 三个功能一起做,代码改动量巨大
  • 功能之间互相影响,容易出问题
  • 你检查的时候完全不知道从哪看起

新表达下,AI 会:

  • 只做登录,改动范围很小
  • 你很容易检查:登录能用了,就可以确认
  • 确认后再做注册,步步为营
  • 即使出了问题,也很容易定位

完整迭代过程

同一个需求,三种说法,结果完全不一样。


第一轮

"帮我加一个搜索功能,顺便把首页改好看一点,还有把登录也修一下。"

AI 三个一起做,改了一堆文件。 搜索加了,但首页布局乱了。登录更是一打开就报错。 三个功能互相影响,全坏了。

问题: 三个功能互相影响,全坏了。改动太多,根本不知道哪里出了问题。


第二轮 你吸取教训,这次只说一件事。

"先只加搜索功能,其他先不要动。"

AI 加了搜索,功能本身没问题。 但你发现页面的头部样式变了,跟原来不一样。 AI 做搜索的时候,顺手改了头部代码。

问题: 范围还是没控住。AI 自己扩大了改动。


第三轮 你把话说得更死。

"只修改 search.js 这一个文件,加搜索功能。不要改动其他任何文件。做完告诉我你改了哪些地方。"

这次 AI 只动了 search.js。 加完以后,它告诉你:改了搜索框、搜索按钮、搜索结果展示三个地方,其他文件没碰。 你一检查,搜索能用,其他功能也都正常。 结果: 成功。


一次只做一件事,不是效率低,是出错少。


⑥ 一句话记住
一次只做一个功能,做完确认再继续。
2.2

修改之前,先分析问题

① 开场问题

你发现一个功能有问题,直接告诉 AI:"修一下。"AI 开始改代码,改完以后,问题还在。你又说"再修",AI 又改,问题还在。来回好几次,你都累了。


② 为什么会这样

AI 收到"修一下"的指令,就开始修。 但它不知道问题出在哪里。 它只能猜:可能是这里有问题,改一下试试。 改完了,你试了试,不行。 它再猜:那可能是那里有问题,再改一下。 改完了,还是不行。


这就像你去看医生,只说"我难受"。 医生只能猜:可能是感冒,开点感冒药。 吃了没好,再猜:可能是胃病,开点胃药。 吃了还没好,再猜…… 但如果你告诉医生"我头疼,昨天开始的,发烧三十八度,吃了退烧药没效果"。 医生就能直接做检查,开对症的药。 AI 也是一样。 你让它"修一下",它只能猜。 你让它"先分析问题",它才能找到症结。


③ 很多人会这样说
"这个功能有问题,修一下。"

问题: AI 不知道问题在哪,只能盲目尝试,效率极低。


④ 建议这样说

可以直接这样告诉 AI:

"登录功能有问题:输入正确的账号密码,点击登录按钮以后,页面没有反应,也没有任何提示。
请先分析可能的原因,告诉我你判断的问题出在哪里,以及你打算怎么修。
我确认后再动手。"

为什么这样更好:

  • 目标明确了:找到登录功能不反应的原因
  • 范围明确了:只分析问题,先不修改
  • 限制明确了:确认方案后再动手
  • 验证标准明确了:AI 需要给出原因和方案

⑤ AI 会发生什么变化

旧表达下,AI 可能会:

  • 盲目修改代码,改了这里试那里
  • 改了好几轮,问题还没解决
  • 你浪费时间,AI 也浪费算力

新表达下,AI 会:

  • 先分析:按钮点击事件有没有绑定?网络请求有没有发出?有没有报错信息?
  • 告诉你最可能的原因和解决方案
  • 你确认了,它再动手,一次改对
  • 或者,它发现自己找不到原因,提前告诉你,而不是乱改

⑥ 一句话记住
修之前先分析,别靠猜。
2.3

先告诉我准备怎么做

① 开场问题

你跟 AI 说了一个需求,它直接开始写代码。你等了半天,它写完了,你一看:"不对,我不是这个意思。"又得让它重来。


② 为什么会这样

AI 默认的行为模式是:收到指令,立即执行。 它不会主动停下来,先跟你说"我打算这样做,你看行不行"。 因为它收到的指令是"做",不是"先告诉我你的计划"。


但如果你让 AI 先说出计划,你就能在它写代码之前发现问题。 比如它说"我打算把所有用户信息放在一个页面上"。 你一看,不对,用户信息应该分几个页面。 你告诉它改计划。 它改计划,比改代码快得多。


这就像装修。 你让工人直接开工,他按照自己的想法砌墙、布电线。 做完了你一看:"厨房不在这边。" 他只能把墙拆了重来。 但如果你让工人先画个草图给你看,你一眼就能看出问题。 改草图,十分钟。 拆墙重砌,十天。 AI 也是一样。


③ 很多人会这样说
"帮我做一个用户管理页面。"

问题: AI 直接开始写代码,做完了你才发现不对,返工成本很高。


④ 建议这样说

可以直接这样告诉 AI:

"帮我做一个用户管理页面,但在写代码之前,请先告诉我:你打算怎么设计这个页面?
有哪些功能?页面结构是什么样的?我先看看是否符合我的想法,确认后再开始写代码。
"

为什么这样更好:

  • 目标明确了:先出设计,再写代码
  • 范围明确了:只讨论页面设计,先不动手
  • 限制明确了:必须等确认后才开始写代码
  • 验证标准明确了:你看到设计并确认,才算可以动手

⑤ AI 会发生什么变化

旧表达下,AI 可能会:

  • 直接写代码,做出来可能跟你想的不一样
  • 返工成本高,改代码比改计划慢得多

新表达下,AI 会:

  • 先列出页面结构和功能清单
  • 你看了觉得不对,马上能调整
  • 计划确认了,再动手写代码,一次做对
  • 整个过程快得多

⑥ 一句话记住
先看计划,再让动手。
2.4

每完成一步,就暂停一次

① 开场问题

你让 AI 做一个功能,它一口气做完,然后停下来等你。你看了半天,发现中间有一个步骤就走错了,导致后面全部白做。


② 为什么会这样

AI 收到任务后,会一口气完成所有步骤。 它不会中途停下来问"这一步做对了吗?" 因为它的默认模式是"完成整个任务"。 但问题是:如果第一步就走偏了,后面的所有步骤都会偏。 而且你发现得越晚,返工的成本越高。


这就像你让一个人做一道菜,他没告诉你每个步骤做了什么。 最后端上来,你尝了一口,发现第一步就放错了调料。 但这时候已经晚了,整道菜都不能吃了。 如果他在放调料之前,先问你"这个量对吗?" 你就能及时纠正。 AI 也是一样。


③ 很多人会这样说
"帮我把这个功能做出来。"

问题: AI 一口气做完,中间走偏了你也发现不了,最终全部返工。


④ 建议这样说

可以直接这样告诉 AI:

"这个功能分几步来做。每完成一步,就暂停一次,告诉我这一步做了什么,让我确认。确认没问题了,再继续下一步。"

为什么这样更好:

  • 目标明确了:分步完成,步步确认
  • 范围明确了:每步只做一件事
  • 限制明确了:每步完成后必须暂停,等你确认
  • 验证标准明确了:你确认后才能继续下一步

⑤ AI 会发生什么变化

旧表达下,AI 可能会:

  • 一口气做完,你发现问题时已经晚了
  • 中间某一步走偏,导致后面全错

新表达下,AI 会:

  • 做完第一步,停下来告诉你:"我做了A,你看对不对?"
  • 你确认了,它再做第二步
  • 每一步都经过你确认,方向不会跑偏
  • 即使某一步要调整,也只影响这一步

⑥ 一句话记住
每步都确认,不做无用功。

暂停时检查什么:给一个可验证的标准

暂停的目的是检查,但很多人暂停时只问"做完了吗",AI回答"做完了",你也不知道到底做得对不对。 更好的做法是:暂停时问一个具体可验证的条件——满足就是做完了,不满足就是还没完。 | 暂停时这样问 | 更好的问法 | |-------------|----------| | "登录功能做完了吗?" | "输入正确账号能跳转首页、输入错误账号提示密码错误——这两条都过了吗?" | | "这个页面改好了吗?" | "页面在电脑和手机上都能正常显示,按钮都能点——你跑一遍确认?" | | "Bug修好了吗?" | "原来那个Bug的复现步骤再走一遍,还会出错吗?" | | "功能完成了吗?" | "按我们约定的验证标准,[具体条件]满足了吗?" | 关键是:让AI能用"通过"或"没通过"来回答,而不是用"差不多了"来回答。 可验证的标准有几种常见类型:

  • 测试通过/失败
  • 页面截图与预期对比
  • 构建成功(不报错)
  • 特定输入得到特定输出

2.5

只修改当前任务,不要扩大范围

① 开场问题

你让 AI 修改登录按钮的颜色,它改完以后,你发现注册按钮的颜色也变了,首页的按钮颜色也变了。你只是想改一个按钮,AI 把整个软件的颜色都改了。


② 为什么会这样

AI 收到"修改按钮颜色"的指令,它会想:按钮颜色应该统一,把所有按钮都改了吧。 这是 AI 的"好意"——它觉得帮你统一风格更好。 但你没有让它这么做。 你只想改登录按钮。 AI 扩大了修改范围,导致你原本满意的地方也被改了。


这就像你让理发师"鬓角修短一点"。 他理解成"修一个短发发型",然后给你剪了一个板寸。 你看着镜子,说不出话。 他的出发点是好的——他觉得短发更适合你。 但你没有让他决定你的发型。 你只想修鬓角。 AI 也是一样——它会"好心"地扩大范围。 你需要明确告诉它:只改这里,别的地方不要动。


③ 很多人会这样说
"把登录按钮改成蓝色。"

问题: AI 可能把所有按钮都改成蓝色,你还要花时间改回来。


④ 建议这样说

可以直接这样告诉 AI:

"只修改登录按钮的颜色,改成蓝色。不要修改其他任何按钮的颜色,也不要修改其他任何页面的样式。就改这一个按钮。"

为什么这样更好:

  • 目标明确了:只改登录按钮颜色
  • 范围明确了:只改这一个按钮,不涉及其他任何按钮
  • 限制明确了:不要修改其他任何按钮和页面
  • 验证标准明确了:只有登录按钮颜色变了,其他一切不变

⑤ AI 会发生什么变化

旧表达下,AI 可能会:

  • 把所有按钮都改成蓝色
  • 你可能不知道它改了哪些地方
  • 你还要花时间检查哪些不该改的被改了

新表达下,AI 会:

  • 只改登录按钮,其他按钮保持原样
  • 改动范围极小,你一眼就能确认
  • 不会出现"改好了这里,改坏了那里"的情况

⑥ 一句话记住
说清楚改哪里,也说不改哪里。
2.6

新增功能,不影响已有功能

① 开场问题

你让 AI 给软件加一个新功能。新功能是加上了,但之前好好的登录功能突然不能用了。你心想:"我让你加功能,没让你改登录啊。"


② 为什么会这样

AI 在添加新功能时,可能会修改已有的代码。 它可能觉得"旧代码不够好,顺便改一下"。 也可能新功能和旧功能共享了一些代码,它改了共享部分,影响了旧功能。 但你没有让它改旧功能。 你只是让它加新的。


这就像你让工人给房子加一个阳台。 他加阳台的时候,顺便把你客厅的窗户换了。 他说:"新窗户更好看。" 但你只想加阳台,你没有让他换窗户。 AI 也是一样——它会"顺便"改一些你觉得不需要改的东西。 你需要明确告诉它:已有的功能,一个都不许动。


③ 很多人会这样说
"帮我加一个搜索功能。"

问题: AI 可能为了加搜索功能,修改了页面布局、导航栏等已有功能,导致原来的功能出问题。


④ 建议这样说

可以直接这样告诉 AI:

"帮我加一个搜索功能,但有一个重要原则:已有的所有功能必须保持原样,不能有任何改变。
如果加搜索功能需要修改已有的代码,请先告诉我需要改哪些,我确认后再动手。
"

为什么这样更好:

  • 目标明确了:加搜索功能,同时保护已有功能
  • 范围明确了:新增搜索,不修改任何已有功能
  • 限制明确了:如果必须改已有的,先汇报
  • 验证标准明确了:新功能能用,旧功能也一切正常

⑤ AI 会发生什么变化

旧表达下,AI 可能会:

  • 加搜索功能的时候,顺便改了页面布局
  • 你发现登录不能用了,又要花时间修
  • 你不知道它到底改了哪些已有的东西

新表达下,AI 会:

  • 优先选择不触碰已有代码的方式加新功能
  • 如果必须改已有的,先告诉你,让你决定
  • 新功能加好了,旧功能完全不受影响

⑥ 一句话记住
加新功能,别动旧功能。
2.7

能少改,就不要多改

① 开场问题

你让 AI 改一个小问题,它改了几十个文件。你看着满屏的改动记录,心里发毛——一个小问题,需要改这么多吗?


② 为什么会这样

AI 有时候会"过度修改"。 它看到一段代码,觉得"这里可以写得更好",就改了。 它看到另一个文件,觉得"这个结构可以优化",也改了。 它不断地"顺便改进",最终改了几十个文件。 但你没有让它优化。 你只想修一个小问题。


每一次改动,都有风险。 改得越多,风险越大。 改得越多,你越难检查。 改得越多,越容易引入新问题。 所以,能少改,就不要多改。 这是软件开发的铁律。 AI 也需要你明确告诉它这条铁律。


③ 很多人会这样说
"这个页面加载太慢了,帮我改进一下。"

问题: AI 可能全面重构整个页面,改动量巨大,而且可能引入新问题。


④ 建议这样说

可以直接这样告诉 AI:

"这个页面加载太慢了。请用最少的改动来改进加载速度,只改真正影响速度的地方。
不要重构整个页面,不要顺便优化其他不相关的代码。
改完以后告诉我你改了什么,改了多少处。"

为什么这样更好:

  • 目标明确了:改进加载速度,不是重构页面
  • 范围明确了:只改影响速度的地方,其他不动
  • 限制明确了:用最少改动,不重构不顺便优化
  • 验证标准明确了:改动量要小,且要汇报改动范围

⑤ AI 会发生什么变化

旧表达下,AI 可能会:

  • 把整个页面重构一遍,改了几十个文件
  • 你不敢发布,因为改动太大了
  • 万一引入新问题,排查范围巨大

新表达下,AI 会:

  • 精准定位影响速度的地方,可能只改几行代码
  • 改动量小,很容易检查
  • 出问题的概率大大降低
  • 即使出了问题,也很容易定位

⑥ 一句话记住
用最少改动,解决最大问题。
2.8

不确定,就先问我

① 开场问题

你让 AI 做一个功能,描述得不太清楚。AI 没有问你,自己猜了一个方案,然后开始写代码。做完了你一看,完全不是你想要的。你心想:"你不确定,为什么不问我?"


② 为什么会这样

AI 收到一个模糊的指令,它有两种选择: 一、停下来问你,搞清楚再动手。 二、自己猜一个方案,直接动手。 AI 默认会选择第二种。 因为它收到的指令是"做",不是"不确定的时候问我"。 它不会主动质疑你的指令。 它只会按照自己的理解去执行。


但如果你明确告诉 AI:不确定的时候,先问我。 AI 就会切换到"确认模式"。 它会主动告诉你:这个部分我不太确定,你希望怎么处理? 你再告诉它,它再动手。 这样就不会出现"猜错了"的情况。


③ 很多人会这样说
"帮我加一个通知功能。"

问题: AI 不知道你是要邮件通知、短信通知、还是软件内的弹窗通知。它只能猜,猜错了就返工。


④ 建议这样说

可以直接这样告诉 AI:

"帮我加一个通知功能,如果有不确定的地方,先问我,不要自己猜。
比如通知方式、通知时机、通知内容,这些我需要你跟我确认后再决定。
"

为什么这样更好:

  • 目标明确了:加通知功能,但关键决策需要你确认
  • 范围明确了:不确定的地方由你决定
  • 限制明确了:AI 不能自己猜,不能自己决定
  • 验证标准明确了:不确定的地方必须问过你

⑤ AI 会发生什么变化

旧表达下,AI 可能会:

  • 自己猜一个通知方式,做出来不是你要的
  • 你又要花时间让它改
  • 你会发现它做了很多"自己决定"的事情

新表达下,AI 会:

  • 主动告诉你:"我打算用软件内的弹窗通知,可以吗?还是你需要邮件通知?"
  • 你做出选择,它再动手
  • 不会出现"猜错了"的情况
  • 你始终掌握决策权

⑥ 一句话记住
不确定就问,别让 AI 猜。
2.9

保持整个项目风格一致

① 开场问题

AI 帮你写了一个软件,但每个页面的风格都不一样。首页是蓝色,设置页是绿色,个人中心是红色。每个按钮的形状、大小、颜色都不一样。整个软件看起来像几个人分别做的,拼在一起。


② 为什么会这样

AI 每次都是独立完成任务的。 它不记得上次用的是什么颜色。 它不记得上次按钮是什么样式。 它不记得上次怎么写注释的。 每次你让它做新功能,它就重新开始。 所以第一个页面是蓝色,第二个可能变成绿色。


这就像你让不同的人写同一本书的不同章节。 每个人都有自己的风格。 写出来的东西拼在一起,读者一眼就能看出"这不是一个人写的"。 你需要给所有人一个统一的风格指南。 AI 也需要你给它一个统一的风格指南。


③ 很多人会这样说
"帮我做一个新页面。"

问题: AI 不知道已有页面的风格是什么,做出来的新页面可能跟旧页面完全不搭。


④ 建议这样说

可以直接这样告诉 AI:

"帮我做一个新页面。在开始之前,请先看一下已有的页面:它们用的是什么颜色、什么字体、按钮是什么样式、整体布局是什么风格。
新页面要保持跟已有页面完全一致的风格。"

为什么这样更好:

  • 目标明确了:新页面风格跟已有页面一致
  • 范围明确了:先学习已有风格,再做新页面
  • 限制明确了:不能自己创造新风格
  • 验证标准明确了:新页面跟已有页面看起来像同一个人做的

⑤ AI 会发生什么变化

旧表达下,AI 可能会:

  • 按照自己的默认风格来做新页面
  • 每个页面风格都不一样,看起来像拼凑的
  • 你后期要花大量时间统一风格

新表达下,AI 会:

  • 先分析已有页面的风格特征
  • 按照同样的风格来设计新页面
  • 整个软件看起来统一、专业
  • 不需要后期再花时间统一风格

⑥ 一句话记住
让 AI 先看已有的,再做新的。
2.10

写让人看得懂的代码

① 开场问题

AI 帮你写了代码,功能是实现了,但你回头一看代码,完全看不懂。变量名叫 a、b、c,函数名叫 func1、func2,你根本不知道每段代码是干什么的。


② 为什么会这样

AI 默认追求的是"功能正确"。 只要代码能跑,它的任务就完成了。 至于代码好不好读、好不好维护,它不会主动考虑。 因为没有人告诉它"代码要写得让人看得懂"。 它默认的读者是机器,不是人。


但代码不只是给机器读的。 以后你还要修改、还要维护、还要让别的 AI 帮你改。 如果代码写得像天书,以后谁来改都很痛苦。 包括你自己。 所以,你需要告诉 AI:代码要写得让人看得懂。 变量名要有意义,函数名要能看出功能,不要用缩写,不要用莫名其妙的字母。


③ 很多人会这样说
"帮我实现这个功能。"

问题: AI 可能用最简短的变量名和函数名,代码功能正常但完全不可读。


④ 建议这样说

可以直接这样告诉 AI:

"帮我实现这个功能。代码要写得让人看得懂:变量名和函数名要用有意义的中文或英文单词,不要用 a、b、x 这种无意义的字母,不要用缩写。
每个函数只做一件事。以后我自己或者别人看这段代码,要能一眼看懂。
"

为什么这样更好:

  • 目标明确了:代码要可读,不只是可用
  • 范围明确了:命名规范、函数职责
  • 限制明确了:不用无意义字母、不用缩写
  • 验证标准明确了:以后自己看能一眼看懂

⑤ AI 会发生什么变化

旧表达下,AI 可能会:

  • 用 a、b、temp、data 这种无意义的变量名
  • 代码能跑,但完全看不懂
  • 以后维护成本极高

新表达下,AI 会:

  • 用"用户姓名"、"订单列表"、"计算总价"这种有意义的名字
  • 代码像文章一样,读起来流畅
  • 以后修改、维护都很容易
  • 你自己也能看懂 AI 写了什么

⑥ 一句话记住
代码是写给人看的,顺便让机器执行。
2.11

注释写给未来的自己

① 开场问题

AI 帮你写了一段代码,三个月后你回来看,完全不记得这段代码是干什么的了。你想改,但不敢改,因为改坏了怎么办?


② 为什么会这样

AI 写代码的时候,它知道自己在做什么。 但它不会主动给代码加注释。 因为注释对于机器来说没有用——机器不读注释。 但注释对于人来说,是救命的东西。 三个月后的你,需要注释来理解当时的思路。 接手你项目的另一个人,需要注释来理解代码。 甚至另一个 AI 来帮你改代码的时候,也需要注释来理解上下文。


注释不是写给 AI 的,是写给未来的自己。 一句话,就能帮你省下半个小时的回忆时间。


③ 很多人会这样说
"帮我写这个功能。"

问题: AI 可能写出一段没有注释的代码,三个月后你自己都看不懂。


④ 建议这样说

可以直接这样告诉 AI:

"帮我写这个功能。每段关键代码都要加上中文注释,解释这段代码是干什么的、为什么这样写。
注释要写得让一个完全不懂这段代码的人也能看懂。
就当是写给三个月后的自己看的。"

为什么这样更好:

  • 目标明确了:代码要有注释,注释要能看懂
  • 范围明确了:关键代码段都要加注释
  • 限制明确了:用中文,写给不懂的人看
  • 验证标准明确了:三个月后的自己能看懂

⑤ AI 会发生什么变化

旧表达下,AI 可能会:

  • 写出一段没有注释的代码
  • 三个月后你回来看,完全不知所云
  • 你不敢改,因为不知道改了会怎样

新表达下,AI 会:

  • 在关键代码处加上清晰的注释
  • 解释"这段代码做什么"和"为什么这样做"
  • 三个月后你回来,读注释就能理解
  • 修改起来安心多了

⑥ 一句话记住
注释是写给未来的自己看的。
2.12

修改完成后,先自己检查

① 开场问题

AI 改完代码,直接交给你,说"修好了"。你一试,发现还有问题。你说"还有问题",它又改,改完又有新问题。来回折腾,你都快疯了。


② 为什么会这样

AI 默认的工作模式是:改完代码,提交给你。 它不会主动检查自己改得对不对。 因为它收到的指令是"修",不是"修完检查"。 但如果你告诉 AI:修完以后,先自己检查一遍。 AI 就会在提交之前,多走一步。 它会检查:代码有没有明显的错误?有没有遗漏?功能是否正常? 这就相当于给你加了一道质量过滤。 AI 自己能发现的错误,就不会交到你手上。


③ 很多人会这样说
"修好了吗?"

问题: AI 改完就交,不检查。你变成它的测试员,帮它找问题。


④ 建议这样说

可以直接这样告诉 AI:

"修改完成以后,先不要直接交给我。请你先自己检查一遍:修改是不是解决了问题?
有没有引入新的问题?有没有遗漏的地方?有没有影响其他功能?
检查完了,确认没问题,再交给我。"

为什么这样更好:

  • 目标明确了:AI 先自查,再交付
  • 范围明确了:检查四个方面:问题解决、新问题、遗漏、影响范围
  • 限制明确了:确认没问题才能交
  • 验证标准明确了:AI 自查通过,才算完成

⑤ AI 会发生什么变化

旧表达下,AI 可能会:

  • 改完就交,你帮它测试
  • 你发现一个问题,它再改,改完又有新问题
  • 来回折腾,效率极低

新表达下,AI 会:

  • 改完以后,自己先检查一遍
  • 能自己发现的问题,在交给你之前就修好了
  • 交到你手上的代码,质量明显更高
  • 你不需要一遍遍帮它找问题

⑥ 一句话记住
让 AI 先自查,再交给你。
2.13

告诉我这次修改影响了什么

① 开场问题

AI 改完代码,跟你说"改好了"。你问它"改了哪些地方",它说"改了一些文件"。你打开一看,改了十几个文件。你完全不知道每个文件改了什么,更不知道这些改动会不会影响其他地方。


② 为什么会这样

AI 默认不会主动汇报修改范围。 它觉得"改好了"三个字就够了。 但作为项目负责人,你需要知道: 改了哪些文件? 每个文件改了什么? 这些改动会不会影响其他功能? 有没有什么风险? 这些信息,AI 都知道,但它不会主动说。 除非你明确要求它汇报。


③ 很多人会这样说
"改好了吗?"

问题: AI 回复"改好了",你不知道具体改了什么,影响范围完全不透明。


④ 建议这样说

可以直接这样告诉 AI:

"修改完成以后,请告诉我:你改了哪些文件,每个文件改了什么内容,这些改动是否会影响其他功能。
如果有影响,具体影响哪些功能。"

为什么这样更好:

  • 目标明确了:需要完整的修改报告
  • 范围明确了:文件列表、修改内容、影响范围
  • 限制明确了:必须汇报所有影响
  • 验证标准明确了:你看到完整的修改报告

⑤ AI 会发生什么变化

旧表达下,AI 可能会:

  • 只说"改好了",你完全不知道它做了什么
  • 你不知道改了什么,不敢放心使用
  • 出了问题,你不知道从哪里排查

新表达下,AI 会:

  • 汇报:改了3个文件,分别是A、B、C
  • 详细说明:A文件改了登录验证逻辑,B文件改了按钮样式,C文件加了错误提示
  • 影响分析:登录功能有变化,其他功能不受影响
  • 你心里有数,可以放心使用

⑥ 一句话记住
让 AI 告诉你,它改了什么。
2.14

修不好时,不要一直尝试

① 开场问题

AI 帮你修一个问题,修了一次,没修好。又修了一次,还是没修好。又修了第三次,第四次……你看着它一遍遍地试,代码越改越乱,问题越来越复杂。


② 为什么会这样

AI 有一种"执念":你让它修,它就一定要修好。 它不会主动说"这个问题我修不好,需要换个思路"。 它会一直尝试,改这里、改那里、再改这里。 但有些问题,不是靠"多试几次"就能解决的。 越试越乱,越改越复杂。 最后,不仅问题没解决,代码也变得一团糟。


这就像你让一个人修一个漏水的水管。 他修了一次,还在漏。 又修了一次,还在漏。 他急了,开始用各种方法乱试。 最后水管炸了,水漫金山。 正确的做法是:试了两次还不行,停下来,换个思路。 AI 也需要你告诉它:试了两次还不行,就停下来,想想别的办法。


③ 很多人会这样说
"还是有问题,再修。"

问题: AI 陷入盲目尝试的循环,越改越乱,代码越来越复杂。


④ 建议这样说

可以直接这样告诉 AI:

"这个问题你已经尝试了两次,还没修好。请先停下来,不要再修改代码了。
重新分析一下问题的根本原因,换个思路,或者告诉我你遇到了什么困难。
不要一直用同样的方法反复尝试。"

为什么这样更好:

  • 目标明确了:停下来,重新分析,不盲目尝试
  • 范围明确了:不要再改代码,先分析原因
  • 限制明确了:不能用同样的方法反复试
  • 验证标准明确了:AI 需要给出新的分析或说明困难

⑤ AI 会发生什么变化

旧表达下,AI 可能会:

  • 反复尝试,越改越乱
  • 代码越来越复杂,问题越来越难修
  • 你浪费了大量时间,问题还没解决

新表达下,AI 会:

  • 停下来,不再盲目修改
  • 重新分析问题的根本原因
  • 换一个思路,或者告诉你需要什么额外信息
  • 不再把代码越改越乱

⑥ 一句话记住
修两次不行,就停下来换思路。
2.15

遇到风险,先提醒我

① 开场问题

AI 改了一段代码,改完以后,你的数据库出问题了,数据丢了。你质问 AI:"你改之前为什么不告诉我这会有风险?"AI 说:"你没问。"


② 为什么会这样

AI 在做一些高风险操作时,不会主动提醒你。 比如修改数据库结构、删除文件、修改共享代码。 它觉得这是你让它做的,它就做。 它不会说"这个操作有风险,可能会丢失数据,你确定要这样做吗?" 因为它默认假设:你知道你在做什么。 但很多时候,你不知道。 你不知道这个操作会有风险。 你不知道改了这个文件会影响其他地方。


你需要告诉 AI:遇到可能有风险的操作,必须先提醒我。 给我一个"反悔"的机会。


③ 很多人会这样说
"帮我把用户表的结构改一下。"

问题: AI 直接修改数据库结构,可能造成数据丢失,而你完全不知道这个风险。


④ 建议这样说

可以直接这样告诉 AI:

"帮我把用户表的结构改一下。但在修改之前,请先分析一下:这个操作有没有风险?
会不会丢失数据?会不会影响正在运行的功能?
如果有任何风险,先告诉我,等我确认了再动手。
"

为什么这样更好:

  • 目标明确了:修改用户表,但必须先评估风险
  • 范围明确了:分析风险,不是直接动手
  • 限制明确了:有风险必须先汇报,不得擅自操作
  • 验证标准明确了:风险分析完成且你确认后,才能动手

⑤ AI 会发生什么变化

旧表达下,AI 可能会:

  • 直接修改数据库,数据丢了
  • 你没备份,损失惨重
  • 你完全不知道这个操作有风险

新表达下,AI 会:

  • 先告诉你:"修改用户表结构可能导致已有数据丢失,建议先备份。另外,登录功能可能会短暂中断。"
  • 你知道了风险,可以决定:先备份,或者选一个低峰期操作
  • 不会再出现"改了之后才发现出问题"的情况

⑥ 一句话记住
高风险操作,先预警再动手。
本章你真正学会的是一次只做一件事,开发全程可控。
◆ ◆ ◆
◆ 这一章真正改变你的是
从"一口气做完"到"一次只做一件"——建立控制感
第三章 当你觉得
核心能力:描述问题,而不是表达情绪

第三章 当你觉得"不对劲":如何准确告诉 AI 问题在哪里

本章训练目标范围限制验证
💡 本章可能出现你不熟悉的专业词汇。遇到不懂的词,可以翻到附录B查看通俗解释,或直接问 AI。
3.1

代码越来越多

开场问题

做了一个记账本。刚开始只有两百行代码,加着加着就变成了一千八百行。功能还是那些功能,但代码像发面一样,越揉越大。

为什么会这样

AI 每次帮你加功能,都是直接在后面追加。它不会主动帮你整理。就像你每次买东西都往衣柜里塞,从来不叠。衣服是多了,但衣柜越来越乱,找一件得翻半天。

很多人会这样说
"代码太多了,帮我精简一下。"

这句话太模糊了。AI 不知道哪里多,多到什么程度才叫多,精简到什么程度才叫精简。它可能会删掉有用的东西,或者只做表面功夫。

建议这样说
"这个记账本的主文件现在有 1800 行。
目标:精简到 1000 行以内。
范围:只改主页面逻辑,不动数据处理部分。
限制:所有现有功能必须保留,不能丢任何一条记账记录。
验证标准:改完后我跑一遍添加、删除、查询,三个操作都能正常完成。"

你会发现,这段话里有四个关键信息:

  • 目标明确了:精简到 1000 行以内
  • 范围明确了:只改主页面逻辑
  • 限制明确了:不丢功能,不丢数据
  • 验证标准明确了:加删查三个操作都正常
AI会发生什么变化

AI 不再盲目删代码。它会先分析哪些代码是重复的,哪些是冗余的,然后给出一个合并方案。你看到的是一份有逻辑的"瘦身计划",而不是一通乱删。

一句话记住
告诉AI精简多少,比只喊太胖有用。
3.2

很多内容都在重复

开场问题

做了一个单词学习工具。里面有单词添加、单词复习、单词测试三个页面。每个页面都有一段几乎一模一样的代码,用来显示单词列表。三个页面,三段重复。

为什么会这样

AI 每次都是独立完成一个页面。它不会自动发现"这个功能之前写过"。就像你请了三个不同的厨师,每个人都自己买了盐,结果厨房里有三袋盐。

很多人会这样说
"有很多重复代码,帮我优化一下。"

AI 不知道哪些是重复的,重复到什么程度才算重复,优化之后长什么样。

建议这样说
"项目里单词添加、复习、测试三个页面,各有一段显示单词列表的代码,几乎一模一样。
目标:把重复的部分抽成一个公共组件
范围:只抽列表显示逻辑,不碰单词数据。
限制:三个页面的功能不能变,原来怎么用还怎么用。
验证标准:改完后三个页面打开,单词列表都能正常显示。"

这里:目标是什么、改哪里、边界在哪、怎么验证,全说清楚了。

AI会发生什么变化

AI 会精确地找到那三段重复代码,提取出一个公共部分,然后让三个页面都引用这个公共部分。以后你改显示逻辑,只需要改一处。

一句话记住
代码像盐,一份就够了,不用买三袋。
3.3

一个文件越来越大

开场问题

做课程管理项目,一开始只有一个 course.js 文件。后来加了作业功能、考试功能、成绩功能,全塞进这一个文件里。现在文件有 3000 行,翻找代码像翻字典。

为什么会这样

AI 默认不会主动帮你分文件。它觉得"反正能跑就行"。就像你用一个笔记本,什么科目都往上写,数学、语文、英语全混在一起。时间长了,别说别人,你自己都看不懂。

很多人会这样说
"这个文件太大了,帮我拆开。"

AI 可能随便拆,把相互关联的代码拆到两个文件里,结果程序直接报错。

建议这样说
"course.js 这个文件现在有 3000 行,包含了课程管理、作业管理、考试管理、成绩管理四个模块
目标:拆成四个独立文件,每个模块一个文件。
范围:只拆 course.js,不动其他文件。
限制:所有功能必须正常,其他文件引用 course.js 的地方要同步更新。
验证标准:拆完后每个模块对应的功能跑一遍,全通过才算成功。"

四个关键信息全在:目标、范围、限制、验证。

AI会发生什么变化

AI 会先分析代码结构,搞清楚哪些代码属于哪个模块,然后有序地拆分。它还会检查其他文件的引用,确保拆完后程序能正常运行。

一句话记住
拆文件要说清楚按什么拆,怎么验证。
3.4

一个函数越来越长

开场问题

做了一个待办事项工具。里面有一个"处理任务"的函数,从最初的 20 行,涨到了 180 行。添加任务、删除任务、标记完成、设置提醒、发送通知,全挤在一个函数里。

为什么会这样

每次加功能,AI 都在这个函数里加几行。它不会主动说"这个函数太长了,该拆了"。就像你每次吃饭都往碗里加菜,从来不换碗,最后碗满得溢出来。

很多人会这样说
"这个函数太长了,帮我重构一下。"

AI 不知道你说的"太长"是 50 行还是 500 行,也不知道你想拆成几个函数。

建议这样说
"处理任务这个函数现在有 180 行,里面包含了添加、删除、完成、提醒、通知五个操作。
目标:每个操作拆成独立函数,主函数只负责分发。
范围:只改这个函数所在文件。
限制:每个操作的功能不能变,参数传递方式保持一致。
验证标准:五种操作每种测三遍,全部正确。"

目标、范围、限制、验证,全都有。

AI会发生什么变化

AI 会按照你指定的五个操作,逐个拆成独立函数。主函数变成短小精悍的"调度员",每个操作有自己的"专属办公室"。单测也更容易。

一句话记住
函数就像一个碗,一碗只装一个菜。
3.5

页面越来越复杂

开场问题

做了一个博客管理后台。文章列表页一开始只有标题和日期。后来加了作者、分类、标签、阅读量、点赞数、评论数、状态标记。一个页面塞了十几个功能,眼花缭乱。

为什么会这样

AI 不会拒绝你的需求。你让它加什么它就加什么,从不提醒你"这个页面信息量已经很大了"。就像你往墙上贴便利贴,一张又一张,从来不揭,最后整面墙都是。

很多人会这样说
"这个页面太复杂了,帮我简化。"

AI 不理解"简化"是什么意思。它可能删掉你觉得重要的功能,或者只是把字体改小。

建议这样说
"文章列表页现在有 12 个字段:标题、日期、作者、分类、标签、阅读量、点赞数、评论数、状态、封面图、摘要、操作按钮。
目标:精简到 6 个字段。
范围:预留核心字段标题、日期、分类、状态、阅读量、操作按钮。
限制:不能删改后端接口,只改前端展示。
验证标准:改完后在电脑和手机上分别打开,信息清晰可读。"

四要素齐全,AI 就知道该做什么了。

AI会发生什么变化

AI 会按照你指定的 6 个核心字段重新设计页面布局。其他字段可能收进详情页,或者做成可展开的折叠区域。页面清爽了,但信息不丢。

一句话记住
页面不是仓库,越满越难找,精简才清爽。
3.6

AI 越改越乱

开场问题

让 AI 改一个课程列表的筛选功能。第一次改完,筛选不生效。第二次改完,样式乱了。第三次改完,筛选生效了但数据不对。第四次改完,回到最初的状态。改来改去,越来越乱。

为什么会这样

AI 每次修改都是基于当前代码,但它不知道你之前已经改过几次了。就像你让三个人接力修一辆自行车,每个人只看到上一个人留下的车,不知道最初的车长什么样。修到最后,轮子都装反了。

很多人会这样说
"你改的什么啊,越来越乱了!"

这句话是情绪,不是指令。AI 只知道你在生气,不知道你希望它怎么改。

建议这样说
"这是第四次改筛选功能了。
目标:回到最初的状态,重来。
范围:只改筛选功能相关的代码。
限制:其他功能(列表展示、分页、搜索)不能动。
验证标准:筛选条件选'已完成',列表只显示已完成课程;选'未开始',只显示未开始课程;选'全部',显示所有课程。"

目标是从头来,范围是只碰筛选,限制是别动其他功能,验证是三个条件各测一次。

AI会发生什么变化

AI 会先撤销之前的改动,回到干净状态,然后重新理解需求。它不再基于乱七八糟的代码修修补补,而是从零开始实现筛选功能。

完整迭代过程

筛选功能改了好几次,越改越乱。看看三种不同的说法,结果差多少。


第一轮

"不对,重写。"

AI 把整个筛选功能的代码全删了,从头写了一遍。 写完你一看,之前好的部分也没了。分页没了,排序也没了。

问题: 之前好的部分也没了。"重写"两个字,AI 把所有东西都推倒了。


第二轮 你换了个说法。

"改了之后更乱了,你看看哪里有问题。"

AI 开始检查,然后这里改一点,那里改一点。 改完以后,比刚才还乱。 因为它又加了一层改动,叠在本来就乱的代码上面。

问题: 越改越乱。AI 没有方向,只是在乱码上继续堆乱码。


第三轮 你把问题一条一条列出来。

"现在的代码有三个问题:第一,搜索框位置不对;
第二,按钮颜色变了;第三,登录页面跳转错了。
请逐个修复,每修一个告诉我,不要动其他地方。
"

AI 先修第一个:搜索框位置。修完告诉你,没动别的。 你确认没问题。 它再修第二个:按钮颜色。修完告诉你。 最后修第三个:登录跳转。 三个问题,一个一个解决,清清楚楚。 结果: 问题精确解决。


说"不对"没用,说"哪里不对"才有用。

重构的安全打法

"越改越乱"还有一种常见原因:一次改了太多。你想让AI把代码整理一下,结果它一口气改了十个文件,改完你也看不过来。 这种"整理代码"的操作,有一个更准确的名字叫"重构"。重构和修Bug不一样——修Bug好歹有个明确的标准(报错没了),但重构的目标是"代码更干净,但功能一个字都不能变"。一旦功能变了,你就是在重构的名义下偷偷引入Bug,这是最坑的一种Bug,因为没人会去测一段"只是整理了一下"的代码。 所以重构有一条铁律:行为不能变。 安全的重构流程是四步: 第一步:先让AI解释现状。 搞清楚这段代码现在到底在干啥,有哪些容易忽略的边界行为。 第二步:说清重构目标。 你要的是"拆函数""换写法"还是"去重复"?说具体。 第三步:小步改。 别让AI一次性推翻重写,一次只改一个地方,改完验证再改下一个。 第四步:改前改后测试都过。 重构前先跑一遍测试存个基准,改完再跑,两次结果必须一致。如果这段代码现在没测试,那重构第一步不是改,而是先补测试——用测试把"现在的行为"拍下来当快照,重构后对着快照验,行为没变才算成功。 没有测试覆盖的代码,别让AI直接重构。

一句话记住
越改越乱时,让AI回到起点重来;整理代码时,行为不变才算安全。
3.7

改好了这里,坏了那里

开场问题

做了一个单词本,修复了"添加单词"的一个小问题。结果"复习模式"的发音功能坏了。修好发音功能,"单词统计"又出错了。像打地鼠,按下这个,那个冒出来。

为什么会这样

不同功能之间共享了一些代码。你改了一个共享部分,其他依赖它的功能就跟着崩了。就像一栋楼里,你修了一根水管,结果隔壁房间的灯灭了。因为水管和电线走的是同一个管道。

很多人会这样说
"修复了 A,B 又坏了,你到底行不行?"

AI 听到的是抱怨,不是问题描述。它不知道 A 和 B 之间有什么关系。

建议这样说
"修复了添加单词的保存逻辑后,复习模式的发音功能坏了。
目标:两个功能都正常。
范围:重点检查保存逻辑和发音功能之间共享的代码。
限制:不能因为修复发音而破坏保存逻辑。
验证标准:添加单词后保存成功,进入复习模式点击发音,能正常播放语音。"

目标、范围、限制、验证,一条一条摆出来。

AI会发生什么变化

AI 会去检查共享代码,找到 A 和 B 之间的耦合点。它不会只盯着一个功能修,而是会考虑"动了这里,那里会不会受影响"。修复后还会主动检查关联功能。

一句话记住
告诉AI谁来关联,别只喊谁又坏了。
3.8

名称越来越不统一

开场问题

做一个客户管理工具。同一个东西,有的地方叫 userName,有的地方叫 customer_name,有的地方叫 clientName。同一个"保存"按钮,有的叫"确认",有的叫"提交",有的叫"保存"。看着就乱。

为什么会这样

AI 每次生成代码时,命名方式可能不一样。它没有"全局命名规范"这个意识。就像你每次去咖啡店,今天点"中杯",明天点"中间那个",后天点"不大不小的"。虽然服务员听懂了,但菜单上写的是"标准杯"。

很多人会这样说
"命名太乱了,帮我统一一下。"

AI 不知道你希望统一成什么风格。是驼峰命名,还是下划线命名?是中文,还是英文?

建议这样说
"项目里客户名称有三种写法:userName、customer_name、clientName。
目标:统一用 customerName 这种驼峰写法。
范围:全项目所有文件,搜索替换。
限制:不要改数据库字段名,只改代码里的变量名。
验证标准:全部替换后项目能正常启动,客户列表、添加客户、编辑客户三个页面各测一遍。"

四步齐全:目标、范围、限制、验证。

AI会发生什么变化

AI 会搜索全项目,找到所有不统一的命名,然后按你指定的风格统一替换。它还会注意区分哪些是变量名、哪些是数据库字段名,不会一锅端。

一句话记住
命名规范要指定风格,别让AI猜你喜欢哪种。
3.9

很多代码已经没用了

开场问题

做了一个博客系统。早期有一个"草稿箱"功能,后来觉得没用,去掉了页面入口。但草稿箱的代码还留在项目里,占了三百多行。类似的还有好几个废弃功能。

为什么会这样

AI 在帮你去掉功能时,往往只删了页面入口,底层的代码还留着。它怕删错了导致其他功能报错。就像你搬家时,觉得旧沙发不好看,把它搬进了储藏室,但没扔掉。房子大了,储藏室满了。

很多人会这样说
"有很多没用的代码,帮我清理掉。"

AI 不知道哪些是"没用的"。它可能觉得还在被引用的代码是有用的,哪怕那个功能已经废弃了。

建议这样说
"项目里草稿箱、旧版评论、早期统计这三个功能已经废弃了,页面上找不到入口。
目标:把这三个功能相关的代码全部删除。
范围:包括页面文件、逻辑文件和接口调用。
限制:不能删当前正在使用的博客发布、文章展示、用户登录功能。
验证标准:删完后项目能正常启动,发布文章、浏览文章、登录三个核心功能正常。"

目标、范围、限制、验证,四个维度全说清了。

AI会发生什么变化

AI 会先梳理这三个废弃功能的代码边界,确认它们不再被任何活跃功能引用,然后安全地删除。它不会像以前一样"留一手",因为你给了它明确的边界和安全约束。

一句话记住
清理没说清边界,AI不敢删,只敢藏。
3.10

很多文件已经没用了

开场问题

做待办工具时,最早用了一个叫 oldTodo.js 的文件。后来重构了,新建了 todo.js。但 oldTodo.js 还留在项目里,没人引用它,也没人删它。项目里至少躺着七八个这样的"僵尸文件"。

为什么会这样

AI 不会主动检查项目中哪些文件没有被引用。它专注于"加",不关注"减"。就像你换了新手机,旧手机还放在抽屉里,抽屉越来越满。

很多人会这样说
"项目里有很多没用的文件,帮我删掉。"

AI 不知道怎么判断"没用"。它可能去检查每个文件是否被引用,但分析结果可能不准确。

建议这样说
"项目里可能有没被引用的旧文件。
目标:找出所有没有被任何文件引用的 js 文件,列出来让我确认后删除。
范围:只检查项目 src 目录下的 js 文件。
限制:不要自动删除,先列出清单,让我逐条确认。
验证标准:清单里每个文件都要给出引用情况分析,确认删除后项目正常运行。"

这里的关键是"先列清单,让我确认",给 AI 加了一道安全锁。

AI会发生什么变化

AI 会系统地扫描项目,分析每个文件的引用关系,生成一份清晰的清单。你确认一个,它删一个,不会误删。

一句话记住
删文件前先让AI列清单,确认一个删一个。
3.11

看不懂以前写的代码

开场问题

三个月前和 AI 一起做了一个课程表工具。现在想加一个新功能,打开代码一看,完全想不起来这段逻辑是干什么的。注释没有,变量名很随意,读代码像读天书。

为什么会这样

AI 写代码时默认不会加注释,除非你明确要求。它觉得"代码就是最好的文档"。但对你来说,三个月后的代码就跟陌生人写的一样。

很多人会这样说
"这段代码看不懂,帮我解释一下。"

AI 可能会给你一段解释,但如果代码本身结构混乱,解释也治标不治本。

建议这样说
"这个课程表项目的 schedule.js 文件,三个月前写的,现在完全看不懂了。
目标:给每个函数加注释,说明输入、输出、核心逻辑。
范围:只改 schedule.js。
限制:只加注释,不改任何代码逻辑。
验证标准:加完注释后,看不懂代码的人能靠注释理解每个函数做了什么。"

目标、范围、限制、验证,全都有。而且"只加注释,不改逻辑"这条限制非常关键。

AI会发生什么变化

AI 会逐函数分析,给每个函数加上清晰的注释,包括参数说明、返回值说明、逻辑概述。代码逻辑不会动,但可读性大幅提升。

一句话记住
代码看不懂,让AI加注释,别让它改逻辑。
3.12

判断越来越复杂

开场问题

做电商课程项目,有一个"判断用户是否有优惠资格"的逻辑。一开始只有一条规则:注册满 30 天。后来加了:消费满 500 元、VIP 等级大于 2、近 7 天有登录、没有退货记录。现在这个判断逻辑有 80 多行,层层嵌套,像千层饼。

为什么会这样

每次加规则,AI 都是在现有判断上再加一层 if。它不会主动说"规则太多了,该重新组织了"。就像一个接线板,插头越插越多,线绕成一团。

很多人会这样说
"这个判断逻辑太复杂了,帮我简化。"

AI 不知道"简化"是什么意思。它可能删掉一些规则,导致优惠判断出错。

建议这样说
"优惠资格判断现在有 5 条规则,嵌套了 4 层 if。
目标:把这 5 条规则拆成独立判断,主逻辑只做汇总。
范围:只改优惠判断相关代码。
限制:5 条规则的内容不能变,判断结果必须和原来一致。
验证标准:准备 5 种测试用户(满足不同规则组合),判断结果和改之前完全一致。"

四步公式一条不少。

AI会发生什么变化

AI 会把每条规则拆成独立判断,主逻辑变成"一条一条检查,汇总结果"。嵌套消失了,每条规则清晰可读。以后加新规则,只需要加一条独立判断,不用在千层饼里找位置。

一句话记住
规则多不一定是诅咒,挤在一起才是。
3.13

功能之间互相影响

开场问题

做了一个学生管理系统。修改学生信息的功能,不知怎么回事会影响到课程排课。添加新课程,学生列表偶尔会刷新失败。功能之间扯来扯去,像一张蜘蛛网。

为什么会这样

不同功能共享了数据、共享了状态、共享了全局变量。改一个,可能牵动另一个。AI 在写代码时没有做好"隔离"。就像住宿舍,你关了自己房间的灯,结果室友的房间也黑了,因为你们共用了一个总开关。

很多人会这样说
"功能之间互相影响,帮我解耦。"

AI 听到"解耦"这个词,但它不知道哪些功能之间有耦合,耦合到什么程度,你希望解到什么程度。

建议这样说
"学生信息修改和课程排课两个功能之间存在互相影响。
目标:把两个功能的数据和状态分开,独立管理。
范围:重点检查学生信息页和课程排课页共享的数据。
限制:两个功能各自的数据不能丢,页面展示不能变。
验证标准:修改学生信息后,课程排课不受影响;添加课程后,学生列表正常刷新。"

目标、范围、限制、验证,把"解耦"这个大词翻译成了具体动作。

AI会发生什么变化

AI 会找到共享的数据源和状态,然后给每个功能建立独立的数据管理。两个功能之间通过明确的"传话通道"通信,而不是共用一个"大喇叭"。

一句话记住
功能之间要有各自的房间,别共用总开关。
3.14

每改一次都很痛苦

开场问题

做一个个人博客,每次想加个小功能,比如加一个"相关文章推荐",都要改五六个文件。改完还要担心有没有遗漏的地方。每次改代码都提心吊胆。

为什么会这样

项目结构没有做好"关注点分离"。改一个功能需要碰多个文件,因为逻辑散落在各处。AI 早期帮你搭建项目时,没有考虑"未来好不好改"。就像你家的电线埋在了墙里,想加一个插座,得把整面墙凿开。

很多人会这样说
"改代码太痛苦了,帮我重构整个项目。"

AI 接到"重构整个项目"这种指令,大概率会搞砸。范围太大了,它不知道从哪里开始,也不知道你希望最终变成什么样。

建议这样说
"现在每次改博客功能都要动五六个文件,太痛苦了。
目标:把文章相关功能(发布、编辑、展示、推荐)集中到两个文件以内。
范围:只整理文章模块,不碰评论和用户模块。
限制:所有现有功能必须保留,文章数据不能丢。
验证标准:改完后发布文章、编辑文章、查看文章、推荐文章四个操作各测一遍,全部正常。"

目标具体、范围可控、限制明确、验证可执行。

AI会发生什么变化

AI 不会一上来就"重构整个项目"。它会聚焦在文章模块,把散落的逻辑归拢到一两个文件里。改完后你修改文章功能,只需要动一两个文件,不再需要翻遍整个项目。

一句话记住
说清楚哪里改得痛,别让AI全项目动刀。
3.15

项目越来越难维护

开场问题

做了一个单词学习项目,做了半年。现在回头看,代码结构像一团乱麻。想加一个新功能,不知道往哪加。想改一个老功能,怕改坏别的地方。维护成本越来越高。

为什么会这样

项目在生长过程中,没有定期的"整理和打扫"。AI 只负责帮你加功能,不负责帮你维护结构。代码债务越积越多。就像你住了一年的房子,从来不打扫,地上全是灰,柜子里塞满了东西,想找什么都找不到。

很多人会这样说
"项目太乱了,帮我全部重写。"

全部重写风险极高。旧项目可能有些"隐藏功能"你不知道,重写之后这些功能会丢失。

建议这样说
"这个单词学习项目做了半年,现在维护很困难。
目标:把项目整理到容易维护的状态,不要求完美,但要求清晰。
范围:优先整理最乱的两个模块:单词管理和复习模式。
限制:不重写,不改变功能,只整理结构。
验证标准:整理完后,加一个新功能(比如按难度筛选单词),能在 30 分钟内完成。"

目标、范围、限制、验证全在。而且"不重写"这条限制非常关键。

AI会发生什么变化

AI 会从最乱的地方开始,一步一步整理,不是推倒重来。它会保持功能不变,只优化结构和可读性。你还能用"加新功能耗时"来验证整理效果。

一句话记住
项目维护难,先整理最乱的两块,别推倒重来。
3.16

配置越来越混乱

开场问题

做了一个记账应用。数据库连接配置写在代码里,接口地址写了三份(开发环境一份、测试环境一份、线上环境一份),颜色、字体大小散落在各个页面里。想改一个颜色,要翻六个文件。

为什么会这样

AI 在写代码时,习惯把配置和逻辑混在一起。它不会主动说"这个应该抽出来统一管理"。就像一个餐厅,每个厨师都自己记菜单价格,有人记错了,菜价就不一样了。

很多人会这样说
"配置太乱了,帮我整理到配置文件里。"

AI 不知道哪些算配置,哪些算逻辑,配置文件应该放在哪里,格式应该是什么。

建议这样说
"项目里数据库连接、接口地址、颜色字体这些配置散落在不同文件里。
目标:把这三类配置分别集中到三个独立配置文件里。
范围:数据库配置、接口地址、样式配置。
限制:只搬配置,不改逻辑,不改功能。
验证标准:搬完后分别切换开发环境和生产环境,配置能正确加载,功能正常。"

四要素全在,AI 就不迷糊了。

AI会发生什么变化

AI 会扫描项目,找到所有散落的配置,分门别类地搬到三个文件里。它还会在代码中用"引用"代替"硬编码",以后你改配置只需要改一个文件。

一句话记住
配置集中管理,别让每个角落都藏一份。
3.17

页面越来越慢

开场问题

做了一个图片展示页面,刚开始加载很快。后来图片越来越多,一张页面要加载 50 张图片,打开要等 8 秒。用户等不及,直接关掉了。

为什么会这样

AI 在加功能时,默认把所有数据一次性加载。它不会主动说"数据太多了,该分页了"或者"图片该懒加载了"。就像你去餐厅,服务员把菜单上所有菜一起端上来,桌子根本放不下。

很多人会这样说
"页面太慢了,帮我优化一下。"

AI 不知道慢在哪里,是图片多、是请求多、还是代码效率低。它可能做一些无关紧要的优化,速度没提升多少。

建议这样说
"图片展示页现在一次性加载 50 张图片,打开要 8 秒。
目标:首屏加载控制在 2 秒以内。
范围:只改图片加载方式,不换图片本身。
限制:图片质量不能下降,所有图片依然可以通过滚动或翻页看到。
验证标准:改完后用浏览器开发者工具测首屏加载时间,低于 2 秒。"

目标 2 秒、范围只改加载方式、限制不降质量、验证用工具测时间。

AI会发生什么变化

AI 会分析慢的原因,然后实施懒加载(滚动到哪加载到哪)或者分页加载。它不会盲目删图片或者压缩质量,因为你的限制里写了"不能降质量"。

一句话记住
说清楚慢在哪,快多少,比"优化一下"有效十倍。
3.18

接口越来越慢

开场问题

做了一个课程列表接口。刚开始只有 20 门课,接口返回很快。后来课程加到 500 门,每次请求要等 3 秒。学生打开课程页面,盯着白屏发呆。

为什么会这样

AI 在写接口时,默认一次性返回所有数据。它不会主动做分页、不会做缓存、不会做字段筛选。就像你去图书馆借书,管理员把整个图书馆的书都搬到你面前,让你自己找。

很多人会这样说
"接口太慢了,帮我优化。"

AI 不知道慢的原因是什么,是数据量太大、还是数据库查询慢、还是返回了太多字段。

建议这样说
"课程列表接口现在返回 500 条数据,请求耗时 3 秒。
目标:请求耗时降到 500 毫秒以内。
范围:只改接口的查询和数据返回逻辑。
限制:不改变前端页面的调用方式,接口地址不变。
验证标准:用同样参数请求接口,返回时间在 500 毫秒以内,返回数据正确。"

目标、范围、限制、验证,AI 有了明确的方向。

AI会发生什么变化

AI 会实施分页查询(每次只返回 20 条)、字段精简(前端不需要的字段不返回)、数据库查询优化(加索引)。三管齐下,速度自然就上来了。

一句话记住
接口慢,告诉AI慢多少、要快多少。
3.19

数据处理越来越慢

开场问题

做了一个记账统计功能。要统计一年的消费数据,每月分类汇总。刚开始只有 3 个月的数据,瞬间出结果。后来有了一年的数据,3000 条记录,统计一次要等 15 秒。

为什么会这样

AI 在写统计逻辑时,用的是最简单直接的方式:一条一条遍历、一条一条计算。数据少的时候没问题,数据多了就慢得离谱。就像你数硬币,100 个可以一个一个数,10000 个这样数就疯了。

很多人会这样说
"统计太慢了,帮我优化。"

AI 不知道是数据量大、还是算法效率低、还是可以提前算好存起来。

建议这样说
"年度消费统计现在遍历 3000 条记录,耗时 15 秒。
目标:统计耗时降到 2 秒以内。
范围:只改统计计算逻辑。
限制:统计结果必须和原来完全一致,不能被用户感知的计算过程。
验证标准:取 3 个月份数据,优化前后的统计结果数字完全一致,但耗时大幅降低。"

目标、范围、限制、验证,全有。

AI会发生什么变化

AI 会考虑多种优化策略:用缓存存中间结果、用更高效的数据结构、甚至把部分计算放到数据写入时提前完成。不再是简单的"一条一条数"。

一句话记住
数据处理慢,给AI定耗时目标,会自己找方法。
3.20

内存占用越来越高

开场问题

做了一个文件处理工具,可以把大文件拆成小文件。处理 100MB 的文件时,电脑内存占用飙升到 2GB,风扇狂转,其他程序都卡住了。

为什么会这样

AI 在处理文件时,默认把整个文件读进内存。文件小的时候没问题,文件大了内存就爆了。就像你用车搬东西,沙发也往里塞、冰箱也往里塞,一辆小轿车装不下整个家。

很多人会这样说
"内存占用太高了,帮我优化。"

AI 不知道"高"是多少,占用多少算高,可以接受多少。

建议这样说
"文件拆分工具处理 100MB 文件时,内存占用 2GB。
目标:内存占用控制在 200MB 以内。
范围:只改文件读取和写入的方式。
限制:拆分结果必须和原来一致,文件内容不能丢。
验证标准:处理同一个 100MB 文件,任务管理器里内存占用不超过 200MB。"

目标、范围、限制、验证,AI 拿到了精确的指标。

AI会发生什么变化

AI 会把"一次性读入"改成"流式处理":读一点、处理一点、写一点、释放一点。内存占用始终维持在一个低水平,不管文件多大。

一句话记住
内存高,给AI一个上限数字,别只说"太高了"。
3.21

经常报错

开场问题

做了一个单词学习工具,每次打开控制台都有一堆红色报错。有的报错影响功能,有的不影响但看着烦。每天上线前都要"清报错",像扫雷一样。

为什么会这样

AI 在写代码时,对错误处理不够完善。有些路径没考虑到,有些数据格式没做校验,有些边界情况没处理。就像你出门没带伞,下雨了才知道。

很多人会这样说
"控制台全是报错,帮我修一下。"

AI 不知道优先修哪个,也不知道哪些报错是重要的、哪些可以忽略。

建议这样说
"控制台现在有 15 个报错。
目标:全部清零。
范围:先修会导致功能异常的 3 个报错,再修不影响功能但频繁出现的 5 个报错,最后修偶尔出现的 7 个报错。
限制:修复过程不能引入新报错。
验证标准:修完后控制台红色报错数为 0,所有功能正常运行。"

目标、范围、限制、验证,而且给 AI 排了优先级。

AI会发生什么变化

AI 会按照你指定的优先级,从高到低逐个修复。它不会东修一个西修一个,而是有计划地推进。每修完一批,你会看到控制台的红字越来越少。

一句话记住
修报错要给AI排优先级,先修致命的,再修烦人的。

修Bug的标准流程:四步法

上面讲的是"报错怎么分类处理"。但不管哪种报错,修Bug都应该遵循一个标准流程。很多人修Bug容易翻车,就是因为流程不对——贴个报错就甩一句"帮我修",结果AI只是把报错盖住了,根因还在那儿埋着。 正确的修Bug流程是四步,缺一不可: 第一步:贴报错和复现步骤。 把完整的报错信息(包括文件名、行号、调用链)原样贴给AI,再告诉它"我做了什么才触发的"。你概括报错,等于把关键坐标全删了,AI又得从头猜。 第二步:先让AI定位根因,别让它急着改。 去医院看病,你不会进门就说"给我开止疼药",你会先让医生诊断病因。修Bug一样——先让AI说清楚"为什么会错",再让它动手。 第三步:确认根因对了,再让AI修复。 根因找对了,修起来才有方向。 第四步:补一个回归测试 这是新手最容易漏的,但恰恰是最值钱的一步。修完加一个能复现这个Bug的测试,等于给这个Bug上了把锁——以后谁再不小心改回去,测试立刻报警。 修任何Bug都该带上第四步。没有回归测试的修复,同一个Bug迟早会复活。


3.22

偶尔才出错

开场问题

做了一个在线考试系统。学生在考试时,偶尔会提交失败,提示"网络错误"。但不是每次都失败,大概每 20 次提交就有 1 次失败。问题很难复现,更难修复。

为什么会这样

偶发错误通常和时序、网络波动、并发操作有关。AI 在正常流程下测试没问题,但极端情况它没考虑到。就像你家的灯,平时都亮,偶尔闪一下,电工来了灯又不闪了,查不出问题。

很多人会这样说
"有时候提交会失败,帮我修一下。"

AI 几乎不可能修复"有时候"这种问题。它不知道怎么复现,不知道触发条件,不知道从哪里查起。

建议这样说
"考试提交大约每 20 次失败 1 次,提示网络错误。
目标:找到失败原因并修复。
范围:先加日志,记录每次提交的完整过程(请求内容、响应内容、耗时),收集 5 次失败的日志后分析。
限制:加日志不能影响正常提交速度。
验证标准:连续 50 次提交无失败。"

这里的关键是"先加日志,收集数据,再分析"。把偶发问题变成可追踪的问题。

AI会发生什么变化

AI 会先在你的代码里加上详细的日志记录。等收集到失败日志后,它就能分析出失败的原因(超时?并发冲突?数据格式问题?),然后精准修复。

一句话记住
偶发问题先加日志,收集证据,再让AI分析。
3.23

Bug 修好了又出现

开场问题

做了一个博客系统。三周前修复了一个"文章保存失败"的程序问题(Bug)。这周又出现了,一模一样。修好了,过几周又回来。像打不死的小强。

为什么会这样

AI 修复 Bug 时,只修了表面症状,没有修根本原因。或者修复方式不对,被后续的代码改动覆盖了。就像你只擦掉了墙上的霉斑,没有解决墙内漏水的问题,霉斑迟早还会回来。

很多人会这样说
"这个 Bug 又出现了,你到底修没修好?"

AI 可能会再次用同样的方式修复,然后过几周 Bug 再次出现。

建议这样说
"文章保存失败的 Bug 修复过但反复出现。
目标:找到根本原因,彻底修复。
范围:重点检查保存逻辑和相关的数据写入代码。
限制:不仅要修复,还要加一个自动测试,以后每次改代码都能自动检查这个 Bug 有没有复发。
验证标准:修复后加 3 个测试用例,覆盖正常保存、空内容保存、网络中断保存,全部通过。"

目标、范围、限制、验证,而且要求"加自动测试"防止复发。

AI会发生什么变化

AI 不会再用"创可贴"式修复。它会深挖根因,然后加上自动测试。以后每次你改代码,这个测试都会跑一遍,Bug 一复发就能立刻发现。

一句话记住
修Bug加测试,等于给Bug上了锁,防止再来。
3.24

AI 怎么修都修不好

开场问题

做了一个积分兑换功能。用户用积分兑换奖品时,偶尔会出现积分扣了但奖品没发放。让 AI 修了五次,每次都说"修好了",但问题还在。你开始怀疑 AI 到底行不行。

为什么会这样

这个问题的根本原因可能不在 AI 修的代码里,而在更底层的数据读写、事务处理、或者并发控制上。AI 只看到了问题的"症状",没看到问题的"病因"。就像你一直吃止痛药,但头痛的原因是颈椎问题,吃再多止痛药也没用。

很多人会这样说
"修了五次了还修不好,你太差了。"

这句话是评价,不是指令。AI 不会因为被批评就突然变聪明。

建议这样说
"积分兑换的问题修了五次都没好。
目标:换个思路,不要只修表面。
范围:让 AI 先完整分析积分扣减和奖品发放的整个流程,画出流程图,找出可能出现问题的所有环节,然后逐个排查。
限制:这次不要急着改代码,先分析清楚再动手。
验证标准:用 10 个账号同时兑换,积分扣减和奖品发放完全一致,没有遗漏。"

把"修代码"变成"先分析流程,再动手"。这让 AI 换了一个工作模式。

AI会发生什么变化

AI 会停下来,不再盲目地修修补补。它会先画流程图,分析整个业务链条,找出薄弱环节。这个过程可能发现之前五次都没注意到的问题——比如并发时数据不一致。

一句话记住
修不好不是AI笨,是你的指令没让它换思路。
3.25

我不知道问题在哪里

开场问题

做了一个项目,总觉得哪里不对劲。页面有点慢,代码有点乱,偶尔报个错,改起来有点费劲。但你说不出具体问题是什么。这种感觉很挫败。

为什么会这样

"感觉不对劲"是人类的直觉,但 AI 不懂直觉。AI 需要具体的数据、可观察的现象、可量化的指标。就像你去看医生,只说"我浑身不舒服",医生不知道该给你做什么检查。

很多人会这样说
"我感觉项目有问题,但我不知道问题在哪,你帮我看看。"

AI 可能会随便找几个问题,但不一定是你真正关心的。它没有方向,只能瞎猜。

建议这样说
"我感觉项目不对劲,但说不清具体问题。
目标:帮我做一次全面的项目体检。
范围:检查四个方面——代码质量(重复代码、命名规范、文件大小)、性能(页面加载速度、接口响应时间)、错误(控制台报错数量和类型)、结构(模块划分是否清晰)。
限制:只做检查,不做任何修改,把结果汇总成一份报告。
验证标准:报告里每个问题都要有具体数据,比如'有 3 个文件超过 500 行',而不是'文件有点大'。"

把模糊的"感觉不对劲"变成了具体的"体检项目"。AI 有了明确的检查清单。

AI会发生什么变化

AI 会像一个体检医生,按照你指定的四个方面逐项检查。它会给出具体的数据和结论,而不是模糊的判断。你拿到报告后,就知道问题在哪了,然后可以回到 3.1 到 3.24 的任何一节,用对应的方法解决。

一句话记住
不知道问题在哪,就让AI做全面体检,用数据说话。
本章你真正学会的是学会把"感觉有问题"翻译成 AI 能执行的问题。
◆ ◆ ◆
◆ 这一章真正改变你的是
从"感觉不对"到"具体哪里不对"——建立精确性
第四章 增删改功能时,该怎么说
核心能力:稳定迭代,而不是推倒重来

第四章 增删改功能时,该怎么说

本章训练目标范围限制验证
💡 本章可能出现你不熟悉的专业词汇。遇到不懂的词,可以翻到附录B查看通俗解释,或直接问 AI。
4.1

增加一个新功能

① 开场问题

你在做一个记账应用,已经能记录收入和支出。现在想加一个"月度统计"功能,显示每个月的总支出和总收入的对比。你把需求说给AI,结果它把整个项目重写了一遍,连之前能用的记账功能都变了样。

② 为什么会这样

AI不知道你的项目已经有了什么。当你笼统地说"加一个月度统计",它只能从零开始理解你的需求。在它的视角里,它需要自己设计数据结构、自己写页面、自己写逻辑。它不知道你的记账功能已经有一套完整的数据格式,于是就自己造了一套新的,结果和旧代码完全对不上。 这就像你请了一个装修师傅来加一个书架。你没告诉他家里是什么风格、墙面是什么材质、插座在哪里。他只能按自己的理解来,结果书架装好了,挡住了一个插座,颜色也和家具不搭。

③ 很多人会这样说
"帮我加一个月度统计功能。" "统计一下每个月的支出和收入,显示出来。"

这样说的结果是:AI把整个项目当成新项目来做,之前辛苦写的代码全被覆盖。

④ 建议这样说
"我的记账应用已经有一个数据文件,里面记录的结构是【日期、类别、金额、备注】。
请只在这个基础上增加一个功能:在页面底部加一个'月度统计'按钮,点击后弹出一个新页面,显示每月总收入和总支出的对比表格。
不要改动已有的记账逻辑和数据结构。"

目标明确了:加一个月度统计功能。

范围明确了:只在页面底部加按钮,弹出新页面,不碰其他部分。

限制明确了:数据结构和已有逻辑不能改。

验证标准明确了:能按月份统计收入支出,在表格中对比显示。

⑤ AI会发生什么变化

AI会先读取你已有的代码,理解当前的数据结构。然后只在指定的位置添加新代码,不会去动已经运行正常的记账功能。它会给新功能单独写一个文件或一个区域,不会和旧代码混在一起。

完整迭代过程

加功能这件事,很少一次就说对。来看看真实的来回过程。 第一轮

我:加一个评论功能。

AI 加了评论框和评论列表,顺手把文章页面的排版也调了一遍。 原来的标题位置、正文字号全变了。 问题在哪?新功能影响了已有的东西。AI 觉得"加评论"不只是加个框,还要给评论腾位置,于是自作主张改了布局。 第二轮

我:加一个评论功能,不要改其他地方。

这次 AI 学乖了,评论功能单独写在一个新文件里。 但为了让评论显示出来,它还是去改了文章页面,加了一段"引入评论"的代码。 还是动了已有代码。AI 理解的"不要改其他地方",是"不要改评论以外的功能",不包括"把评论挂到页面上"这一步。 第三轮

我:新增一个评论功能。
要求:1. 只新建文件,不要修改已有文件;
2. 评论框放在文章下方;
3. 做完以后,列出你新建了哪些文件,修改了哪些文件。如果有必须修改已有文件的地方,先告诉我。

这次 AI 新建了评论相关的文件,没有动已有文件。 但它发现一件事:要让评论在文章下方显示,必须改一下文章页面。 它没有直接改,而是先问你:"这一步必须改已有文件,你确认吗?" 你确认后,它才动手。新功能加上去了,老功能没受影响。 加功能不是只管加,还要管不破坏。

⑥ 一句话记住
先说清你有什么,再说你要加什么。
4.2

删除一个旧功能

① 开场问题

你的单词学习应用里有个"每日打卡"功能,但你觉得太麻烦,不想用了。你告诉AI"把打卡功能删掉",结果删完之后,背单词的页面也打不开了。因为打卡功能的数据和背单词的记录是关联的,AI删的时候把关联的代码也一起删了。

② 为什么会这样

代码不是孤立的。一个功能往往和好几个地方有关联。打卡功能可能和用户数据、日期计算、页面显示、本地存储都有关系。AI不知道这些关联,你说"删掉打卡",它就真的把所有和"打卡"相关的代码都删了,包括那些背单词功能也在用的部分。 这就像你想把客厅里的一张旧桌子搬走,但桌上放着全家人的水杯、遥控器、杂志。你直接搬走桌子,桌上的东西全掉地上碎了。

③ 很多人会这样说
"把打卡功能删掉。" "去掉每日打卡,我不需要了。"

这样说的结果是:AI一刀切地删除了所有相关代码,牵连到其他功能。

④ 建议这样说
"我想删除打卡功能,但请注意:背单词的记录功能不能受影响。
请先告诉我打卡功能涉及哪些代码文件和哪些数据,然后只删除打卡页面和打卡按钮,背单词的记录数据保留不动。
"

目标明确了:删除打卡功能。

范围明确了:只删打卡页面和打卡按钮。

限制明确了:背单词记录功能不能受影响。

验证标准明确了:删完后,背单词功能正常运行,记录数据完整。

⑤ AI会发生什么变化

AI会先扫描项目,找出所有和打卡相关的代码,然后告诉你哪些是打卡专用的,哪些是共享的。它只会删除打卡专用的部分,保留共享的代码。删完后还会主动检查一遍,确认其他功能没有受影响。

⑥ 一句话记住
删之前先问影响范围,删完再检查。
4.3

修改已有功能

① 开场问题

你的待办事项应用里,现在完成任务是直接划线删除。你想改成"任务完成后变成灰色,移到列表底部"。你告诉AI"改一下完成任务的显示方式",结果它把整个列表的排序逻辑都改了,新增的任务反而排在最后面了。

② 为什么会这样

你心里想的是"只改显示效果",但AI听到"改显示方式"后,它可能理解为"重新设计整个展示逻辑"。AI不知道你的底线在哪里,它觉得既然要改,就帮你改得更彻底一些。结果好心办坏事。 这就像你让理发师"稍微修一下刘海",结果他觉得你的发型整体都需要调整,给你剪了个完全不同的发型。

③ 很多人会这样说
"改一下完成任务的显示方式。" "任务完成后不要划线,换个显示效果。"

这样说的结果是:AI可能过度修改,把不相关的逻辑也改了。

④ 建议这样说
"请修改完成任务后的显示效果,只改显示部分,不改排序逻辑和数据结构。
具体要求:已完成的任务文字变成灰色,自动移到列表底部。
新任务还是按创建时间排在列表顶部。不要动其他任何代码。
"

目标明确了:修改任务完成后的显示效果。

范围明确了:只改显示部分,不改排序和数据。

限制明确了:新任务排序逻辑不变,数据结构不变。

验证标准明确了:完成的任务变灰色、移到底部;新任务还在顶部。

⑤ AI会发生什么变化

AI会精准定位到显示任务的那部分代码,只修改颜色和位置的样式。它不会去碰排序函数、数据存储、添加任务的逻辑。修改范围被严格限定,代码改动量很小。

⑥ 一句话记住
改哪里就只说哪里,别让AI猜范围。
4.4

保留原来的使用方式

① 开场问题

你的课程表应用里,本来点击课程名称就能看到课程详情。你让AI加了一个"编辑课程"的功能,结果它把点击行为改成了"点击直接进入编辑模式"。想看课程详情的同学点进去就误触了编辑,很烦恼。

② 为什么会这样

AI不知道你原来是怎么用的。当它加一个新功能时,它可能觉得"点击"这个动作应该对应新功能,于是把旧的行为覆盖了。它不理解"保留原来的使用习惯"这件事有多重要。 这就像你把家门钥匙给了一个朋友让他帮忙装个智能门锁,结果他把原来的钥匙孔堵住了,你只能用手机开门。你妈来你家的时候进不去了。

③ 很多人会这样说
"加一个编辑课程的功能。" "课程可以编辑了,加上去。"

这样说的结果是:新功能覆盖了旧功能的使用方式,用户习惯被破坏。

④ 建议这样说
"请增加编辑课程的功能,但一定要保留原来的使用方式。
原来的点击课程名称是查看详情,这个不能改。
新增编辑按钮放在详情页面的右上角,用户点击编辑按钮才进入编辑模式。
查看和编辑要分开。"

目标明确了:增加编辑课程功能。

范围明确了:编辑入口放在详情页右上角,不占用原来的点击。

限制明确了:原来的点击查看详情行为不能改。

验证标准明确了:点击课程名称仍然查看详情;点击编辑按钮进入编辑模式。

⑤ AI会发生什么变化

AI会把原来的点击行为视为"保护区",不去动它。新功能会另找入口,和旧功能共存。它不会为了"方便"而合并两个功能,而是保持清晰的边界。

⑥ 一句话记住
新功能不能抢老功能的地盘。
4.5

尽量复用已有代码

① 开场问题

你的博客项目里已经有了一个"文章列表"组件,显示所有文章的标题和日期。现在你想在首页加一个"最新文章"模块,显示最近3篇文章。你告诉AI"加一个最新文章模块",结果它重新写了一套列表组件,代码和原来的文章列表几乎一模一样,只是取了前3条。

② 为什么会这样

AI喜欢"从零开始写"。当你让它加一个新模块时,它默认会写一套全新的代码。它不会主动去检查项目里是否已经有类似的组件可以复用。它觉得自己写新的更快,但这样会让项目越来越臃肿。 这就像你家里已经有一个工具箱,里面锤子、螺丝刀都有。你让家人帮忙钉个钉子,他跑去五金店又买了一把新锤子回来,而不是去工具箱里拿现成的。

③ 很多人会这样说
"在首页加一个最新文章模块,显示最近3篇文章。"

这样说的结果是:AI写了一堆重复代码,项目越来越难维护。

④ 建议这样说
"在首页加一个最新文章模块。请先检查项目中已有的文章列表组件,复用它的代码和样式。
只需要改两个地方:取数据时只取前3条,模块标题改成'最新文章'。
不要新建组件,在现有组件基础上改。"

目标明确了:加一个最新文章模块。

范围明确了:复用现有文章列表组件。

限制明确了:不要新建组件,只改数据量和标题。

验证标准明确了:首页显示最近3篇文章,样式和文章列表一致。

⑤ AI会发生什么变化

AI会先搜索项目中已有的组件,找到文章列表组件后,分析它的数据获取方式和渲染逻辑。然后只做最小改动:调整数据查询的数量限制,修改标题文字。代码量很少,不会引入新的组件。

⑥ 一句话记住
先用现成的,再考虑写新的。
4.6

不要重复实现同样功能

① 开场问题

你的单词学习应用里,已经有一个"计算正确率"的功能,在每轮学习结束后显示。后来你又加了一个"学习报告"页面,也需要显示正确率。AI帮你做报告页面时,重新写了一套计算正确率的逻辑,结果两个地方算出来的正确率不一样,一个显示85%,一个显示90%。

② 为什么会这样

AI在不同时间、不同上下文中帮你写代码,它不记得自己之前写过什么。每次你提一个新需求,它对项目的理解都是"局部"的。它不知道"计算正确率"这个功能已经在别的地方实现过了。 这就像一个公司的两个部门,各自统计了同一个数据,但用了不同的统计方法,结果对不上。老板拿到两份报告,不知道信哪个。

③ 很多人会这样说
"学习报告页面也要显示正确率。"

这样说的结果是:AI写了重复的逻辑,同一功能有两个实现,数据不一致。

④ 建议这样说
"学习报告页面需要显示正确率。请先找到项目中已有的正确率计算函数,直接调用它,不要重新写计算逻辑。
如果现有函数返回的数据格式不适合报告页面,请修改函数而不是重写。
"

目标明确了:报告页面显示正确率。

范围明确了:直接调用已有的计算函数。

限制明确了:不要重写计算逻辑,只能修改现有函数。

验证标准明确了:两个页面显示的正确率数字完全一致。

⑤ AI会发生什么变化

AI会先搜索"正确率"相关的函数,找到后直接引用。如果发现格式不匹配,它会提出修改建议,但不会另起炉灶。这样项目里只有一个计算正确率的地方,改了这里,所有地方都同步更新。

⑥ 一句话记住
一个功能只写一次,到处调用。
4.7

告诉我需要改哪些地方

① 开场问题

你的待办事项应用里,你想把"任务优先级"从三个等级(高、中、低)改成五个等级(紧急、高、中、低、不急)。你直接告诉AI"改一下优先级",它就开始修改代码。但你不知道它改了哪些文件,改完之后你发现有些地方还是旧的三个等级,有些地方是新的五个等级,数据混乱了。

② 为什么会这样

一个功能的修改往往涉及多个文件。优先级这个设定可能出现在数据定义、页面显示、筛选功能、排序功能、统计功能等多个地方。AI可能只改了它"看到"的那几个文件,遗漏了其他地方。而你不知道它改了哪里,就没法检查遗漏。 这就像你让一个人去给办公室换灯泡,但你没告诉他哪些房间需要换。他只换了走廊的灯,会议室和洗手间的还是旧的,你也不知道他到底换了哪些。

③ 很多人会这样说
"把优先级改成五个等级。" "任务优先级加两个选项。"

这样说的结果是:你不知道AI动了哪些文件,改漏了也不知道。

④ 建议这样说
"我想把任务优先级从三个等级改成五个等级。
请先不要动手修改,先扫描整个项目,告诉我所有涉及优先级的地方,列出需要修改的文件清单和每个文件里需要改的具体位置。
等我确认后再开始改。"

目标明确了:把优先级从三等级改成五等级。

范围明确了:先扫描项目,列出所有涉及位置。

限制明确了:先不要动手改,等我确认。

验证标准明确了:拿到一份完整的修改清单,覆盖所有相关文件。

⑤ AI会发生什么变化

AI会先做一个全面的代码搜索,把项目里所有出现"优先级"的地方都找出来。然后整理成一份清单,告诉你数据定义在哪、页面渲染在哪、筛选逻辑在哪、排序逻辑在哪。你看了清单,可能还会补充遗漏的地方,然后再让AI动手改。

⑥ 一句话记住
先看清单再动手,改完一处不遗漏。
4.8

告诉我可能影响哪些地方

① 开场问题

你的记账应用里,你修改了"支出分类"的数据结构,把原来的一级分类改成了两级分类(比如"餐饮"下面再分"早餐""午餐""晚餐")。你让AI改完数据定义和录入页面,但没注意到"月度统计"和"分类筛选"这两个功能也依赖旧的数据结构,结果这两个功能直接报错了。

② 为什么会这样

代码里的东西是互相依赖的。你改了底层的数据结构,所有用到这个数据的地方都可能受影响。AI改完你指定的地方就停了,它不会主动去排查"还有哪些地方用了这个数据"。 这就像把一栋楼的一楼承重墙拆了,你只修了一楼的天花板,但二楼、三楼的地板也会受影响。你不检查楼上,等到楼上的人踩空掉下来才知道出事了。

③ 很多人会这样说
"把支出分类改成两级,改一下录入页面。"

这样说的结果是:AI只改了指定的地方,其他受影响的页面报错。

④ 建议这样说
"我要把支出分类从一级改成两级。请先修改数据定义和录入页面。
改完之后,帮我扫描整个项目,找出所有使用了支出分类数据的地方,列出哪些地方可能受影响,以及每个地方需要做什么调整。
"

目标明确了:修改支出分类数据结构。

范围明确了:先改数据定义和录入,然后扫描所有影响范围。

限制明确了:不要漏掉任何使用支出分类的地方。

验证标准明确了:拿到一份完整的影响范围清单和调整建议。

⑤ AI会发生什么变化

AI会改完你指定的部分后,自动搜索项目中所有引用支出分类的代码。它会列出月度统计、分类筛选、年度报告、数据导出等所有相关页面,并告诉你每个页面需要怎么改才能适配新的两级分类结构。

⑥ 一句话记住
改完一处,排查所有关联的地方。
4.9

修改完成后重新检查

① 开场问题

你让AI给课程表应用加了导出功能,修改了三个文件。AI说"改完了",你一试,导出功能确实能用。但过了两天你才发现,课程表的时间显示出了问题——原本显示"08:00-09:30"的,现在变成了"8:0-9:30"。AI在修改导出功能时,不小心改动了时间格式的处理代码。

② 为什么会这样

AI在修改代码时,注意力集中在你要的新功能上。它可能不小心碰到了旁边的代码,或者改了一个公共函数,导致其他地方受影响。而它自己不会主动回头检查"我有没有搞坏别的东西"。 这就像你请人修水龙头,修好了水龙头确实不漏水了。但他修的时候不小心把水管接口拧松了,过了几天厨房开始漏水。他没检查整个水路系统。

③ 很多人会这样说
"改好了吗?好,我试试。"(只试了新功能,没检查旧功能。)

这样做的结果是:新功能正常,但旧功能可能已经悄悄出问题了。

④ 建议这样说
"修改完成后,请做一次全面检查。检查所有页面能否正常打开,所有按钮能否正常点击,数据读取和保存是否正常。
把检查结果汇总给我,包括正常的部分和异常的部分。
"

目标明确了:修改完成后做全面检查。

范围明确了:所有页面、所有按钮、所有数据操作。

限制明确了:不能只检查新功能,旧功能也要查。

验证标准明确了:拿到一份完整的检查结果汇总。

⑤ AI会发生什么变化

AI会像一个测试员一样,逐个检查项目的每个功能。它会打开每个页面,模拟点击每个按钮,检查数据读写。然后给你一份报告,告诉你哪些功能正常,哪些有问题。如果发现问题,它还会建议怎么修复。

⑥ 一句话记住
改完不是结束,检查完才是。
本章你真正学会的是增删改功能,说清范围和影响。
◆ ◆ ◆
◆ 这一章真正改变你的是
从"推倒重来"到"稳定迭代"——建立可持续性
第五章 让 AI 学会自己检查
核心能力:从执行者变成审查者

第五章 让 AI 学会自己检查

本章训练目标范围限制验证
💡 本章可能出现你不熟悉的专业词汇。遇到不懂的词,可以翻到附录B查看通俗解释,或直接问 AI。
5.1

检查有没有 Bug

① 开场问题

你的记账应用用了两周,一直很正常。有一天你输入了一笔金额为"0"的支出,应用直接崩溃了。你回头一看,原来是AI在写计算逻辑时,没有考虑到金额为0的情况,做除法时出了错。一个潜伏了两周的程序问题(Bug),因为一个特殊输入触发了。

② 为什么会这样

AI写代码时,默认按"正常情况"来写。它假设用户输入的都是合理的数字,不会想到有人会输入0、负数、或者特别大的数字。这些边界情况,AI不会主动去想,除非你专门提醒它。 这就像你买了一把伞,晴天用着没问题,一到下雨天发现伞面上有个洞。做伞的人只考虑了"伞能打开",没考虑"伞能挡雨"。

③ 很多人会这样说
"帮我检查一下代码有没有问题。"

这样说的结果是:AI可能随便扫一眼就说"看起来没问题",没有真正深挖。

④ 建议这样说
"请仔细检查项目中所有代码,找出可能存在的Bug。
重点关注:数学计算有没有除以零的风险、数组访问有没有越界的可能、用户输入有没有做空值判断、数据读取有没有文件不存在的处理。
每个问题请说明出在哪个文件第几行,以及怎么修。
"

目标明确了:找出所有Bug。

范围明确了:重点查数学计算、数组访问、空值判断、文件读取。

限制明确了:每个问题要定位到文件和行号。

验证标准明确了:拿到一份问题清单,附带修复建议。

⑤ AI会发生什么变化

AI会像一个经验丰富的质检员,逐行扫描代码。它会特别留意那些"看起来没问题但可能出问题"的地方。比如除法运算、数组下标、用户输入、文件操作。这些地方最容易藏Bug,AI会重点排查。

完整迭代过程

让 AI 检查,也不是一句话就能搞定。来看真实的来回。 第一轮 AI 写完代码了。

我:好了吗? AI:好了。

你打开一试,发现三个问题:一个按钮点不动,一个输入框为空时直接崩了,手机上排版还乱了。 问题在哪?AI 没有自己检查。你说"好了吗",它就当任务完成了。 第二轮

我:你检查一下有没有问题。 AI:我检查了,没问题。

你再试,还是有一个问题:删除按钮点了没反应。 检查太笼统。AI 说"检查了",其实是扫了一眼,没有一项一项去试。它不知道你说的"检查"到底要查什么。 第三轮

我:在交付之前,请按这个清单检查:1. 每个按钮能不能正常点击;
2. 输入框为空时会不会报错;
3. 手机上能不能正常显示。每项检查完告诉我结果,发现问题先自己修。

这次 AI 一项一项地查。 查到第二个的时候,它发现输入框为空确实会报错,自己先修了。查到第三个,发现手机上一个按钮被挡住了,也自己调好了。 最后告诉你:三项都查完,发现两个问题,已经修好。 交付的就是能用的。 不是"检查一下",是"检查什么"。

⑥ 一句话记住
排查Bug要指明重点,不能泛泛检查。
5.2

检查有没有遗漏功能

① 开场问题

你让AI做了一个单词学习应用,需求里写了"背单词、测试、生词本"三个功能。AI做完了,你试了一下,背单词和测试都正常,但生词本里只能看到单词,不能点进去看释义。AI漏掉了"点击生词查看详情"这个细节。

② 为什么会这样

AI对你口头描述的需求,理解可能不够完整。你心里想的"生词本"是一个完整的模块,包括列表、详情、删除、排序。但AI可能只理解成"显示生词列表"。它不会主动去想你漏掉了什么。 这就像你让裁缝做一件衣服,说了"要有领子、有口袋、有扣子"。裁缝做好了,你发现扣子缝上了但没有扣眼。你觉得"扣子"当然包括扣眼,但裁缝只理解了你说的"扣子"这两个字。

③ 很多人会这样说
"检查一下有没有漏掉什么功能。"

这样说的结果是:AI不知道你的原始需求是什么,没法对比。

④ 建议这样说
"请根据我最开始给你的需求清单,逐条检查每个功能是否完整实现了。
需求清单是:1.背单词页面 2.测试页面 3.生词本(包含列表、点击查看详情、删除、按时间排序)。
请逐一核对,告诉我哪些做完了、哪些做了一半、哪些完全没做。
"

目标明确了:按需求清单逐条检查。

范围明确了:三个功能模块,每个模块的子功能都列清楚。

限制明确了:不能笼统说"做好了",要逐条核对。

验证标准明确了:拿到一份完成度清单,标注每条的完成状态。

⑤ AI会发生什么变化

AI会拿着你的需求清单,像核对购物清单一样,一项一项去检查代码。它不会遗漏任何一个子功能,因为每个子功能都写在清单上了。如果发现某个功能只做了一半,它会明确告诉你还差什么。

⑥ 一句话记住
对照需求清单逐条核对,一条不能少。
5.3

检查有没有重复内容

① 开场问题

你的博客项目里,你让AI加了好几次功能。加了文章搜索、加了标签筛选、加了分类浏览。有一次你发现这三个功能各写了一套获取文章列表的代码,三套代码逻辑一模一样,只是变量名不同。项目里凭空多了两套重复代码。

② 为什么会这样

AI每次处理你的新需求时,都是独立写的。它不会记住"上次我已经写过获取文章列表的代码了"。当你让它加搜索功能时,它从零开始写了一套获取列表的代码;加标签筛选时,又写了一套。代码就这样悄悄重复了。 这就像你去超市买东西,每次都买一瓶酱油回家,因为你不记得家里已经有酱油了。三个月后,厨房里有五瓶酱油,占地方又浪费。

③ 很多人会这样说
"检查一下代码有没有重复。"

这样说的结果是:AI可能只检查"完全一模一样"的代码,忽略了"逻辑一样但写法不同"的重复。

④ 建议这样说
"请扫描整个项目,找出所有功能重复或逻辑相似的代码块。
比如获取文章列表、处理用户输入、格式化日期这类通用功能,是不是在多个地方各自实现了一遍。
如果有重复,请告诉我哪些文件里重复了,建议合并到哪个公共文件里。
"

目标明确了:找出所有重复代码。

范围明确了:重点关注通用功能(数据获取、输入处理、日期格式化)。

限制明确了:要指出重复位置和合并建议。

验证标准明确了:拿到一份重复代码清单,附带合并方案。

⑤ AI会发生什么变化

AI会像一个大扫除的管家,把所有代码摊开来看。它会比较不同文件里的函数,找出那些"干的事一样但名字不同"的代码。然后建议你把它们合并成一个公共函数,减少重复。

⑥ 一句话记住
一样的事情只写一次,多了就是重复。
5.4

检查有没有无用代码

① 开场问题

你的待办事项应用经历了多次修改。最初有一个"番茄钟"功能,后来你决定不要了,让AI删了入口按钮。但番茄钟的倒计时逻辑、提醒音效、休息计时器这些代码,还安静地躺在项目里。它们没有被任何地方调用,但占着空间,有时候还会干扰新功能的开发。

② 为什么会这样

AI在删除功能时,往往只删了"入口"——页面上的按钮、菜单里的链接。但背后的代码逻辑、样式文件、数据定义,可能还留在项目里。这些代码像被遗忘在阁楼里的旧家具,没人用,但占地方。 这就像你搬家了,只搬走了沙发和床,但旧房子里的衣柜、书桌、台灯还留在那里。你不住那里了,但东西还在。

③ 很多人会这样说
"帮我清理一下没用的代码。"

这样说的结果是:AI可能不确定哪些代码还在用,不敢删,或者删错了。

④ 建议这样说
"请扫描整个项目,找出所有没有被引用的代码。
包括:没有被调用的函数、没有被使用的变量、没有被导入的模块、没有被访问的页面文件。
列出清单,说明每个文件里哪些代码是无用的。
先不要删除,等我确认。"

目标明确了:找出所有无用代码。

范围明确了:函数、变量、模块、页面文件。

限制明确了:先列出清单,不要删除,等我确认。

验证标准明确了:拿到一份无用代码清单,每项标注位置和原因。

⑤ AI会发生什么变化

AI会像一个仓库管理员,盘点所有"库存"。它会追踪每个函数被谁调用、每个变量被谁使用、每个文件被谁引用。如果发现某个东西没有任何引用,就标记为"疑似无用"。它不会直接删,而是让你确认,因为有些代码可能是"备用的"。

⑥ 一句话记住
没人用的代码就是垃圾,早清理早轻松。
5.5

检查有没有逻辑问题

① 开场问题

你的单词学习应用里,AI写了一个判断"是否通过测试"的逻辑:正确率大于60%就算通过。但你发现正确率刚好等于60%的时候,显示的是"未通过"。你一看代码,AI写的是"正确率 > 60",把等于的情况漏掉了。

② 为什么会这样

AI在写条件判断时,有时候会忽略"等于"这个边界情况。大于60和大于等于60,差了一个等号,但结果完全不同。这种逻辑错误不会让程序崩溃,所以很难被发现,但结果就是错的。 这就像你定了一个规矩:"考试60分以上及格"。但执行的人理解成了"超过60分才及格"。考了60分的同学,明明达标了,却被判不及格。

③ 很多人会这样说
"检查一下代码逻辑对不对。"

这样说的结果是:AI可能只看代码结构,不会深入测试每个条件分支。

④ 建议这样说
"请检查项目中所有的条件判断逻辑,重点关注:大于和大于等于有没有搞混、小于和小于等于有没有搞混、'并且'和'或者'有没有用错、if-else的分支有没有遗漏的情况。
每个条件判断,请用几个测试数据验证一下。"

目标明确了:检查所有条件判断逻辑。

范围明确了:大小比较、与或关系、分支完整性。

限制明确了:每个判断要用测试数据验证。

验证标准明确了:找出所有逻辑错误,附带测试数据说明。

⑤ AI会发生什么变化

AI会像一个数学老师批改作业一样,逐个检查每个条件判断。它会用边界值去测试:等于的情况、大于的情况、小于的情况、为空的情况。如果发现逻辑漏洞,它会用具体的数字举例说明为什么这里会出错。

⑥ 一句话记住
条件判断最容易藏错,边界值一测就露馅。
5.6

检查有没有容易出错的地方

① 开场问题

你的记账应用里,用户输入金额时,AI没有做任何限制。结果有人输入了中文字"一百元",有人输入了负数"-500",有人输入了科学计数法"1e10"。数据库里存了一堆乱七八糟的数据,统计功能直接报废了。

② 为什么会这样

AI写代码时,默认用户会好好输入。它不会主动想"如果有人乱输入怎么办"。但对真实用户来说,什么都可能发生。输入框里什么都可能填,按钮可能被连续点击十次,网络可能突然断开。 这就像你开了一家餐厅,门是开着的,但没有贴"衣冠不整谢绝入内"。结果有人光着脚进来、有人带宠物进来、有人大声喧哗。你没有设置规则,就只能接受一切。

③ 很多人会这样说
"检查一下有没有容易出错的地方。"

这样说的结果是:AI不知道"容易出错"指的是什么场景。

④ 建议这样说
"请检查项目中用户可能犯错的地方。重点关注:输入框有没有做格式校验(数字不能填中文、日期不能填乱码)、按钮有没有防止重复点击、删除操作有没有二次确认、网络请求失败有没有提示。
列出每个风险点,并给出修复建议。"

目标明确了:找出用户容易出错的地方。

范围明确了:输入校验、重复点击、删除确认、网络失败提示。

限制明确了:每个风险点要给出修复建议。

验证标准明确了:拿到一份风险清单和修复方案。

⑤ AI会发生什么变化

AI会像一个安全员,站在用户的角度去想"如果我乱来会怎样"。它会模拟各种不靠谱的操作:输入框里填奇怪的东西、连续狂点按钮、在加载过程中关掉页面。然后告诉你哪些地方缺少防护。

⑥ 一句话记住
防呆设计不是多余,是替用户兜底。
5.7

检查有没有异常情况没有处理

① 开场问题

你的课程表应用里,数据存在本地手机上。有一天手机存储空间满了,应用在保存课程数据时失败了,但AI没有写"保存失败"的处理逻辑。应用假装保存成功了,用户以为课程已经存好,关掉应用再打开,数据全丢了。

② 为什么会这样

AI写代码时,默认一切操作都会成功。文件保存?成功。数据读取?成功。网络请求?成功。但真实世界不是这样的。文件可能写不进去,数据可能读不出来,网络可能连不上。AI不写错误处理,是因为你没让它写。 这就像你出门旅行,默认天气一定是晴天,不带伞。结果半路下大雨,你只能淋着。规划的时候没考虑"如果下雨怎么办",遇到意外就只能干瞪眼。

③ 很多人会这样说
"检查一下有没有没处理的异常情况。"

这样说的结果是:AI不知道你说的"异常"具体指什么。

④ 建议这样说
"请检查项目中所有可能失败的操作,有没有写错误处理。
重点关注:文件读写有没有处理失败的情况、网络请求有没有处理超时和断网、数据解析有没有处理格式错误、用户输入有没有处理空值和非法值。
每个遗漏的地方,请补上错误提示和处理逻辑。
"

目标明确了:检查所有错误处理是否完整。

范围明确了:文件读写、网络请求、数据解析、用户输入。

限制明确了:每个遗漏要补上错误提示和处理逻辑。

验证标准明确了:任何可能失败的操作都有对应的错误处理。

⑤ AI会发生什么变化

AI会像一个防灾检查员,假设一切都会出问题。它会检查每个可能失败的操作,看看有没有"如果失败了怎么办"的代码。如果发现某个操作只有"成功路径"没有"失败路径",就会标记出来,并补上对应的处理。

边界情况速查表

你让AI检查异常情况时,如果只说"检查异常",它默认只看"正常情况"。以下是常见的边界情况类型,检查时逐条点名: | 边界情况 | 举例 | |---------|------| | 空值/空输入 | 用户没填任何内容就点了提交 | | 零值 | 除数为0、数量为0 | | 负数 | 年龄为-1、金额为负 | | 超大值 | 输入了一百万个字符 | | 类型不对 | 数字框里填了文字 | | 格式错误 | 邮箱没有@符号、日期格式不对 | | 并发/同时操作 | 两个人同时修改同一条数据 | 检查时,不要泛泛说"检查异常情况",而是具体点名:"重点检查空输入、零值、负数、超大值、类型不对这几种边界情况"。你也可以加一句"也帮我想想还有哪些我没列到的边界情况",让AI帮你补漏。

⑥ 一句话记住
每个操作都要想好"失败了怎么办"。
5.8

检查有没有性能问题

① 开场问题

你的单词学习应用里有一个"全部单词"页面,列出了5000个单词。每次打开这个页面,AI的代码都会把5000条数据一次性加载到页面上,手机卡了五秒钟才显示出来。更糟糕的是,每次搜索一个单词,AI都会重新遍历全部5000条数据,而不是用索引

② 为什么会这样

AI写代码时,默认数据量很小。它用最简单的方式实现功能:全部加载、全部遍历。这在数据少的时候没问题,但数据一多就卡。AI不会主动想"如果数据变多了怎么办",除非你提醒它。 这就像你开了一家小卖部,货少的时候随便放,找东西也不费劲。后来生意做大了,进货量翻了一百倍,你还是按老办法找货,在仓库里翻半天才能找到一瓶酱油。

③ 很多人会这样说
"检查一下性能,看看有没有慢的地方。"

这样说的结果是:AI可能不知道你的数据量,无法判断哪里会慢。

④ 建议这样说
"请检查项目中的性能问题。重点关注:列表页面有没有做分页加载而不是一次性加载全部数据、搜索功能有没有用索引而不是遍历全部数据、重复计算的结果有没有缓存、大文件读取有没有用分段读取。
请说明当前数据量下可能有多慢,以及怎么优化。
"

目标明确了:找出性能瓶颈。

范围明确了:列表加载、搜索、重复计算、大文件读取。

限制明确了:要说明慢的程度和优化方案。

验证标准明确了:拿到一份性能问题清单和优化建议。

⑤ AI会发生什么变化

AI会像一个交通规划师,分析数据流动的路径。它会问自己:这条路是不是太堵了?能不能分流?能不能抄近路?它会找出那些"数据量大了就会慢"的地方,然后提出优化方案,比如分页、缓存、索引。

⑥ 一句话记住
数据少的时候不觉得慢,但迟早会变多。
5.9

检查有没有安全风险

① 开场问题

你的博客应用里,用户可以发表评论。AI在显示评论时,直接把用户输入的内容拼到了页面上。有一天有人发了一条评论,内容是一段脚本代码,结果所有打开这个页面的人,浏览器都弹出了一个广告窗口。这就是典型的跨站脚本攻击。

② 为什么会这样

AI写代码时,不会主动考虑安全问题。它默认用户输入的内容是"无害的文字",直接显示出来就好。但实际上,用户输入的内容可能包含恶意代码。如果不对用户输入做过滤,别人就可以在你的网页上执行任意代码。 这就像你开了一个留言板,任何人可以在上面贴纸条。但你没有检查纸条内容,有人贴了一张"请到隔壁店买东西"的广告,所有来你店里的人都被误导了。

③ 很多人会这样说
"检查一下有没有安全问题。"

这样说的结果是:AI可能只做表面检查,漏掉深层风险。

④ 建议这样说
"请检查项目中的安全风险。重点关注:用户输入的内容有没有做过滤和转义、密码有没有明文存储、敏感数据有没有加密、有没有防止别人直接通过地址访问后台页面。
每个风险点请说明严重程度和修复方案。"

目标明确了:找出所有安全风险。

范围明确了:输入过滤、密码存储、数据加密、页面权限

限制明确了:每个风险要标注严重程度。

验证标准明确了:拿到一份安全风险报告,附带修复方案。

⑤ AI会发生什么变化

AI会像一个保安,检查所有"入口"是否安全。用户输入的内容要过滤,密码要加密存储,敏感操作要验证身份。它会找出那些"看起来能用但容易被攻击"的地方,告诉你风险在哪里,怎么堵上漏洞。

⑥ 一句话记住
安全不是可选项,是底线。
5.10

检查有没有命名混乱

① 开场问题

你的待办事项应用里,同样是"任务"这个概念,有的地方叫"task",有的地方叫"item",有的地方叫"todo"。同一个意思用了三个不同的名字。你让AI改一个功能时,它只改了叫"task"的地方,叫"item"和"todo"的没改,功能又出问题了。

② 为什么会这样

AI在不同时间帮你写代码,给变量起名时没有统一的标准。第一次叫"task",第二次叫"item",第三次叫"todo"。AI不觉得这是问题,因为它每次只关注当前的任务。但对你来说,维护起来就头疼了。 这就像你公司里,同一个客户,销售部叫他"李总",财务部叫他"李老板",技术部叫他"客户A"。三个部门在讨论同一个人的时候,各说各的,完全对不上。

③ 很多人会这样说
"检查一下命名有没有问题。"

这样说的结果是:AI可能只检查拼写错误,不检查命名一致性。

④ 建议这样说
"请扫描整个项目,检查命名是否统一。重点关注:同一个概念有没有用不同的名字、函数名和它做的事是否匹配、变量名能不能一眼看出是什么、有没有用拼音或缩写。
请列出所有命名混乱的地方,并建议统一改成什么。
"

目标明确了:统一项目命名。

范围明确了:概念名、函数名、变量名。

限制明确了:每个混乱点要给出统一建议。

验证标准明确了:拿到一份命名问题清单和统一方案。

⑤ AI会发生什么变化

AI会像一个编辑,通读整个项目的"词汇表"。它会找出所有"一词多译"和"多词一义"的情况,然后建议统一命名。比如项目中所有表示"任务"的地方,统一叫"task",不再混用"item"和"todo"。

⑥ 一句话记住
同一个东西永远叫同一个名字。
5.11

检查有没有用户体验问题

① 开场问题

你的记账应用里,添加一笔支出需要填五个字段,但"保存"按钮在页面最底部,需要往下滑才能看到。很多用户填完数据后,找不到保存按钮,以为应用坏了。还有一个问题:删除一条记录后,没有任何提示,用户不确定是不是真的删掉了。

② 为什么会这样

AI关注的是"功能能不能用",而不是"好不好用"。按钮在底部,功能上没问题,但用户找不到。删除了不提示,功能上也没问题,但用户心里不踏实。AI不会主动从用户的角度去想"这样用起来舒服吗"。 这就像你设计了一个门,门能打开,功能没问题。但你把门把手装在门的最下方,需要弯腰才能够到。门确实能开,但用起来很别扭。

③ 很多人会这样说
"检查一下用户体验。"

这样说的结果是:AI不知道什么是"好的用户体验",说不出具体问题。

④ 建议这样说
"请从用户的角度检查整个应用。重点关注:按钮位置是否容易找到、操作后有没有反馈提示、页面加载时有没有进度提示、错误提示是否清晰易懂、文字是否太小或太密。
每个问题请说明为什么体验不好,以及怎么改。
"

目标明确了:找出用户体验问题。

范围明确了:按钮位置、操作反馈、加载提示、错误提示、文字排版。

限制明确了:每个问题要说明原因和改进方案。

验证标准明确了:拿到一份用户体验问题清单和改进建议。

⑤ AI会发生什么变化

AI会像一个产品体验师,亲自"使用"一遍你的应用。它会留意每个操作是否顺畅、每次点击是否有反馈、每条提示是否看得懂。它会从"第一次用这个应用的人"的角度来审视,找出那些让人困惑的地方。

⑥ 一句话记住
功能能用只是及格,用着舒服才叫好。
5.12

模拟真实用户使用

① 开场问题

你的单词学习应用,你自己用着一直没问题。但给朋友试用后,朋友说"背单词的时候手机来电话了,回来之后进度全丢了"。你自己测试的时候从来没接过电话,所以没发现这个问题。

② 为什么会这样

你自己测试的时候,是按"理想流程"走的:打开应用、背单词、完成、退出。但你不会模拟"中途接电话""切换到微信回消息""手机没电自动关机"这些真实场景。而真实用户什么情况都会遇到。 这就像你设计了一把椅子,自己坐上去试了试,挺舒服的。但你没试过"胖子坐上去会不会塌""小孩爬上去会不会翻""老人坐久了腰会不会疼"。不同的用户,用法完全不同。

③ 很多人会这样说
"帮我测试一下应用。"

这样说的结果是:AI只会按最简单的流程走一遍,不会模拟真实场景。

④ 建议这样说
"请模拟一个真实用户来使用我的应用。场景是:一个大学生,早上在地铁上用手机背单词,过程中收到了微信消息,切换到微信回复,然后切回来继续背。
背到一半手机没电关机了,晚上回家充电后重新打开应用。
请走一遍这个流程,记录每一步的结果,看看有没有数据丢失、状态错乱、闪退等问题。
"

目标明确了:模拟真实用户场景。

范围明确了:具体场景——地铁背单词、中途切应用、断电、恢复。

限制明确了:每一步都要记录结果。

验证标准明确了:拿到一份完整的场景测试报告。

⑤ AI会发生什么变化

AI会像一个演员,进入角色去使用你的应用。它会模拟各种打断、中断、恢复的场景,检查数据是否完整、状态是否正确。它会发现那些"你自己永远发现不了"的问题,因为你自己用的时候太"规矩"了。

⑥ 一句话记住
真实用户不会按你的套路出牌。
5.13

模拟极端情况

① 开场问题

你的记账应用运行两个月了,记录了两千多条数据。有一天你想导出所有数据,点了导出按钮,应用卡死了。因为AI在写导出功能时,默认数据量很小,一次性把所有数据读入内存再导出。两千条数据直接撑爆了内存。

② 为什么会这样

AI写代码时,测试用的是三五条数据。它不会想到两个月后会有两千条。它更不会想到,如果用户连续记录五年,可能会有几万条数据。极端情况在AI的"默认思维"里是不存在的。 这就像你造了一座桥,测试的时候只让一辆小车通过,没问题。但你没有测试"如果十辆大卡车同时上桥会怎样"。平时不会发生,但发生了就是灾难。

③ 很多人会这样说
"测一下极端情况。"

这样说的结果是:AI不知道你说的"极端"是多极端。

④ 建议这样说
"请模拟以下极端情况测试我的应用:1.数据量达到一万条时,列表页面加载速度如何 2.用户连续快速点击按钮二十次,会不会重复提交 3.输入框里填入一千个字,页面会不会变形 4.同时打开十个页面,内存会不会爆。
每个场景请说明测试结果和问题。"

目标明确了:测试极端情况。

范围明确了:大数据量、快速点击、超长输入、多页面同时打开。

限制明确了:每个场景要说明测试结果。

验证标准明确了:拿到一份极端场景测试报告。

⑤ AI会发生什么变化

AI会像一个压力测试员,专门找"最坏的情况"。它会故意把数据量放大一百倍、操作速度加快十倍、输入内容拉到极限,然后观察应用的表现。这些测试能帮你提前发现那些"平时不会遇到但遇到了就完蛋"的问题。

⑥ 一句话记住
平时不会发生的事,测试时必须发生。
5.14

重新审查整个项目

① 开场问题

你的博客项目做了三个月,期间加了很多功能:文章管理、评论系统、标签分类、搜索、数据统计。你每次加功能都是单独让AI做的,从来没整体检查过。最近你发现项目越来越慢,代码越来越乱,但不知道问题出在哪。

② 为什么会这样

项目是一点一点长起来的,像一棵树,枝条越来越多。每次加功能时,只看了那根枝条,没看整棵树。时间长了,枝条互相缠绕,有些枯死了,有些挡住了阳光。你需要退后一步,看整棵树的状态。 这就像你装修房子,今天加个柜子,明天加个灯,后天加个架子。每次加的时候只看了那一面墙,没看整个房间。三个月后,房间塞得满满当当,走路都困难。

③ 很多人会这样说
"帮我看看项目整体怎么样。"

这样说的结果是:AI不知道从哪些维度评估,给不出有价值的反馈。

④ 建议这样说
"请对整个项目做一次全面审查。从以下维度评估:代码结构是否清晰、功能是否完整、有没有重复代码、有没有性能瓶颈、有没有安全隐患、命名是否统一、错误处理是否完善。
每个维度请打分(1-10分),并说明扣分原因和改进建议。
"

目标明确了:全面审查项目。

范围明确了:七个维度——结构、功能、重复、性能、安全、命名、错误处理。

限制明确了:每个维度打分并说明原因。

验证标准明确了:拿到一份项目体检报告,每个维度有分数和改进建议。

⑤ AI会发生什么变化

AI会像一个体检医生,从头到脚检查你的项目。它会拿着七项指标逐项评估,给出一个"健康分数"。不是笼统地说"还行"或"有点乱",而是具体到每个维度:哪里健康、哪里亚健康、哪里需要治疗。

⑥ 一句话记住
项目也要定期体检,不能只加功能。
5.15

生成完整检查报告

① 开场问题

你让AI检查过好几次项目,每次它都把结果写在聊天里。你想着"回头整理",但从来没整理过。过了一周,你完全忘了上次检查出了什么问题,哪些修了、哪些没修。问题清单散落在十几段聊天记录里。

② 为什么会这样

AI在聊天里汇报结果,这是它的习惯。但聊天记录是"流水账",不适合做记录和追踪。你需要一个结构化的文档,能清楚地看到:发现了什么问题、严重程度如何、修了没有、谁负责修。 这就像你去看病,医生口头告诉你"血压有点高,胆固醇也偏高,还有两项指标需要复查"。你出了诊室就忘了一半。你需要一张体检报告,每一项写得清清楚楚,回去还能慢慢看。

③ 很多人会这样说
"把检查结果整理一下。"

这样说的结果是:AI可能简要总结一下,不够详细,不够结构化。

④ 建议这样说
"请根据本次全面检查的结果,生成一份完整的检查报告。
报告结构如下:一、总体评分(按5.14节的七个维度打分)二、问题清单(按严重程度排序,每个问题包括:问题描述、所在文件、严重程度、修复建议、是否已修复)三、优化建议(按优先级排序,非紧急但值得改进的地方)四、下一步行动清单。
请保存为独立文件。"

目标明确了:生成一份结构化检查报告。

范围明确了:总体评分、问题清单、优化建议、行动清单。

限制明确了:问题按严重程度排序,每个问题有完整信息。

验证标准明确了:拿到一份可以保存、追踪、执行的检查报告。

⑤ AI会发生什么变化

AI会像一个专业的审计师,把所有发现的问题整理成一份正式报告。报告有结构、有优先级、有责任人、有截止日期。你可以拿着这份报告,一条一条地去修,修完一条勾一条,不会遗漏。

⑥ 一句话记住
检查结果要写下来,写下来才能追踪。
5.16

上线前的安全检查清单

本章你真正学会的是让 AI 自己检查,从执行者变成审查者。
◆ ◆ ◆
◆ 这一章真正改变你的是
从"我来检查"到"AI 自己检查"——角色转变
第六章 项目完成以后,还要和 AI 做什么
核心能力:整理、总结、交付

第六章 项目完成以后,还要和 AI 做什么

本章训练目标范围限制验证
💡 本章可能出现你不熟悉的专业词汇。遇到不懂的词,可以翻到附录B查看通俗解释,或直接问 AI。
6.1

整理整个项目

① 开场问题

代码写完了,功能都能跑了。可你看着满屏的文件,不知道哪些是临时的,哪些是真正有用的。想把项目整理干净,但不知道该从哪里下手。

② 为什么会这样

开发过程中,AI 会生成很多中间文件。测试用的临时代码、试错留下的废弃文件、不同版本的备份。这些东西混在一起,时间一长,项目就变成了一团乱麻。

③ 很多人会这样说
"帮我整理一下项目。"

这句话太模糊了。AI 不知道你说的"整理"是删文件、改结构、还是写注释。它可能随便做点什么,也可能什么都不做,问你"整理是什么意思"。

④ 建议这样说
"这个项目功能已经开发完成了。请帮我做一次全面整理。
目标:清理掉所有临时文件和测试代码,只保留正式功能代码。
范围:只整理 src 目录下的代码,不要动配置文件
限制:删除任何文件前先告诉我,等我确认。验证:整理完后,列出删除了哪些文件,以及为什么删除。"

四步公式拆解:

  • 目标:清理临时文件和测试代码,保留正式功能代码
  • 范围:只整理 src 目录,不动配置文件
  • 限制:删除前先确认
  • 验证:列出删除清单和原因
⑤ AI 会发生什么变化

AI 会先扫描整个项目,标记出疑似临时文件、测试代码、重复内容。然后逐项列出,等你确认后再删除。整理完成后,给你一份清理报告,告诉你哪些东西被移除了,项目现在干净了多少。

⑥ 一句话记住
整理项目要说清"清什么、留什么、怎么清"。
6.2

整理目录结构

① 开场问题

项目文件东一个西一个,有的在根目录,有的在 src 里,有的在不知道哪来的文件夹里。找个文件要找半天,结构混乱得让人头疼。

② 为什么会这样

项目是逐步长出来的,不是一次规划好的。每个新功能往里面加文件的时候,可能在意的只是"能跑就行",没顾上目录结构。等反应过来,已经乱得没法看了。

③ 很多人会这样说
"帮我把目录整理一下。"

AI 不知道你想要的目录结构长什么样。它可能把文件按类型分,也可能按功能分,但大概率不是你想要的。

④ 建议这样说
"现在项目的目录结构比较乱。请帮我重新规划目录结构。
目标:让文件按功能模块分组,每个模块的组件、样式、逻辑放在一起。
范围:只整理 src 目录,配置文件保持在根目录不动。
限制:不要改变任何文件的导入路径,所有引用必须保持有效。验证:整理完成后,运行一遍项目,确认没有报错。"

四步公式拆解:

  • 目标:按功能模块分组,组件和样式放在一起
  • 范围:只整理 src 目录,配置文件不动
  • 限制:不改变导入路径,引用保持有效
  • 验证:运行项目确认无报错
⑤ AI 会发生什么变化

AI 会先分析现有文件的依赖关系,画出一个清晰的模块图。然后提出新的目录方案,同时更新所有文件中的导入路径,保证引用不会断。最后运行项目验证,确认一切正常。

⑥ 一句话记住
整理目录要说"按什么规则分、动哪里不动哪里"。
6.3

编写开发说明

① 开场问题

项目做完了,但如果过两个月你再看这段代码,可能连自己都看不懂了。更别说别人接手这个项目,对着代码一脸茫然。

② 为什么会这样

开发的时候,脑子里装满了上下文。你知道这个函数为什么这样写,那个变量代表什么。但这些知识只存在于你的脑子里,没有写下来。时间一长,连你自己都忘了。

③ 很多人会这样说
"帮我写一下文档。"

这太笼统了。AI 不知道你要写什么文档、写给谁看、写多详细。它可能给你生成一份又长又空的模板,看了等于没看。

④ 建议这样说
"请帮我写一份开发说明文档。
目标:让新加入的开发者能在半天内理解项目结构,并开始修改代码。
范围:包括项目目录结构说明、技术选型理由、核心模块的职责说明、数据流走向。
限制:不要写代码注释里的内容,只写代码注释里没有的架构层面的东西。验证:文档写完后,你自己读一遍,删掉任何对开发者没有实际帮助的空话。"

四步公式拆解:

  • 目标:新开发者半天内能理解项目并开始修改
  • 范围:目录结构、技术选型、核心模块、数据流
  • 限制:不写代码注释已有的内容,只写架构层面
  • 验证:AI 自检,删除空话
⑤ AI 会发生什么变化

AI 会站在新人的视角,从项目入口开始,逐步解释整体架构。它不会逐行解释代码,而是告诉你"这个模块负责什么""数据从哪里流向哪里"。生成的文档简洁、有料、能真正帮到人。

⑥ 一句话记住
写文档要说"写给谁看、看多久能懂、写什么不写什么"。
6.4

编写使用说明

① 开场问题

你把项目发给朋友试用,对方问了一堆问题:怎么安装?怎么启动?点了这个按钮会怎样?你才发现,项目缺了一份给用户看的说明书。

② 为什么会这样

你太熟悉自己的项目了,觉得"这么简单还需要说明吗"。但对第一次接触的人来说,每一个步骤都是未知的。他们不知道依赖怎么装,不知道配置怎么填,不知道第一步该做什么。

③ 很多人会这样说
"帮我写个使用说明。"

AI 不知道你的用户是谁,是技术人员还是普通用户,是命令行操作还是网页操作。生成的说明可能文不对题。

④ 建议这样说
"请帮我写一份给普通用户的使用说明。
目标:一个不懂编程的人,按照说明能在 10 分钟内成功启动并使用项目。
范围:包括安装步骤、启动方法、主要功能操作、常见问题解答。
限制:不要使用任何技术术语,所有步骤用截图后的文字描述代替。验证:用最笨的方法走一遍流程,看看有没有漏掉的步骤。"

四步公式拆解:

  • 目标:不懂编程的人 10 分钟内启动并使用
  • 范围:安装、启动、主要功能、常见问题
  • 限制:不用术语,用文字描述替代截图
  • 验证:走一遍流程查漏
⑤ AI 会发生什么变化

AI 会切换到"零基础用户"的视角,从下载、安装、配置到启动,每一步都写得清清楚楚。它会尽量避免"假设你知道",把每一个隐藏的步骤都显式地写出来。生成的说明像一份傻瓜教程,跟着做就能跑通。

⑥ 一句话记住
写使用说明要说"给谁用、多久上手、用什么语言"。
6.5

编写部署说明

① 开场问题

项目在你自己电脑上跑得好好的,放到服务器上就各种报错。环境不对、配置不对、端口冲突。你折腾了半天,发现全是部署的坑。

② 为什么会这样

开发环境生产环境是两回事。你本地的操作系统、依赖版本、网络配置,和服务器上可能完全不同。如果在写代码的时候没考虑部署,上线的时候就会吃大亏。

③ 很多人会这样说
"帮我写个部署文档。"

AI 不知道你的部署环境是什么。是云服务器还是物理机?用什么操作系统?有没有容器化?一句话说不清楚,文档也写不准确。

④ 建议这样说
"请帮我写一份部署说明。
目标:运维人员按照文档,能在 30 分钟内完成从零到上线的部署。
范围:包括运行环境要求、依赖安装、配置项说明、启动命令、健康检查方式。
限制:严格按照项目当前的实际配置来写,不要凭空假设环境。验证:列出部署过程中最容易出错的 5 个步骤,并给出排查方法。"

四步公式拆解:

  • 目标:运维人员 30 分钟完成从零到上线
  • 范围:环境要求、依赖安装、配置、启动、健康检查
  • 限制:按实际配置写,不凭空假设
  • 验证:列出最易出错的 5 步及排查方法
⑤ AI 会发生什么变化

AI 会先读取项目的所有配置文件,搞清楚真实的依赖和环境要求。然后写出每一步的具体命令,而不是含糊的"安装依赖"。最后还会给出故障排查清单,遇到问题知道先查哪里。

⑥ 一句话记住
写部署说明要说"什么环境、什么命令、出错了怎么查"。
6.6

总结本次开发

① 开场问题

项目做完了,但你总觉得少了点什么。想回顾一下这次开发的过程,总结一下经验教训,但不知道从何说起。

② 为什么会这样

开发过程中,你一直在解决眼前的问题,没时间停下来思考。等做完了,很多细节已经忘了。哪些决定是对的,哪些走了弯路,都淹没在过程里了。

③ 很多人会这样说
"帮我总结一下项目。"

AI 不知道你想总结什么。是总结代码质量?还是总结开发过程?还是总结功能完成度?它可能给你一份泛泛的流水账。

④ 建议这样说
"项目开发已经完成。请帮我做一次全面的项目总结。
目标:从三个方面总结——功能完成情况、技术实现亮点、开发过程中的经验教训。
范围:基于整个项目的代码和我们的对话记录。
限制:不要说空话,每个结论都要有具体的代码或对话依据。验证:总结中至少包含一条'下次可以改进的地方',以及对应的改进建议。"

四步公式拆解:

  • 目标:功能完成情况、技术亮点、经验教训三方面总结
  • 范围:基于代码和对话记录
  • 限制:每个结论都要有依据
  • 验证:至少一条改进项及建议
⑤ AI 会发生什么变化

AI 会回顾整个开发过程,从第一次对话到最后一次修改,梳理出项目的演进脉络。它会告诉你哪些功能是一次就做对的,哪些反复修改了很多次,从中可以学到什么。总结不是泛泛而谈,而是有具体案例支撑的复盘。

⑥ 一句话记住
项目总结要说"总结什么、依据什么、有什么改进"。
6.7

整理更新记录

① 开场问题

项目改了很多次,加了很多功能,修了很多程序问题。但如果有人问你"这个版本和上个版本有什么区别",你只能含糊地说"改了很多东西"。

② 为什么会这样

每次修改都很小,你觉得不值得记录。但积少成多,几十次小修改加起来,版本之间已经面目全非了。没有记录,以后想回溯都找不到线索。

③ 很多人会这样说
"帮我写个更新日志。"

AI 不知道你的项目从什么时候开始,不知道改了什么。它只能根据代码的历史记录猜测,可能漏掉很多重要的变更。

④ 建议这样说
"请帮我整理一份更新记录。
目标:记录从项目开始到现在的所有重要变更,按时间倒序排列。
范围:包括新增功能、修复的问题、性能改进、界面调整。
限制:每个条目一行,不要展开太多细节,细节留给代码注释。验证:检查每个条目是否能让读者一眼看懂'改了什么'和'为什么改'。"

四步公式拆解:

  • 目标:记录所有重要变更,按时间倒序
  • 范围:新增功能、修复问题、性能改进、界面调整
  • 限制:每个条目一行,细节留给代码注释
  • 验证:每条都能看懂"改了什么"和"为什么改"
⑤ AI 会发生什么变化

AI 会从代码版本记录和对话历史中提取所有变更,按时间整理成一份清晰的更新记录。每个条目都简洁明了,格式统一,方便以后查阅。不像技术文档那么重,但足以让你知道项目是怎么一步步走到今天的。

⑥ 一句话记住
更新记录要写"改了啥、为什么改、什么时候改的"。
6.8

下一步还能做什么

① 开场问题

项目做完了,功能都实现了。但你总觉得还能做得更好,只是不知道从哪方面入手。加新功能?还是改进现有的?优先级怎么排?

② 为什么会这样

做完一个项目后,你离它太近了,反而看不清全局。你只知道还有 100 个想法没做,但不知道哪些值得做、哪些做了会后悔。

③ 很多人会这样说
"接下来还能做什么?"

AI 不了解你的业务目标,不知道你的用户是谁,不知道你的时间预算。它可能给你一个长长的清单,但大部分都不切实际。

④ 建议这样说
"项目当前版本已经完成。请帮我分析下一步可以做什么。
目标:从三个维度提出建议——功能增强(哪些功能值得加)、质量提升(哪些地方需要加固)、体验优化(哪些交互可以改进)。
范围:只分析当前项目已有的代码和功能,不要凭空想象新方向。
限制:每个建议都要说明'为什么现在做'和'预计工作量'。验证:把所有建议按优先级排序,排前三的详细说明理由。"

四步公式拆解:

  • 目标:功能增强、质量提升、体验优化三个维度
  • 范围:只分析已有代码,不想象新方向
  • 限制:每个建议说明"为什么现在做"和"预计工作量"
  • 验证:按优先级排序,前三名详细说明
⑤ AI 会发生什么变化

AI 会基于当前项目的实际情况,而不是泛泛的行业趋势,给出量身定制的建议。它会告诉你哪些地方现在做最划算,哪些可以等等。每个建议都带着理由和工作量预估,让你能做出明智的决策。

⑥ 一句话记住
规划下一步要说"哪个方向、为什么现在做、要花多少时间"。
6.9

哪些地方以后容易出问题

① 开场问题

项目跑得挺好,但你心里不踏实。总感觉有些地方不太稳,说不上来哪儿不对,可就是觉得以后可能会出问题。

② 为什么会这样

开发时为了赶进度,有些地方可能写了"能用就行"的代码。有些逻辑可能没考虑全面,有些边界情况没处理。这些隐患现在没事,但一旦遇到特殊情况,就会暴露出来。

③ 很多人会这样说
"帮我看看哪里有问题。"

AI 会检查代码,但它不知道你关心的"问题"是什么。是安全漏洞?是性能瓶颈?还是代码规范?它可能查出一堆格式问题,但漏掉了真正的逻辑隐患。

④ 建议这样说
"请帮我做一次风险排查。
目标:找出项目中未来最容易出问题的 10 个地方,重点关注数据安全、边界条件处理、异常处理并发情况。
范围:检查所有业务逻辑代码,不检查样式和配置。
限制:每个风险点都要说明'什么情况下会出问题'和'出问题的影响有多大'。验证:对每个风险点,给出一个具体的修复方案。"

四步公式拆解:

  • 目标:找出最容易出问题的 10 个地方
  • 范围:检查业务逻辑,不检查样式和配置
  • 限制:每个风险说明触发条件和影响程度
  • 验证:每个风险点给出修复方案
⑤ AI 会发生什么变化

AI 会像安全审计员一样审视代码,重点关注那些"看起来正常但藏着隐患"的地方。比如没有处理空值的变量、没有限制的循环、没有超时机制的网络请求。它会告诉你:什么情况下会炸、炸了影响多大、怎么修。

⑥ 一句话记住
排查风险要说"找什么风险、什么条件触发、怎么修"。
6.10

为下一次开发做好准备

① 开场问题

项目做完了,你想休息一下。但你知道,过不了多久又会打开这个项目继续开发。到时候,你还能记得现在的上下文吗?还能快速上手吗?

② 为什么会这样

人的记忆是有限的。现在你脑子里装了项目的所有细节,但一个月后,这些细节会模糊。到时候重新打开项目,要花大量时间重新熟悉,效率大打折扣。

③ 很多人会这样说
"帮我备份一下项目。"

备份只是复制文件,不解决上下文丢失的问题。下次打开项目,你面对的还是同样的代码,只是脑子里没有了当时的记忆。

④ 建议这样说
"请帮我为下一次开发做好准备。
目标:让一个月后的我,能在 15 分钟内重新进入开发状态。
范围:包括项目当前状态概述、未完成的功能列表、开发环境配置、关键决策记录。
限制:不要写长篇大论,每个部分控制在 500 字以内。验证:写完以后,你自己判断——如果是一个完全不了解项目的人,看完这些能开始动手改代码吗?"

四步公式拆解:

  • 目标:一个月后 15 分钟内重新进入开发状态
  • 范围:当前状态、未完成功能、环境配置、关键决策
  • 限制:每部分不超过 500 字
  • 验证:完全不了解的人看完能开始改代码
⑤ AI 会发生什么变化

AI 会生成一份"项目交接手册",浓缩了所有关键信息。当前项目在什么状态、哪些功能还没做完、环境怎么搭、之前做了哪些重要决策。这份手册不是又长又臭的文档,而是精炼的"重新入场指南",让你下次打开项目时,不用从头摸索。

⑥ 一句话记住
为下次准备要说"下次要记住什么、怎么快速上手"。 ## 本章回顾 项目做完不等于项目完成。代码写完了只是第一步,真正的交付还包括整理、归档、总结、交接。这些工作看起来不紧急,但决定了你的项目是"能用一阵子"还是"能维护很久"。 学会和 AI 一起做收尾工作,你交付的不只是一段代码,而是一个完整的、可维护的软件产品。 章末收获:学会让项目真正"完成",而不是"代码写完了"。
6.11

怎么让别人也能访问?——上线实操指南

你需要什么?

做一个网站上线,你需要两样东西:

  • 域名:别人在浏览器里输入的地址(比如 zhouyuku.com
  • 服务器/托管平台:放你代码的地方,24 小时运行

第一步:买域名

域名去哪买?问 AI:

"我是一个新手,想买一个域名用来做个人网站。
请告诉我:域名去哪里买比较靠谱?买什么后缀好(.com 还是 .cn)?
大概多少钱?买完之后需要做什么?"

AI 会推荐几个域名注册商,告诉你怎么注册、怎么选后缀。

第二步:选托管平台

不用自己买服务器。现在有很多免费或便宜的托管平台,适合新手:

"我的项目是一个[你的项目类型,比如 React 网站 / 静态网页 / Node.js 应用]。
请推荐适合新手的托管平台,要求:免费或便宜、部署简单、不需要我自己配服务器。
请告诉我每个平台的优缺点,以及你推荐哪个。
"

AI 通常会推荐以下几种:

  • Vercel / Netlify:适合前端网站,免费,一键部署
  • GitHub Pages:适合纯静态网站,完全免费
  • 云服务器(阿里云/腾讯云):适合需要后端的项目,需要一定配置能力

第三步:让 AI 帮你部署

选好平台后,直接让 AI 手把手带你:

"我已经注册了[平台名称]的账号,也买好了域名[你的域名]。
请一步步教我怎么把项目部署上去。每一步告诉我:点哪里、输入什么命令、看到什么算成功。
我是零基础,不要跳过任何步骤。"

如果中间报错了:把完整的报错信息复制给 AI,说:"我在第 X 步遇到了这个报错:[完整报错信息]。请告诉我怎么解决。"

第四步:配置 HTTPS

HTTPS 让你的网站显示"安全"标志,不配置的话浏览器会提示"不安全"。好消息是,大多数托管平台(Vercel、Netlify 等)会自动帮你配好。如果你用的是自己的服务器,问 AI:

"我的网站已经部署到服务器上了,但浏览器提示'不安全'。请教我怎么配置 HTTPS,一步步来,不要跳过。"

6.12

上线后的第一周:出了问题怎么办?

问题一:网站突然打不开了

怎么办

"我的网站刚才还能打开,现在打不开了。我用的托管平台是[平台名称]。请告诉我怎么排查问题,从最简单的开始查。"

AI 会带你一步步排查:是不是平台在维护?是不是域名过期了?是不是代码有 bug?

问题二:用户反馈有问题,但我自己测不出来

怎么办

"有用户反馈[具体问题描述],但我在自己电脑上测试是正常的。请帮我分析可能的原因,以及怎么收集更多信息来定位问题。"

告诉 AI 用户的设备信息(手机还是电脑?什么浏览器?),AI 会帮你缩小范围。

问题三:想更新内容,怕改坏了

怎么办

"我想给已经上线的网站更新一个小功能:[功能描述]。
请告诉我怎么做才能不影响现有功能。更新前我应该备份什么?
更新出问题怎么回滚?"

记住本书的方法:一次只做一件事,改完确认再继续。 上线后的更新更要如此。

问题四:数据要备份

如果你的项目有用户数据,定期备份是必须的。问 AI:

"我的项目用的是[数据库类型]。请帮我设置一个自动备份方案,每天备份一次。
告诉我具体怎么做,或者帮我写一个自动备份的脚本。
"

记住:上线后的应急原则和开发时一样——不要慌,不要描述情绪,描述事实。
把"网站挂了"变成"网站在 X 时间点开始返回 502 错误",AI 才能帮你精准定位。
本章你真正学会的是项目完成后,整理、总结、交付。
◆ ◆ ◆
◆ 这一章真正改变你的是
从"做完了"到"交付了"——建立完成度
特别篇 从一句话到一个项目
核心能力:完整实战

特别篇 从一句话到一个项目

本章训练目标范围限制验证

这一篇不讲新知识。

这一篇带你完整走一遍。

从你打开 AI,说第一句话,到项目真正完成。

你会看到:前面六章的所有技巧,在实际项目中是怎么串起来的。


起点:一句话

你打开 AI,输入:

帮我做一个记账工具。

就这一句。

如果你读完了前面六章,你应该知道:这一句话,AI 什么都不知道。

不知道给谁用。

不知道记什么。

不知道怎么做。

不知道做到什么程度。


但现在,你知道该怎么做了。


第一步:让 AI 先理解你

你说:

我想做一个记账工具,帮我记录每天花了多少钱。

目标用户是我自己,一个人用。

核心功能:记录每笔支出,能看到每天和每月的汇总。

请先不要写代码,先问我几个问题,确认你理解了我的需求。

AI 停下来,开始问你:

1. 你希望记录哪些信息?比如金额、日期、类别、备注?

2. 你需要按类别统计吗?比如餐饮、交通、购物?

3. 你需要数据导出功能吗?

4. 你希望用什么技术?网页?手机?桌面?

你逐个回答。

AI 终于知道你要什么了。


这一步用到的技巧:先让 AI 理解,再让它写代码。


第二步:一次只做一件事

AI 理解了需求,开始写代码。

但它一口气写了很多功能。你一看,虽然方向对了,但太多了。

你说:

先只做最基础的:记录支出和查看每日汇总。其他功能以后再加。

只修改 expense.js 这一个文件。做完告诉我你做了什么。

AI 只做了一个功能。

做完以后,你检查了一下,没问题。

然后再说:

现在加每月汇总。只新建一个 monthly.js 文件,不要改 expense.js。

一个一个来。

每一步都清楚,每一步都可控。


这一步用到的技巧:一次只做一件事,控制范围。


第三步:发现问题时,说具体

做到第三个功能时,你发现每月汇总的数字不对。

你没有说"不对"或"重写"。

你说:

monthly.js 里的每月汇总有问题。

具体是:2 月的汇总把 1 月最后几天的数据也算进去了。

请检查日期判断逻辑,只修这一个文件,不要动其他地方。

AI 检查了一下,发现是时区问题。修好了。

你确认了一下,数字对了。


这一步用到的技巧:描述问题,而不是表达情绪。


第四步:加功能时,管住范围

你想加一个"按类别查看支出"的功能。

你说:

新增一个按类别查看支出的功能。要求:

1. 只新建文件,不要修改已有文件。

2. 从 expense.js 读取数据,不要复制数据。

3. 做完以后,列出你新建了哪些文件,修改了哪些文件。

AI 新建了一个 category.js,没有动已有的文件。

你检查了一下,功能正常,老功能也没受影响。


这一步用到的技巧:加功能不是只管加,还要管不破坏。


第五步:让 AI 自己检查

功能都做完了。

你没有直接说"好了吗"。

你说:

在交付之前,请按这个清单检查:

1. 每个按钮能不能正常点击。

2. 输入金额为空时会不会报错。

3. 每月汇总的数字和每天汇总加起来是否一致。

4. 手机上能不能正常显示。

每项检查完告诉我结果。发现问题先自己修。

AI 检查了,发现手机上布局有问题。自己修了。

然后告诉你:四项全部通过,其中第四项发现并修复了一个问题。

你拿到手的,就是能用的。


这一步用到的技巧:不是"检查一下",是"检查什么"。


第六步:整理和交付

项目完成了。

你说:

项目已经完成。请帮我做三件事:

1. 整理目录结构,删掉不需要的文件。

2. 写一份开发说明,包括每个文件的作用和怎么运行。

3. 总结本次开发,列出做了哪些功能,哪些地方以后容易出问题。

AI 生成了目录结构、开发说明和项目总结。

你保存了这些文件。

下次再打开这个项目,你不用从头摸索。看一眼开发说明就知道怎么回事。


这一步用到的技巧:项目完成不等于代码写完,还要整理和交付。


回顾:六步公式贯穿全程

回头看这个过程:

目标——每一步你都说清楚了要做什么。

范围——每一步你都限定了只改哪里。

限制——每一步你都给了必须满足的条件。

验证——每一步你都有检查标准。

不是六章的知识分别用了一次。

是同一个公式,用了六遍。


AI 没有变聪明

从"帮我做一个记账工具"到"项目完成"。

AI 还是那个 AI。

变的是你。

你学会了在每一步都说清楚:目标是什么,范围在哪里,有什么限制,怎么验证。

这不是技巧。

这是思维方式。


一句话开始,六步完成。

本章你真正学会的是六步公式贯穿一个完整项目。
◆ ◆ ◆
◆ 这一章真正改变你的是
从"分散的技巧"到"完整的流程"——方法的贯通
第七章 把口语翻译成 AI 能听懂的话
核心能力:从"会聊天"到"会沟通"

第七章 把口语翻译成 AI 能听懂的话

本章训练目标范围限制验证

一、模糊表达类

帮我优化一下
告诉我哪些地方可以改进,并说明原因
整理一下
把重复的代码抽出来,把无关的文件归类,清理掉没用的部分
改一下
先告诉我你打算怎么改,等我确认后再动手
看一下
通读一遍,列出你发现的所有问题,按严重程度排序
帮我弄一下
说清楚具体要做什么,如果不确定,先问我几个问题来确认
处理一下
列出所有待处理的事项,每个事项说明你的处理方案
调整一下
先分析当前状态,再提出调整方案,说明调整后的效果
帮忙看看
检查代码中的潜在问题,列出问题清单并给出修复建议
搞定它
分步骤执行,每完成一步确认结果,再继续下一步
完善一下
列出当前不完善的地方,逐一说明完善方案,按优先级处理
修一下
先定位问题根源,再提出修复方案,解决根因不要盖住症状,修完补回归测试
帮我加一个
说明要加什么,加在哪里,加完之后项目会变成什么样
帮我改改
具体说改哪个函数、改成什么行为、验收标准是什么,只改必要的部分
美化一下
从布局、配色、间距、字体四个方面提出改进方案
清理一下
列出所有可以清理的内容(临时文件、无用代码、重复逻辑),等我确认后删除
重新弄一下
说明当前版本哪里不满意,新版本要达到什么效果

二、需求描述类

加个功能
我想要实现的功能是[具体描述],用户操作流程是[步骤],完成后预期效果是[结果]
加个XX组件
先看现有组件怎么实现的,照那个模式做XX组件,不要引入新的第三方库
做个页面
这个页面包含[哪些元素],布局是[顶部/侧边/中间],主要功能是[做什么]
实现一下
请实现[功能名称],具体要求是[列出需求],实现后通过[测试方法]验证
写个接口
这个接口接收[输入参数],返回[输出结果],处理逻辑是[核心步骤]
搭个框架
我需要一个[项目类型]的基础框架,包含[必备模块],目录结构按[组织方式]排列
做个登录
登录功能包括用户名密码登录、记住密码、找回密码,登录后跳转到[页面]
加个搜索
搜索框放在[位置],支持按[字段]搜索,结果显示[哪些信息],支持分页加载
做个列表
列表展示[数据字段],每页显示[数量]条,支持排序、筛选和翻页
加个表单
表单包含[字段列表],每个字段的校验规则是[规则],提交后执行[操作]
做个后台
后台管理包含[模块列表],每个模块的功能是[描述],权限分为[角色和权限]
加个导出
导出当前列表数据为[文件格式],包含[字段],文件名格式为[命名规则]
对接一下
需要对接[系统名称],传递的数据是[字段],对接方式是[方法],异常处理是[方案]
做个统计
统计[指标名称],数据来源是[表/接口],展示形式是[图表/表格],更新频率是[实时/定时]
加个权限
设置[角色名称]只能访问[功能/页面],不能操作[功能/页面],权限检查放在[位置]

三、问题反馈类

Bug
操作步骤是[123],预期结果是[描述],实际结果是[描述],错误信息是[截图或文字]
不行
[功能名称]没有达到预期效果,具体表现是[描述],期望的结果是[描述]
不对
第[X]行/第[X]个功能,当前输出是[描述],正确的输出应该是[描述]
很慢
[操作/页面]从点击到响应耗时约[X]秒,正常的预期是[X]秒以内,慢在[哪个环节]
报错了
错误信息是[完整复制],出现在[操作步骤]之后,环境是[操作系统/浏览器版本]
它报了个XX的错
把完整报错信息(含文件名、行号、调用链)原样贴出来,加上复现步骤,不要概括
闪退了
在[什么操作]之后程序直接关闭,最近改动的代码是[文件/功能],之前是正常的
显示不对
页面[位置]显示的内容是[描述],应该显示的是[描述],数据来源是[接口/变量]
数据错了
[表名/字段名]的数据是[当前值],正确的应该是[正确值],计算逻辑在[文件]
连不上
连接[服务/地址]时失败,错误信息是[描述],配置文件是[路径],之前是正常的
保存不了
点击保存后[无反应/报错/数据丢失],表单内容是[描述],错误信息是[描述]
加载不出来
[页面/列表/图片]一直显示加载中,请求地址是[URL],返回状态是[状态码]
按钮没反应
点击[按钮名称]后没有任何变化,控制台输出是[错误信息],期望是[描述]
样式乱了
页面[位置]的样式和预期不符,当前效果是[描述],期望效果是[描述],浏览器是[版本]
权限不对
当前用户角色是[角色],能访问[不该访问的页面],不能访问[该访问的页面]

四、修改迭代类

换个颜色
把[元素名称]的颜色从[当前颜色]改为[目标颜色],色号是[#XXXXXX]
改小一点
把[元素名称]的[尺寸/间距/字号]从[当前值]改为[目标值],单位是[px/rem]
调一下位置
把[元素名称]从[当前位置]移动到[目标位置],对齐方式是[左/中/右]
换个图标
把[位置]的图标替换为[新图标],表示[含义],尺寸为[大小]
改个文案
把[位置]的文字从"[旧文案]"改为"[新文案]",同时检查所有引用这个文案的地方
加个按钮
在[位置]添加一个按钮,文字是"[文案]",点击后执行[操作],样式参考[已有按钮]
删掉这个
删除[文件/函数/组件],删除前先确认它有没有被其他地方引用,如果有,列出引用位置
改个逻辑
把[功能名称]的处理逻辑从[旧逻辑]改为[新逻辑],改动影响的范围是[文件列表]
换个顺序
把[列表/导航/选项卡]的顺序从[当前顺序]改为[新顺序],排列规则是[规则]
加个条件
在[位置]增加判断条件,当[条件]时执行[操作A],否则执行[操作B]
改个提示
把[操作]的提示文字从"[旧提示]"改为"[新提示]",同时修改提示的样式为[样式]
换个动画
把[元素]的动画效果从[当前效果]改为[新效果],持续时间[秒],触发条件是[事件]
加个字段
在[表/表单/页面]中增加字段[字段名],类型是[类型],默认值是[值],校验规则是[规则]
改个默认值
把[变量/配置项]的默认值从[旧值]改为[新值],影响的范围是[功能/模块]
重构一下
先解释现有行为(含边界情况),补测试锁住行为,小步重构保持行为不变,改前后测试都过

五、检查审查类

帮我看看
通读[文件/模块],检查[代码规范/逻辑错误/安全隐患],列出所有问题并按严重程度排序
检查一下
检查[项目/模块]的[方面],列出不合规的地方,给出修改建议,并说明每个问题的严重程度
有没有问题
从[安全/性能/逻辑/规范]四个维度检查[模块],列出所有潜在问题,每个问题说明触发条件
审查一下
对[模块]做代码审查,关注[命名规范/逻辑正确性/边界处理/异常处理],给出改进建议
看看逻辑
检查[功能]的业务逻辑,画出流程图,标记出逻辑漏洞和边界遗漏
查查安全
检查[模块]的安全问题,包括输入校验、权限控制、敏感数据保护、注入攻击防护
测一下
为[功能]编写测试用例,覆盖正常流程、边界值、异常情况,确保关键路径100%覆盖
跑一遍
运行整个项目,检查启动是否正常,基本功能是否可用,列出所有异常和警告
看看依赖
检查项目依赖的版本,是否有已知漏洞,是否有版本冲突,是否有可以升级的过期依赖
检查注释
检查代码注释是否准确、完整,找出过时的注释、缺失的注释、与代码不一致的注释
看看命名
检查变量、函数、文件、类的命名是否清晰、一致,列出不规范的命名并给出建议
检查格式
检查代码缩进、空行、括号风格是否统一,对照项目规范列出所有不一致的地方
看看错误处理
检查所有可能出现异常的地方,确认是否有对应的错误处理,没有处理的列出并补充
检查重复代码
扫描整个项目,找出重复或高度相似的代码块,给出抽取方案
给XX加测试
给XX写测试,重点覆盖空输入、零、负数、类型错误等边界情况,也帮我想想还有哪些边界没列到

六、项目管理类

开始吧
我要开始开发[项目名称],项目目标是[描述],第一步先做[任务],请确认你理解了我的需求
继续
继续上次的[任务/功能],上次做到[进度],接下来需要完成[任务],请先回顾上下文
下一步
当前任务已完成,请列出接下来可以做的 3-5 个任务,按优先级排序,我选择后再执行
今天先这样
今天的工作到此结束,请总结今天完成了什么、放在哪里、明天从哪开始
新建项目
创建一个[项目类型]项目,项目名称是[名称],基础功能包括[列表],目录结构按[规范]组织
先计划一下
针对[任务],先列出执行计划,包括步骤、每个步骤的输入输出、预计工作量,等我确认后再执行
分步骤做
把[任务]拆成 5-8 个可独立执行的子任务,每个子任务有明确的验收标准,按依赖关系排序
记录一下
把刚才的[决策/修改/方案]记录下来,包括做了什么、为什么这样做、有什么影响
回退一下
恢复到[时间点/版本]的状态,回退前先告诉我哪些改动会丢失,等我确认
先做简单的
把[任务列表]按难度从低到高排序,先完成最简单的前 3 个,每个完成后确认再继续
先做重要的
把[任务列表]按重要性从高到低排序,说明排序理由,先完成最重要的前 3 个
估算时间
对[任务]估算完成时间,包括编码、测试、修复问题的时间,按最可能/最乐观/最悲观三种情况给出
合并一下
把[分支A]的内容合并到[分支B],先检查冲突,有冲突的地方列出让我决策,无冲突的直接合并

七、样式设计类

好看一点
从配色、间距、圆角、阴影四个方面改进当前设计,提供 2-3 个方案,每个方案说明设计思路
专业一点
参考行业标准设计规范,统一字体大小层级、颜色体系、间距系统,让页面看起来更专业
简洁一点
减少视觉元素,去掉不必要的装饰,增大留白,减少颜色种类,突出核心内容
大气一点
增大标题字号,增加留白,使用更深的颜色对比,整体布局更舒展
活泼一点
增加圆角、渐变、轻量动画,使用更明亮的配色,增加一些趣味性的视觉元素
现代一点
参考当前主流设计趋势,使用扁平化设计、大留白、微阴影、圆角卡片、无衬线字体
换个风格
当前风格是[描述],想换成[描述],请提供 3 个不同方向的设计方案,每个附带配色板和字体方案
统一一下
检查所有页面的按钮、输入框、卡片、间距、字体,列出不一致的地方,统一为[规范]
对齐一下
检查[页面]所有元素的对齐方式,找出不对齐的地方,修正为[左对齐/居中对齐/右对齐]
调整间距
把[元素/页面]的间距系统统一为[倍数],段落间距[X],组件间距[X],内边距[X]
换个字体
把[元素/页面]的字体从[当前字体]改为[目标字体],字号层级为[标题/正文/辅助]
加个阴影
给[元素]增加阴影效果,阴影参数为[模糊半径/偏移/颜色],层级关系为[弹出/悬浮/静态]
做个响应式
让[页面]在手机、平板、电脑上都能正常显示,断点设置为[宽度],移动端优先适配
做个暗色模式
为[页面/项目]增加暗色模式,背景色系为[深色方案],文字色系为[浅色方案],切换方式为[手动/自动]

八、性能优化类

快一点
当前[操作/页面]耗时[X]秒,目标耗时[Y]秒以内,请先分析瓶颈在哪里,再提出优化方案
太慢了
[页面/操作]加载时间超过[X]秒,用户已无法接受,请分析性能瓶颈并给出优化方案,目标是[X]秒内
卡住了
在[操作/场景]下页面卡顿,具体表现是[描述],请定位卡顿原因,优先解决主线程阻塞问题
优化一下速度
对[模块/功能]做性能优化,先测量当前性能数据,再逐项优化,每优化一项对比前后数据
内存太高了
当前内存占用约[X],集中在[功能/页面],请分析内存泄漏点,给出回收方案
首屏太慢
页面首次加载耗时[X]秒,其中[资源/请求]占比最高,请针对首屏做专项优化,目标是[X]秒
图片太大了
检查项目中所有图片的大小和格式,超过[X]KB 的压缩,不合适的格式转换,给出优化对比
请求太多了
当前页面发送了[X]个请求,请分析哪些可以合并、哪些可以缓存、哪些可以延迟加载
打包太大了
项目打包后体积为[X],请分析每个模块的占比,找出可以拆分的、可以按需加载的部分
动画不流畅
在[设备/浏览器]上动画帧率低于[X]帧,请分析原因,优化动画性能,确保流畅运行
搜索太慢
搜索[关键词]耗时[X]秒,数据量约[X]条,请优化搜索逻辑,加入防抖、缓存、索引等策略
下拉加载慢
列表滚动到底部加载更多数据时,耗时[X]秒,请优化加载策略,加入预加载和虚拟列表
启动太慢
项目从启动到可用耗时[X]秒,请分析启动流程,找出耗时最长的步骤,给出优化方案
本章你真正学会的是从"会聊天"到"会沟通",学会用 AI 能理解的方式说清楚需求。
◆ ◆ ◆
◆ 这一章真正改变你的是
从"会聊天"到"会沟通"——表达质量的跃迁
第八章 可以直接复制使用的沟通模板
核心能力:遇到场景,直接套用

第八章 可以直接复制使用的沟通模板

本章训练目标范围限制验证

核心能力:遇到场景,直接套用

这一章是拿来就用的工具箱。每个模板都是一个完整的沟通文本,你只需要把方括号里的内容替换成你的实际情况,复制粘贴给 AI,就能得到高质量的回答。

每个模板都遵循"目标、范围、限制、验证"四步公式,确保 AI 完全理解你的需求。


模板一 第一次开始一个项目
" + I18N.applicableScene + "你有一个想法,想从零开始做一个新项目。
我要开始一个新项目。

【目标】
项目名称:[项目名称]
项目要解决的问题:[一句话描述]
目标用户:[谁会用这个项目]
核心功能:[列出 3-5 个最重要的功能]

【范围】
技术栈要求:[使用什么语言/框架]
项目类型:[网页/桌面应用/命令行工具/手机应用]
需要包含的模块:[列出必需的模块]

【限制】
不要使用:[列出不想用的技术或方案]
代码风格:[简洁优先/可读性优先/性能优先]
单文件代码不超过 [X] 行

【验证】
做完后,我要能通过以下方式验证:
1. [验证方式一]
2. [验证方式二]
3. [验证方式三]

请先根据以上信息,整理出你对项目的理解,以及开发计划,等我确认后再开始写代码。

填不了方括号?这里给你参考。

模板一里有几个占位符,第一次用可能不知道怎么填。下面是常见的可选项和说明,挑适合你的就行。


技术栈要求——"用什么语言/框架",常见选择:

技术栈特点/优势适合什么项目
HTML + CSS + 原生 JS依赖,学习成本最低,改起来直接刷新就生效简单网页、学习练手、单页展示
Vue.js语法简洁,中文文档好,上手快,响应式数据绑定中小型网页应用、后台管理系统
React生态最大,组件复用性强,社区资源多交互复杂的网页应用、大型前端项目
Next.js(基于 React)自带服务端渲染,SEO 友好,前后端一体需要搜索引擎收录的网站、全栈应用
Node.js + Express用 JS 写后端,前后端同一门语言API 服务、轻量后端、实时通信
Python + Flask代码少、启动快,Python 生态丰富数据处理、小型 API、原型开发
Python + Django自带后台管理、数据库 ORM,功能齐全内容管理系统、中大型 Web 应用
Electron用网页技术做桌面应用,跨平台桌面工具、编辑器类应用
微信小程序原生直接在微信里运行,无需下载微信生态内的工具、服务类应用

如果你不确定选什么,就说"你推荐一个适合 [你的项目类型] 的技术栈",让 AI 帮你选。


不要使用——"列出不想用的技术或方案",常见写法:

  • "不要用 jQuery"(太老,现代项目用原生 JS 或框架)
  • "不要用 TypeScript"(如果不想学类型系统,直接写 JS)
  • "不要用任何付费 API 或服务"(避免依赖收费组件)
  • "不要用 create-react-app,用 Vite"(指定构建工具)
  • "不要引入 UI 组件库,自己写样式"(想要完全自定义)

写法很简单:把你听过的、不想碰的东西列出来。如果没什么想法,这行可以删掉。


代码风格——"简洁优先/可读性优先/性能优先",怎么选:

风格含义什么时候选
简洁优先代码越短越好,能用一行解决不写两行个人项目、脚本工具、快速原型
可读性优先变量名完整、注释充足、逻辑分层清晰团队协作、长期维护的项目
性能优先减少不必要的计算、注意内存和加载速度用户量大、数据量大、对速度敏感

如果你拿不准,选"可读性优先",这是最安全的选择。


单文件代码不超过 X 行——填多少合适:

项目规模建议行数说明
小项目(练手/原型)300 行以内一个文件能看完全貌,改起来快
中等项目(有多个功能模块200 行以内强制拆分模块,每个文件职责单一
大项目(长期维护)150 行以内严格拆分,方便多人协作和代码审查

这不是硬规矩,但设一个上限能逼 AI 把代码拆成多个小文件,而不是把所有东西塞进一个几千行的巨型文件。

如果你完全不确定,填 200 就行。


模板二 继续昨天的开发
" + I18N.applicableScene + "隔了一天(或一段时间),要接着上次的进度继续开发。
我要继续开发 [项目名称]。

【目标】
上次做到:[上次完成的功能/进度]
今天要完成:[今天的目标]
优先级:[哪个功能最重要,先做哪个]

【范围】
只改动:[限定改动的文件或模块]
不要动:[上次已经稳定、不需要改的部分]
如果遇到上次的代码需要调整,先告诉我原因。

【限制】
不要重写已经完成的功能。
如果发现前面的实现有更好的方案,先提出来讨论,不要直接改。
改动控制在 [X] 个文件以内。

【验证】
今天完成后,用以下方式检查:
1. [验证方式一]
2. [验证方式二]

请先回顾我们之前的对话,确认你理解的当前状态,然后告诉我今天的执行计划。

模板三 新增一个功能
" + I18N.applicableScene + "在已有项目中增加一个全新的功能。
我要在 [项目名称] 中新增一个功能。

【目标】
功能名称:[功能名称]
用户操作流程:[描述用户从开始到完成的操作步骤]
完成后预期效果:[用户能看到什么、能做什么]

【范围】
涉及的文件:[列出可能需要改动的文件]
需要新增的组件/模块:[列出需要新建的部分]
这个功能依赖现有的:[列出依赖的已有功能]
数据需要存储在哪里:[数据库/文件/内存]

【限制】
不要改动现有功能的行为。
新功能的代码放在 [目录/文件] 中。
和现有代码风格保持一致。

【验证】
做完后,通过以下方式验证功能正常:
1. 正常流程:[描述]
2. 边界情况:[描述]
3. 异常情况:[描述]

请先列出实现方案,包括需要改动的文件清单,等我确认后再开始写代码。

模板四 修改一个功能
" + I18N.applicableScene + "已有的功能需要调整逻辑、改变行为或更新界面。
我要修改 [项目名称] 中的 [功能名称]。

【目标】
当前行为:[描述现在的功能是怎么工作的]
期望行为:[描述修改后应该怎么工作]
为什么要改:[原因]
用户会感受到的变化:[描述]

【范围】
需要改动的文件:[列出文件]
需要保留的部分:[哪些逻辑/界面不变]
注意:这个功能还被 [其他功能/页面] 引用,修改时确保兼容。

【限制】
只改必要的部分,不要顺手重构其他代码。
修改后,原有数据要能正常使用,不能丢失或不兼容。
如果改动涉及界面,保持和整体风格一致。

【验证】
修改完成后,检查:
1. 新逻辑是否按预期工作
2. 旧数据是否兼容
3. 引用此功能的其他地方是否正常

请先说明你的修改方案,包括改哪些文件、怎么改,等我确认后再动手。

模板五 修复程序问题(Bug
" + I18N.applicableScene + "程序运行出错、行为异常,需要定位并修复。
[项目名称] 中出现了一个程序问题。

【目标】
问题描述:[具体是什么问题]
复现步骤:
1. [第一步]
2. [第二步]
3. [第三步]
预期结果:[应该是什么样]
实际结果:[实际是什么样]
错误信息:[如果有,完整贴出来]

【范围】
出现位置:[文件/功能/页面]
问题出现频率:[每次都出现/偶尔出现/特定条件下出现]
最近改动:[出现问题前最近改了什么]

【限制】
修复方案不要引入新的问题。
不要大范围改动代码,只修问题本身。
解决根本原因,不要只是把报错盖住(比如不要只用 try-catch 包住错误,不要加忽略注释)。
如果修复需要改动多个文件,请先说明原因。

【验证】
修复后,用以下方式确认问题已解决:
1. 重复复现步骤,确认不再出错
2. 检查相关的其他功能是否正常
3. 补一个能复现这个Bug的回归测试,跑一遍确认通过——这是防止Bug复发的关键一步

请先分析问题根因,解释为什么会出错,先别改代码。等我确认根因对了,再提出修复方案,等我确认后执行。

模板六 重构项目
" + I18N.applicableScene + "项目代码混乱、难以维护,需要重新组织代码结构,但不改变功能。
我要重构 [项目名称]。

【目标】
重构原因:[代码太乱/难以扩展/性能瓶颈/团队协作困难]
重构目标:[让代码更清晰/更容易加新功能/提升性能]
重构后,所有现有功能必须保持不变。

【范围】
重构范围:[整个项目/某个模块/某个文件]
重构重点:[命名规范/目录结构/代码复用/性能优化]
不需要重构的部分:[列出不需要动的]

【限制】
功能行为不能有任何改变——这是重构的铁律。
对外接口不能变。
分步执行,每完成一步确认功能正常后再继续下一步。
如果某一步需要较大改动,先说明风险。
如果被重构的代码还没有测试,先补上覆盖现有行为的测试,再动手改。

【验证】
每一步完成后,用以下方式验证:
1. 运行现有功能,确认全部正常
2. 如果有测试,运行全部测试——重构前后测试结果必须完全一致
3. 检查代码是否比重构前更清晰

请先制定重构计划,分步骤列出,每步说明改什么、为什么改、风险多大,等我确认后逐步执行。

模板七 检查项目
" + I18N.applicableScene + "项目开发到一定阶段,想做一次全面检查,发现潜在问题。
请帮我全面检查 [项目名称]。

【目标】
检查维度:
1. 代码质量:命名、结构、重复代码
2. 安全隐患:输入校验、权限控制、敏感数据
3. 性能问题:加载速度、内存占用、响应延迟
4. 边界处理:空值、异常、超时、并发
5. 可维护性:注释、文档、耦合度

【范围】
检查范围:[整个项目/某个模块/某个目录]
重点关注:[列出你最担心的方面]
不需要检查:[测试代码/第三方库/自动生成的代码]

【限制】
每个问题必须给出:
- 问题位置(文件名和行号)
- 严重程度(高/中/低)
- 触发条件
- 修复建议
不要只列问题不给出建议。

【验证】
检查完成后,输出一份问题清单,按严重程度排序。
对每个"高"严重度的问题,详细说明为什么是高危、怎么修复。

模板八 准备上线
" + I18N.applicableScene + "项目开发完成,准备部署生产环境
[项目名称] 准备上线,请帮我做上线前检查。

【目标】
确保项目可以安全上线,不会在线上环境出问题。

【范围】
检查清单:
1. 配置文件:开发环境和生产环境的配置是否分离
2. 安全设置:敏感信息(密钥、密码、数据库地址)是否硬编码
3. 错误处理:生产环境是否正确隐藏内部错误信息
4. 性能:是否有明显的性能瓶颈
5. 日志:是否有关键操作的日志记录
6. 数据备份:是否需要数据迁移,是否有回滚方案

【限制】
只检查不修改,所有修改建议等我确认。
如果发现会影响上线的问题,优先标记。

【验证】
最终输出一份上线检查报告,包含:
- 通过项(绿色)
- 需注意项(黄色)
- 必须修复项(红色,不修复不能上线)

模板九 生成开发文档
" + I18N.applicableScene + "项目需要文档,让其他开发者能快速上手。
请为 [项目名称] 生成开发文档。

【目标】
文档读者:[新加入的开发者/接手维护的同事]
读者看完文档后,能在 [X] 小时内理解项目结构并开始修改代码。

【范围】
文档包含以下内容:
1. 项目概述:一句话说明项目是做什么的
2. 技术选型:用了什么技术,为什么选它
3. 目录结构:每个目录的职责
4. 核心模块:每个模块做什么、怎么调用
5. 数据流:数据从入口到输出的完整路径
6. 关键配置:需要改哪些配置才能跑起来
7. 常见问题:开发中容易踩的坑

【限制】
不要写代码注释里的内容。
不要写废话(如"本模块负责本模块的功能")。
每个部分控制在 300 字以内。
用中文,术语首次出现时附上解释。

【验证】
文档写完后,你自己检查:
- 一个不了解项目的人,看完能跑起来吗?
- 有没有漏掉关键步骤?
- 有没有写读者不可能知道的前提假设?

模板十 生成测试计划
" + I18N.applicableScene + "项目需要系统化的测试,确保功能稳定可靠。
请为 [项目名称] 生成测试计划。

【目标】
覆盖所有核心功能,确保关键路径不会出错。

【范围】
测试范围:[整个项目/指定模块]
测试类型:
1. 功能测试:每个功能正常流程能跑通
2. 边界测试:输入极限值、空值、特殊字符
3. 异常测试:网络断开、超时、数据损坏
4. 回归测试:修改后,已有功能不受影响

【限制】
每个测试用例包含:
- 测试场景
- 操作步骤
- 预期结果
- 优先级(高/中/低)
高优先级的用例必须覆盖所有核心功能。

【验证】
最终输出一份测试用例清单,按优先级和模块分组。
同时输出一份"最小测试集"——只包含上线的必须测试项,约 [X] 条。

模板十一 总结项目
" + I18N.applicableScene + "项目阶段性完成,想做一次回顾和总结。
请帮我总结 [项目名称] 的开发过程。

【目标】
从三个方面总结:
1. 成果:完成了哪些功能,和最初计划相比完成了多少
2. 收获:开发过程中学到了什么,哪些决策是对的
3. 教训:哪些地方走了弯路,下次怎么避免

【范围】
总结依据:项目代码和我们的对话记录
总结周期:[从开始到现在/最近一周/最近一个月]

【限制】
每个结论都要有具体依据,不能只说空话。
"教训"部分至少列出 3 条,每条附带改进建议。
不要写成流水账,提炼出有价值的经验。

【验证】
总结中必须包含:
- 至少一个"做对了"的具体案例
- 至少一个"可以更好"的具体案例
- 至少一条对下一次开发的建议

模板十二 下一阶段规划
" + I18N.applicableScene + "当前版本完成,需要规划下一步做什么。
[项目名称] 当前版本已完成,请帮我规划下一阶段。

【目标】
从三个维度提出下一阶段建议:
1. 功能增强:哪些新功能值得加,为什么
2. 质量提升:哪些地方需要加固,为什么
3. 体验优化:哪些交互可以改进,为什么

【范围】
分析基础:当前项目代码和已实现功能
规划周期:接下来 [X] 周/月
不考虑:需要推翻重来的大改动

【限制】
每个建议包含:
- 建议内容
- 为什么现在做(而不是以后)
- 预计工作量(人天)
- 依赖条件(需要先完成什么)
- 风险等级(高/中/低)

【验证】
按优先级排序,输出前 5 个建议。
前三名给出详细的实施步骤。
明确告诉我:下一步先做哪一个最划算。

模板十三 探索已有项目
" + I18N.applicableScene + "你接手了一个别人做的项目,或者自己很久以前做的项目,需要先搞懂它再动手改。
我刚接手这个项目,帮我快速上手。分三步走:

【目标】
第一步:给我整体概览,说清主要模块和它们的职责
第二步:负责 [你关心的功能,如"订单支付"] 的代码在哪些文件里
第三步:追踪 [某条核心流程,如"一笔订单的创建到支付"] 的完整执行路径

【范围】
只看不改,先不修改任何代码。
重点关注:[你最需要搞懂的模块/功能]

【限制】
这次只做了解,不做任何代码修改。
用新手能懂的方式讲,不要默认我了解项目的背景。
每一步讲完,等我确认理解了再继续下一步。

【验证】
三步走完后,我会用自己的话复述项目结构,你确认我理解得对不对。

模板十四 给代码写测试
" + I18N.applicableScene + "需要给某个函数、模块或功能补上测试,确保代码质量。
请给 [项目名称] 中的 [函数/模块名称] 写测试。

【目标】
测试对象:[函数名称或模块名称]
测试重点:不光测正常情况,更要覆盖边界情况

【范围】
沿用项目现有的测试框架和断言风格。
测试文件放在:[tests/ 目录或项目约定位置]

【限制】
重点覆盖以下边界情况:
1. 空值/空输入
2. 零值
3. 负数
4. 超大值
5. 类型不对(如数字传了字符串)
6. [其他你想到的特殊情况]

也帮我想想还有哪些我没列到的边界情况,一并测上。

【验证】
写完跑一遍所有测试,确认全部通过。
如果有失败的,修到通过为止。

使用建议

这 14 个模板覆盖了开发中最常见的场景。用的时候注意三点:

1. 替换方括号内容。模板中所有 [方括号] 的内容,都要替换成你的实际情况。不要直接复制粘贴带方括号的版本。

2. 按需增删。模板是起点,不是死规矩。如果某个模板的某个部分对你的项目不适用,删掉就好。如果觉得缺了什么,加上去。

3. 先确认再执行。每个模板最后都有一句"等我确认后再动手"。这个习惯很重要,让 AI 先把计划说出来,你确认没问题了再让它执行,避免走弯路。

章末收获:遇到场景,直接套用,不用每次从头想怎么说。

本章你真正学会的是遇到场景,直接套用,不用每次从头想怎么说。
◆ ◆ ◆
◆ 这一章真正改变你的是
从"每次从头想"到"直接套用"——效率的跃迁
终章 AI 不会读心——学会表达,比学会编程更重要

终章 AI 不会读心——学会表达,比学会编程更重要

本章训练目标范围限制验证

你读完了前面所有的章节。

你学会了:项目开始前,先让 AI 理解,而不是先写代码。

你学会了:开发过程中,控制范围,一次只做一件事。

你学会了:感到不对劲时,描述问题,而不是表达情绪。

你学会了:增删改功能时,稳定迭代,而不是推倒重来。

你学会了:让 AI 自己检查,从执行者变成审查者。

你学会了:项目完成后,整理、总结、交付。

你还学会了:把口语翻译成 AI 能听懂的话,直接套用模板。


但你可能也发现了:

所有这些技巧,背后其实都指向同一件事。

表达。


为什么 AI 经常"答非所问"?

想一想:

AI 真的"答非所问"吗?

还是——你问的,本来就不是你真正想问的?


比如,你跟 AI 说:

帮我做一个排行榜。

AI 开始做排行榜。

做完以后,你看了说:

不对,我不是要这个。

你真正想要的是:激励用户持续学习。

排行榜只是你想到的一种方式。

但你没有告诉 AI 你的真正目的。

你只告诉了它一个动作。

AI 执行了动作。

但动作的目的,它不知道。


这就好像你让一个人去超市买鸡蛋。

他买回来了。

你说:"不对,我是要做蛋糕。"

他说:"你没告诉我你要做蛋糕。"

你说:"我让你买鸡蛋,不就是做蛋糕吗?"

他说:"也可能是做煎蛋、蛋花汤、茶叶蛋……"


AI 不是答非所问。

是你问的,跟你想的,不是同一个问题。

你告诉它的是"做什么"。

但你没告诉它"为什么"。

而"为什么",才是 AI 最需要的信息。


为什么越模糊的需求,返工越多?

你可能会想:

"说清楚太麻烦了,我先随便说一句,让 AI 开始做,做完了我再改。"


这个方法,在跟人合作时,有时候确实能行。

因为你同事会问你:

"你说的这个,具体是指什么?"

"你希望先做哪一部分?"

"有哪些地方我不能动?"

但 AI 不会主动问你这些。

它会直接开始做。

按照它自己的理解。

做完了,你觉得不对。

你让它改。

它改了,你还是觉得不对。

你再让它改。

它又改了,你发现有些原本好的地方被改坏了。

……

然后你发现:

你花了三分钟随便说了一句。

然后用三个小时来返工。


模糊的表达,看起来省时间。

实际上,只是把时间从"开头"挪到了"后面"。

而且放到后面,要花更多。


这不是 AI 的问题。

这是所有沟通的共同规律:

信息越模糊,理解越多样,结果越不可控。

和人沟通是这样,和 AI 沟通更是这样。

因为 AI 不会像人一样,在你说了半句话之后,主动追问你。


为什么高手和 AI 的差距,不是模型,而是表达?

你可能看过一些视频。

有人用 AI 几分钟就做出了一个完整的网站。

有人用 AI 半小时就写出了一个能用的软件。

你试了一下,发现 AI 给你的东西完全不像样。


你可能会想:

"是不是他们用的 AI 模型比我好?"

"是不是他们用的工具比我高级?"

"是不是他们有我不知道的技巧?"


都不是。

他们只是在做一件事:

说清楚。


一个高手跟 AI 说:

我要做一个英语单词学习工具。目标用户是准备考研的大学生,每天利用碎片时间背单词。

核心功能是:每天推送20个新单词,每个单词显示中文意思、例句和发音。

已经学过的单词自动进入复习列表。不需要社交功能。

不需要排行榜。先做最基础的版本,不要加任何额外功能。

做完以后,告诉我你做了哪些功能,有没有遗漏的地方。

一个普通用户跟 AI 说:

帮我做一个背单词的软件。


AI 收到第一段话,知道:

目标用户是谁。

使用场景是什么。

核心功能有哪些。

哪些功能不需要。

先做多大规模。

做完以后怎么确认。

AI 收到第二段话,只知道:

要做背单词。

其他一切,全靠猜。


高手和普通用户的差距,不在模型,不在工具,不在技巧。

在表达。


你可能会觉得:

"可是我本来就不会表达啊。"

但你看完这本书,你已经学会了。

你不需要成为程序员。

你不需要学会写代码。

你只需要在每次开口前,多想一步:

AI 真的知道我在说什么吗?


同一个方法,不止用于编程

你可能觉得,这本书讲的都是编程。

四步法,模板,范围控制——这些好像只跟写代码有关。

但其实不是。


这本书教你的那四步:

目标、范围、限制、验证。

它不只用于编程。

它适用于你用 AI 做的任何事。


来看几个例子。


第一个:减肥计划。

模糊的版本:

帮我制定一个减肥计划。

四步法的版本:

我想在三个月内减重10斤。请从饮食和运动两方面给我建议。

我的膝盖受过伤,不能跑步,请避开高冲击运动。

最后给我一个每周称重的记录表,方便我跟踪进度。

目标:三个月减重10斤。

范围:饮食加运动。

限制:膝盖受伤,不能跑步。

验证:每周称重记录。

同一个方法,换了一个场景。


第二个:工作汇报。

模糊的版本:

帮我写个工作汇报。

四步法的版本:

帮我写一份季度工作汇报,总结我负责的三个项目。

不超过1000字。要突出关键数据,比如完成率、用户增长。

排版上让领导一眼就能看到成果。

目标:季度总结。

范围:三个项目。

限制:不超过1000字,突出数据。

验证:领导一眼看到成果。

同一个方法,又换了一个场景。


第三个:写小说。

模糊的版本:

帮我写个故事。

四步法的版本:

帮我写一篇5000字的科幻短篇小说,主题跟人工智能有关。不要末日题材。结尾要有一个反转。

目标:科幻短篇。

范围:5000字,AI主题。

限制:不要末日题材。

验证:结尾有反转。

还是同一个方法。


你看出来了。

这不是一项编程技能。

这是一种思考方式。

目标、范围、限制、验证——这四步,放在哪里都成立。

因为如今你用 AI 的地方,早就不仅仅是编程。

写计划、写汇报、写故事,都用得上。

把话说清楚这件事,从来不分领域。


从"给 AI 下命令"到"与 AI 协作"

这本书从头到尾,一直在教你一件事。

但不是"给 AI 下命令"。

而是"与 AI 协作"。


这两者有什么区别?

下命令,是你告诉 AI 做什么,然后等结果。

协作,是你告诉 AI 你的目标,然后一起确认方案。

下命令,是你说"改一下",然后 AI 开始改——改什么、怎么改,你都不管。

协作,是你说"请先分析问题,告诉我你打算怎么改,确认后再开始"。

下命令,是 AI 做完了,你看了说不行,然后让它重做。

协作,是 AI 做完了,你让它检查一遍,确认没问题再交给你。


下命令,是你和 AI 之间,隔着一道墙。

协作,是你和 AI 之间,搭着一座桥。


这本书教你的所有技巧,不是在教你"怎么命令 AI"。

而是在教你"怎么和 AI 协作"。


从"下命令"到"一起想"

前面说了,要从"下命令"变成"协作"。

但协作还有一个更高的层次。

共创


刚开始用 AI 的时候,你是在下命令。

你说一句,AI 做一件事。

你像甲方,AI 像乙方。

你说改,它就改。你说加,它就加。

这没什么问题。

但这只是用了 AI 的一半。


真正会用 AI 的人,不把 AI 当乙方。

他们把 AI 当成一个可以讨论的伙伴。

不是"你听我的,去做"。

而是"我们先聊聊,看看怎么做最好"。


怎么说?

像这样:

先不要写代码。我们先讨论一下这个方案。

如果你觉得需求里有矛盾的地方,请指出来。

如果你认为有更好的方案,可以挑战我的想法。

直到我们都认为方案成熟,再开始开发。


注意这几句话的变化。

你不是在命令 AI 干活。

你是在邀请 AI 一起想。

你让它挑毛病。

你让它提建议。

你甚至允许它反对你。


为什么要这样?

因为 AI 知道很多你不知道的东西。

它见过成千上万个类似的需求。

它知道哪些坑别人踩过。

但你也有 AI 不知道的东西。

你知道你的真实场景。

你知道你的用户是谁。

你知道什么能做,什么不能做。


讨论,就是把这两边接起来。

AI 贡献它的见识。

你贡献你的判断。

两边一碰,方案就成熟了。


下命令,AI 只用了一双手。

共创,AI 用上了它的脑子。


所以,下一次用 AI,别急着说"去做"。

先说"来,我们聊聊"。

真正的 AI 时代,不是命令,而是共创。


最后,把这本书变成你自己的一部分

你不需要记住这本书里所有的句子。

你不需要背下任何一段话。

你只需要记住一件事:

任何时候,先想清楚这四个问题:

我的目标是什么?

我真正想解决什么?

这次的范围是什么?

哪些地方可以改,哪些地方不能改?

有哪些限制?

有什么必须满足的要求?

怎样才算完成?

做完以后,AI 应该检查什么?


当你开始自然地问自己这四个问题时,

你就不再是在"使用 AI"。

你是在真正地与 AI 协作


这本书到这里就结束了。

但你和 AI 的协作,才刚刚开始。


从现在起,每次打开 AI 之前,花一分钟。

想一想:

我要说什么?

AI 会怎么理解?

怎样说,AI 才更容易理解?

当你做到这一点时,

这本书就完成了它真正的使命。


你不需要学编程。

你只需要学会表达。

因为 AI 不会读心。

它只能理解你表达出来的意思。

从今天开始,把话说清楚。

附录A · AI 高效协作的四个原则

附录A · AI 高效协作的四个原则

本章训练目标范围限制验证

这本书从头到尾,讲了很多具体的方法、句式、模板。但如果你只记住一件事,那就是这四个原则。

这四个原则,是全书的方法论骨架。无论你遇到什么场景,只要把这四步走一遍,AI 就能准确地理解你、帮助你。


第一步:说清楚你的目标

原则:告诉 AI 你要什么,而不是告诉它怎么做。

很多人在和 AI 沟通时,脑子里想的是"我要做一个登录页面",但说出口的却是"帮我写个登录"。AI 会写,但它不知道你的登录页面要包含什么——是只有用户名密码,还是需要手机验证码?是简单的表单,还是需要记住密码、找回密码?这些细节你没说,AI 就按自己的理解来,结果大概率不是你想要的。

所以,开口之前先想清楚:我到底要完成一件什么事?这件事做完了,用户能看到什么、能做什么?把这个画面描述给 AI,比直接让它"写代码"效果好得多。

示例

不好的说法:"帮我写个登录页面。"

好的说法:"我要做一个登录页面。用户输入邮箱和密码,点击登录后跳转到首页。如果密码错误,在输入框下方显示红色提示文字。如果用户没注册,点击'注册'按钮跳转到注册页面。登录成功后,记住登录状态,下次打开自动登录。"

你看,好的说法里没有一行代码,但 AI 看完之后,脑子里已经有一个完整的画面了。它知道要做什么、做到什么程度算成功。


第二步:限定修改范围

原则:告诉 AI 哪些能动,哪些不能动。

AI 很勤快,但这有时候反而是问题。你让它改一个按钮的颜色,它顺手把整个页面的配色都改了。你让它修一个 Bug,它把整个函数重写了,还顺带重构了三个相关文件。等你反应过来,项目已经面目全非了。

这不是 AI 的错。是你没说"只改这里,别动其他地方"。AI 默认会认为,既然你让它帮忙,它就可以在合理的范围内自由发挥。但它的"合理范围"和你的"合理范围",可能差了十万八千里。

所以,每次沟通都要给 AI 画一个圈:改这个文件,别动那个文件;改这个函数,别动其他函数;改界面,别动逻辑。圈越大,AI 的自由度越高,但失控的风险也越大。刚开始不熟练的时候,把圈画小一点。

示例

不好的说法:"优化一下这个页面。"

好的说法:"只修改 src/pages/Home.vue 这个文件。优化它的加载速度,但不要改动页面的外观和布局。如果优化方案需要改动其他文件,先告诉我,等我确认。"

限制给了 AI 安全感,也给了你安全感。双方都知道边界在哪里,协作才能顺畅。


第三步:告诉 AI 成功的标准

原则:说清楚"做到什么程度算成功"。

你说"快一点",AI 不知道"快"是什么标准。是从 10 秒变 5 秒算快,还是从 1 秒变 0.5 秒算快?你说"好看一点",AI 不知道"好看"是什么定义。是颜色更鲜艳,还是布局更简洁,还是字体更大?

没有标准,AI 就只能靠猜。猜对了算运气好,猜错了就来回改,改到你烦了为止。而如果你一开始就把标准说清楚,AI 就能自己判断"我做到了没有",不需要你反复确认。

标准可以很具体("登录请求在 1 秒内返回"),也可以很方向性("让页面看起来更专业,参考 Apple 官网的风格")。关键是有标准,而不是让 AI 猜。

示例

不好的说法:"帮我把这个页面做快一点。"

好的说法:"当前页面从打开到可交互需要 3 秒。优化目标是 1.5 秒以内。优化完成后,请你自己测量并对比优化前后的加载时间,如果没达到目标,继续优化。"

有了标准,AI 就有了方向盘。它知道往哪开,也知道什么时候到了。你不需要盯着它,它自己会检查。

可验证标准速查表

什么样的标准才是"可验证"的?核心判断:AI能不能用"通过"或"没通过"来回答。

场景不可验证的标准可验证的标准
写函数"功能正确""输入X返回Y,输入Z返回W"
改界面"好看一点""与设计稿对比,列出差异并修掉"
修Bug"报错没了""原Bug的回归测试通过"
重构"代码更干净""重构前后测试结果完全一致"
优化性能"快一点""从3秒降到1.5秒以内"

如果你给的标准是"看起来不错""感觉好多了",AI就只能凭感觉判断——而它觉得"差不多了"的时候,往往离你的期望还差一截。


第四步:要求 AI 自我检查

原则:让 AI 在交付之前,自己先检查一遍。

人在写完代码后,可能懒得检查。但 AI 不会累,也不会偷懒。你让它检查,它就会认真检查。而且 AI 检查的维度比人更全面——它可以同时检查逻辑错误、安全漏洞、性能问题、代码规范、边界情况。

很多人在拿到 AI 的结果后,自己手动检查一遍,发现一堆问题,然后让 AI 改。这其实少了一步:在 AI 交给你之前,先让它自己检查一遍。这样你拿到手的,已经是修正过的版本了。

自我检查可以是多方面的:让 AI 自己跑一遍代码,看看有没有报错;让 AI 自己读一遍逻辑,看看有没有漏洞;让 AI 自己站在用户角度,看看体验是否合理。多一道检查,少十次返工。

示例

不好的说法:"好的,谢谢。"

好的说法:"在交付之前,请你做三件事:第一,检查代码是否有逻辑错误和安全漏洞;第二,运行一遍项目,确认没有报错;第三,从用户的角度走一遍流程,确认体验是否顺畅。发现问题先自己修,修完再交给我。"


总结:回到核心

这四个原则,本质上在解决一个问题:AI 不会读心

你不知道 AI 在想什么,AI 也不知道你在想什么。你们之间的唯一桥梁,就是你说出来的话。你说得越清楚,桥梁越坚固;你说得越模糊,桥梁就越摇摇晃晃。

目标、范围、标准、验证——这四个步骤,就是在帮你想清楚"我到底要什么",然后准确地传达给 AI。这不是技巧,不是套路,而是和 AI 协作的基本功。

下次你和 AI 对话之前,花 30 秒在心里过一遍这四个问题:

1. 我要 AI 做什么?(目标) 2. 哪些能动,哪些不能动?(范围) 3. 做到什么程度算成功?(标准) 4. AI 怎么知道自己做对了?(验证)

想清楚了再说。你会发现,AI 突然变聪明了。

其实不是 AI 变聪明了,是你学会了怎么和它说话。


全书终

附录B · 这些词到底是什么意思?写给零基础读者的编程词汇通俗讲解


写在前面的重要提醒

编程世界确实有很多"行话",听起来吓人,但其实大部分概念都可以用日常生活中的东西来类比。

如果你在读这本书的过程中遇到不理解的词,不要慌——这一章就是为你准备的。

更重要的是:你不需要记住所有词。你只需要知道:遇到不懂的词,怎么问 AI,它就能用你能听懂的话解释给你。


B.1 用一句提示词,让 AI 变成你的私人翻译官

在你继续往下读之前,先把这句话记住:

我是一个完全零编程基础的人。请用日常生活中的东西做类比,用小学生都能听懂的语言,解释一下什么是[你想了解的词]。

不要用任何专业术语。如果一定要用,请先解释那个术语。

比如,你问 AI:

"我是一个完全零编程基础的人。请用日常生活中的东西做类比,用小学生都能听懂的语言,解释一下什么是数据库。

不要用任何专业术语。"

AI 会告诉你:

数据库就像一个超级大的 Excel 表格,但是比 Excel 厉害得多。

它可以同时让很多人查看和修改数据,而且不会搞混。

就像图书馆的书架——每本书(每条数据)都有固定的位置,想找什么一下子就找到了。

你看,这样就懂了。

所以,学完这一章,你最大的收获不是记住这些词,而是学会用这一句提示词,随时让 AI 帮你解释任何你不懂的词。


B.2 你在本书中可能遇到的专业词汇

下面把你在书中可能遇到的词,用最通俗的方式解释一遍。每个词都配了"更进一步"——如果你想深入了解,可以直接复制那段提示词发给 AI。

项目是怎么构成的?

前端

类比:餐厅的服务员。

解释:你手机上看到的页面、按钮、颜色、动画,这些都是前端。它负责"看起来什么样"和"你点什么"。

更进一步

"我是一个零基础的初学者,请用餐厅做类比,给我讲一下前端开发到底做什么。然后告诉我,如果我想学前端,应该从什么开始。"

后端

类比:餐厅的厨房。

解释:你点了菜(点了按钮),服务员把需求传到厨房,厨房做菜(处理数据),再把菜端出来。你看不到厨房,但菜是从那里出来的。

更进一步

"我是一个零基础的初学者,请用餐厅做类比,给我讲一下后端开发到底做什么。前端和后端是怎么配合的?"

数据库

类比:餐厅的仓库 + 菜单本。

解释:餐厅有什么食材、每道菜多少钱、今天的订单记录,这些"数据"都存在数据库里。它就像一个超级大的、有规则的表格。

更进一步

"我是一个零基础的初学者,请用最通俗的方式给我讲一下数据库是做什么的。

然后告诉我:如果我只是想用 AI 帮我做一个 App,我需要学数据库吗?

"

服务器

类比:餐厅的位置。

解释:你的 App 或网站不是飘在空中的,它是"放在"一台电脑上的。这台电脑24小时开机,等着你访问。这台电脑就叫服务器。

更进一步

"我是一个零基础的初学者,请用最通俗的方式给我讲一下服务器是什么。我的App在我自己电脑上能跑,为什么还需要服务器?"

部署 / 上线

类比:餐厅开业。

解释:你在厨房试做了很多菜(你自己电脑上开发好了),现在要把菜单挂出去、打开大门、让真正的客人进来吃(让真实用户能用)。这个过程叫部署,也叫上线。

更进一步

"我是一个完全零基础的人,AI帮我做好了一个网站。

请用最通俗的语言告诉我:怎么把它部署上线,让全世界的人都能访问?

一步一步说。"


代码是什么做的?

代码

类比:菜谱。

解释:代码就是给电脑看的菜谱——告诉电脑一步一步做什么。只不过不是"加盐少许",而是非常精确的指令。

更进一步

"我是一个完全零基础的人,请用生活中做菜的例子,给我讲一下代码到底是什么。为什么同样是菜谱,有的写得好,有的写得差?"

函数

类比:菜谱里的"蛋液做法"小卡片。

解释:蛋液的做法可能很多菜都要用到——炒蛋、蛋花汤、蛋糕。与其每次都写一遍,不如把它写成一张小卡片,每次要用的时候说"按卡片A做蛋液"。函数就是把一段常用的操作打包成一个"小卡片",随用随取。

更进一步

"我是一个零基础的人,请用生活中做菜的例子,给我讲一下编程里的函数是什么。用最简单的方式说明它的好处。"

变量

类比:标签。

解释:你在瓶子上贴个标签写"盐",在另一个瓶子上贴个标签写"糖"。这样不用每次都打开闻一闻,看标签就行。变量就是存储信息的标签,给它取个有意义的名字,以后要用的时候直接叫名字。

更进一步

"我是一个零基础的人,请用日常生活中的例子解释编程里的变量是什么。为什么给变量取好名字很重要?"

组件

类比:乐高积木。

解释:你不会每次都重新造一个轮子——按钮做好了,就是一个乐高块。下次要用按钮,直接把这个块拿过来拼上就行。组件就是可重复使用的UI积木。

更进一步

"我是一个零基础的人,请用乐高积木的类比给我讲一下编程里的组件是什么。为什么要把代码拆成组件?"

框架

类比:连锁餐厅的标准操作手册。

解释:开一家麦当劳,你不用从零设计厨房、柜台、菜单。总部给你一本手册,告诉你所有标准流程。框架就是这种"标准操作手册",让你不用从零开始搭一切。

更进一步

"我是一个零基础的人,请用连锁餐厅的类比给我讲一下编程里的框架是什么。为什么有人用不同的框架?我需要学吗?"

目录 / 文件夹

类比:你电脑上的文件夹。

解释:就像你把照片放"照片"文件夹、文档放"文档"文件夹一样,代码也按功能分类存放。你经常会听到"src 目录"——src 是 source(源码)的缩写,就是放代码的地方。

更进一步

"我是一个零基础的人,请给我解释一下编程项目中的目录结构是什么。为什么代码要分文件夹放?src 目录里一般有什么?"

配置文件

类比:餐厅的"营业须知"——今天几点开门、菜单价格调多少、开不开空调。

解释:配置文件不是代码本身,而是告诉程序"该用什么参数运行"。比如数据库地址、端口号、密码这些信息,都写在配置文件里。改配置文件不需要改代码。

更进一步

"我是一个零基础的人,请用餐厅营业须知的类比给我解释什么是配置文件。为什么要把配置和代码分开?"

模块

类比:餐厅里的不同部门——厨房、吧台、收银台。

解释:一个大项目太复杂,就把代码按功能拆成"模块"。登录是一个模块,支付是一个模块,评论是一个模块。每个模块管好自己的事,互不干扰。

更进一步

"我是一个零基础的人,请用餐厅部门的类比给我讲一下编程里的模块是什么。模块和组件有什么区别?"

依赖

类比:做菜需要的食材供应商。

解释:你的项目用到了别人写好的代码(比如一个图表库),这个图表库就是你的"依赖"。就像你做汉堡需要面包供应商供货——面包供应商是你的"依赖"。依赖需要安装和管理,有时候版本不对就会出问题。

更进一步

"我是一个零基础的人,请用食材供应商的类比给我解释什么是项目依赖。为什么依赖版本不对会出问题?"

第三方库

类比:现成的调料包。

解释:你不需要自己从零调酱汁——超市有现成的。第三方库就是别人写好的、打包好的代码工具,你直接拿来用就行。比如图表库、日期处理库。它和"依赖"是同一个意思的不同说法。

更进一步

"我是一个零基础的人,请用调料包的类比给我解释什么是第三方库。我怎么知道该用哪个库?"


代码出了问题怎么办?

Bug

类比:菜里有虫子。

解释:程序不像预期那样工作,就是有 Bug。可能是一个小显示错误,也可能让整个程序崩溃。"Bug"这个词在 19 世纪就被工程师用来形容机器故障了。1947 年,计算机科学家 Grace Hopper 在哈佛 Mark II 计算机的继电器里发现了一只真正的飞蛾,导致机器出故障。她在日志本上贴了这只飞蛾,写下"第一个被发现的 bug"。这件事让"Bug"一词在计算机领域流行开来。

更进一步

"我是一个零基础的人,请给我讲一下编程里的 Bug 是什么。为什么叫 Bug?常见的 Bug 有哪几种?"

重构

类比:厨房重新装修,但菜单不变。

解释:功能还是那些功能,但代码内部重新整理——把重复的代码合并、把太长的函数拆短、把混乱的命名改清楚。就像厨房装修不影响菜单上的菜,但做菜效率更高了。重构不改功能,只改代码质量。

更进一步

"我是一个零基础的人,请用厨房装修的类比给我解释什么是代码重构。重构和重写有什么区别?"

边界条件 / 边界情况

类比:一道菜要 1-5 份辣度,那 0 份辣和 6 份辣怎么办?

解释:程序正常情况都测过了,但极端情况没测——输入是空的、数字是负数、用户一口气选了 999 件商品。这些"极端情况"就是边界条件。AI 经常忘记处理边界条件,需要你提醒。

更进一步

"我是一个零基础的人,请用点餐的类比给我解释什么是边界条件。为什么 AI 容易忽略边界条件?"

异常处理

类比:厨房着了火的应急预案。

解释:程序运行时可能遇到意外——网络断了、数据不存在、用户输入了乱码。异常处理就是提前准备好"如果出错了怎么办"的方案,让程序不会直接崩溃,而是给出友好的提示。

更进一步

"我是一个零基础的人,请用厨房应急预案的类比给我解释什么是异常处理。try-catch 是什么意思?"


项目怎么管理?

开发环境 / 生产环境

类比:餐厅的后厨 vs 前厅。

解释:开发环境是你在自己电脑上调试代码的地方(后厨试菜),生产环境是真正给用户使用的地方(前厅上菜)。两者的配置可能不同——开发环境用假数据没关系,生产环境用真数据不能出错。

更进一步

"我是一个零基础的人,请用餐厅后厨和前厅的类比给我解释开发环境和生产环境的区别。为什么需要分开?"

回滚

类比:新菜不受欢迎,菜单换回旧版。

解释:你上线了新版本,发现有严重问题。回滚就是"退回上一个正常版本"——像撤销一样,但是在线上环境。这就是为什么每次上线前都要备份旧版本。

更进一步

"我是一个零基础的人,请给我解释什么是回滚。为什么每次上线都要准备回滚方案?"

硬编码

类比:把价格直接刻在菜单牌上,改价格要重新做菜单牌。

解释:把具体数值(密码、地址、端口)直接写死在代码里,而不是放在配置文件中。一旦需要修改,就要改代码本身,很容易出错。正确做法是把这些值放在配置文件或环境变量里。

更进一步

"我是一个零基础的人,请用菜单牌的类比给我解释什么是硬编码。为什么硬编码不好?"

技术栈

类比:厨房的工具套装。

解释:做不同菜系需要不同工具——中餐要炒锅,西餐要烤箱。同样,做不同项目用不同的技术组合:前端用什么、后端用什么、数据库用什么,这套组合就是"技术栈"。

更进一步

"我是一个零基础的人,请用厨房工具套装的类比给我解释什么是技术栈。常见的 Web 技术栈有哪些?"


人和电脑怎么互动?

登录 / 注册

类比:进健身房刷卡。

解释:注册就是你第一次去健身房,填表办卡。登录就是下次来,刷卡进门。电脑通过这个知道"你是谁"。

更进一步

"我是一个零基础的人,请给我讲一下网站登录和注册背后发生了什么。为什么需要密码?我的密码存在哪里?怎么保证安全?"

接口(API)

类比:餐厅里的服务员。

解释:你去餐厅,不是直接冲进厨房自己炒菜。你告诉服务员你要什么,服务员去厨房下单,再把菜端给你。这个服务员就是"接口"——你和厨房(后端)之间的传话人。

更进一步

"我是一个零基础的人,请用餐厅服务员的类比给我讲一下 API(接口)是什么。为什么软件之间需要接口?"

状态

类比:你的心情。

解释:你现在是饿了、饱了、开心、还是困了——这叫你的"状态"。App也一样,登录了没、购物车里有几件东西、现在在第几页——这些都是"状态"。

更进一步

"我是一个零基础的人,请用日常生活中的例子给我解释编程中的'状态'是什么意思。为什么管理状态很重要?"

缓存

类比:冰箱里的剩菜。

解释:每次饿了都出门买菜、洗菜、做菜,太慢了。如果昨天多做了一些放冰箱,今天热一热就能吃,快多了。缓存就是把常用的数据"暂存"起来,下次用的时候直接取,不用重新算。

更进一步

"我是一个零基础的人,请用冰箱存菜的类比给我讲一下编程中的缓存是什么。它有什么好处,又有什么需要注意的?"


代码质量怎么保证?

测试

类比:做菜时尝一尝。

解释:你不会把一整桌菜做完才尝第一口。你会边做边尝——咸了加水,淡了加盐。测试就是"边做边尝"——不是最后才检查,而是一直在检查。

更进一步

"我是一个零基础的人,请用做菜时尝味道的类比给我讲一下软件测试是什么。为什么测试很重要?AI能帮我测试吗?"

性能

类比:做菜的速度。

解释:同样的菜,有人30分钟做好,有人2小时。性能就是"你的App/网站跑得有多快"。如果用户点一个按钮要等5秒才有反应,就像等了2小时才吃到一盘拍黄瓜——体验太差了。

更进一步

"我是一个零基础的人,请用做菜速度的类比给我解释软件的'性能'是什么意思。AI能帮我改善性能吗?"

安全

类比:家里的门锁。

解释:你不会让陌生人随便进你家。安全就是给App装上门锁——密码登录、权限控制、数据加密,防止坏人进来偷东西或搞破坏。

更进一步

"我是一个零基础的人,请用家里门锁的类比给我解释网络安全是什么。如果我让AI帮我做了一个App,我需要担心安全问题吗?"

响应式/适配

类比:一件衣服在不同身材的人身上都能穿。

解释:你的网站在电脑上看很好,但手机上看字太小、按钮挤在一起。响应式设计就是让同一个页面在不同屏幕大小(手机、平板、电脑)上都能舒服地显示。

更进一步

"我是一个零基础的人,请给我讲一下响应式设计是什么。如果我让AI帮我做网站,我需要专门告诉它做响应式吗?"


B.3 一些本书没出现但你可能会听到的词

以下是书中可能偶尔出现、或你继续用 AI 编程很可能会遇到的词。每个都配了"一键问 AI"的提示词。

编程语言(Python / JavaScript / 等)

"我是一个零基础的人。请给我讲一下什么是编程语言。

用人类语言的类比解释。然后给我列一个表格,说明 Python、JavaScript 等主流语言分别适合做什么。

告诉一个纯新手应该先学哪个。"

版本控制(Git)

"我是一个零基础的人。请用写作文打草稿的类比给我讲一下 Git(版本控制)是什么。

不要讲命令,就用概念解释。然后告诉我:如果我只是一个人用 AI 编程,需要学 Git 吗?

"

命令行 / 终端

"我是一个零基础的人。请用对讲机的类比给我解释什么是命令行(终端)。

为什么程序员喜欢用一个黑黑的窗口而不是点鼠标?

我一个普通人需要学会这个吗?"

环境变量

"我是一个零基础的人。请用最通俗的方式给我解释什么是环境变量。为什么开发环境和生产环境需要不同的配置?"

并发

"我是一个零基础的人。请用超市收银台的类比给我解释什么是并发。为什么并发会导致数据不一致?"

表单

"我是一个零基础的人。请用填申请表的类比给我解释什么是网页表单。表单校验是什么意思?"

权限

"我是一个零基础的人。请用小区门禁卡的类比给我解释什么是权限。为什么有些页面只有管理员能看?"

控制台

"我是一个零基础的人。请用汽车仪表盘的类比给我解释什么是浏览器控制台。怎么打开它?上面那些红色的报错是什么意思?"

索引

"我是一个零基础的人。请用图书馆书号的类比给我解释什么是数据库索引。为什么加了索引查询会变快?"

耦合度

"我是一个零基础的人。请用'牵一发而动全身'的类比给我解释什么是代码耦合度。为什么高耦合不好?"

打包

"我是一个零基础的人。请用搬家打包箱子的类比给我解释什么是前端打包。为什么需要打包?"

回归测试

"我是一个零基础的人。请用'改了厨房水管后检查全屋有没有漏水'的类比给我解释什么是回归测试。"


B.4 记住这三句话就够了

你不需要记住这一章的全部内容。你只需要记住:

第一句:遇到不懂的词,不要慌。所有词背后都是很简单的概念,只是被起了个吓人的名字。

第二句:直接用这句提示词问 AI:

"我是一个完全零编程基础的人。请用日常生活中的东西做类比,用小学生都能听懂的语言,解释一下什么是[你想了解的词]。

不要用任何专业术语。如果一定要用,请先解释那个术语。

"

第三句:如果 AI 的解释还是听不懂,就告诉它:

"还是太难了,请讲得更简单,用幼儿园小朋友能听懂的方式。"


AI 不会读心。但你可以教会它——用最简单的语言告诉它你不懂,它就能用最简单的方式让你懂。

附录C · 做小程序?这是你需要的专项指南


如果你想做的是微信小程序而不是网站,前面的沟通方法全部适用,但流程上有一些特殊的地方。这一章帮你补上。


C.1 小程序和网站有什么不同?

对比项网站微信小程序
在哪运行浏览器微信 App 里
怎么开发任何技术都行必须用微信指定的技术
怎么上线买个域名+服务器就行必须通过微信审核
用户怎么用输入网址在微信里搜索
需要什么账号域名注册微信小程序账号

简单说:小程序更封闭,规则更严,但好处是用户不用记网址,在微信里一搜就能用。


C.2 个人开发者和企业开发者有什么不同?

这是新手最容易忽略、但影响最大的问题。注册小程序时,你要选择"个人主体"还是"企业主体"。两者的能力差别非常大:

对比项个人主体企业/个体工商户主体
注册门槛身份证即可需要营业执照
注册费用30 元(个人认证)300 元/年
微信支付不支持支持
开店卖货不支持支持
可选类目有限(工具、信息查询等)几乎全部类目
教育类目不支持支持(需资质)
医疗类目不支持支持(需资质)
直播功能不支持支持
订阅消息一次性订阅可用一次性 + 长期订阅(长期需特定行业资质)
品牌搜索展示无企业认证标识有企业认证标识

通俗解释

  • 个人主体:适合做工具类、查询类、展示类的小程序。比如一个计算器、一个天气查询、一个个人作品集。不能收钱、不能开店。
  • 企业主体:适合做需要交易的小程序。比如商城、在线课程、预约服务。需要营业执照,但功能几乎不受限。

怎么选?

  • 如果你的小程序不需要收钱:选个人主体,认证费 30 元,快速、够用。
  • 如果你的小程序需要收钱(卖东西、收会员费、付费课程):必须选企业主体。没有营业执照?可以考虑注册一个个体工商户,门槛比公司低。

直接问 AI 帮你判断:

"我想做一个小程序,功能是[你的功能描述],可能需要[是否收费/是否卖东西/是否需要用户登录]。

请告诉我:我应该选个人主体还是企业主体?为什么?

如果需要企业主体,我没有营业执照,最简单的方式是什么?

"


C.3 从零开始做小程序,一共几步?

第一步:注册小程序账号

去微信公众平台注册一个小程序账号。个人就能注册,不需要营业执照。

"我是一个新手,想注册一个微信小程序账号。

请告诉我:注册地址是什么?需要准备什么材料?

个人注册和企业注册有什么区别?一步步教我。

"

第二步:获取 AppID

注册成功后,你会拿到一个 AppID——这是你的小程序的"身份证号",代码里要用到。

"我已经注册了微信小程序账号,但不知道 AppID 在哪里找。请告诉我具体在哪个页面、怎么复制。"

第三步:安装微信开发者工具

小程序不能在普通浏览器里运行,必须用微信官方的开发者工具。

"我是 Windows/Mac 用户,请告诉我怎么下载和安装微信开发者工具。安装完打开后,第一步该做什么?"

第四步:让 AI 帮你写小程序

把你的 AppID 告诉 AI,然后按照本书的方法跟 AI 沟通:

"我要做一个微信小程序,功能是[你的功能描述]。

AppID 是[你的 AppID]。请帮我创建项目,用微信小程序原生开发。

先不要写代码,先问我几个问题确认需求。"

重要:一定要告诉 AI 你做的是小程序,不是网站。小程序的技术和网站完全不同,AI 需要知道这一点。

第五步:在开发者工具里预览

AI 写完代码后,你在微信开发者工具里点"编译"就能看到效果。如果要真机测试,点"预览"会生成一个二维码,用手机微信扫码就能打开。

"AI 已经帮我写好了小程序代码。请告诉我怎么在微信开发者工具里预览?怎么看效果?怎么用手机测试?"

第六步:提交审核

小程序开发完之后,不能直接上线,必须提交微信审核。审核通过后才能被用户搜索到。

"我的小程序开发完了,准备提交审核。请告诉我:提交审核前需要检查什么?

在哪个页面提交?审核大概要多久?常见被拒的原因有哪些?

怎么避免?"

第七步:发布上线

审核通过后,在微信公众平台点"发布",用户就能在微信里搜索到你的小程序了。


C.4 纯前端小程序 vs 带后端小程序:你应该选哪种?

做小程序之前,你需要知道一个重要选择:你的小程序是"纯前端"还是"带后端"。这决定了开发难度、成本和能做什么。

什么是纯前端小程序?什么是带后端小程序?

纯前端小程序:所有数据都写死在代码里,或者存在用户手机上。不需要服务器,不需要数据库

带后端小程序:有一台服务器在背后跑着,负责存数据、处理逻辑。用户的操作会通过网络请求发给服务器,服务器返回结果。

通俗类比

  • 纯前端:就像一本印好的书。内容是固定的,你翻开就能看,但改不了内容。
  • 带后端:就像一个微信群。你发消息,别人能看到;别人发消息,你也能看到。内容是活的,随时在变。

详细对比

对比项纯前端小程序带后端小程序
需要服务器不需要需要
需要数据库不需要需要
开发难度低,适合新手中等,需要多写后端代码
开发成本几乎为零需要服务器费用(每月几十到几百元)
数据存储存在用户手机本地存在服务器上
用户间数据共享不支持支持
用户登录注册不支持支持
内容随时更新需要改代码重新发布后台改了,小程序自动更新
离线使用支持不支持(断网就用不了)
适合什么工具、计算器、展示页商城、社交、预约、论坛

哪些场景适合纯前端?

  • 计算器、单位换算
  • 个人作品集、简历展示
  • 静态信息查询(如节气表、颜色对照表)
  • 简单的小游戏(只记本地最高分)
  • 倒计时、纪念日提醒(数据存本地)

哪些场景必须带后端?

  • 用户注册登录(需要服务器验证身份)
  • 商城、卖东西(需要保存订单、库存)
  • 论坛、评论(需要用户之间共享数据)
  • 内容管理(管理员在后台上传内容,用户在小程序看到)
  • 多人协作(多人编辑同一份数据)

新手怎么选?

先问自己一个问题:用户 A 的操作,用户 B 需要看到吗?

  • 不需要 → 纯前端就够了。比如计算器,你算你的,我算我的。
  • 需要 → 必须带后端。比如评论功能,你发的评论别人要能看到。

如果你不确定,问 AI:

"我要做一个小程序,功能是[你的功能描述]。

用户之间需要共享数据吗?需要用户登录吗?需要管理员在后台上传内容吗?

请帮我判断:我应该做纯前端小程序还是带后端小程序?

为什么?如果需要后端,最简单的方案是什么?

"

纯前端也能做很多事

不要觉得纯前端就"低人一等"。很多实用的小程序都是纯前端的:计算器、天气查询(调用免费 API)、记账本(数据存本地)、番茄钟。如果你的需求不需要用户间共享数据,纯前端是最佳选择——开发快、成本低、不用维护服务器。

带后端也没那么难

如果需要后端,也不用怕。告诉 AI:

"我的小程序需要后端。我是一个零基础的人,请推荐最简单的后端方案。

要求:免费或便宜、我不需要自己搭服务器、AI 能帮我写大部分代码。请告诉我有哪些选择。"

AI 通常会推荐:

  • 微信云开发:微信官方提供的后端服务,和小程序无缝集成,有免费额度,最适合新手
  • Supabase / Firebase:第三方后端服务,免费额度够用,AI 很熟悉

C.5 小程序的常见限制

小程序有一些限制,提前知道可以少走弯路:

  • 包体大小:小程序主包不能超过 2MB(太大需要拆分包)
  • 不能用某些库:小程序不支持所有网页技术,AI 知道这些限制,但要提醒它
  • 域名白名单:如果你的小程序需要访问后台接口,必须在管理后台配置域名白名单
  • 审核规则:不能有诱导分享、虚拟支付( iOS )等内容
  • web-view 不被搜索收录:如果你在小程序里嵌入了网页(web-view 组件),微信搜索爬虫不会收录里面的内容

"我在做微信小程序,请告诉我有哪些常见的限制和坑,开发前我需要注意什么。"


C.6 小程序搜索优化:让别人搜到你

小程序做完了,如果用户搜不到你,那等于白做。微信有自己的搜索系统,和百度的 SEO 类似,但规则不同。

什么是小程序搜索优化?

微信会派"爬虫"去访问你的小程序页面,抓取内容,然后用户搜索时展示出来。如果你的页面没被爬虫抓到,就搜不到。

小白需要知道的 6 条规则

规则一:页面要能直接打开

小程序里的每个页面,必须能通过 URL 直接打开,不能依赖"先登录才能看"。爬虫不会登录你的小程序,它进来一看要登录就走了,你的页面就不会被收录。

怎么做:告诉 AI——

"我的小程序有些页面需要登录才能看。请帮我调整:让公开内容(文章列表、商品展示)不需要登录就能访问,只有需要个人信息的操作(下单、评论)才要求登录。

"

规则二:用 navigator 组件做页面跳转

小程序有两种跳转方式:navigator 组件和路由 API。爬虫更容易识别 navigator 组件。

怎么做:告诉 AI——

"请优先使用 navigator 组件做页面跳转,不要用 navigateTo 等 API,这样微信搜索爬虫更容易抓取我的页面。

"

规则三:页面参数要清晰

如果你的页面 URL 是 ?id=123&type=article,爬虫能理解。但如果是 ?data={"id":123,"type":"article"}(把 JSON 当参数),爬虫就看不懂了。

怎么做:告诉 AI——

"页面跳转的 URL 参数请用清晰的 querystring 格式(如 ?id=123&category=tools),不要把 JSON 数据作为参数传递。

"

规则四:不要一进来就要求授权

用户一打开就弹"是否允许获取你的手机号",用户会直接关掉,爬虫也会走。

怎么做:只在必要时才要求授权。比如看文章不需要登录,发评论才需要。

规则五:web-view 里的内容不被收录

如果你在小程序里嵌了网页(用 web-view 组件),那部分内容微信搜索不会收录。重要的内容不要放在 web-view 里。

规则六:设置好标题和缩略图

每个页面都应该有清晰的标题和缩略图,这样在搜索结果里展示出来才好看,用户才愿意点。

怎么做:告诉 AI——

"请帮我为每个页面设置清晰的标题(通过 wx.setNavigationBarTitle)和转发缩略图(通过 onShareAppMessage)。

视频和音频组件也请设置 poster 属性。

"

一键让 AI 帮你做搜索优化

"我的微信小程序已经开发完成。请帮我按照微信官方的小程序搜索优化指南,逐项检查并优化: 1. 确保所有公开页面可以通过 URL 直接打开 2. 页面跳转优先使用 navigator 组件 3. URL 参数清晰简洁,不用 JSON 4. 只在必要时才要求用户授权 5. 不依赖 web-view 展示核心内容 6. 每个页面都有清晰的标题和缩略图 逐项检查,告诉我哪些已达标、哪些需要修改。

"

官方文档:[小程序搜索优化指南](https://developers.weixin.qq.com/miniprogram/dev/framework/search/seo.html)


C.7 小程序 AI 开发模式:让用户用对话操作你的小程序

这是什么?

微信正在内测一个新功能:用户可以在微信里通过 AI 对话直接操作小程序。比如用户说"帮我查一下最近的订单",小程序 AI 就会自动调用你小程序里的功能,返回结果。

这就像给小程序装了一个"语音助手"——用户不用自己点来点去,说一句话就行。

对你意味着什么?

如果你的小程序接入了 AI 开发模式,用户即使不打开你的小程序,也能通过微信的 AI 入口使用你的功能。这意味着更多的曝光和更低的用户使用门槛

怎么接入?

目前这个功能还在 Beta(内测)阶段,流程大致是:

1. 在微信公众平台 → "基础功能" → "AI 能力" 中申请开通"开发模式" 2. 把小程序的功能封装成"SKILL"(技能)——就是把你的功能拆成一个个 AI 能调用的接口 3. 用微信开发者工具调试 4. 测试通过后,用户就可以通过 AI 对话使用你的小程序了

注意:目前 AI 开发模式暂未开放代码提审,请不要将相关代码合入正式版本提交审核,以免影响正常版本发布。

你需要理解的概念

术语通俗解释
SKILL(技能)小程序的一个完整功能。比如"查订单"是一个技能,"下订单"是另一个技能
原子接口技能的最小执行单元。比如"查订单"技能可能包含"搜索订单"和"获取订单详情"两个原子接口
原子组件接口返回结果的展示卡片。比如订单查询结果会渲染成一个订单卡片
小程序 MCP微信定义的一套协议,让 AI 知道你的小程序有哪些技能可以调用

直接问 AI 帮你接入

"我有一个微信小程序,功能是[你的功能描述]。我想接入小程序 AI 开发模式。请告诉我: 1. 我需要做哪些准备?

2. 怎么把我的功能封装成 SKILL?

3. 请帮我写一个 SKILL.md 和 mcp.json 的示例。

4. 调试时需要注意什么? 请用零基础能听懂的方式解释。"

官方文档:[小程序 AI 开发模式接入指南](https://developers.weixin.qq.com/miniprogram/dev/ai/guide.html)


C.8 小程序被拒审核怎么办?

提交审核后被拒很正常,别慌。

1. 看拒绝原因:审核结果会告诉你为什么被拒 2. 发给 AI 分析

"我的小程序提交审核被拒了,审核给出的原因是:[粘贴拒绝原因]。请帮我分析这个原因是什么意思,我该怎么修改才能通过。"

3. 修改后重新提交:修改完再次提交审核即可

常见被拒原因:

  • 功能不完整(页面点进去是空的)
  • 类目不匹配(你选了"工具"类目,但实际内容是电商)
  • 没有用户协议和隐私政策
  • 有测试数据没清理
  • 个人主体做了企业才能做的事(如开通支付、使用企业专属类目)

C.9 一个万能提示词

不管你在小程序的哪个阶段遇到问题,都可以用这个提示词:

"我在做微信小程序,当前遇到了这个问题:[具体描述问题]。

我目前的进度是:[注册/开发/预览/提交审核/已上线]。

我的主体类型是:[个人/企业]。请帮我解决,一步步来。

如果你需要更多信息,先问我。"


记住:做小程序和做网站,沟通方法是一样的——目标、范围、限制、验证。

区别在于:小程序多了一道审核关,搜索优化规则不同,个人和企业的能力差别很大。

但这些都是可以问 AI 的——把问题说清楚,AI 就能帮你解决。

常见问题

关于和 AI 沟通,你可能还想知道这些

为什么 AI 总是理解错我的意思?

AI 不会读心。它只能理解你已经说出来的话,你说得模糊,它就猜。猜错了就开始返工。问题往往不在 AI 身上,而是你没说清楚。表达质量决定结果质量。

如何让 AI 准确理解我的需求?

用目标、范围、限制、验证四步公式。目标:你要完成什么事;范围:只做哪些部分;限制:哪些不能动;验证:做到什么程度算成功。把这四步说清楚,AI 就不会跑偏。

不会编程的人能用好 AI 吗?

可以。编程能力和表达能力是两种完全不同的能力。很多程序员也遇到 AI 跑偏的问题。关键不是会不会编程,而是会不会表达。

AI 给的结果不满意怎么办?

不要说"不对"或"再改改",要具体描述哪里不对。说清楚当前行为是什么、期望行为是什么、修改范围在哪里、改完怎么验证。描述越具体,AI 修得越准。

每次让 AI 改代码都很乱怎么办?

在项目开始时就和 AI 约定工作规则:每次只做一个功能、修改前先说方案、修改后报告改了什么、不确定的先问。规则定好了,整个过程就变得可控。

大项目怎么和 AI 协作?

把大项目拆成小阶段,每个阶段只做一件事。先让 AI 帮你拆分,列出每个阶段的目标和任务,然后一个一个完成。每完成一步确认结果,再继续下一步。

已复制到剪贴板