第 5 课 · Découverte

四个幽灵

1980:四条规则,零神经元。Blinky 追你,Pinky 抄你——你照样手心出汗。

~11 min7 个关卡
▶ 视频🧩 练习📄 备忘单

42 秒 · 含中文字幕 · 9.3 Mo

你会学会的 7 件事

第 5 课:AI 之前的 AI

Regarde la leçon (42 s) : quatre fantômes, zéro neurone — et une leçon de plus sur ce qu'est vraiment un programme qui décide.

Blinky 就是追

Écris la méthode `cible_blinky(pos)` : elle renvoie exactement `pos` — la poursuite directe, zéro détour. Exemple : cible_blinky([3, 4]) → [3, 4].

Pinky 抄近路

Écris `cible_pinky(pos)` : il vise QUATRE cases devant toi — `[pos[0] + 4, pos[1] + 4]`. Exemple : cible_pinky([0, 0]) → [4, 4].

Inky:两个输入一个决定

Écris `cible_inky(pos, detail)` : sa cible ADDITIONNE ta position et le détail — les deux infos dans la décision. Exemple : cible_inky([0, 0], [2, 3]) → [2, 3].

Clyde 追……然后跑

Écris `cible_clyde(pos, distance)` : distance STRICTEMENT supérieure à 8 → il poursuit (renvoie `pos`), sinon il FUIT et renvoie le symbole `:fuite`.

一个幽灵,一条规则

Écris `cible(nom, pos)` : "blinky" poursuit (renvoie `pos`), "pinky" vise quatre cases devant, tout autre nom → `nil`. La règle choisie par un mot.

第 5 课:OK

Sans aide : `cible(nom, pos, distance = 20)` pour les TROIS — "blinky" → pos · "pinky" → quatre cases devant · "clyde" → distance > 8 ? pos : :fuite · sinon nil.

分享这一课

← 全部课程

📄 备忘单

打印出来贴显示器上,就当是你自己的主意

📄 备忘单 — 四个幽灵(AI 之前的 AI)

一个幽灵就是一个函数。一种行为就是一个写得漂亮的 if。

为什么 Pac-Man 是你最好的 AI 老师

1980 年,零神经元、零 GPU——可四个幽灵各有各的性格。它们只是规则:位置 → 目标 → 方向。这正是今天的「智能体」在做的事。读懂一个幽灵,你就读懂了 LLM:行为,是某人写下的。

四位的词表(各一句)

幽灵 他的规则 Ruby 翻译
🔴 Blinky 就是追你,没别的 def cible_blinky(pos); pos; end
🩷 Pinky 抄你——你前面四格 [pos[0] + 4, pos[1] + 4]
🔵 Inky 两个输入 → 一个决定 [pos[0] + d[0], pos[1] + d[1]]
🟠 Clyde 距离 > 8 ? 追 : 跑 distance > 8 ? pos : :fuite

到处都回来的结构:case

def cible(nom, pos, distance = 20)
  case nom
  when "blinky" then pos
  when "pinky"  then [pos[0] + 4, pos[1] + 4]
  when "clyde"  then (distance > 8 ? pos : :fuite)
  end            # 其他名字 → nil:没有规则,就没有行为
end

一个词 → 一条规则。 这是分发器、状态机、「路由器」——到处是同一个词。

玩家的三个坑

  1. > 还是 >=:Clyde 从 8 开始跑——像视频里那样测边界(8 和 9)。
  2. 改了入参(pos[0] += 4)而不是算个新的:动的是你的 Pac-Man,不是幽灵。
  3. 忘了默认分支:没有 else,不认识的名字 → nil → 幽灵停在原地。 (没有规则的智能体,就是死的智能体。)

一句话解锁全部

AI 就是写得漂亮的 if。 今天有何不同?if 由别的机器来写。读它的人,还是你。

以后别再说

  • 「好神奇 / 这是 AI」 → 这是某人写下的规则。去读它。
  • 「脚本不算 AI」 → Blinky 就是脚本。而它吓了你四十年。 😉

SlopCourse Microduck — 从 slop 到干净的代码。