158
2
부
에이전트 시스템의 구축과 확장
프레임워크인 랭그래프 예제를 사용합니다. 랭그래프는 애플리케이션을 노드(파운데이션 모
델 호출, 메모리 업데이트, 도구 호출 같은 순수 함수)와 엣지(제어 흐름 전이 )로 이루어진 방
향 그래프로 정의합니다. 이를 통해 개발자는 복잡한 다단계 프로세스를 선언적으로 모델링할
수 있습니다. 랭그래프는 런타임에 그래프 전체를 통과하는 애플리케이션 상태를 하나의 강타
입 파이썬 객체(대개
TypedDict
)로 다루어 데이터 관리를 명시적이고 타입 안전하게 유지합
니다.
DAG
(방향성 비순환 그래프 )만을 지원하는 오케스트레이션 도구와 달리 랭그래프는 순
환과 조건 분기를 기본적으로 지원하므로 루프, 재시도, 동적 의사결정 경로를 별도 코드 없이
도 손쉽게 구현할 수 있습니다. 또한 부분적인 결과가 생성되는 대로 스트리밍하는 기능과 체
크포인팅을 내장하고 있어 장시간 작동하는 에이전트도 정확히 중단된 지점부터 다시 이어서
실행할 수 있습니다.
롤링 컨텍스트 윈도, 키워드 추출, 시맨틱 검색 같은 메모리 메커니즘을 일급 그래프 노드로 취
급함으로써 랭그래프는 메모리 로직을 모듈화하고 테스트 가능하게 유지합니다. 엣지는 메모
리 업데이트가
LLM
호출의 순서를 정리해 에이전트가 항상 적절한 시점에 올바른 컨텍스트를
주입받도록 합니다. 그리고 상태 (메모리 내용 포함 )를 체크포인팅하고 재개할 수 있기 때문에
에이전트는 세션을 넘어 연속성을 유지하고 실패 상황에서도 동일한 그래프 프레임워크 안에
서 복구할 수