에이전트 핸드오프 (Agent Handoff)

멀티에이전트 시스템에서 한 에이전트가 완료한 작업 결과를 다음 에이전트에 전달하는 패턴.

핵심 메커니즘

에이전트 A의 최종 AI 메시지를 Human 메시지로 변환해 에이전트 B에 전달한다.

# AI 메시지 → Human 메시지로 변환
last_message = state["messages"][-1]
handoff_message = HumanMessage(content=last_message.content)

이유: 다음 에이전트가 이전 에이전트의 결과를 “사용자가 내린 새 지시”로 인식해 자연스럽게 이어 처리한다. AI 메시지로 전달하면 대화 컨텍스트 상 혼선이 생길 수 있다.

LangGraph Command 통합

return Command(
    goto="next_agent",
    update={"messages": [handoff_message] + result_messages}
)

종료 판단

시스템 프롬프트에 정의된 “최종 답변” 텍스트를 출력에서 감지:

  • 포함 → Command(goto=END) 로 종료
  • 미포함 → 다음 에이전트로 핸드오프

관련 개념

관련 자료