개요

에이전트나 워크플로우에서 도구 호출을 검토하고 편집하며 승인하려면, LangGraph의 휴먼-인-더-루프 기능을 사용하여 워크플로우의 어느 지점에서든 사람이 개입할 수 있도록 설정하세요. 이 기능은 대규모 언어 모델(LLM) 기반 애플리케이션에서 모델 출력이 검증, 수정 또는 추가 컨텍스트를 필요로 할 때 특히 유용합니다.

image

Tip

휴먼-인-더-루프 사용 방법에 대한 자세한 내용은 휴먼-인-더-루프 사용하기Server API를 활용한 휴먼-인-더-루프를 참조하세요.

주요 기능

  • 실행 상태 영속성: 중단(interrupt) 기능은 LangGraph의 영속성 계층을 활용하여 그래프 상태를 저장함으로써, 사용자가 재개할 때까지 그래프 실행을 무기한으로 일시 중지합니다. 이는 LangGraph가 각 단계 후 그래프 상태를 체크포인트로 저장하여 실행 컨텍스트를 유지하고, 나중에 중단된 지점부터 워크플로우를 재개할 수 있게 하기 때문에 가능합니다. 이를 통해 시간 제약 없이 비동기적으로 사람이 검토하거나 입력할 수 있습니다. 그래프를 일시 중지하는 방법은 두 가지입니다:
    • 동적 인터럽트: 특정 노드 내부에서 interrupt를 사용하여 그래프의 현재 상태를 기반으로 그래프를 일시 중지합니다.
    • 정적 인터럽트: interrupt_beforeinterrupt_after를 사용하여 노드 실행 전후의 사전 정의된 지점에서 그래프를 일시 중지합니다. image

    step_3 이전에 중단점이 있는 3개의 순차적 단계로 구성된 그래프 예시입니다.

  • 유연한 통합 지점: 휴먼-인-더-루프 로직은 워크플로우의 어느 지점에서든 도입할 수 있습니다. 이를 통해 API 호출 승인, 출력 수정, 대화 안내 등 목적에 맞는 사람의 개입이 가능합니다.

패턴

interruptCommand를 사용하여 구현할 수 있는 네 가지 전형적인 설계 패턴은 다음과 같습니다:

  • 승인 또는 거부: API 호출과 같은 중요한 단계 이전에 그래프를 일시 중지하여 작업을 검토하고 승인합니다. 작업이 거부되면 그래프가 해당 단계를 실행하지 않도록 방지하고, 필요 시 대안적인 작업을 수행할 수 있습니다. 이 패턴은 종종 사람의 입력에 따라 그래프를 라우팅하는 것을 포함합니다.
  • 상태 검토 및 편집: 그래프를 일시 중지하여 그래프 상태를 검토하고 편집합니다. 이는 실수를 수정하거나 추가 정보로 상태를 업데이트하는 데 유용합니다. 이 패턴은 종종 사람의 입력으로 상태를 업데이트하는 것을 포함합니다.
  • 도구 호출 검토: 도구 실행 전에 LLM이 요청한 도구 호출을 검토하고 편집하기 위해 그래프를 일시 중지합니다.
  • 사용자 입력 검증: 다음 단계로 진행하기 전에 사용자 입력을 검증하기 위해 그래프를 일시 중지합니다.