0Pricing
AI Agents · レッスン

ワールドモデルと先読み

実行前にアクションの結果を予測し、予測結果が最も良いアクションを選びます。

「ワールドモデルと先読み」は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_score

Tree 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フィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 階層的なタスク分解
  2. 目標スタックとバックトラッキング
  3. ワールドモデルと先読み
  4. リフレクションと自己批評のループ
← AI Agentsに戻る