> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-1d264819.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# サブエージェント

> ClickHouse Agents で作業をサブエージェントに委任する

export const galaxyOnClick = eventName => () => {
  try {
    if (typeof window !== "undefined" && window.galaxy && eventName) {
      window.galaxy.track(eventName, {
        interaction: "click"
      });
    }
  } catch (e) {}
};

export const BetaBadge = ({link, galaxyTrack, galaxyEvent}) => {
  if (link) {
    return <a href={link} target="_blank" rel="noopener noreferrer" className="betaBadge" onClick={galaxyTrack && galaxyEvent ? galaxyOnClick(galaxyEvent) : undefined}>
                <Icon />
                <span>Beta</span>
            </a>;
  }
  return <div className="betaBadge">
            <Icon />
            <span>
                Beta feature. 
                <u>
                    <a href="/docs/beta-and-experimental-features#beta-features">
                        Learn more.
                    </a>
                </u>
            </span>
        </div>;
};

サブエージェントは、親エージェントが自己完結したサブタスクを処理させるために呼び出す子エージェントです。子は独自のコンテキストウィンドウと利用可能なツールを使って実行され、その後、簡潔な結果を親に返します。親に見えるのは子の最終的な回答だけで、中間の手順は見えません。

サブエージェントを使うことで、親エージェントは本来の作業に集中できます。長時間に及ぶ調査、ツールを多用する探索、専門的なレビュー手順は、トークン数の多い中間状態を親のコンテキストに含めないほうが、よりうまく機能します。

<div id="enable-subagents">
  ## サブエージェントを有効にする
</div>

エージェントビルダーで **詳細設定** を開き、**サブエージェント** をオンにします。すると、さらに 2 つの項目が表示されます。

* **自己複製を許可** - オンにすると、エージェントは並列処理のために自身のコピーを生成できます。ファンアウトパターン (1 つの親と複数の同一ワーカー) で便利です。
* **追加のサブエージェント** - この親が委譲を許可される、特定の別エージェントを選択します。親はタスクに応じて、どのサブエージェントを呼び出すか (あるいは呼び出さないか) を実行時に判断します。

保存します。エージェントの実行時に、サブエージェントを呼び出すための新しいツールが使えるようになります。

<div id="when-a-subagent-helps">
  ## サブエージェントが役立つ場面
</div>

* **調査系のサブタスク** - 親が複雑な質問を分解し、その一部をその分野に特化したサブエージェントに任せ、得られた回答を統合します。
* **ツールを多用する処理** - コードインタープリターのセッション、複数ステップのウェブ検索ループ、あるいは中間的なツール出力で親のコンテキストウィンドウを圧迫するような処理。
* **専門的なレビュー** - あるエージェントが生成し、別のエージェントがレビューすることで、レビュアーの推論全体をそのエージェント自身のコンテキストウィンドウ内に保持できます。

些細な呼び出しにサブエージェントは使わないでください。受け渡しの分だけレイテンシとトークン消費が増えます。

<div id="subagents-vs-agent-chain">
  ## サブエージェントとエージェントチェーンの違い
</div>

サブエージェントは実行時に委譲する仕組みで、親がその場で判断します。エージェントチェーンは、固定された順序で実行される、事前定義済みのエージェントグラフです。ルーティングが動的な場合はサブエージェントを、ルーティングが固定されている場合はチェーンを使ってください。

<div id="limits">
  ## 制限事項
</div>

* 親ごとに列挙できるサブエージェントは最大 **10** 件です。
* ルートエージェントからの深さは最大 **5** ホップです。
* 1 回の実行で読み込める一意のサブエージェントターゲットは最大 **50** 件です。
* リクエストごとに展開済みのサブエージェント設定は最大 **100** 件です。

参照するサブエージェントは、親を実行するユーザーから参照できる状態である必要があります。アクセスできない、または削除されたエージェントに解決される参照は、通知されることなくスキップされます。そのため、子が見つからない場合でも適切に処理できるよう親を設計してください。
