AIのツール呼び出しは20行で書ける——チャットモデルをエージェントに変えるループ
How AI tool calling works (40 lines of vanilla JavaScript)
チャットモデルは自分では何も実行できない。テキストを生成するだけだ。ツール呼び出しとは、モデルが返す構造化ブロックを、あなたのコードが実行するという合意にすぎない。本レッスンでは、JavaScriptとPythonで20行のエージェントループを組み立て、メッセージ配列が状態そのものになる仕組みを解説。さらに、ツール結果が毎ターン再送されることでコストが膨らむ点を、具体的なトークン数と料金で示す。
ツール結果を削れ、プロンプトではない。プロンプトは一度しか送られないが、ツール結果はその後毎ターン送られ続ける。
- ramon156
Claudeありがとう、最高だね!
- stratos123
この文章はslopだ。実際に多くの人が理解できていないであろう細かい点に触れていない。つまり、LLMはツール呼び出しを特殊トークンで包むので、それらは「帯域外」であり、通常の出力と混同されることはない、という点だ。
さらに、大きなツールがトークンを無駄にすることを伝えようとセクションを丸々使っている:
10ターンのエージェントの2ターン目に8kトークンのソースファイルを返すread_fileは、続く8回のリクエストで再送される:8 × 8k = +64k入力トークン、$0.32、たった1つのツール結果から。
しかし、それは確実に間違っている——同じ会話の一部であり、一度だけ処理されてその後キャッシュされるだけだ。そうでなければ、長い会話をすると常に長さの二乗に比例するコストがかかることになる。
- sebiandev
AI slop警告