Skip to content

Commit d3a359c

Browse files
committed
Merge branch 'encrypt-session' of github.com:maxmekiska/openai-agents-python into encrypt-session
2 parents 5083c86 + a4a2244 commit d3a359c

File tree

86 files changed

+4381
-1444
lines changed

Some content is hidden

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

86 files changed

+4381
-1444
lines changed

.github/workflows/update-docs.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@ on:
1313
- 'docs/**'
1414
- mkdocs.yml
1515

16+
permissions:
17+
contents: write
18+
pull-requests: write
19+
1620
jobs:
1721
update-docs:
1822
if: "!contains(github.event.head_commit.message, 'Update all translated document pages')"

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,8 @@ celerybeat.pid
100100
*.sage.py
101101

102102
# Environments
103-
.env
103+
.python-version
104+
.env*
104105
.venv
105106
env/
106107
venv/

Makefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@ snapshots-create:
3939
uv run pytest --inline-snapshot=create
4040

4141
.PHONY: old_version_tests
42-
old_version_tests:
42+
old_version_tests:
43+
UV_PROJECT_ENVIRONMENT=.venv_39 uv sync --python 3.9 --all-extras --all-packages --group dev
4344
UV_PROJECT_ENVIRONMENT=.venv_39 uv run --python 3.9 -m pytest
4445

4546
.PHONY: build-docs

docs/ja/agents.md

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

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

9-
## 基本設定
9+
## 基本構成
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、lists、TypedDict など) をサポートします。
55+
デフォルトでは、エージェント はプレーンテキスト(すなわち `str`を出力します。特定の型の出力を生成させたい場合は`output_type` パラメーターを使用できます。一般的には [Pydantic](https://docs.pydantic.dev/) オブジェクトを使いますが、Pydantic の [TypeAdapter](https://docs.pydantic.dev/latest/api/type_adapter/) でラップできる任意の型(dataclasses、lists、TypedDict などをサポートします。
5656

5757
```python
5858
from pydantic import BaseModel
@@ -73,20 +73,20 @@ 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

78-
## マルチエージェントの設計パターン
78+
## マルチ エージェント システムの設計パターン
7979

80-
マルチエージェントシステムの設計にはさまざまな方法がありますが、一般的に広く適用できるパターンを 2 つ紹介します
80+
マルチ エージェント システムの設計方法は多数ありますが、一般的に広く適用できるパターンを 2 つ挙げます
8181

82-
1. マネージャー (エージェントをツールとして利用): 中央のマネージャー/オーケストレーターが、専門のサブエージェントをツールとして呼び出し、会話の制御を保持します。
83-
2. ハンドオフ: 対等なエージェント同士が、会話を引き継ぐ専門エージェントに制御を渡します。これは分散型です
82+
1. マネージャー(エージェント をツールとして使用): 中央のマネージャー/オーケストレーターが、専用のサブ エージェント をツールとして呼び出し、会話の制御を保持します。
83+
2. ハンドオフ: ピア エージェント が制御を、会話を引き継ぐ特化型エージェント にハンドオフします。こちらは分散型です
8484

85-
詳細は[実践的なエージェント構築ガイド](https://cdn.openai.com/business-guides-and-resources/a-practical-guide-to-building-agents.pdf)をご覧ください。
85+
詳細は [エージェント 構築の実践ガイド](https://cdn.openai.com/business-guides-and-resources/a-practical-guide-to-building-agents.pdf) をご覧ください。
8686

87-
### マネージャー (エージェントをツールとして利用)
87+
### マネージャー(エージェント をツールとして使用)
8888

89-
`customer_facing_agent` がすべてのユーザー対応を行い、ツールとして公開された専門のサブエージェントを呼び出します。詳細は [tools](tools.md#agents-as-tools) ドキュメントをご覧ください。
89+
`customer_facing_agent` がすべてのユーザー とのやり取りを処理し、ツールとして公開された専用のサブ エージェント を呼び出します。詳しくは [ツール](tools.md#agents-as-tools) ドキュメントをご覧ください。
9090

9191
```python
9292
from agents import Agent
@@ -115,7 +115,7 @@ customer_facing_agent = Agent(
115115

116116
### ハンドオフ
117117

118-
ハンドオフは、エージェントが委譲できるサブエージェントです。ハンドオフが発生すると、委譲先のエージェントが会話履歴を受け取り、会話を引き継ぎます。このパターンにより、単一のタスクに優れたモジュール式かつ専門特化のエージェントを実現できます。詳細は [handoffs](handoffs.md) ドキュメントをご覧ください。
118+
ハンドオフ は、エージェント が委譲できるサブ エージェント です。ハンドオフ が発生すると、委譲先のエージェント は会話履歴を受け取り、会話を引き継ぎます。このパターンにより、単一のタスクに特化して優れた性能を発揮する、モジュール式のエージェント を実現できます。詳しくは [ハンドオフ](handoffs.md) ドキュメントをご覧ください。
119119

120120
```python
121121
from agents import Agent
@@ -136,7 +136,7 @@ triage_agent = Agent(
136136

137137
## 動的 instructions
138138

139-
多くの場合、エージェント作成時に instructions を指定できますが、関数を介して動的な instructions を提供することもできます。この関数はエージェントとコンテキストを受け取り、プロンプトを返す必要があります。通常の関数と `async` 関数のどちらも使用できます
139+
多くの場合、エージェント を作成する際に instructions を指定します。ただし、関数を介して動的な instructions を提供することもできます。関数はエージェント とコンテキストを受け取り、プロンプトを返す必要があります。通常の関数と `async` 関数の両方を受け付けます
140140

141141
```python
142142
def dynamic_instructions(
@@ -151,17 +151,17 @@ agent = Agent[UserContext](
151151
)
152152
```
153153

154-
## ライフサイクルイベント (フック)
154+
## ライフサイクルイベントフック
155155

156-
ときには、エージェントのライフサイクルを観察したい場合があります。たとえば、イベントをログに記録したり、特定のイベント発生時にデータを事前取得したりすることです`hooks` プロパティでエージェントのライフサイクルにフックできます[`AgentHooks`][agents.lifecycle.AgentHooks] クラスをサブクラス化し、関心のあるメソッドをオーバーライドしてください
156+
場合によっては、エージェント のライフサイクルを観測したいことがあります。例えば、イベントをログに記録したり、特定のイベント発生時にデータを事前取得したりする場合です`hooks` プロパティでエージェント のライフサイクルにフックできます[`AgentHooks`][agents.lifecycle.AgentHooks] クラスをサブクラス化し、関心のあるメソッドを override してください
157157

158158
## ガードレール
159159

160-
ガードレールにより、エージェントの実行と並行して ユーザー入力に対するチェック/バリデーションを実行し、生成後のエージェント出力にもチェックを行えます。たとえば、ユーザー入力とエージェントの出力の関連性をスクリーニングできます。詳細は [guardrails](guardrails.md) ドキュメントをご覧ください。
160+
ガードレール は、エージェント の実行と並行してユーザー 入力に対するチェック/検証を行い、またエージェント の出力が生成された後にも実行できます。例えば、ユーザー の入力やエージェント の出力の関連性をスクリーニングできます。詳しくは [ガードレール](guardrails.md) ドキュメントをご覧ください。
161161

162162
## エージェントのクローン/コピー
163163

164-
エージェントの `clone()` メソッドを使用すると、エージェントを複製し、任意のプロパティを変更できます
164+
エージェント の `clone()` メソッドを使うと、エージェント を複製し、任意で好きなプロパティを変更できます
165165

166166
```python
167167
pirate_agent = Agent(
@@ -178,12 +178,12 @@ robot_agent = pirate_agent.clone(
178178

179179
## ツール使用の強制
180180

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

183-
1. `auto`: LLM がツールを使用するかどうかを判断します
184-
2. `required`: LLM にツールの使用を必須にします (どのツールを使うかは賢く判断します)
185-
3. `none`: LLM にツールを使用しないことを必須にします
186-
4. 文字列を指定 (例: `my_tool`): LLM にその特定のツールの使用を必須にします
183+
1. `auto`: LLM にツールを使用するかどうかの判断を任せます
184+
2. `required`: LLM にツールの使用を要求します(ただし、どのツールかは賢く判断できます)
185+
3. `none`: LLM にツールを _使用しない_ ことを要求します
186+
4. 具体的な文字列(例: `my_tool`)を設定すると、LLM にその特定のツールを使用することを要求します
187187

188188
```python
189189
from agents import Agent, Runner, function_tool, ModelSettings
@@ -201,12 +201,12 @@ agent = Agent(
201201
)
202202
```
203203

204-
## ツール使用の動作
204+
## ツール使用時の挙動
205205

206-
`Agent` の構成にある `tool_use_behavior` パラメーターは、ツール出力の扱い方を制御します。
206+
`Agent` `tool_use_behavior` パラメーターは、ツール出力の扱い方を制御します。
207207

208208
- `"run_llm_again"`: デフォルト。ツールを実行し、その結果を LLM が処理して最終応答を生成します。
209-
- `"stop_on_first_tool"`: 最初のツール呼び出しの出力を、追加の LLM 処理なしで最終応答として使用します.
209+
- `"stop_on_first_tool"`: 最初のツール呼び出しの出力を最終応答として使用し、その後の LLM による処理は行いません。
210210

211211
```python
212212
from agents import Agent, Runner, function_tool, ModelSettings
@@ -248,7 +248,7 @@ agent = Agent(
248248
)
249249
```
250250

251-
- `ToolsToFinalOutputFunction`: ツール結果を処理し、停止するか LLM を継続するかを判断するカスタム関数です
251+
- `ToolsToFinalOutputFunction`: ツール結果を処理し、停止するか LLM を継続するかを決定するカスタム関数です
252252

253253
```python
254254
from agents import Agent, Runner, function_tool, FunctionToolResult, RunContextWrapper
@@ -286,4 +286,4 @@ agent = Agent(
286286

287287
!!! note
288288

289-
無限ループを防ぐため、フレームワークはツール呼び出し後に `tool_choice` を自動的に "auto" にリセットします。この動作は [`agent.reset_tool_choice`][agents.agent.Agent.reset_tool_choice] で設定できます。無限ループは、ツール結果が LLM に送られ、`tool_choice` により LLM がさらに別のツール呼び出しを生成し続けることで発生します
289+
無限ループを防ぐため、フレームワークはツール呼び出し後に `tool_choice` を自動的に "auto" にリセットします。この挙動は [`agent.reset_tool_choice`][agents.agent.Agent.reset_tool_choice] で構成できます。無限ループは、ツール結果が LLM に送られ、`tool_choice` により LLM がさらに別のツール呼び出しを生成し続けることで起こります

0 commit comments

Comments
 (0)