
149
5
장
오케스트레이션
5.4.4
그래프
여러 의사결정 지점을 포함하는 지원 시나리오에서는 그래프 토폴로지가 체인이나 트리보다
훨씬 더 풍부하게 복잡한 비계층형 플로를 모델링합니다. 선형 체인이나 엄격하게 분기하는 트
리와 달리 그래프 구조에서는 조건부 엣지와 병합 엣지를 모두 정의할 수 있으므로 병렬 경로
가 다시 공유 노드로 합쳐지게 만들 수 있습니다.
그래프의 각 노드는 개별 도구 호출(또는 논리적 단계)을 나타내고,
add
_
conditional
_
edges
로 정의한 엣지는 에이전트가 어떤 조건에서 단계 간을 전이할 수 있는지 명시합니다. 예를 들
어 여러 분기에서 나온 출력을 하나의 다운스트림 노드 (예:
summarize
_
response
)로 통합하
면, 서로 다른 핸들러에서 얻은 결과를 하나의 고객 응답으로 엮어 낼 수 있습니다.
다만 전체 그래프 실행은 일반적으로 체인보다 훨씬 더 많은 파운데이션 모델 호출을 수반하므
로 지연시간과 비용이 증가합니다. 따라서 그래프의 깊이와 분기 수에 상한을 두는 것이 중요
합니다. 또한 사이클, 도달 불가능한 노드, 상충하는 상태 병합 등은 새로운 유형의 오류를 만
들어 내므로 엄격한 검증과 테스트를 통해 관리해야 합니다. 다음은 랭그래프
LangGraph
에서 그래
프를 구현하는 방법에 대한 예시입니다. 전체 코드는