情報科学 › Claude Code の中身 › エージェントループ
エージェントループの模型
次のものが与えられているとする。
- モデル : メッセージの有限列を受け取り、assistant メッセージを 1 つ返す写像。内容は text ブロックと tool_use ブロックだけからなり、1 つのメッセージの中の tool_use ブロックの id は互いに異なるとする。それ以外の性質は何も仮定しない。
- 各ツール名 に対する実行 (定義 2.2)。
- 関門 。呼び出しを実行するか拒否するかを決める写像。
- 拒否を伝える文字列 。
- ツール使用ターンの上限 。
状態は、メッセージ列 、環境 、済んだツール使用ターンの数 の組 である。初期状態は、利用者のプロンプト と環境 に対して とする。状態 からの 1 段を次のように定める。
-
を求める(モデルの呼び出し 1 回)。
-
が空なら、完了として停止する。最終のメッセージ列は である。
-
が空でなく なら、ターン上限として停止する。 のツール呼び出しは実行せず、メッセージ列は のままとする。
-
それ以外のとき、 の tool_use ブロックを現れる順に とし、 から順に、 について
- なら 、
- なら 、
と定める。user メッセージ を作る。ここで は 0 個以上の text ブロック(実行中に利用者が送った追加の指示など)である。次の状態は である。
4 の 1 回を 1 ターン(ツール使用ターン)という。
閉包の状態
定義
定義は閉包の起点です(証明を要しません)。
印の意味: ✓公理まで証明済み ・ △証明あり(閉包未完)・ ※主張のみ。テーマごとの集計は 閉包の状況。
これを使っている定理
証明で明示的に参照している定理は、まだありません。