世界模型与前瞻
在执行操作前预测其结果,并选择预测结果最佳的操作。
世界模型与前瞻 是 CoddyKit 上的免费 AI Agents 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 AI Agents 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 AI Agents 课程共包含 4 节课。
本课时的部分内容尚未翻译,以英文显示。
行动前进行预测
优秀的智能体不会只是尝试——它们会先预测结果,选择最佳方案,然后采取行动。这与在国际象棋中提前搜索 N 步的理念相同。
什么是世界模型
世界模型进行如下预测:给定 current 状态 S 和动作 A,下一个状态 S' 是什么?
对于 LLM 智能体,LLM 本身就可以充当世界模型:
prediction_prompt = '''
Current state: {state}
Proposed action: {action}
What is the most likely outcome? Return JSON: {new_state, success_probability}.
'''为什么前瞻有帮助
有些动作是不可逆的(发送电子邮件、删除数据)。先进行预测可以避免代价高昂的错误。
其他动作的结果并不明确。预测会迫使智能体思考后果。
Simple 1-Step Lookahead
candidates = [a1, a2, a3]
predictions = [predict(state, a) for a in candidates]
best = max(zip(predictions, candidates), key=lambda p: p[0].success_probability)[1]
act(best)多步前瞻(树搜索)
向前扩展多个步骤。对于每个候选方案,预测其结果,再预测这些结果的后续结果:
def search(state, depth=2):
if depth == 0:
return value(state)
actions = candidate_actions(state)
best_score = -math.inf
for a in actions:
next_state = predict(state, a)
score = search(next_state, depth - 1)
best_score = max(best_score, score)
return best_score思维树
Yao 等人于 2023 年提出——将思维链扩展为一棵树。智能体生成多条“思维路径”,评估每条路径,并扩展最有希望的路径:
import random
def continue_thought(question):
return question + ' -> idea' + str(random.randint(1, 100))
def score(t):
return len(t)
def expand_top_k(thoughts, scores, k):
ranked = sorted(zip(thoughts, scores), key=lambda x: -x[1])
return [t for t, s in ranked[:k]]
def ToT(question):
thoughts = [continue_thought(question) for _ in range(5)]
for depth in range(2):
scores = [score(t) for t in thoughts]
thoughts = expand_top_k(thoughts, scores, k=3)
return thoughts
result = ToT('How to reduce agent latency?')
print('Top thoughts:', result)
蒙特卡洛树搜索(MCTS)
对于非常大的搜索树:采样路径,评估结果,将 score 向上传播,以便指导后续选择。这种方法广泛用于博弈人工智能,也正逐渐应用于智能体研究。
前瞻的成本
每个预测的动作都需要一次 LLM call。深度为 2、分支数为 3 的前瞻,仅仅为了决定 ONE 个动作就需要 9 次调用。请只在高风险决策中使用前瞻。
启发式剪枝
跳过对明显不良动作的预测。使用廉价分类器或规则预先筛选候选动作。
校准预测
LLM 的预测并不完美。可以偶尔比较预测结果与实际结果,以进行校准:
for trace in recent_traces:
predicted = trace.predicted_outcome
actual = trace.actual_outcome
log.info('prediction-accuracy', match=(predicted == actual))何时不使用前瞻
- 廉价且可逆的动作——直接尝试
- 对延迟要求极高的路径
- 结果显而易见的任务
何时使用前瞻
- 不可逆的动作(金融、通信)
- 错误会层层累积的多步骤规划
- 高风险领域(医疗、法律)
- 对抗性任务(游戏、辩论)
o1 风格的内部前瞻
OpenAI o1 / o3 推理模型会在“思考”阶段自动进行内部前瞻。它们会在做出决定前探索许多后续路径。您不需要在外部实现这一功能。
前瞻的权衡
多步前瞻的主要成本是什么?
回顾
行动前先进行预测。一步前瞻成本低且实用;树搜索成本高,但功能强大。推理模型(o1、o3)可以自动完成这一过程。请谨慎使用。
常见问题解答
「世界模型与前瞻」课时是免费的吗?
是的 — 「世界模型与前瞻」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 AI Agents 课程的其余内容,请升级到 CoddyKit PRO。 AI Agents 课程共包含 4 节课。
「世界模型与前瞻」这节课中我会学到什么?
在执行操作前预测其结果,并选择预测结果最佳的操作。 你通过在浏览器中直接运行的动手代码来练习 AI Agents,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 AI Agents 需要有经验吗?
无需任何先前经验。CoddyKit 上的 AI Agents 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。
「世界模型与前瞻」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 AI Agents 课中编写并运行代码吗?
能。每节 AI Agents 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。