Programmatic Tool Calling(PTC)は、LLMの「Claude」を提供する Anthropic が開発・提唱した技術です。
主に AIエージェントの開発時に、タスク達成精度を向上させる手法 です。
従来の tool calling では、モデルが必要に応じて 利用するツール(関数)を1回ずつ推論して、どのツールを利用するか?を毎回考えていました。
PTCは、AIエージェントの推論ループから切り離されたサンドボックス環境で、複数のツールをまとめて実行できます。
例えば 処理の中で「関数Aの実行後には、必ず関数Bを実行する」 といったケースで有効です。
毎回、Aの終了後にBを呼び出すべきかをAIに推論させていると、その部分で誤った判断を行うことがあります。また推論に、時間がかかります。
タスク全体で見た時には、メインのエージェントにそういった細かい情報のトークンを渡し続けていると、タスク全体について書かれたトークン比率が下がり、精度低下になります。
それらの点でメリットがあるのがPTCです。
考え方としては、必要な関数はLLMの外で行うことで、精度向上を行う。
その関数の中身はLLMは知らないほうが不要なトークンを持たないため精度向上になる。というのが重要です。
LLMが進化していくにつれて、入力できるトークン数は増えていっていますが、不要な情報をいれると、精度は下がります。
技術的にはGeminiの百万トークンのようなモデル、他の会社もやろうと思えば出来るけど精度低下を避けているのでは?と思いました。
