63분
LangGraph 멀티에이전트: Supervisor 패턴
Day 3: LangGraph 멀티에이전트
LangGraph 멀티에이전트: Supervisor 패턴
AI Agent 심화 > Day 3: LangGraph 멀티에이전트
학습 목표
- LangGraph의 Supervisor 멀티에이전트 패턴을 이해한다
- Supervisor가 하위 Agent에게 작업을 분배하는 구조를 구현한다
- 하위 Agent 간 State 공유 패턴을 익힌다
- 종합 단계가 실행된 Agent의 결과만 읽게 만들어, 하지 않은 조사를 했다고 말하지 않게 한다
Supervisor 멀티에이전트 패턴
왜 멀티에이전트인가
하나의 Agent가 모든 일을 하면:
- 프롬프트가 길어져 성능 저하
- 역할이 섞여 혼란
- 디버깅 어려움
멀티에이전트로 나누면:
- 각 Agent가 전문 분야에 집중
- Supervisor가 전체를 조율
- 모듈별 독립 테스트 가능
Supervisor 패턴
┌────────────────┐
│ Supervisor │
│ (총괄 판단) │
└──────┬─────────┘
│
┌──────────┼──────────┐
▼ ▼ ▼
[설비 Agent] [품질 Agent] [생산 Agent]Supervisor가:
- 사용자 요청을 분석한다
- 적절한 하위 Agent를 선택한다
- 하위 Agent의 결과를 종합한다
- 최종 응답을 생성한다
종합 단계는 State만 읽는다
이 실습에서 가장 틀리기 쉬운 자리가 마지막 종합(synthesizer)이다.
종합 함수가 하위 Agent의 결과 대신 모듈 전역 데이터(QUALITY_DATA 같은)를 읽으면,
품질 Agent가 한 번도 실행되지 않은 질문에도 「B라인 품질 이탈」 문단이 인쇄된다.
질문이 무엇이든 결론이 같아지고, 무엇보다 하지 않은 조사를 했다고 말하는 보고서가 된다.
그래서 하위 Agent는 두 가지를 State에 남긴다.
| State 필드 | 쓰임 |
|---|---|
*_result | 사람이 읽을 문장 |
*_findings | 다음 단계가 읽을 구조 — 문장을 다시 뒤지지 않게 한다 |
agents_run | 누가 실제로 돌았는가 |
종합 함수는 이 셋만 읽고, 실행되지 않은 Agent 자리에는 「미실행」이라고 적는다. 교차 분석도 설비와 품질이 둘 다 실행됐을 때만 한다.
확인 방법
세 질문(전체 종합 / 불량 원인 분석 / 설비 상태만)의 최종 응답이 서로 달라야 한다. 셋이 같다면 종합 함수가 State가 아니라 전역 데이터를 읽고 있다는 뜻이다.
에디터 로딩 중...
힌트 보기
- • Supervisor는 State를 보고 "다음 Agent"를 선택합니다
- • 하위 Agent는 결과를 State에 기록하고 다시 Supervisor로 돌아갑니다
- • iteration 카운터로 무한 루프를 방지하세요
- • 세 질문의 최종 응답이 같게 나오면 종합 함수가 전역 데이터를 읽고 있는 것입니다
정답 보기
에디터 로딩 중...
AI로 학습하기 — 꿀팁
Supervisor 라우팅 로직 검증AI 학습 팁
AI에게 Supervisor가 하위 Agent에게 작업을 잘못 분배하거나 루프에 빠지는 엣지케이스를 찾게 해 멀티에이전트 구조를 안정화하세요.
이 LangGraph Supervisor 멀티에이전트 코드에서 Supervisor가 동일 Agent에 반복 위임하거나, 모든 하위 Agent가 '모르겠다'고 응답할 때 무한루프가 발생할 수 있는지 분석하고, 최대 반복 횟수 가드와 폴백 처리를 추가해줘. 그리고 종합 단계가 State 대신 모듈 전역 데이터를 읽어 실행되지 않은 Agent의 결론을 인쇄하는 자리가 있는지도 찾아줘.
이 팁이 도움이 됐나요?