🤖 现代 AI 开发者 · 上下文工程:喂 AI 刚刚好的信息

让 AI 看报错自己改:自我纠正与反思循环入门

把报错喂回去,让它自我纠正

出错不可怕,看不到错才可怕

AI 第一遍写的代码跑不通、答案有漏洞,太正常了。真正的问题是:它根本不知道自己错了——因为报错没回到它桌面上。

🔆就像学生交了作业,但老师的批改你压根没给他看,他下次还会错同一个地方。把报错喂回去,等于把红笔批注递到它眼前。

自我纠正循环:跑 → 看错 → 改 → 再跑

让 AI 自己改的套路,就是一个循环:让它产出 → 真的去跑 → 把报错原样喂回去 → 让它据此修改 → 再跑……直到通过。

code = llm("写一个函数:判断回文")
for _ in range(3):                  # 最多试 3 轮
    err = run(code)                 # 真的去跑
    if err is None:
        break                       # 通过了就停
    code = llm(f"这段代码报错了:\n{err}\n请修复:\n{code}")
💡关键动作就一个:把真实报错原样喂回去。错误信息越具体,它越能精准定位问题。

别让它无限打转

循环很好用,但要给它踩刹车——设一个最多试几轮的上限,或“连续两次没进展就停”。

⚠️没有停止条件,AI 可能在改 A 又错 B、改 B 又错 A 之间无限打转,白白烧钱烧时间。永远留一个出口。

自测 · 学完检查一下

想真正动手做题、记进度、攒连胜?到互动课里练。

“让 AI 看着报错自己改”的核心动作是什么?

答案:把运行后的报错原样喂回去,让它据此修改

自我纠正的关键就是把真实报错送回它的上下文,它才看得到哪里错了、才能改对。

判断:如果不把报错信息喂回给 AI,它通常无法知道自己上一版哪里错了。

答案:

AI 看不到没摆上桌面的东西。报错不回传,它就像没看到批改的学生,会重复犯错。

下面哪条反馈最可能帮 AI 真正改对代码?

答案:“第 8 行报错:变量 total 未定义”

具体、可定位的报错(哪一行、什么错)才能让模型精准修复;笼统责备没有提供任何可用信息。

喂回去的反馈越 ___(比如带上行号和具体错误),AI 越能精准定位并修复问题。

答案:具体

反馈越具体,模型越能锁定问题。模糊的“不对、重写”几乎等于没给信息。

判断:自我纠正循环应该一直跑到 AI 改对为止,不需要设任何上限。

答案:

必须设停止条件(如最多 N 轮)。否则 AI 可能在两个错误间无限打转,白白消耗时间和成本。

为防止 AI 在循环里无限打转,要给它设一个停止条件,比如“最多试几___”。

答案:

给循环设上限(最多试几轮)是必备的刹车,避免无限循环空烧资源。

想边练边学,而不只是读?

到互动课里答题、记进度、攒连胜——游客即可试学,无需注册。

进入互动课程 →