Skip to content

Commit fa4849c

Browse files
docs: update translated document pages (#2345)
Co-authored-by: Kazuhiro Sera <seratch@openai.com>
1 parent c586f67 commit fa4849c

3 files changed

Lines changed: 289 additions & 143 deletions

File tree

docs/ja/sessions/index.md

Lines changed: 102 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ search:
44
---
55
# セッション
66

7-
Agents SDK は、複数のエージェント実行にまたがって会話履歴を自動的に保持する組み込みのセッションメモリを提供し、ターン間で `.to_input_list()` を手動で扱う必要をなくします
7+
Agents SDK は、複数回の エージェント 実行にまたがって会話履歴を自動的に維持する、組み込みの セッション メモリを提供します。これにより、ターン間で `.to_input_list()` を手動で扱う必要がなくなります
88

9-
セッションは特定のセッションの会話履歴を保存し、明示的な手動メモリ管理なしにエージェントがコンテキストを維持できるようにします。これは、エージェントに以前のやり取りを覚えさせたいチャットアプリケーションやマルチターンの会話を構築する際に特に有用です
9+
Sessions は特定の セッション の会話履歴を保存し、明示的な手動のメモリ管理を必要とせずに、エージェント がコンテキストを維持できるようにします。これは、エージェント に過去のやり取りを覚えさせたい チャット アプリケーションや複数ターンの会話を構築する際に特に役立ちます
1010

1111
## クイックスタート
1212

@@ -49,19 +49,19 @@ print(result.final_output) # "Approximately 39 million"
4949

5050
## 仕組み
5151

52-
セッションメモリを有効にすると:
52+
セッション メモリが有効な場合:
5353

54-
1. **各実行の前**: Runner はセッションの会話履歴を自動的に取得し、入力アイテムの前に付加します
55-
2. **各実行の後**: 実行中に生成されたすべての新しいアイテム(ユーザー入力、アシスタント応答、ツール呼び出しなど)が自動的にセッションに保存されます
56-
3. **コンテキスト維持**: 同じセッションでの後続の各実行には完全な会話履歴が含まれ、エージェントはコンテキストを維持できます
54+
1. **各実行の前**: runner が セッション の会話履歴を自動的に取得し、入力アイテムの先頭に付加します
55+
2. **各実行の後**: 実行中に生成されたすべての新しいアイテム (ユーザー 入力、アシスタント 応答、ツール 呼び出しなど) が、自動的に セッション に保存されます
56+
3. **コンテキストの保持**: 同じ セッション での各後続の実行には会話履歴の全体が含まれ、エージェント がコンテキストを維持できます
5757

58-
これにより、実行間で `.to_input_list()` を手動で呼び出したり、会話状態を管理したりする必要がなくなります
58+
これにより、`.to_input_list()` を手動で呼び出して、実行間の会話状態を管理する必要がなくなります
5959

6060
## メモリ操作
6161

6262
### 基本操作
6363

64-
セッションは会話履歴を管理するためのいくつかの操作をサポートします:
64+
Sessions は、会話履歴を管理するための複数の操作をサポートします:
6565

6666
```python
6767
from agents import SQLiteSession
@@ -86,9 +86,9 @@ print(last_item) # {"role": "assistant", "content": "Hi there!"}
8686
await session.clear_session()
8787
```
8888

89-
### 修正のための pop_item の使用
89+
### 修正で pop_item を使用する
9090

91-
会話で最後のアイテムを元に戻したり変更したりしたい場合`pop_item` メソッドが特に有用です:
91+
会話の最後のアイテムを取り消したり変更したりしたい場合`pop_item` メソッドが特に便利です:
9292

9393
```python
9494
from agents import Agent, Runner, SQLiteSession
@@ -117,9 +117,9 @@ result = await Runner.run(
117117
print(f"Agent: {result.final_output}")
118118
```
119119

120-
## セッションタイプ
120+
## セッション 種別
121121

122-
SDK はユースケースに応じていくつかのセッション実装を提供します:
122+
SDK は、さまざまな ユースケース 向けに複数の セッション 実装を提供します:
123123

124124
### OpenAI Conversations API セッション
125125

@@ -157,9 +157,57 @@ result = await Runner.run(
157157
print(result.final_output) # "California"
158158
```
159159

160+
### OpenAI Responses 圧縮 セッション
161+
162+
`OpenAIResponsesCompactionSession` を使用して、Responses API (`responses.compact`) で セッション 履歴を圧縮します。基盤となる セッション をラップし、`should_trigger_compaction` に基づいて各ターン後に自動で圧縮できます。
163+
164+
#### 代表的な使い方 (自動圧縮)
165+
166+
```python
167+
from agents import Agent, Runner, SQLiteSession
168+
from agents.memory import OpenAIResponsesCompactionSession
169+
170+
underlying = SQLiteSession("conversation_123")
171+
session = OpenAIResponsesCompactionSession(
172+
session_id="conversation_123",
173+
underlying_session=underlying,
174+
)
175+
176+
agent = Agent(name="Assistant")
177+
result = await Runner.run(agent, "Hello", session=session)
178+
print(result.final_output)
179+
```
180+
181+
デフォルトでは、候補しきい値に到達すると、圧縮は各ターン後に実行されます。
182+
183+
#### 自動圧縮は ストリーミング をブロックする場合があります
184+
185+
圧縮は セッション 履歴をクリアして書き直すため、SDK は圧縮が完了するまで実行完了とみなしません。ストリーミング モードでは、圧縮が重い場合、最後の出力トークンの後でも `run.stream_events()` が数秒間開いたままになることがあります。
186+
187+
低遅延の ストリーミング や高速なターン切り替えを望む場合は、自動圧縮を無効にして、ターン間 (またはアイドル時間中) に自分で `run_compaction()` を呼び出してください。独自の基準に基づいて、いつ圧縮を強制するかを判断できます。
188+
189+
```python
190+
from agents import Agent, Runner, SQLiteSession
191+
from agents.memory import OpenAIResponsesCompactionSession
192+
193+
underlying = SQLiteSession("conversation_123")
194+
session = OpenAIResponsesCompactionSession(
195+
session_id="conversation_123",
196+
underlying_session=underlying,
197+
# Disable triggering the auto compaction
198+
should_trigger_compaction=lambda _: False,
199+
)
200+
201+
agent = Agent(name="Assistant")
202+
result = await Runner.run(agent, "Hello", session=session)
203+
204+
# Decide when to compact (e.g., on idle, every N turns, or size thresholds).
205+
await session.run_compaction({"force": True})
206+
```
207+
160208
### SQLite セッション
161209

162-
デフォルトの軽量な SQLite を使用したセッション実装です:
210+
SQLite を使用した、デフォルトの軽量な セッション 実装です:
163211

164212
```python
165213
from agents import SQLiteSession
@@ -180,7 +228,7 @@ result = await Runner.run(
180228

181229
### SQLAlchemy セッション
182230

183-
あらゆる SQLAlchemy 対応データベースを使用できる本番運用向けセッションです:
231+
SQLAlchemy がサポートする任意のデータベースを使用した、本番対応の セッション です:
184232

185233
```python
186234
from agents.extensions.memory import SQLAlchemySession
@@ -198,13 +246,13 @@ engine = create_async_engine("postgresql+asyncpg://user:pass@localhost/db")
198246
session = SQLAlchemySession("user_123", engine=engine, create_tables=True)
199247
```
200248

201-
詳しくは [SQLAlchemy セッション](sqlalchemy_session.md) をご覧ください
249+
詳細なドキュメントは [SQLAlchemy Sessions](sqlalchemy_session.md) を参照してください
202250

203251

204252

205253
### 高度な SQLite セッション
206254

207-
会話の分岐、利用分析、構造化クエリに対応した強化版 SQLite セッションです:
255+
会話の分岐、使用状況分析、structured queries を備えた拡張 SQLite セッション です:
208256

209257
```python
210258
from agents.extensions.memory import AdvancedSQLiteSession
@@ -224,11 +272,11 @@ await session.store_run_usage(result) # Track token usage
224272
await session.create_branch_from_turn(2) # Branch from turn 2
225273
```
226274

227-
詳しくは [高度な SQLite セッション](advanced_sqlite_session.md) をご覧ください
275+
詳細なドキュメントは [Advanced SQLite Sessions](advanced_sqlite_session.md) を参照してください
228276

229-
### 暗号化セッション
277+
### 暗号化 セッション
230278

231-
あらゆるセッション実装に対する透過的な暗号化ラッパーです:
279+
任意の セッション 実装向けの透過的な暗号化ラッパーです:
232280

233281
```python
234282
from agents.extensions.memory import EncryptedSession, SQLAlchemySession
@@ -251,33 +299,33 @@ session = EncryptedSession(
251299
result = await Runner.run(agent, "Hello", session=session)
252300
```
253301

254-
詳しくは [暗号化セッション](encrypted_session.md) をご覧ください
302+
詳細なドキュメントは [Encrypted Sessions](encrypted_session.md) を参照してください
255303

256-
### その他のセッションタイプ
304+
### その他の セッション 種別
257305

258-
他にもいくつかの組み込みオプションがあります。`examples/memory/` `extensions/memory/` 配下のソースコードをご参照ください
306+
他にもいくつかの組み込みオプションがあります。`examples/memory/``extensions/memory/` 配下のソースコードを参照してください
259307

260-
## セッション管理
308+
## セッション 管理
261309

262310
### セッション ID の命名
263311

264-
会話を整理しやすい意味のあるセッション ID を使用します:
312+
会話を整理しやすい、意味のある セッション ID を使用してください:
265313

266-
- ユーザー基準: `"user_12345"`
267-
- スレッド基準: `"thread_abc123"`
268-
- コンテキスト基準: `"support_ticket_456"`
314+
- ユーザー ベース: `"user_12345"`
315+
- スレッド ベース: `"thread_abc123"`
316+
- コンテキスト ベース: `"support_ticket_456"`
269317

270-
### メモリ永続化
318+
### メモリの永続化
271319

272-
- 一時的な会話にはインメモリ SQLite`SQLiteSession("session_id")`を使用します
273-
- 永続的な会話にはファイルベースの SQLite`SQLiteSession("session_id", "path/to/db.sqlite")`を使用します
274-
- 既存の SQLAlchemy 対応データベースを用いる本番システムには SQLAlchemy ベースのセッション(`SQLAlchemySession("session_id", engine=engine, create_tables=True)`を使用します
275-
- 監視、トレーシング、データ分離を内蔵し、30+ 個のデータベースバックエンドをサポートするクラウドネイティブな本番デプロイには Dapr ステートストアセッション(`DaprSession.from_address("session_id", state_store_name="statestore", dapr_address="localhost:50001")`を使用します
276-
- 履歴を OpenAI Conversations API に保存したい場合は OpenAI がホストするストレージ`OpenAIConversationsSession()`を使用します
277-
- 透過的な暗号化と TTL ベースの有効期限を付与するには暗号化セッション(`EncryptedSession(session_id, underlying_session, encryption_key)`)で任意のセッションをラップします
278-
- より高度なユースケースに向けて他の本番システム(Redis、Django など)向けのカスタムセッションバックエンドの実装も検討してください
320+
- 一時的な会話には、インメモリ SQLite (`SQLiteSession("session_id")`) を使用します
321+
- 永続的な会話には、ファイル ベースの SQLite (`SQLiteSession("session_id", "path/to/db.sqlite")`) を使用します
322+
- SQLAlchemy がサポートする既存データベースを用いる本番システムには、SQLAlchemy 駆動の セッション (`SQLAlchemySession("session_id", engine=engine, create_tables=True)`) を使用します
323+
- 本番のクラウドネイティブ デプロイには、Dapr state store セッション (`DaprSession.from_address("session_id", state_store_name="statestore", dapr_address="localhost:50001")`) を使用します。組み込みの telemetry、tracing、データ分離を備え、30+ のデータベース バックエンドをサポートします
324+
- OpenAI Conversations API に履歴を保存したい場合は、OpenAI がホストするストレージ (`OpenAIConversationsSession()`) を使用します
325+
- 任意の セッション を透過的な暗号化と TTL ベースの有効期限でラップするには、暗号化 セッション (`EncryptedSession(session_id, underlying_session, encryption_key)`) を使用します
326+
- より高度な ユースケース のために、他の本番システム (Redis、Django など) 向けのカスタム セッション バックエンドの実装も検討してください
279327

280-
### 複数セッション
328+
### 複数 セッション
281329

282330
```python
283331
from agents import Agent, Runner, SQLiteSession
@@ -300,7 +348,7 @@ result2 = await Runner.run(
300348
)
301349
```
302350

303-
### セッション共有
351+
### セッション の共有
304352

305353
```python
306354
# Different agents can share the same session
@@ -323,7 +371,7 @@ result2 = await Runner.run(
323371

324372
## 完全な例
325373

326-
セッションメモリの動作を示す完全な例です:
374+
以下は、セッション メモリが動作している様子を示す完全な例です:
327375

328376
```python
329377
import asyncio
@@ -385,9 +433,9 @@ if __name__ == "__main__":
385433
asyncio.run(main())
386434
```
387435

388-
## カスタムセッション実装
436+
## カスタム セッション 実装
389437

390-
[`Session`][agents.memory.session.Session] プロトコルに従うクラスを作成することで、独自のセッションメモリを実装できます:
438+
[`Session`][agents.memory.session.Session] プロトコルに従うクラスを作成することで、独自の セッション メモリを実装できます:
391439

392440
```python
393441
from agents.memory.session import SessionABC
@@ -430,24 +478,25 @@ result = await Runner.run(
430478
)
431479
```
432480

433-
## コミュニティのセッション実装
481+
## コミュニティの セッション 実装
434482

435-
コミュニティによって追加のセッション実装が開発されています:
483+
コミュニティが追加の セッション 実装を開発しています:
436484

437-
| パッケージ | 説明 |
485+
| Package | 説明 |
438486
|---------|-------------|
439-
| [openai-django-sessions](https://pypi.org/project/openai-django-sessions/) | 任意の Django 対応データベース(PostgreSQL、MySQL、SQLite など)向けの Django ORM ベースのセッション |
487+
| [openai-django-sessions](https://pypi.org/project/openai-django-sessions/) | Django がサポートする任意のデータベース (PostgreSQL、MySQL、SQLite、ほか) 向けの Django ORM ベースの セッション |
440488

441-
セッション実装を構築された方は、ぜひドキュメントへの PR を送ってここに追加してください
489+
セッション 実装を構築した場合は、ぜひドキュメントの PR を提出して、ここに追加してください
442490

443491
## API リファレンス
444492

445-
詳細な API ドキュメントは以下をご覧ください:
493+
詳細な API ドキュメントは次を参照してください:
446494

447-
- [`Session`][agents.memory.session.Session] - プロトコルインターフェース
448-
- [`OpenAIConversationsSession`][agents.memory.OpenAIConversationsSession] - OpenAI Conversations API 実装
449-
- [`SQLiteSession`][agents.memory.sqlite_session.SQLiteSession] - 基本的な SQLite 実装
450-
- [`SQLAlchemySession`][agents.extensions.memory.sqlalchemy_session.SQLAlchemySession] - SQLAlchemy ベースの実装
451-
- [`DaprSession`][agents.extensions.memory.dapr_session.DaprSession] - Dapr ステートストア実装
452-
- [`AdvancedSQLiteSession`][agents.extensions.memory.advanced_sqlite_session.AdvancedSQLiteSession] - 分岐と分析を備えた強化版 SQLite
453-
- [`EncryptedSession`][agents.extensions.memory.encrypt_session.EncryptedSession] - 任意のセッション向け暗号化ラッパー
495+
- [`Session`][agents.memory.session.Session] - プロトコル インターフェース
496+
- [`OpenAIConversationsSession`][agents.memory.OpenAIConversationsSession] - OpenAI Conversations API 実装
497+
- [`OpenAIResponsesCompactionSession`][agents.memory.openai_responses_compaction_session.OpenAIResponsesCompactionSession] - Responses API 圧縮ラッパー
498+
- [`SQLiteSession`][agents.memory.sqlite_session.SQLiteSession] - 基本 SQLite 実装
499+
- [`SQLAlchemySession`][agents.extensions.memory.sqlalchemy_session.SQLAlchemySession] - SQLAlchemy 駆動の実装
500+
- [`DaprSession`][agents.extensions.memory.dapr_session.DaprSession] - Dapr state store 実装
501+
- [`AdvancedSQLiteSession`][agents.extensions.memory.advanced_sqlite_session.AdvancedSQLiteSession] - 分岐と分析を備えた拡張 SQLite
502+
- [`EncryptedSession`][agents.extensions.memory.encrypt_session.EncryptedSession] - 任意の セッション 向け暗号化ラッパー

0 commit comments

Comments
 (0)