Skip to content

Commit 5d05d5d

Browse files
docs: update translated document pages (#2893)
1 parent bd871cd commit 5d05d5d

6 files changed

Lines changed: 288 additions & 279 deletions

File tree

docs/ja/agents.md

Lines changed: 66 additions & 65 deletions
Large diffs are not rendered by default.

docs/ja/context.md

Lines changed: 40 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -4,45 +4,47 @@ search:
44
---
55
# コンテキスト管理
66

7-
コンテキストは多義的な用語です。主に重要になるコンテキストは 2 つあります
7+
コンテキストは多義的な用語です。主に、重要になるコンテキストには 2 つの分類があります
88

9-
1. コード内でローカルに利用可能なコンテキスト: これは、ツール関数の実行時`on_handoff` のようなコールバック時、ライフサイクルフック内などで必要になる可能性があるデータや依存関係です
10-
2. LLM で利用可能なコンテキスト: これは、レスポンス生成時に LLM が参照するデータです
9+
1. コード内でローカルに利用可能なコンテキスト: これは、関数ツールの実行時`on_handoff` のようなコールバック時、ライフサイクルフック時などに必要になる可能性があるデータや依存関係です
10+
2. LLM が利用可能なコンテキスト: これは、LLM がレスポンスを生成するときに参照するデータです
1111

1212
## ローカルコンテキスト
1313

14-
これは [`RunContextWrapper`][agents.run_context.RunContextWrapper] クラスと、その中の [`context`][agents.run_context.RunContextWrapper.context] プロパティで表現されます。仕組みは次のとおりです
14+
これは [`RunContextWrapper`][agents.run_context.RunContextWrapper] クラスと、その内部の [`context`][agents.run_context.RunContextWrapper.context] プロパティで表現されます。動作は次のとおりです
1515

16-
1. 任意の Python オブジェクトを作成します。一般的なパターンは dataclass または Pydantic オブジェクトを使うことです。
17-
2. そのオブジェクトを各種 run メソッドに渡します (例: `Runner.run(..., context=whatever)`)
18-
3. すべてのツール呼び出し、ライフサイクルフックなどに、`RunContextWrapper[T]` というラッパーオブジェクトが渡されます。ここで `T` はコンテキストオブジェクトの型であり`wrapper.context` でアクセスできます。
16+
1. 任意の Python オブジェクトを作成します。一般的なパターンはdataclass または Pydantic オブジェクトを使うことです。
17+
2. そのオブジェクトを各種 run メソッドに渡します例: `Runner.run(..., context=whatever)`
18+
3. すべてのツール呼び出し、ライフサイクルフックなどには `RunContextWrapper[T]` のラッパーオブジェクトが渡されます。ここで `T` はコンテキストオブジェクトの型を表し`wrapper.context` でアクセスできます。
1919

20-
注意すべき **最も重要な** 点: 特定のエージェント実行におけるすべてのエージェント、ツール関数、ライフサイクルなどは、同じコンテキストの __ を使用する必要があります
20+
ランタイム固有の一部コールバックでは、SDK が `RunContextWrapper[T]` のより特化したサブクラスを渡す場合があります。たとえば、関数ツールのライフサイクルフックは通常 `ToolContext` を受け取り、`tool_call_id``tool_name``tool_arguments` などのツール呼び出しメタデータにもアクセスできます
2121

22-
コンテキストは次のような用途で使えます
22+
認識しておくべき **最も重要** な点: 特定のエージェント実行におけるすべてのエージェント、関数ツール、ライフサイクルなどは、同じコンテキストの __ を使用する必要があります
2323

24-
- 実行時の文脈データ (例: ユーザー名 / uid やその他のユーザー情報)
25-
- 依存関係 (例: logger オブジェクト、データフェッチャーなど)
24+
コンテキストは次のような用途で使用できます。
25+
26+
- 実行のためのコンテキストデータ(例: ユーザー名 / uid や、ユーザーに関するその他の情報)
27+
- 依存関係(例: logger オブジェクト、データ取得処理など)
2628
- ヘルパー関数
2729

28-
!!! danger "注記"
30+
!!! danger "注意"
2931

30-
コンテキストオブジェクトは LLM に送信され **ません**。これは純粋にローカルオブジェクトであり、読み取り、書き込み、メソッド呼び出しを行えます
32+
コンテキストオブジェクトは LLM **送信されません**。これは純粋にローカルオブジェクトであり、読み取り、書き込み、メソッド呼び出しが可能です
3133

32-
単一の実行内では、派生ラッパーは同じ基盤の app コンテキスト、承認状態、使用量トラッキングを共有します。ネストされた [`Agent.as_tool()`][agents.agent.Agent.as_tool] 実行では別の `tool_input` が付与される場合がありますが、既定では app 状態の分離コピーは取得しません
34+
1 回の実行内では、派生ラッパーは同じ基盤のアプリコンテキスト、承認状態、使用量トラッキングを共有します。ネストした [`Agent.as_tool()`][agents.agent.Agent.as_tool] 実行では別の `tool_input` が付与される場合がありますが、デフォルトではアプリ状態の分離コピーは取得しません
3335

3436
### `RunContextWrapper` の公開内容
3537

36-
[`RunContextWrapper`][agents.run_context.RunContextWrapper] は、app で定義したコンテキストオブジェクトのラッパーです。実際には、主に次を使用します。
38+
[`RunContextWrapper`][agents.run_context.RunContextWrapper] は、アプリで定義したコンテキストオブジェクトのラッパーです。実際には、主に次を使用します。
3739

38-
- 独自の可変 app 状態および依存関係には [`wrapper.context`][agents.run_context.RunContextWrapper.context]
39-
- 現在の実行全体で集計されたリクエストおよびトークン使用量には [`wrapper.usage`][agents.run_context.RunContextWrapper.usage]
40-
- 現在の実行が [`Agent.as_tool()`][agents.agent.Agent.as_tool] 内で動作している場合の構造化入力には [`wrapper.tool_input`][agents.run_context.RunContextWrapper.tool_input]
41-
- 承認状態をプログラムから更新する必要がある場合は [`wrapper.approve_tool(...)`][agents.run_context.RunContextWrapper.approve_tool] / [`wrapper.reject_tool(...)`][agents.run_context.RunContextWrapper.reject_tool]
40+
- 独自の可変アプリ状態および依存関係には [`wrapper.context`][agents.run_context.RunContextWrapper.context]
41+
- 現在の実行全体の集計されたリクエストおよびトークン使用量には [`wrapper.usage`][agents.run_context.RunContextWrapper.usage]
42+
- 現在の実行が [`Agent.as_tool()`][agents.agent.Agent.as_tool] 内で実行されているときの構造化入力には [`wrapper.tool_input`][agents.run_context.RunContextWrapper.tool_input]
43+
- 承認状態をプログラムで更新する必要がある場合は [`wrapper.approve_tool(...)`][agents.run_context.RunContextWrapper.approve_tool] / [`wrapper.reject_tool(...)`][agents.run_context.RunContextWrapper.reject_tool]
4244

43-
`wrapper.context` のみが app で定義したオブジェクトです。その他のフィールドは SDK が管理する実行時メタデータです
45+
アプリで定義したオブジェクトは `wrapper.context` のみです。その他のフィールドは SDK が管理するランタイムメタデータです
4446

45-
後で human-in-the-loop や永続ジョブワークフローのために [`RunState`][agents.run_state.RunState] をシリアライズする場合、その実行時メタデータは状態とともに保存されます。シリアライズした状態を永続化または送信する予定がある場合[`RunContextWrapper.context`][agents.run_context.RunContextWrapper.context] に秘密情報を入れるのは避けてください
47+
後で human-in-the-loop や永続ジョブワークフロー向けに [`RunState`][agents.run_state.RunState] をシリアライズする場合、そのランタイムメタデータは状態とともに保存されます。シリアライズした状態を永続化または送信する予定がある場合は[`RunContextWrapper.context`][agents.run_context.RunContextWrapper.context] にシークレットを入れないでください
4648

4749
会話状態は別の関心事項です。ターンをどのように引き継ぐかに応じて、`result.to_input_list()``session``conversation_id`、または `previous_response_id` を使用してください。この判断については [results](results.md)[running agents](running_agents.md)[sessions](sessions/index.md) を参照してください。
4850

@@ -83,18 +85,18 @@ if __name__ == "__main__":
8385
asyncio.run(main())
8486
```
8587

86-
1. これがコンテキストオブジェクトです。ここでは dataclass を使っていますが、任意の型を使用できます。
87-
2. これがツールです`RunContextWrapper[UserInfo]` を受け取ることがわかります。ツール実装はコンテキストを読み取ります
88-
3. エージェントにジェネリック `UserInfo` を指定しているため、型チェッカーがエラーを検出できます (たとえば、異なるコンテキスト型を受け取るツールを渡そうとした場合)
88+
1. これはコンテキストオブジェクトです。ここでは dataclass を使用していますが、任意の型を使用できます。
89+
2. これはツールです`RunContextWrapper[UserInfo]` を受け取ることがわかります。ツール実装はコンテキストから読み取ります
90+
3. 型チェッカーがエラーを検出できるように、エージェントをジェネリック `UserInfo` で指定します(たとえば、異なるコンテキスト型を受け取るツールを渡そうとした場合
8991
4. コンテキストは `run` 関数に渡されます。
9092
5. エージェントは正しくツールを呼び出し、年齢を取得します。
9193

9294
---
9395

94-
### 高度な利用: `ToolContext`
96+
### 高度な使用法: `ToolContext`
9597

96-
場合によっては、実行中のツールに関する追加メタデータ (名前、呼び出し ID、raw 引数文字列など) にアクセスしたいことがあります。
97-
このために、`RunContextWrapper` を拡張した [`ToolContext`][agents.tool_context.ToolContext] クラスを使用できます。
98+
場合によっては、実行中のツールに関する追加メタデータ名前、呼び出し ID、生の引数文字列など)にアクセスしたいことがあります。
99+
このために、`RunContextWrapper` を拡張する [`ToolContext`][agents.tool_context.ToolContext] クラスを使用できます。
98100

99101
```python
100102
from typing import Annotated
@@ -123,24 +125,24 @@ agent = Agent(
123125
```
124126

125127
`ToolContext``RunContextWrapper` と同じ `.context` プロパティを提供し、
126-
さらに現在のツール呼び出しに固有の追加フィールドを提供します
128+
さらに現在のツール呼び出しに固有の追加フィールドも提供します
127129

128-
- `tool_name`呼び出されるツール名
130+
- `tool_name`呼び出されるツールの名前
129131
- `tool_call_id` – このツール呼び出しの一意識別子
130-
- `tool_arguments`ツールに渡される raw 引数字符串
131-
- `tool_namespace` – ツールが `tool_namespace()` または他の名前空間付きサーフェス経由で読み込まれた場合の、ツール呼び出し用 Responses 名前空間
132-
- `qualified_tool_name`名前空間が利用可能な場合の、名前空間付きツール名
132+
- `tool_arguments`ツールに渡される生の引数文字列
133+
- `tool_namespace` – ツールが `tool_namespace()` または他の名前空間付きサーフェスを通じて読み込まれた場合の、ツール呼び出しの Responses 名前空間
134+
- `qualified_tool_name`名前空間が利用可能な場合に、その名前空間で修飾されたツール名
133135

134136
実行中にツールレベルのメタデータが必要な場合は `ToolContext` を使用してください。
135-
エージェントとツール間での一般的なコンテキスト共有では`RunContextWrapper` で十分です。`ToolContext``RunContextWrapper` を拡張しているため、ネストされた `Agent.as_tool()` 実行で構造化入力が渡された場合は `.tool_input` も公開できます。
137+
エージェントとツール間の一般的なコンテキスト共有には`RunContextWrapper` で十分です。`ToolContext``RunContextWrapper` を拡張しているため、ネストした `Agent.as_tool()` 実行が構造化入力を提供した場合は `.tool_input` も公開できます。
136138

137139
---
138140

139141
## エージェント / LLM コンテキスト
140142

141-
LLM が呼び出されるとき、参照できるデータは会話履歴内のもの **のみ** です。これは、LLM に新しいデータを利用可能にしたい場合、それを会話履歴内で利用可能にする方法で渡す必要があることを意味します。方法はいくつかあります。
143+
LLM が呼び出されると、参照できるデータは会話履歴にあるもの **のみ** です。つまり、新しいデータを LLM で利用可能にしたい場合は、その履歴で利用できる形にする必要があります。方法はいくつかあります。
142144

143-
1. Agent の `instructions` に追加できます。これは「システムプロンプト」または「開発者メッセージ」とも呼ばれます。システムプロンプトは静的文字列にも、コンテキストを受け取って文字列を返す動的関数にもできます。これは、常に有用な情報 (たとえばユーザー名や現在日付) に対する一般的な手法です。
144-
2. `Runner.run` 関数を呼び出すときの `input` に追加します。これは `instructions` の手法に似ていますが、[chain of command](https://cdn.openai.com/spec/model-spec-2024-05-08.html#follow-the-chain-of-command) でより下位のメッセージを持てます。
145-
3. 関数ツールを通じて公開します。これは _オンデマンド_ のコンテキストに有用です。つまり、LLM がデータを必要とするタイミングを判断し、そのデータ取得のためにツールを呼び出せます
146-
4. retrieval または Web 検索を使用します。これらは、ファイルやデータベース (retrieval)、または Web (Web 検索) から関連データを取得できる特別なツールです。これは、関連する文脈データに基づいてレスポンスを「グラウンディング」するのに有用です。
145+
1. エージェントの `instructions` に追加します。これは「システムプロンプト」または「開発者メッセージ」とも呼ばれます。システムプロンプトは静的文字列にもできますし、コンテキストを受け取って文字列を返す動的関数にもできます。これは、常に有用な情報たとえばユーザー名や現在日付に対する一般的な手法です。
146+
2. `Runner.run` 関数を呼び出す際の `input` に追加します。これは `instructions` の手法に似ていますが、[chain of command](https://cdn.openai.com/spec/model-spec-2024-05-08.html#follow-the-chain-of-command) でより下位のメッセージを持てます。
147+
3. 関数ツールを介して公開します。これは _オンデマンド_ のコンテキストに有用です。LLM がデータを必要とするタイミングを判断し、そのデータを取得するためにツールを呼び出せます
148+
4. retrieval または Web 検索を使用します。これらは、ファイルやデータベースretrieval、または WebWeb 検索から関連データを取得できる特別なツールです。これは、レスポンスを関連するコンテキストデータに「グラウンディング」するのに有用です。

0 commit comments

Comments
 (0)