멀티에이전트 네트워크 패턴

여러 싱글 에이전트를 각각 하나의 노드로 연결해 복잡한 작업을 분업 처리하는 LangGraph 구조.

핵심 구조

사용자 입력 → [리서처 노드] → [HTML 제너레이터 노드] → 종료
                   ↑___________________________________↑ (필요시 되돌아감)

각 노드 안에는 LangChain create_agent로 만든 싱글 에이전트가 포함된다. 노드는 에이전트를 실행하고, 결과를 상태에 업데이트하며, 다음 노드를 결정한다.

vs 다른 멀티에이전트 패턴

패턴특징
네트워크 패턴에이전트들이 순차 협업, 각자 전문 역할
멀티에이전트-수직구조상위 에이전트가 하위를 지시·감독

라우팅 방식

정적 엣지 대신 Command 객체로 동적 라우팅:

return Command(
    goto="html_generator",  # 또는 END
    update={"messages": result_messages}
)

시스템 프롬프트에 “최종 답변” 텍스트 포함 여부로 종료 vs 핸드오프를 분기한다.

구현 포인트

  • 에이전트-핸드오프: 에이전트 간 메시지 전달 시 AI 메시지 → Human 메시지 변환
  • 공통 prefix 프롬프트 + 에이전트별 suffix로 시스템 프롬프트 관리
  • 각 에이전트에 전문 도구만 바인딩해 역할 경계 강제

관련 자료