하나의 에이전트, 두 개의 런타임: Temporal과 ... 노트

하나의 에이전트, 두 개의 런타임: Temporal과 LangGraph 간의 상태 소유권 정의

Temporal과 LangGraph를 결합하면 기만적으로 단순한 질문이 생깁니다. 어떤 런타임이 에이전트의 상태를 소유하는가? 둘 다 실행 진행 상황을 보존하지만, 다른 종류의 진행 상황을 보존합니다. Temporal은 이벤트 기록에서 워크플로 상태를 재구성하고 재생 중에 기록된 액티비티 결과를 재사용합니다. LangGraph는 스레드 범위의 그래프 상태를 체크포인트로 유지하고 슈퍼 스텝 경계에서 재개합니다. 이러한 메커니즘을 상호 교환 가능한 것으로 취급하면 모호한 복구 의미론이 발생합니다. 따라서 프로덕션 통합에는 비즈니스 진행 상황, 에이전트 작업 상태 및 그 사이의 핸드오프에 대한 명시적인 권한이 필요합니다. 배포 언어, 스토리지 백엔드, 모델 제공자 및 호스팅 토폴로지는 명시되지 않은 가정으로 남아 있습니다.현재 Temporal LangGraph 통합은 문제를 좁힙니다. 공개 미리 보기 Python 플러그인은 Temporal 액티비티 또는 결정론적 워크플로 코드로 LangGraph 노드를 실행할 수 있으며, Temporal은 내구성을 제공합니다. 문서는 별도의 PostgreSQL 또는 Redis 체크포인터 대신 인메모리 LangGraph 체크포인터를 권장합니다. Continue-As-New는 캐시된 작업 결과를 다음 워크플로 실행으로 전달할 수 있습니다.