第5章-AI编程行业认知与AI三用法


前四天你学会了:文件放哪、命令怎么敲、代码怎么存、环境怎么跑。今天要学的是本课程最重要的思维转变:让 AI 替你写代码。

先看一个演示:用 AI 工具 5 分钟生成一个带标题、按钮、图片的简单网页。你只负责"说清楚想要什么",AI 负责"写代码",你负责"检查、修改、运行"。看完你会发现:写代码这个活儿,正在从"自己敲"变成"指挥 AI 敲"。你真正的本事,是能把需求说清楚、能看懂 AI 写的代码、能在出问题时指挥 AI 修复。

今天练三个 AI 用法:生成(让 AI 写)、解释(让 AI 讲)、当老师(让 AI 教)。这三招学会,你就具备了在 AI 时代学编程的正确姿势。今天最后再对着本周复习清单自查一遍,为明天周测做准备。

先看一场演示:5 分钟生成一个网页

在 Cursor 里用一句话描述需求,AI 直接生成一个网页。演示需求(可直接复制给 Cursor):

帮我写一个简单网页:有一个大标题"我的第一个网页",有一个按钮,点击按钮弹出"你好!",再放一张风景图。用 HTML 写在一个文件里。

几秒钟后 AI 会生成一段 HTML 代码。保存成 index.html,双击用浏览器打开,网页就出来了。

这个演示想让你明白三件事:

你学到的 说明
需求描述是人的活 你说清"要什么",AI 负责"怎么写"
检查是人的活 代码跑不跑得通,最终人来判断
修改是人的活 不满意,继续对 AI 提要求,改到满意为止

今天把核心句式记下来:"你只负责说清楚想要什么,AI 负责写出代码,然后你负责检查、修改、运行。" 这就是 AI 编程时代的日常。

演示用的完整 HTML(这是 AI 会生成的代码的样子,理解结构即可,今天不要求自己写):

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>我的第一个网页</title>
</head>
<body>
    <h1>我的第一个网页</h1>
    <button onclick="alert('你好!')">点我</button>
    <img src="https://example.com/风景图.jpg" alt="风景图" width="400">
</body>
</html>

保存为 index.html 后用浏览器打开:能看到标题、按钮;点按钮弹出"你好!";图片位置显示图片。

三个容易弄混的点:

  • 网页文件用浏览器打开(双击即可),不是用 Python 运行,别敲 python index.html
  • AI 生成的图片地址(src)可能是占位图或无法访问,图片不显示是图片链接问题,不是代码问题,可以让 AI 换成可用的图片地址。
  • 初次接触 HTML 不需要看懂每行,重点是感受"一句话 → 一个能用的网页"这个流程。

AI 编程的基本工作模式:人主导,AI 执行

把今天(乃至整个课程)的干活方式提炼成一个流程,本周就要建立:

描述需求(人) → AI 生成代码 → 运行测试(人) → 有问题再问 AI(人) → 完成

循环起来看,这是一个"人主导、AI 执行"的四步循环

步骤 谁负责 干什么 注意
1. 描述需求 说清楚要什么 说得越具体,AI 写得越准
2. 生成代码 AI 按需求写代码 你不懂怎么写,也要会"说"
3. 运行测试 运行、看结果 结果不对就是"有问题"
4. 再问 AI 把报错/需求发给 AI,让它修 修完回到第 3 步,循环到通过

这个模式有个关键词:人主导。AI 不会自己干活,它需要你的判断力:需求对不对、代码跑没跑通、结果满不满意。所以学编程的重点,从"背语法"变成"学会表达需求 + 学会看懂代码 + 学会调试"。

一个完整循环的对话示例(Cursor AI 面板):

人(第1步):用 Python 写一个程序,打印 1 到 10。
AI(第2步):(生成一段 for 循环代码)
人(第3步):运行 → 输出 1 2 3 ... 10,成功。
人(第4步):改成只打印偶数。
AI:(修改代码,人再运行验证)

三个提醒:

  • 别把 AI 当"搜索引擎"只用来看,它是你的同事:给需求、要结果、验结果,循环起来。
  • 需求描述越具体越好:"写个程序"不如"写个 Python 程序,让用户输入一个数字,判断它是奇数还是偶数"。
  • AI 一次生成可能不完美,循环修改是常态,一次搞不定就继续追问,别放弃。

用法一:让 AI 生成代码

让 AI 生成代码 = 用自然语言(中文就行)描述需求,AI 直接给你完整代码。这是三个用法里最常用、最提效的。

关键技巧:描述需求要"五要素"齐全

要素 例子
用什么语言 Python
程序要干什么 打印 1 到 100
有什么规则 能被 3 整除打印 Fizz,能被 5 整除打印 Buzz
输入输出长啥样 每行一个,从上到下打印
有什么约束 用最简单的写法,初学者能看懂

拿经典练手题 FizzBuzz 试一下。把下面这段话整段复制到 Cursor 对话:

用 Python 写一个程序:打印 1 到 100。
规则:能被 3 整除的数字打印 "Fizz";能被 5 整除的打印 "Buzz";
既能被 3 又能被 5 整除的打印 "FizzBuzz";其他数字直接打印数字本身。
请用初学者能看懂的最简单写法,并加注释。

AI 生成的代码类似(理解即可,不求背):

for i in range(1, 101):              # 让 i 依次取 1 到 100
    if i % 3 == 0 and i % 5 == 0:    # 能被 3 和 5 同时整除
        print("FizzBuzz")
    elif i % 3 == 0:                 # 只能被 3 整除
        print("Fizz")
    elif i % 5 == 0:                 # 只能被 5 整除
        print("Buzz")
    else:                            # 其他情况
        print(i)

运行结果(开头部分):

1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
...

看不懂没关系——下一步就是让 AI 解释它。

跑起来之前先记这三条:

  • 生成代码后一定要先保存再运行:新建 .py 文件,把 AI 给的代码粘贴进去,Ctrl+S,再 python 文件名.py
  • AI 给的代码偶尔有错(模型也会出错),运行报错是正常的,把报错丢回给 AI 让它改。
  • 需求描述越具体越好,一句"写个程序"得到的代码质量,远不如五要素齐全的描述。

用法二:让 AI 解释代码

让 AI 解释代码 = 把代码发给 AI,让它用大白话逐行讲清楚。这是你"看懂代码"的加速器。

什么时候用:AI 生成代码后、看不懂别人代码时、复习时。核心句式:

请逐行解释这段代码在做什么,用大白话,不要用专业术语。

让 AI 解释有双重收获:一是当下看懂这段代码;二是学 AI 的"讲解思路",以后自己写代码也这么想。

把上面 FizzBuzz 的代码全选,发给 Cursor:

请逐行解释这段代码在做什么,用大白话,我是完全零基础的初学者。
重点解释:range、% 符号、if/elif/else 分别在干什么。

AI 会这样解释(示例):range(1, 101) 是"从 1 数到 100 的数列";% 是取余数,i % 3 == 0 是"i 除以 3 余数为 0",也就是能被 3 整除……把没听懂的句子抄进笔记,下次再看。

让 AI 解释时有三条讲究:

  • 解释时强调"用大白话、零基础",不然 AI 可能甩一堆术语。
  • 有具体名词就点名问(比如问 % 是什么),比笼统问"解释一下"更有效。
  • 抄笔记是必须的:AI 讲过 ≠ 你记住,不重复就忘。

用法三:让 AI 当老师

让 AI 当老师 = 把 AI 当贴身私教,任何概念不懂,让它用生活例子讲给你听。这是零基础学员的"外挂":编程概念全部可以问 AI

提问模板:

我完全没学过编程,请用生活中的例子给我讲清楚什么是循环。

用这个模板,换成任何概念都能问:变量、函数、判断、字符串……

AI 对"什么是循环"的讲解(示范效果,AI 的回答可能不同):

循环就像你在操场跑圈:一圈跑完,回到起点,再跑一圈。
跑多少圈由条件决定——跑到规定圈数就停。
代码里 for i in range(1, 101) 就是"让 i 从 1 跑到 100,每跑一圈 i 加 1"。

讲完概念,可以让 AI"讲练结合",这是当老师的高阶用法:

用生活中的例子讲清楚什么是循环。
讲完后,出一道最简单的循环练习题给我做,做完你再讲解正确答案。

用的时候把握三点:

  • 一次只问一个概念,别一次问五个,AI 会讲得又长又乱。
  • 听不懂就直说"没听懂,换个比喻",AI 会换一种讲法,这是它的耐心优势。
  • 让 AI 当老师 ≠ 只听不练,听完一定要动手敲代码,光听永远学不会。

实战:猜数字程序,把三招串起来

把三种用法串起来做一个完整项目:猜数字游戏。流程完全按照"AI 工作模式"走:

  1. 描述需求 → AI 生成
  2. 运行测试
  3. 让 AI 解释
  4. 故意制造报错,再让 AI 修复

这个程序会自动生成一个随机数,让用户猜,猜大了提示"大了",猜小了提示"小了",猜中提示"恭喜"。

先发这段需求给 AI:

用 Python 写一个猜数字游戏:程序随机生成一个 1 到 100 的数字,
用户输入数字去猜。猜大了提示"大了",猜小了提示"小了",猜对提示"恭喜你猜对了!"。
用户输入 0 可以退出。请用初学者能看懂的写法。

AI 生成的代码类似(不同 AI 写法可能不同):

import random                      # 导入随机模块

答案 = random.randint(1, 100)      # 生成 1 到 100 的随机数
print("猜数字游戏!输入 0 退出")

while True:                        # 无限循环:猜不中就一直猜
    猜的数字 = int(input("请输入你猜的数字:"))
    if 猜的数字 == 0:
        print("再见!")
        break                      # 退出循环
    elif 猜的数字 > 答案:
        print("大了")
    elif 猜的数字 < 答案:
        print("小了")
    else:
        print("恭喜你猜对了!答案是", 答案)
        break                      # 猜对,退出循环

运行示例:

猜数字游戏!输入 0 退出
请输入你猜的数字:50
小了
请输入你猜的数字:80
大了
请输入你猜的数字:66
恭喜你猜对了!答案是 66

(注:代码里的中文变量名是 AI 为了方便初学者理解的写法,Python 支持,但正式项目一般用英文变量名,可让 AI 改成英文版再学一遍。)

容易卡住的三处:

  • input() 是"让用户输入",输入进来的是文字,int() 把它转成数字才能比大小——这是新手最容易卡的点,如果报 TypeError,问 AI"为什么报 TypeError"。
  • 程序可能因为缩进错误运行失败:Python 靠缩进(行首空格)分块,whileif 下面的行必须对齐缩进。
  • 运行猜数字要在终端里输入数字,输入后按回车;网页弹窗不是这个程序的效果。

随堂练习

  1. 练习一(AI 生成 + 运行):用 Cursor 生成猜数字程序(用上方提示词),保存为 guess.py,运行成功并完整玩一局。 提示:运行命令 python guess.py;游戏里输入数字后按回车;玩完确认"大了/小了/恭喜"都能触发。

  2. 练习二(AI 解释 + 抄笔记):让 AI 逐行解释猜数字代码,把没听懂的句子抄进笔记。 提示:重点听 while True(无限循环)、break(跳出循环)、int(input(...))(输入并转数字)这三个点,逐个问 AI。

  3. 练习三(制造报错 + 问 AI 修复):故意删掉代码里一个引号再运行,把报错发给 AI,问「这个报错什么意思,怎么修」,修好后恢复代码。 提示:改代码前先复制一份原代码备份;观察 AI 是否指出"缺少引号"并给出正确改法。

  4. 进阶题(让 AI 改需求):让 AI 把猜数字改成"最多猜 5 次,超了提示'次数用完了'",跑通后想想:是 AI 改得快,还是你自己改得快?为什么?

AI 协作提示词

场景:让 AI 生成代码(五要素描述法)

提示词:
用 Python 写一个程序。程序要干什么:(一句话说明)。
具体规则:(逐条列出规则,如"输入数字后判断奇偶")。
输出形式:(如"每行打印一个结果")。
请用初学者能看懂的写法,并给每一行加中文注释。
场景:让 AI 解释代码

提示词:
请逐行解释下面这段代码在做什么,用大白话,我是完全零基础的初学者,
不要用专业术语堆砌。重点解释这几处:(点名具体位置,如"% 符号"、"while True")。
代码:
(粘贴代码)
场景:让 AI 当老师(讲解概念)

提示词:
我完全没学过编程,请用生活中的例子给我讲清楚什么是(概念名,如"变量")。
讲完后出一道最简单的练习题给我做,我做完你再讲正确答案。
场景:运行报错,让 AI 修

提示词:
我是 Python 初学者,运行程序时报错了,报错内容是:
(粘贴报错原文)
我的代码是:
(粘贴代码)
请用大白话告诉我哪里错了、怎么改,并给出修改后的完整代码。

常见报错速查

报错信息 什么意思 怎么办
SyntaxError 代码语法错了(引号/括号/缩进问题) 看报错行号,检查引号是否英文、括号是否配对、缩进是否对齐
IndentationError 缩进错了:Python 靠缩进分块 检查 if/while 下一行是否多缩进 4 个空格,且同一块内保持一致
NameError: name 'xx' is not defined 用了不存在的名字(变量名拼错、函数名写错) 检查名字拼写和大小写,定义过没有
TypeError: 'str' object cannot be interpreted as an integer 类型混了:输入是文字,当数字用了 int() 转换:int(input("..."))
网页打开一片空白 HTML 文件路径或代码有问题 把文件用浏览器打开确认是 .html 文件;有问题把代码发 AI
AI 生成的代码一运行就报错 AI 也可能犯错 复制报错给 AI 让它修,这是工作模式的正常一步

收个尾:本周到此,周六见

第 1 周的内容到今天结束。本周最重要的收获,是建立"遇到问题先问 AI"的思维。生成、解释、当老师三招,会贯穿整个课程,是你以后工作里最大的生产力。AI 编程的工作模式背下来:描述需求(人)→ AI 生成代码 → 运行测试(人)→ 有问题再问 AI(人)→ 完成,人是主导。用 AI 的正确姿势是:需求说具体(语言 + 干什么 + 规则 + 输出),代码跑通才算完,看不懂就让 AI 讲,报错就丢给 AI 修——动手验证永远靠自己。

明天(周六)是周测——上机操作题,考路径、命令、Git、Python 环境。今晚对着下面的复习清单自查一遍,哪项打不了勾,就翻对应章节补一补,再让 AI 出几道题练手。

本周复习清单(周五晚自习对照自查)

  • [ ] 能说出绝对路径和相对路径的区别(对应第1章)
  • [ ] 能不看命令表敲出 10 个 Linux 常用命令(对应第2章)
  • [ ] 能独立完成 git init → add → commit → log 全流程(对应第3章)
  • [ ] python --version 能正常输出,能运行 hello.py(对应第4章)
  • [ ] 知道 AI 编程的三个用法:生成、解释、当老师(对应第5章)

本周测评(周六周测说明)

测评形式:上机操作题(约 40 分钟),在 Cursor 终端现场操作,共 4 道题:

题号 考什么 对应章节
写出 5 个命令的作用(pwd / ls / cd / mkdir / rm 等) 第2章
根据要求写出文件的绝对路径和相对路径 第1章
完成一次 git 提交,再回滚到上一个版本 第3章
现场新建一个 Python 文件并运行成功 第4章

考核要点:以操作为主、理论为辅,完成 60% 即通过。每题都是本周实操练过的内容,不超纲。操作时注意:命令拼写、路径正确性、是否真的跑通(有运行结果才算完成)。

未通过怎么办:周六未通过者,周日下午到教室补测,重点补错题对应的那部分内容(比如路径题错了,就重点复习第1章;命令题错了,重练第2章),补测通过即算过关。补测形式与周测相同。