程序其实就是一份严格的办事步骤
这一部分不培养程序员。目标只有一个:AI 替你写了一个小工具,你能看懂它大概在做什么,知道什么时候可以运行,出错了知道从哪里查。第一页先说程序到底是什么。
A program is a set of instructions for someone who does exactly what you say and nothing you did not.Un programa es una lista de instrucciones para alguien que hace exactamente lo que dices y nada de lo que no dijiste.
电脑不会「自己理解」
Section titled “电脑不会「自己理解」”必须掌握
你什么时候会遇到这个问题:你让 AI 写了个「整理发票」的脚本,它把不是发票的文件也移走了。
最简单可靠的做法:把程序当成写给一个完全照做、一点不补脑的人的办事步骤。
给新同事写报销流程,你可以写「把发票按月份整理好」,他知道什么是发票、什么叫整理好。给电脑写,你得写:「对「下载」文件夹里每一个文件,如果名字以 .pdf 结尾并且名字里有「发票」两个字,看它名字开头的日期,把它移进以那个年份命名的文件夹;文件夹不存在就先建一个。」
为什么这样做:电脑不知道什么是发票。你没说的条件,它不会补;你说了的条件,它一个字都不会多想。程序的所有能力和所有毛病都来自这一点。
输入、处理、输出
Section titled “输入、处理、输出”必须掌握
任何任务都能拆成三段:
- 输入:它拿到什么。一个文件夹里的文件列表,一份 CSV,一段文字。
- 处理:它对每一样做什么。看日期,比大小,改名字。
- 输出:它交出什么。移动好的文件,一张表,一个数字。
看一段代码先找这三段。找到了,你就知道它会碰什么、会产生什么。这也是交代给 AI 时「材料」和「输出形式」那两句的来历。
顺序、条件、重复
Section titled “顺序、条件、重复”必须掌握
你什么时候会遇到这个问题:代码看起来很长,不知道它在干什么。
最简单可靠的做法:所有程序只有三种结构,认出它们,长代码就变短了。
- 顺序:一步接一步。先看日期,再建文件夹,再移动。
- 条件:如果……就……否则……。如果剩余天数小于 7,标红;否则不动。
- 重复:对每一个……都……。对台账里每一行都算一次剩余天数。
用中文写出来,就是你在 Excel 里做过的事:
对台账里的每一个案子: ← 重复 剩余天数 = 下一期限 − 今天 ← 顺序 如果 剩余天数 < 7: ← 条件 把这一行标红代码只是把这四行换成电脑认得的写法。零件在下一页。
为什么会有 Bug
Section titled “为什么会有 Bug”知道即可
Bug 不是电脑出错,是步骤里有一步没写对,或者有一种情况没写到。
- 没写到的情况:文件夹是空的,两个文件重名,日期写成了
9.3而不是2026-09-03。程序遇到没写到的情况,要么停下来报错,要么按字面意思做出奇怪的事。 - 写错的一步:把「小于 7」写成了「小于 70」。
- 错误信息是它在告诉你卡在了哪一步。看不懂整段复制给 AI,见终端一章。
所以让 AI 写工具时,交代里要说清楚边界:文件重名怎么办,日期格式是什么,遇到不认识的文件跳过还是停下。
代码、程序、脚本、应用
Section titled “代码、程序、脚本、应用”知道即可
- 代码:写下来的步骤本身,一段文字。
- 程序:能运行的代码。
- 脚本:小程序,通常几十行,做一件具体的事,在终端里跑。AI 给你的多半是这个。
- 应用:有界面、装在电脑上的大程序。Word 是应用。
看懂 AI 写的小工具在做什么
Section titled “看懂 AI 写的小工具在做什么”必须掌握
你什么时候会遇到这个问题:AI 给了三十行代码,说「运行就行」。
最简单可靠的做法,运行前问三个问题,答不上来就让它逐段加注释:
- 输入是什么? 它读哪个文件夹、哪个文件?
- 它会改什么? 移动、重命名、删除、覆盖,哪一种?
- 输出到哪? 新文件放在哪,会不会盖掉旧的?
然后在练习场跑,不碰正式资料。怎么跑在用 Python 处理一次真实的小事。运行前的规矩和终端一章一样:不签没读过的文件,也不运行没读过的代码。
把「整理下载文件夹」写成十行以内的步骤,写给一个完全不会补脑的人。写完检查:有没有一个词是他可能不知道意思的?「整理好」「重要的」「差不多」这些词,都要换成他能照做的条件。