# OpenAI Agent SDKの便利で実践的な使い方
🌍 エージェントの処理が数時間、あるいは数日にわたる場合、プロセスが落ちても大丈夫ですか?
Durable execution統合を使えば、長時間実行や人間承認フローを安全に実現できます。
📌 タイトル:Running agents – Durable execution integrations
🔗 URL:
🧩 概要
Durable execution統合は、エージェントの実行状態を永続化し、プロセス障害やサーバー再起動後も途中から再開できる仕組みです。人間の承認を待つワークフロー(数時間〜数日)や、長時間のバッチ処理で特に威力を発揮します。Temporal、Dapr、Restate、DBOSなどのフレームワークとの統合がサポートされています。
🛠 使い方
DBOSとAgent SDKを組み合わせた例です。`DBOS()` で初期化し、`Agent(name="approval-agent", instructions="...")` でエージェントを定義します。`
@DBOS.workflow()` デコレータを付けた非同期関数 `expense_approval_workflow(report_id)` の中で、`await input=...)` で経費レポートを分析し、`await DBOS.recv(f"approval-{report_id}", timeout_seconds=86400 * 7)` で最大7日間の承認待ちを行います。`approval["approved"]` が `True` なら再度 ` で承認済みレポートを処理します。
🏗 実践的な使い方
**人間承認ワークフロー**
経費精算、コンテンツ公開、契約書レビューなど、人間の承認が必要なプロセスにエージェントを組み込む場合、承認待ちの間にプロセスが落ちても状態が保持されます。承認が来た時点で自動的に処理を再開できます。
**障害からの自動復旧**
Temporal/Dapr/Restate/DBOSのいずれも、プロセスクラッシュやサーバー再起動後に自動的に最後のチェックポイントから再開する仕組みを持っています。LLM呼び出しの途中で障害が発生しても、完了済みのステップは再実行されません。
**小中規模プロジェクトにはDBOS**
TemporalやDaprはインフラの構築と運用コストが高いですが、DBOSはSQLite(ローカル開発)やPostgres(本番)だけで動作します。専用のオーケストレーションサーバーが不要なため、小中規模のプロジェクトに最適です。
**段階的なエージェントパイプライン**
複数のエージェントステップを持つパイプライン(調査→分析→レポート生成→レビュー→承認)を、各ステップの完了をチェックポイントとして永続化できます。途中で失敗しても、最初からやり直す必要がありません。
💡 ユースケース
📋 経費精算の承認フロー(マネージャーの承認を数日待つ)
📝 コンテンツ公開パイプライン(エディターレビュー→承認→公開)
🔄 長時間バッチ処理の障害復旧(数百件のドキュメント処理)
🏢 契約書レビューワークフロー(法務チームの確認待ち)
⚠️ 注意点
- Durable executionフレームワークの選択はインフラ要件に依存します。既にTemporalを使っているならTemporalを、新規で軽量に始めるならDBOSを検討してください。
- 永続化される状態にLLMのレスポンス全文を含めるとストレージコストが増大します。必要な情報だけを保存するよう設計してください。
- 人間承認のタイムアウトを設定してください。無期限に待つワークフローはリソースリークの原因になります。
- DBOSのSQLiteバックエンドはローカル開発には便利ですが、本番環境ではPostgresを使用してください。
✨ Durable executionで、プロセス障害を恐れずに長時間ワークフローを構築しましょう!
#
OpenAIAgentSDK# #
AIAgent#