> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wandb.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# クラス: SubAgent

> TypeScript SDK リファレンス

[weave](../) / SubAgent

ネストされたエージェント呼び出しです。現在のエージェントが
別の名前付きエージェントに処理を引き継ぐ際に使用されます
(例: planner が researcher を呼び出す場合) 。サブエージェントの名と
(必要に応じて) そのモデルがタグ付けされた
`invoke_agent` スパンを出力します。

`weave.startSubagent()` (または `turn.startAgent()`、あるいは
`llm.startAgent()`) で作成し、`end()` で終了します。

`例`

```ts twoslash theme={null}
// @noErrors
const sub = weave.startSubagent({name: 'researcher', model: 'gpt-4o'});
try {
  // ... サブエージェントの LLM/Tool Call を調整する ...
} finally {
  sub.end();
}
```

<div id="hierarchy">
  ## 階層
</div>

* `SpanBase`

  ↳ `SubAgent`

<div id="table-of-contents">
  ## 目次
</div>

<div id="properties">
  ### プロパティ
</div>

* [モデル](./subagent#model)
* [名](./subagent#name)

<div id="methods">
  ### メソッド
</div>

* [addEvent](./subagent#addevent)
* [end](./subagent#end)
* [setAttributes](./subagent#setattributes)
* [create](./subagent#create)

## プロパティ

<div id="model">
  ### モデル
</div>

• `Readonly` **モデル**: `string`

<div id="defined-in">
  #### 定義場所
</div>

[src/genai/subagent.ts:41](https://github.com/wandb/weave/blob/9591aba8a5e77309ee0858e5ba94d31c1bd7e404/sdks/node/src/genai/subagent.ts#L41)

***

<div id="name">
  ### 名
</div>

• `Readonly` **name**: `string`

<div id="defined-in">
  #### 定義場所
</div>

[src/genai/subagent.ts:40](https://github.com/wandb/weave/blob/9591aba8a5e77309ee0858e5ba94d31c1bd7e404/sdks/node/src/genai/subagent.ts#L40)

## メソッド

<div id="addevent">
  ### addEvent
</div>

▸ **addEvent**(`name`, `attributes?`, `startTime?`): `this`

スパン に名前付きイベントを追加します。コンテキストの圧縮、tool ループの検出、
または guardrail の発動など、スパン 以外の時点を記録する際に便利です。`end()` の後に呼び出すと警告を出し、
何も行いません。OTel `Span.addEvent` と同様の動作です。

<div id="parameters">
  #### パラメーター
</div>

| 名             | タイプ          |
| :------------ | :----------- |
| `name`        | `string`     |
| `attributes?` | `Attributes` |
| `startTime?`  | `TimeInput`  |

<div id="returns">
  #### 戻り値
</div>

`this`

`例`

```ts twoslash theme={null}
// @noErrors
span.addEvent('context_compacted', {removedMessages: 12});
```

<div id="inherited-from">
  #### 継承元
</div>

SpanBase.addEvent

<div id="defined-in">
  #### 定義場所
</div>

[src/genai/spanBase.ts:77](https://github.com/wandb/weave/blob/9591aba8a5e77309ee0858e5ba94d31c1bd7e404/sdks/node/src/genai/spanBase.ts#L77)

***

<div id="end">
  ### end
</div>

▸ **end**(`opts?`): `void`

SubAgent の スパン を終了します。冪等です。失敗としてマークするには、`error` を渡します。
終了時刻を過去にさかのぼって設定するには、`endTime` を渡します。

<div id="parameters">
  #### パラメーター
</div>

| 名       | タイプ              |
| :------ | :--------------- |
| `opts?` | `SpanEndOptions` |

<div id="returns">
  #### 戻り値
</div>

`void`

<div id="defined-in">
  #### 定義場所
</div>

[src/genai/subagent.ts:72](https://github.com/wandb/weave/blob/9591aba8a5e77309ee0858e5ba94d31c1bd7e404/sdks/node/src/genai/subagent.ts#L72)

***

<div id="setattributes">
  ### setAttributes
</div>

▸ **setAttributes**(`attributes`): `this`

スパンに複数の属性をまとめて設定します。`end()` の後に呼び出すと、警告を出して何も実行しません。OTel の `Span.setAttributes` (および Python SDK の
`set_attributes`) に準拠しています。

<div id="parameters">
  #### パラメーター
</div>

| 名            | タイプ          |
| :----------- | :----------- |
| `attributes` | `Attributes` |

<div id="returns">
  #### 戻り値
</div>

`this`

`例`

```ts twoslash theme={null}
// @noErrors
span.setAttributes({'weave.tag': 'prod', 'gen_ai.response.id': id});
```

<div id="inherited-from">
  #### 継承元
</div>

SpanBase.setAttributes

<div id="defined-in">
  #### 定義場所
</div>

[src/genai/spanBase.ts:63](https://github.com/wandb/weave/blob/9591aba8a5e77309ee0858e5ba94d31c1bd7e404/sdks/node/src/genai/spanBase.ts#L63)

***

<div id="create">
  ### create
</div>

▸ **create**(`opts`): [`SubAgent`](./subagent)

<div id="parameters">
  #### パラメーター
</div>

| 名      | タイプ                                                               |
| :----- | :---------------------------------------------------------------- |
| `opts` | [`SubAgentInit`](../interfaces/subagentinit) & `ChildSpanContext` |

<div id="returns">
  #### 戻り値
</div>

[`SubAgent`](./subagent)

<div id="defined-in">
  #### 定義場所
</div>

[src/genai/subagent.ts:46](https://github.com/wandb/weave/blob/9591aba8a5e77309ee0858e5ba94d31c1bd7e404/sdks/node/src/genai/subagent.ts#L46)
