Up ツール使用不使用の分岐 作成: 2026-04-20
更新: 2026-04-24


  1. ツール使用不使用の判断
    LLM は,入力の
       1. システムプロンプト
       2. 文脈
       3. ユーザ入力テクスト
    を読み,
      最初のトークンを出力するまでの間に,
      ツールを使うかどうかを判断する

      判断すること:
       この質問は検索が必要か?
       計算ツールを使うべきか?
       外部DBに問い合わせるべきか?


  2. テクスト生成
    A. ツールを使用しないと判断したときは,
     文脈 + ユーザ入力テクスト に対して,応答を生成する。

    B. ツールを使用すると判断したときは,
       Action
       Action Input
       Thought
     を生成する。

     Action, Action Input の書式:
      JSON形式や特定フォーマットで書く
       JSON形式:
        {
         "tool": "search",
         "query": "‥‥ (クエリ)"
        }

     クエリのタイプ
        検索クエリ
        DB問い合わせ文
        APIパラメータ

     Thought として,
       文脈 + ユーザ入力 の圧縮
     を生成


  3. 生成テクストの出力先の分岐
    プログラムが,最初のトークンを受け取る。

    ツール使用のときは,JSON形式
        {
         "tool": "search",
         "query": "‥‥ (クエリ)"
        }
    から生成される。
    そこで,最初のトークンが " { " かどうかで,ツール使用か不使用かを判定できる。

    A. 最初のトークンが " { " 以外の場合 (ツール不要)
      そのまま Final Answer の文章が始まる
      ユーザにストリーミング開始

    B. 最初のトークンが " { " の場合(ツール呼び出し)
      Action + Action Input + Thought が続く
      ユーザには見えない