Skip to content

Commit ea1177c

Browse files
committed
Merge remote-tracking branch 'origin/main' into feat/sqlalchemy-sessions
2 parents 78614fd + bad88e7 commit ea1177c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+3184
-2120
lines changed

docs/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ The [OpenAI Agents SDK](https://github.com/openai/openai-agents-python) enables
44

55
- **Agents**, which are LLMs equipped with instructions and tools
66
- **Handoffs**, which allow agents to delegate to other agents for specific tasks
7-
- **Guardrails**, which enable the inputs to agents to be validated
7+
- **Guardrails**, which enable validation of agent inputs and outputs
88
- **Sessions**, which automatically maintains conversation history across agent runs
99

1010
In combination with Python, these primitives are powerful enough to express complex relationships between tools and agents, and allow you to build real-world applications without a steep learning curve. In addition, the SDK comes with built-in **tracing** that lets you visualize and debug your agentic flows, as well as evaluate them and even fine-tune models for your application.

docs/ja/agents.md

Lines changed: 29 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,16 @@ search:
44
---
55
# エージェント
66

7-
エージェントはアプリのコアとなる構成要素です。エージェントは instructions とツールで設定された大規模言語モデル(LLMです。
7+
エージェントはアプリの中核となるビルディングブロックです。エージェントとは、指示とツールで構成された大規模言語モデル ( LLM ) です。
88

99
## 基本設定
1010

11-
エージェントで最も一般的に設定するプロパティは次のとおりです
11+
エージェントで最もよく設定するプロパティは次のとおりです
1212

13-
- `name`: エージェントを識別する必須の文字列。
14-
- `instructions`: developer メッセージまたは system prompt とも呼ばれます。
15-
- `model`: 使用する LLM、および temperature や top_p などのモデルチューニングパラメーターを設定する任意の `model_settings`
16-
- `tools`: エージェントがタスクを達成するために使用できるツール。
13+
- `name`: エージェントを識別する必須の文字列。
14+
- `instructions`: developer メッセージまたは system prompt とも呼ばれます。
15+
- `model`: 使用する LLM、および temperature や top_p などのチューニングパラメーターを設定する `model_settings` (オプション)。
16+
- `tools`: エージェントがタスク達成のために使用できるツール。
1717

1818
```python
1919
from agents import Agent, ModelSettings, function_tool
@@ -33,7 +33,7 @@ agent = Agent(
3333

3434
## コンテキスト
3535

36-
エージェントは `context` 型に対してジェネリックです。コンテキストは依存性インジェクション用のツールで、`Runner.run()` に渡すオブジェクトです。これがすべてのエージェント、ツール、ハンドオフなどに渡され、実行時の依存関係や状態をまとめて保持します。任意の Python オブジェクトをコンテキストとして渡すことができます
36+
エージェントはその `context` 型に対して汎用的です。コンテキストは依存性注入ツールであり、あなたが作成して `Runner.run()` に渡すオブジェクトです。このオブジェクトはすべてのエージェント、ツール、ハンドオフなどに渡され、エージェント実行の依存関係や状態をまとめて保持します。コンテキストには任意の Python オブジェクトを渡せます
3737

3838
```python
3939
@dataclass
@@ -52,7 +52,7 @@ agent = Agent[UserContext](
5252

5353
## 出力タイプ
5454

55-
デフォルトでは、エージェントはプレーンテキスト(つまり `str`を出力します。特定の型で出力させたい場合は、`output_type` パラメーターを使用します。よく使われるのは [Pydantic](https://docs.pydantic.dev/) オブジェクトですが、Pydantic の [TypeAdapter](https://docs.pydantic.dev/latest/api/type_adapter/) でラップできる型—dataclasses、list、TypedDict など—であれば何でもサポートされています
55+
デフォルトでは、エージェントはプレーンテキスト (すなわち `str`) を出力します。特定の型で出力させたい場合は、`output_type` パラメーターを使用します。一般的には [Pydantic](https://docs.pydantic.dev/) オブジェクトを使いますが、Pydantic の [TypeAdapter](https://docs.pydantic.dev/latest/api/type_adapter/) でラップできる型―dataclass、list、TypedDict など―であれば利用できます
5656

5757
```python
5858
from pydantic import BaseModel
@@ -73,11 +73,11 @@ agent = Agent(
7373

7474
!!! note
7575

76-
`output_type` を渡すと、モデルは通常のプレーンテキスト応答ではなく [structured outputs](https://platform.openai.com/docs/guides/structured-outputs) を使用するよう指示されます。
76+
`output_type` を指定すると、モデルは通常のプレーンテキスト応答ではなく [structured outputs](https://platform.openai.com/docs/guides/structured-outputs) を使用するよう指示されます。
7777

7878
## ハンドオフ
7979

80-
ハンドオフは、エージェントが委任できるサブエージェントです。ハンドオフのリストを渡しておくと、エージェントは適切な場合にそれらへ委任できます。これは、単一タスクに特化したモジュール式エージェントをオーケストレーションする強力なパターンです。詳細は [ハンドオフ](handoffs.md) のドキュメントを参照してください
80+
ハンドオフは、エージェントが委譲できるサブエージェントです。ハンドオフのリストを提供すると、エージェントは関連する場合にそれらへ委譲できます。これは、単一タスクに特化したモジュール型エージェントをオーケストレーションする強力なパターンです。詳しくは [handoffs](handoffs.md) ドキュメントをご覧ください
8181

8282
```python
8383
from agents import Agent
@@ -98,7 +98,7 @@ triage_agent = Agent(
9898

9999
## 動的 instructions
100100

101-
多くの場合、エージェント作成時に instructions を指定しますが、関数を介して動的に instructions を提供することもできます。その関数はエージェントとコンテキストを受け取り、プロンプトを返さなければなりません。同期関数・`async` 関数のどちらも使用できます
101+
通常はエージェント作成時に instructions を渡しますが、関数を通じて動的に渡すこともできます。この関数はエージェントと context を受け取り、プロンプトを返さなければなりません。同期関数と `async` 関数の両方を使用できます
102102

103103
```python
104104
def dynamic_instructions(
@@ -113,17 +113,17 @@ agent = Agent[UserContext](
113113
)
114114
```
115115

116-
## ライフサイクルイベントフック
116+
## ライフサイクルイベント (フック)
117117

118-
エージェントのライフサイクルを監視したい場合があります。たとえば、イベントをログに記録したり、特定のイベント発生時にデータを事前取得したりできます`hooks` プロパティを利用してエージェントのライフサイクルにフックできます[`AgentHooks`][agents.lifecycle.AgentHooks] を継承し、必要なメソッドをオーバーライドしてください
118+
エージェントのライフサイクルを監視したい場合があります。たとえば、イベントをログに記録したり、特定のイベント発生時にデータをプリフェッチしたりするケースです`hooks` プロパティを使ってエージェントのライフサイクルにフックできます[`AgentHooks`][agents.lifecycle.AgentHooks] をサブクラス化し、関心のあるメソッドをオーバーライドしてください
119119

120120
## ガードレール
121121

122-
ガードレールを使用すると、エージェントの実行と並行してユーザー入力に対するチェック/バリデーションを行えます。たとえば、ユーザー入力の関連性をスクリーニングすることが可能です。詳細は [ガードレール](guardrails.md) のドキュメントをご覧ください
122+
ガードレールを使うと、エージェント実行と並行してユーザー入力に対するチェックやバリデーションを実行できます。たとえば、ユーザー入力の関連性をスクリーニングすることが可能です。詳細は [guardrails](guardrails.md) ドキュメントをご覧ください
123123

124-
## エージェントの複製/コピー
124+
## エージェントのクローン/コピー
125125

126-
エージェントの `clone()` メソッドを使用すると、エージェントを複製し、必要に応じて任意のプロパティを変更できます
126+
エージェントの `clone()` メソッドを使うと、エージェントを複製し、任意のプロパティを変更できます
127127

128128
```python
129129
pirate_agent = Agent(
@@ -140,12 +140,12 @@ robot_agent = pirate_agent.clone(
140140

141141
## ツール使用の強制
142142

143-
ツールのリストを指定しても、LLM が必ずしもツールを使用するとは限りません[`ModelSettings.tool_choice`][agents.model_settings.ModelSettings.tool_choice] を設定することでツール使用を強制できます。有効な値は次のとおりです。
143+
ツールのリストを渡しても、必ずしも LLM がツールを使用するとは限りません[`ModelSettings.tool_choice`][agents.model_settings.ModelSettings.tool_choice] を設定するとツール使用を強制できます。有効な値は次のとおりです。
144144

145-
1. `auto`: LLM がツールを使うかどうかを判断します。
146-
2. `required`: LLM にツール使用を必須とします(使用するツールは自動選択されます)。
147-
3. `none`: LLM にツールを使用しないことを要求します。
148-
4. 具体的な文字列例: `my_tool`を設定すると、その特定のツールの使用を要求します。
145+
1. `auto` : LLM がツールを使用するかどうかを自動で判断します。
146+
2. `required` : LLM にツール使用を必須とします (使用するツールはインテリジェントに決定)。
147+
3. `none` : LLM にツールを使用しないことを要求します。
148+
4. 具体的な文字列 (例: `my_tool`) を設定すると、そのツールを必ず使用させます。
149149

150150
```python
151151
from agents import Agent, Runner, function_tool, ModelSettings
@@ -163,11 +163,12 @@ agent = Agent(
163163
)
164164
```
165165

166-
## ツール使用動作
166+
## ツール使用の挙動
167167

168-
`Agent``tool_use_behavior` パラメーターはツール出力の扱いを制御します。
169-
- `"run_llm_again"`: デフォルト。ツールを実行した後、LLM が結果を処理して最終応答を生成します。
170-
- `"stop_on_first_tool"`: 最初のツール呼び出しの出力を最終応答として使用し、LLM による追加処理を行いません。
168+
`Agent``tool_use_behavior` パラメーターはツール出力の扱い方を制御します。
169+
170+
- `"run_llm_again"`: デフォルト設定。ツールを実行し、その結果を LLM が処理して最終応答を生成します。
171+
- `"stop_on_first_tool"`: 最初に呼び出されたツールの出力をそのまま最終応答として使用し、追加の LLM 処理を行いません。
171172

172173
```python
173174
from agents import Agent, Runner, function_tool, ModelSettings
@@ -185,7 +186,7 @@ agent = Agent(
185186
)
186187
```
187188

188-
- `StopAtTools(stop_at_tool_names=[...])`: 指定したツールのいずれかが呼び出された時点で停止し、その出力を最終応答として使用します
189+
- `StopAtTools(stop_at_tool_names=[...])`: 指定したツールのいずれかが呼び出されると停止し、その出力を最終応答とします
189190
```python
190191
from agents import Agent, Runner, function_tool
191192
from agents.agent import StopAtTools
@@ -207,7 +208,7 @@ agent = Agent(
207208
tool_use_behavior=StopAtTools(stop_at_tool_names=["get_weather"])
208209
)
209210
```
210-
- `ToolsToFinalOutputFunction`: ツールの結果を処理し、停止するか LLM を継続するかを判断するカスタム関数です
211+
- `ToolsToFinalOutputFunction`: ツール結果を処理し、停止するか LLM を続行するかを決定するカスタム関数
211212

212213
```python
213214
from agents import Agent, Runner, function_tool, FunctionToolResult, RunContextWrapper
@@ -245,4 +246,4 @@ agent = Agent(
245246

246247
!!! note
247248

248-
無限ループを防ぐため、フレームワークはツール呼び出し後に自動で `tool_choice` "auto" にリセットします。この動作は [`agent.reset_tool_choice`][agents.agent.Agent.reset_tool_choice] で設定可能です。ツール結果が LLM に送られ、`tool_choice` により再度ツール呼び出しが生成される…というループを防ぐためです
249+
無限ループを防ぐため、フレームワークはツール呼び出し後に `tool_choice` を自動的に "auto" にリセットします。この挙動は [`agent.reset_tool_choice`][agents.agent.Agent.reset_tool_choice] で設定できます。ツール結果が LLM に送られ、その後 `tool_choice` により再度ツール呼び出しが生成され…という無限ループを防止するためです

docs/ja/config.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,15 @@ search:
66

77
## API キーとクライアント
88

9-
デフォルトでは、 SDK はインポートされるとすぐに LLM リクエストと トレーシング のために `OPENAI_API_KEY` 環境変数を探します。アプリが起動する前にその環境変数を設定できない場合は[set_default_openai_key()][agents.set_default_openai_key] 関数を使用してキーを設定できます
9+
デフォルトでは、SDK をインポートした直後から、LLM リクエストとトレーシングに使用する環境変数 `OPENAI_API_KEY` を参照します。アプリ起動前にこの環境変数を設定できない場合は[set_default_openai_key()][agents.set_default_openai_key] 関数でキーを設定できます
1010

1111
```python
1212
from agents import set_default_openai_key
1313

1414
set_default_openai_key("sk-...")
1515
```
1616

17-
また、使用する OpenAI クライアントを設定することもできます。デフォルトでは、 SDK `AsyncOpenAI` インスタンスを作成し、環境変数または前述のデフォルトキーに設定された API キーを使用します。これを変更するには、[set_default_openai_client()][agents.set_default_openai_client] 関数を使用します
17+
また、使用する OpenAI クライアントを個別に設定することも可能です。デフォルトでは、SDK は環境変数または上記で設定したデフォルトキーを用いて `AsyncOpenAI` インスタンスを生成します。[set_default_openai_client()][agents.set_default_openai_client] 関数を使うことで、この設定を変更できます
1818

1919
```python
2020
from openai import AsyncOpenAI
@@ -24,7 +24,7 @@ custom_client = AsyncOpenAI(base_url="...", api_key="...")
2424
set_default_openai_client(custom_client)
2525
```
2626

27-
最後に、使用する OpenAI API をカスタマイズすることもできます。デフォルトでは OpenAI Responses API を使用します。[set_default_openai_api()][agents.set_default_openai_api] 関数を使用して Chat Completions API を使用するように上書きできます
27+
さらに、使用する OpenAI API もカスタマイズできます。デフォルトでは OpenAI Responses API を利用しますが、[set_default_openai_api()][agents.set_default_openai_api] 関数を使用して Chat Completions API に切り替えられます
2828

2929
```python
3030
from agents import set_default_openai_api
@@ -34,35 +34,35 @@ set_default_openai_api("chat_completions")
3434

3535
## トレーシング
3636

37-
トレーシングはデフォルトで有効になっています。デフォルトでは、前述の OpenAI API キー(環境変数または設定したデフォルトキー)が使用されます。[`set_tracing_export_api_key`][agents.set_tracing_export_api_key] 関数を使用して、トレーシングに使用される API キーを個別に設定できます
37+
トレーシングはデフォルトで有効です。上記セクションで説明した OpenAI API キー(環境変数または設定したデフォルトキー)が使用されます。トレーシング専用の API キーを指定したい場合は、[`set_tracing_export_api_key`][agents.set_tracing_export_api_key] 関数を利用してください
3838

3939
```python
4040
from agents import set_tracing_export_api_key
4141

4242
set_tracing_export_api_key("sk-...")
4343
```
4444

45-
[`set_tracing_disabled()`][agents.set_tracing_disabled] 関数を使用すると、トレーシングを完全に無効化できます
45+
トレーシングを完全に無効にする場合は、[`set_tracing_disabled()`][agents.set_tracing_disabled] 関数を使用します
4646

4747
```python
4848
from agents import set_tracing_disabled
4949

5050
set_tracing_disabled(True)
5151
```
5252

53-
## デバッグログ
53+
## デバッグ ロギング
5454

55-
SDK にはハンドラーが設定されていない Python ロガーが 2 つあります。そのため、デフォルトでは警告とエラーは `stdout` に送られますが、それ以外のログは抑制されます。
55+
SDK にはハンドラーが設定されていない Python ロガーが 2 つあります。デフォルトでは、警告とエラーは `stdout` に送られますが、それ以外のログは抑制されます。
5656

57-
詳細ログを有効にするには[`enable_verbose_stdout_logging()`][agents.enable_verbose_stdout_logging] 関数を使用します。
57+
詳細なロギングを有効にするには[`enable_verbose_stdout_logging()`][agents.enable_verbose_stdout_logging] 関数を使用します。
5858

5959
```python
6060
from agents import enable_verbose_stdout_logging
6161

6262
enable_verbose_stdout_logging()
6363
```
6464

65-
また、ハンドラー、フィルター、フォーマッターなどを追加してログをカスタマイズすることもできます。詳しくは [Python ロギングガイド](https://docs.python.org/3/howto/logging.html) を参照してください。
65+
ログを独自にカスタマイズしたい場合は、ハンドラー、フィルター、フォーマッターなどを追加できます。詳細は [Python logging guide](https://docs.python.org/3/howto/logging.html) を参照してください。
6666

6767
```python
6868
import logging
@@ -81,17 +81,17 @@ logger.setLevel(logging.WARNING)
8181
logger.addHandler(logging.StreamHandler())
8282
```
8383

84-
### ログに含まれる機密データ
84+
### ログ内の機密データ
8585

86-
一部のログには機密データ(例: ユーザー データ)が含まれる場合があります。これらのデータが記録されないようにするには、次の環境変数を設定してください
86+
一部のログには機密データ(例:ユーザーデータ)が含まれる場合があります。こうしたデータの出力を無効にしたい場合は、以下の環境変数を設定してください
8787

88-
LLM の入力および出力のログを無効化するには:
88+
LLM の入力と出力のロギングを無効にする:
8989

9090
```bash
9191
export OPENAI_AGENTS_DONT_LOG_MODEL_DATA=1
9292
```
9393

94-
ツールの入力および出力のログを無効化するには:
94+
ツールの入力と出力のロギングを無効にする:
9595

9696
```bash
9797
export OPENAI_AGENTS_DONT_LOG_TOOL_DATA=1

0 commit comments

Comments
 (0)