DZone.com Feed 日本語
フォロー
1つのエージェント、2つのランタイム:TemporalとLangGraph間のステート所有権の定義
TemporalとLangGraphを組み合わせると、欺瞞的に単純な疑問が生じます。どのランタイムがエージェントの状態を所有するのか?どちらも実行の進捗を保持しますが、保持する進捗の種類が異なります。Temporalはイベント履歴からワークフロー状態を再構築し、リプレイ中に記録されたアクティビティの結果を再利用します。LangGraphはスレッドスコープのグラフ状態をチェックポイントとして永続化し、スーパー・ステップの境界から再開します。これらのメカニズムを交換可能と見なすと、回復セマンティクスが曖昧になります。したがって、本番環境での統合には、ビジネスの進捗、エージェントの作業状態、およびそれらの間のハンドオフに対する明示的な権限が必要です。デプロイ言語、ストレージバックエンド、モデルプロバイダー、およびホスティングトポロジーは、指定されていない仮定のままです。現在のTemporal LangGraph統合は、問題を絞り込みます。そのパブリックプレビューのPythonプラグインは、LangGraphノードをTemporalアクティビティまたは決定論的なワークフローコードとして実行できます。一方、Temporalは耐久性を提供します。ドキュメントでは、個別のPostgreSQLまたはRedisチェッカーポイントではなく、インメモリのLangGraphチェッカーポイントを推奨しています。Continue-As-Newは、キャッシュされたタスク結果を次のワークフロー実行に引き継ぐことができます。