사람이 개입하는 워크플로
환불, 계약 변경, 프로덕션 배포는 프로세스를 열어 두지 않고도 몇 분이든 며칠이든 사람의 승인을 기다립니다.
LangGraph 에이전트를 HotKV에 영속화하십시오. 그래프 상태를 일시정지, 재개, 되감기할 수 있고, 장기 메모리는 의미로 검색할 수 있습니다.
체크포인터와 스토어가 하나의 패키지에 들어 있습니다. Python 3.10 이상이 필요합니다.
실제 HotKV 명령과 예시 응답으로 구성된 애니메이션 안내입니다. 원하는 단계를 클릭하면 해당 단계로 이동합니다. 명령과 응답은 HotKV에서 입력하고 보는 그대로 영어로 표시됩니다.
프로세스 메모리에 상태를 두는 LangGraph 에이전트는 재시작하면 모든 것을 잃습니다. 사람의 승인을 밤새 기다릴 수 없고, 실패한 실행을 재개할 수 없으며, 에이전트가 배운 것은 다음 대화까지 남지 않습니다.
langgraph-checkpoint-hotkv는 각 그래프의 체크포인트를 HotKV에 저장합니다. 그래프를 중단했다가 재개하거나, 이전의 어느 단계로든 되감아 거기서 분기할 수 있습니다. 함께 제공되는 스토어는 스레드를 넘나드는 장기 메모리를 보관하며, 네임스페이스나 필터로, 임베딩 모델이 있으면 의미로 찾을 수 있습니다.
체크포인터와 스토어가 하나의 패키지에 들어 있습니다. Python 3.10 이상이 필요합니다.
pip install langgraph-checkpoint-hotkv이제 그래프의 모든 단계가 HotKV에 저장됩니다.
graph = builder.compile(checkpointer=HotKVSaver(hotkv.from_url("hotkv://localhost:6379")), interrupt_before=["refund"])그래프는 단계를 진행하며 매 단계 후 체크포인트를 저장하고, 환불 직전에 멈춥니다.
graph.invoke({"messages": [("user", "Refund order 1182")]}, {"configurable": {"thread_id": "t-81"}})밤사이 프로세스가 재시작되었습니다. 상태는 여전히 HotKV에 있으며 같은 단계에서 기다리고 있습니다.
graph.get_state({"configurable": {"thread_id": "t-81"}}).next승인자가 승인하면 그래프는 저장된 체크포인트부터 계속 진행합니다.
graph.invoke(None, {"configurable": {"thread_id": "t-81"}})장기 메모리는 스토어에 있으며 이후 어떤 대화에서도 다시 찾을 수 있습니다.
store.put(("users", "42"), "prefs", {"refunds": "prefers store credit"})환불, 계약 변경, 프로덕션 배포는 프로세스를 열어 두지 않고도 몇 분이든 며칠이든 사람의 승인을 기다립니다.
40단계에서 실패한 실행은 처음부터 다시 시작하지 않고 40단계부터 재개합니다.
이전의 어느 체크포인트로든 돌아가 입력을 바꾸고 분기하여, 에이전트가 어떻게 동작했을지 확인합니다.
HotKVSaver와 AsyncHotKVSaver는 실행 사이에 그래프 상태를 유지하며, 중단, 재개, 시간 여행을 지원합니다.
HotKVStore는 스레드를 넘나드는 항목을 보관하며, 네임스페이스, 필터, 의미로 검색할 수 있고 선택적으로 만료를 지정합니다.
두 세이버 모두 LangGraph 자체 체크포인터 적합성 스위트(8개 기능, 81개 테스트)를 통과합니다.
HotKV의 핵심 데이터 타입과 벡터 인덱스를 사용하며, 엔터프라이즈 라이선스 유무와 관계없이 동작합니다.
from langgraph.checkpoint.hotkv import HotKVSaver
with HotKVSaver.from_conn_string("hotkv://localhost:6379") as checkpointer:
graph = builder.compile(checkpointer=checkpointer)
graph.invoke({"messages": [("user", "hi")]}, {"configurable": {"thread_id": "1"}})아닙니다. 체크포인터와 스토어는 HotKV의 핵심 데이터 타입과 벡터 인덱스를 사용하므로, 라이선스 유무와 관계없이 서버에서 동작합니다.
예. AsyncHotKVSaver와 AsyncHotKVStore는 ainvoke 및 astream과 함께 동작합니다.
예. 모든 데이터는 키 프리픽스(기본값 langgraph) 아래에 저장되며, 애플리케이션이나 환경마다 이를 바꿀 수 있습니다.