ワールドモデルと先読み
実行前にアクションの結果を予測し、予測結果が最も良いアクションを選びます。
「ワールドモデルと先読み」はCoddyKit上の無料AI Agentsレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAI Agents学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 AI Agentsコースには全4レッスンが含まれています。
このレッスンの一部はまだ翻訳されておらず、英語で表示されています。
行動する前に予測する
優れたエージェントは、ただ試すだけではありません。まず結果を予測し、最善のものを選んでから行動します。これは、チェスで何手も先を読むのと同じ考え方です。
ワールドモデルとは
ワールドモデルは、現在の状態 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_scoreTree of Thoughts
Yao らによる2023年の研究では、CoTをツリーに拡張しました。エージェントは複数の「思考経路」を生成し、それぞれを評価して、最も有望なものを展開します:
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)
非常に大きな探索ツリーの場合は、経路をサンプリングし、結果を評価し、そのスコアを上に伝播して今後の選択に反映します。ゲームAIで盛んに使われており、エージェント研究でも広がりつつあります。
先読みのコスト
予測するアクションごとにLLMの呼び出しが発生します。depth=2、branch=3 の先読みでは、1つのアクションを決めるだけで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 の推論モデルは、「thinking」フェーズ中に内部で自動的に先読みを行います。確定する前に、多くの継続候補を探索します。外部で実装する必要はありません。
先読みのトレードオフ
複数ステップの先読みで発生する主なコストは何ですか?
まとめ
行動する前に予測してください。1ステップの先読みは安価で役立ち、ツリー探索は高コストですが強力です。推論モデル(o1、o3)はこれを自動化します。控えめに使用してください。
よくある質問
「ワールドモデルと先読み」レッスンは無料ですか?
はい。「ワールドモデルと先読み」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、AI Agentsコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 AI Agentsコースには全4レッスンが含まれています。
「ワールドモデルと先読み」で何を学びますか?
実行前にアクションの結果を予測し、予測結果が最も良いアクションを選びます。 ブラウザで直接実行するハンズオンコードでAI Agentsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
AI Agentsを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのAI Agentsは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「ワールドモデルと先読み」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このAI Agentsレッスンでコードを書いて実行できますか?
はい。すべてのAI Agentsレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 階層的なタスク分解
- 目標スタックとバックトラッキング
- ワールドモデルと先読み
- リフレクションと自己批評のループ