AI 并不是“真的在思考”,也不是一次性写出完美代码。所谓的「一步步迭代」,本质是一个被精心设计的循环系统:
生成 → 运行 → 观察结果 → 反思 → 再生成
这个循环,被工程化地“包”了起来,看起来就像 AI 在自己思考。
一个人写代码,真实过程是这样的:
1. 理解需求
2. 拆解问题
3. 写一版代码
4. 跑起来
5. 报错
6. 看错误信息
7. 改代码
8. 重复 4~7
9. 最后重构、优化
人的“思考”= 多轮试错 + 外部反馈 + 记忆上下文
AI coding 做的,就是模拟这个结构。
AI「一步步迭代」的核心机制:
思考不是魔法,是「上下文 +提示词」。
AI 本身只是一个:根据上下文,预测下一个 token 最合理是什么的模型。
所谓「思考过程」,靠的是:
把中间步骤写进上下文,强制模型不要直接给答案,而是拆步骤
比如系统会这样提示 AI:
“请一步步分析问题,再给出代码”,这会让模型把中间推理写出来,形成“思考痕迹”。
这不是模型真的多了智力,而是输出被结构化了。
真正的“迭代”,来自「外部反馈注入」。
AI 自己是不会知道对错的。它之所以能“改代码”,是因为系统把结果喂回去了:
一个典型循环是这样:
① AI 生成代码
② 系统运行代码
③ 得到报错 / 测试失败 / 结果不对
④ 把错误信息原样丢回给 AI
⑤ AI 根据错误信息重新生成代码
错误信息 = AI 的“感觉器官”
没有错误反馈,AI 永远只会“自信输出”。
为什么它“看起来像在反思”?
因为系统常常会加一句非常关键的 prompt:“请分析刚才的错误,解释原因,并修复代码”
于是模型会:先用语言合理化错误,再给出一个“看起来更好”的版本
你看到的「反思」,其实是:语言能力 + 上下文记忆 + 任务约束 的叠加效果
工程上是怎么做的?(真实 AI coding 架构)
下面是真实世界里的 AI coding 系统结构:
多模块架构(而不是一个模型)
一个成熟的 AI coding 系统,至少有:
LLM(负责生成 / 理解)
Code Runner(沙箱执行代码)
Test Runner(跑测试)
Planner(拆任务)
Memory(保存上下文 / 版本)
Controller(决定下一步干嘛)
模型 ≠ 系统,模型只是其中一环。
ReAct / Reflexion / Agent Loop
现在主流用的是 Agent Loop,逻辑像这样:
while not done:
thought = LLM("分析当前状态")
action = LLM("下一步做什么")
observation = 执行动作(action)
把 observation 加入上下文
测试驱动迭代(TDD-like)
很多 AI coding 产品,本质是:
1. 先让你给 测试 / 期望结果
2. AI 的目标不是“写代码”
3. 而是“让测试通过”
测试是否通过 = 唯一客观反馈,这比“让 AI 自己判断好不好”可靠得多。
AI Coding 突然变强,重点在于下面三件事同时成熟:
1. 模型语言能力够强:能理解错误信息、Stack Trace、业务语义。
2. 上下文窗口变大:可以“记住”多轮失败。
3. 工程系统把「试错」自动化了:不再手动复制粘贴错误。
突破点不在“AI 会不会想”,而在“系统有没有把反馈喂好”
