Skip to content

エージェントループ(agentic loop)

要点

  1. エージェント=「モデルが判断 → アプリがツールを実行 → 結果を入力に足して戻す」の繰り返し
  2. モデルは自分でコードを実行しない。 「これを実行して」と構造化して頼むだけ
  3. ループは、応答にツール呼び出しが含まれなくなったら終わる

1周(1ターン)で起きること

モデルはプロンプト・システムプロンプト・ツール定義・それまでの履歴を受け取り、 文章で答えるか、ツールを呼ぶかを判断する。ツールを呼ぶと決めたら、応答は stop_reason: "tool_use" になり、ツール名と引数の入った tool_use ブロックが返る。

実行するのはアプリ側(Claude Code のようなハーネス)で、モデルではない。 アプリは結果を tool_result ブロックにして会話に追加し、もう一度モデルに送る。 この「実行結果が次の入力になる」ことで、モデルは結果を見て次の手を変えられる。

いつ終わるか

ループの実体は stop_reason == "tool_use" の間だけ回る while ループ。 モデルがツールを呼ばずに応答したら(end_turn など)、それが最終回答になる。 つまり「終わり」を決めるのはタイマーでも回数でもなく、モデルの応答の形

簡単な質問なら1〜2ターン、複雑なタスクなら数十ターン続くこともある。


最終確認: 2026-09-12

出典:


クイズ(3問)

1問につき1回で確定。やり直しは「間違えた問題だけもう一度」から。成績はこのブラウザにだけ保存される。

Q1. エージェントループで、ツールの実行結果はどこへ行くか

Q2. ツール(クライアントツール)のコードを実際に実行するのは誰か

Q3. エージェントループはいつ終わるか

残り 3 問