Skip to main content
입문자는 이 3개 실행 패턴을 먼저 익히면 됩니다. 핵심은 언제 어떤 실행 방식을 쓸지를 구분하는 것입니다.

선택 기준

메서드목적추천 상황
invoke단일 요청 실행개발 초기, 디버깅, 정확도 점검
batch다건 처리오프라인 평가, 대량 생성
stream실시간 출력채팅 UI, 긴 응답, 진행감 표시

1) invoke

result = agent.invoke({
    "messages": [{"role": "user", "content": "LLMOps 핵심 3가지"}]
})
  • 가장 먼저 검증할 기본 경로입니다.
  • 실패 원인 분석이 가장 쉽습니다.

2) batch

inputs = [
    {"messages": [{"role": "user", "content": "RAG 요약"}]},
    {"messages": [{"role": "user", "content": "Agent 요약"}]},
]

results = agent.batch(inputs, config={"max_concurrency": 4})
  • 평가셋, 회귀 테스트, 데이터 대량 생성에 적합합니다.
  • max_concurrency를 지정해 API 부하를 제어합니다.

3) stream

for event in agent.stream(
    {"messages": [{"role": "user", "content": "LangGraph를 쉽게 설명해줘"}]},
    stream_mode="messages",
):
    msg, metadata = event
    if msg.content:
        print(msg.content, end="", flush=True)
  • 사용자 체감 속도를 개선할 때 가장 효과적입니다.
  • 토큰 단위 출력이 필요한 UI에서 기본 선택입니다.

운영 팁

  1. 먼저 invoke로 품질을 맞춥니다.
  2. 다음에 stream을 붙여 UX를 개선합니다.
  3. 마지막으로 batch로 평가 자동화를 구성합니다.

다음: 단기/장기 메모리

실행 패턴을 익혔으면 메모리 설계로 넘어가세요.

실무 적용 체크리스트

  • 목표와 성공 기준을 먼저 정의했습니다.
  • 예제를 현재 프로젝트 컨텍스트로 치환했습니다.
  • 실패 시 복구 절차를 문서화했습니다.
  • 다음 단계 문서로 연결해 학습 흐름을 유지합니다.

자주 나는 실수

  1. 학습 목표 없이 예제를 복사해 적용해 실패합니다.
  2. 성공/실패 기준이 없어 품질을 판단하지 못합니다.
  3. 다음 단계 연결 없이 문서를 단절적으로 소비합니다.

다음 문서

다음: LangChain 메모리

학습 흐름을 이어서 진행합니다.