Your browser does not support JavaScript!

LangChain과 LangGraph를 활용한 다중 에이전트 환경 구축 및 응용 사례 연구

일일 보고서 2024년 07월 07일
goover

목차

  1. 요약
  2. LangChain과 LangGraph 개요
  3. LangGraph와 다중 에이전트 워크플로우
  4. 실제 사례 연구: LangGraph를 활용한 다양한 응용
  5. LangGraph의 최신 업데이트와 주요 기능
  6. LangGraph를 통한 지식 그래프와 추천 시스템
  7. 결론

1. 요약

  • 이 리포트는 LangChain과 LangGraph를 활용하여 다중 에이전트 환경을 구축하는 방법과 다양한 응용 사례를 다룹니다. 주로 LangGraph를 통해 에이전트의 상호작용과 워크플로우를 관리하며, LangGraph Cloud와 LangGraph Studio 등의 최신 도구를 이용한 사례 연구도 포함됩니다. 또한, LangChain과의 통합을 통해 LLM(대규모 언어 모델) 애플리케이션을 효과적으로 구축하는 방법을 제공합니다. 예를 들어, Jockey라는 비디오 처리 에이전트와 Text to SQL 변환 사례 등을 설명하여 독자가 실제로 어떻게 적용할 수 있는지 보여줍니다.

2. LangChain과 LangGraph 개요

  • 2-1. LangChain, LangSmith, 그리고 LangGraph의 주요 기능

  • LangChain과 LangGraph는 AI 에이전트 환경 구축에 필요한 핵심 도구들입니다. LangChain은 LLM 애플리케이션 구축을 위한 프레임워크로, 다양한 언어 모델과 API의 통합을 제공합니다. LangGraph는 보다 정교한 에이전트 환경을 구축하기 위한 도구로, 사용자 맞춤형 인지 아키텍처를 설계할 수 있는 유연한 API를 제공합니다. LangGraph를 통해 개발자는 코드 흐름, 프롬프트, LLM 호출 등을 세밀하게 제어할 수 있으며, 인간-에이전트 협력을 위한 내장 영속성 계층을 지원합니다. 이 영속성 계층을 통해 작업 실행 전에 인간의 승인을 거치도록 하거나, '시간 여행'을 통해 에이전트 작업을 편집 및 재개할 수 있습니다. LangGraph Cloud와 LangGraph Studio는 확장성과 시각화를 제공하여 개발자가 에이전트 워크플로우를 더 효과적으로 관리할 수 있도록 돕습니다.

  • 2-2. LangGraph를 이용한 LLM 애플리케이션 구축의 기본 원리

  • LangGraph는 다중 에이전트 환경에서 LLM 애플리케이션 구축의 기본 원리를 제공하는 도구입니다. 중앙 코디네이터 역할을 하는 Supervisor와 세부 작업을 계획하는 Planner, 각 작업을 실행하는 Worker들로 구성된 구조가 특징입니다. LangGraph는 복잡한 작업 요청을 처리하기 위해 세부 계획을 수립하고, 각 단계에서 토큰 사용을 최적화하며 상태를 관리합니다. 예를 들어, Jockey 라는 비디오 처리 에이전트는 LangGraph와 Twelve Labs API를 통합하여 더욱 정밀한 비디오 워크플로우를 관리합니다. Jockey는 비디오 검색, 텍스트 생성, 비디오 편집 등 다양한 작업을 Node 단위로 처리하며, 각각의 Node는 LangGraph의 유연한 프레임워크를 통해 제어됩니다. 또한, LangGraph는 예제 코드를 제공하여 개발자가 쉽게 시작할 수 있도록 돕습니다. 예를 들어, LangChain 공식 예제를 참고하여 CRAG (Conditional Retrieval Augmented Generation)을 구현할 수 있습니다. 이를 통해 관련 문서를 검색하고 평가하며, 적절한 답변을 생성하는 프로세스를 체계적으로 관리할 수 있습니다.

3. LangGraph와 다중 에이전트 워크플로우

  • 3-1. LangGraph를 통한 에이전트 간 상호작용 관리

  • LangGraph는 에이전트 간의 상호작용을 효과적으로 관리하기 위한 강력한 도구입니다. LangGraph는 여러 노드가 각각의 Python 함수로 작동하는 프레임워크 비종속적 구조를 가지고 있으며, 각 노드 간의 유연한 라우팅을 지원합니다. 이로 인해, 다중 회전 대화나 도구 호출 동안 원활한 상태 관리를 가능하게 합니다. LangGraph Cloud는 관리형 호스팅 서비스로, 사용자가 자신의 코드를 GitHub에 푸쉬한 후 LangGraph Cloud에서 이를 접근하고 배포할 수 있습니다. 이를 통해 애플리케이션 테스트, 추적 실행, 인터럽트 추가 등의 기능을 이용할 수 있습니다. LangGraph Studio는 코드를 시각화하고 데이터 흐름을 관찰할 수 있는 강력한 도구입니다. Studio는 대화 흐름을 시각적으로 추적하고, 서로 다른 시퀀스를 검사하기 위해 중단점을 추가할 수 있는 기능을 제공합니다. 그러나 Studio 자체는 코드를 편집하거나 변경할 수 있는 개발 도구는 아닙니다.

  • 3-2. 다중 에이전트 시스템의 확장성과 유연성

  • LangChain 에코시스템 내에서 LangGraph는 매우 확장 가능하고 유연한 에이전트 시스템 구축을 지원합니다. 에이전트 애플리케이션은 사용자 요청에 따라 단일 작업을 여러 하위 작업으로 분해하고, 이를 순차적으로 수행하면서 다양한 도구를 활용합니다. 이러한 에이전트는 복잡하고 모호하며 더 암시적인 사용자 쿼리도 자동으로 처리할 수 있습니다. LangGraphJS는 실행 시 구성 가능성을 제공하며, 사용자 ID 설정, 모델 선택 등 다양한

4. 실제 사례 연구: LangGraph를 활용한 다양한 응용

  • 4-1. LangGraph를 사용한 Text to SQL 변환

  • LangGraph와 Mistral AI, Neon 데이터베이스를 활용한 Text to SQL 변환은 많은 관심을 받고 있는 LLM 활용 사례 중 하나입니다. 이 접근 방법은 다른 대안들보다 복잡한 시나리오에 대해 더 효율적으로 SQL 쿼리를 생성할 수 있습니다. 예를 들어, SQLAlchemy를 활용한 DB 스키마의 'as-of-now' 텍스트 표현을 제공하여 LLM이 SQL 문법 관련 도움을 얻도록 하고, 오류 해결 툴을 통해 SQL 구문 오류를 해결할 수 있습니다. 이 접근 방식은 저장 프로시저를 생성할 수도 있으며, 복잡한 쿼리를 지원하고 다른 DB 객체들로 확장 가능하다는 장점을 가지고 있습니다. 그러나 토큰을 더 많이 사용하기 때문에 비용이 더 많이 발생할 수 있습니다.

  • 4-2. 영상 처리 에이전트 Jockey의 사례

  • Jockey는 Twelve Labs API와 LangGraph를 통합하여 영상 처리 기능을 크게 향상했습니다. Twelve Labs API는 시각, 오디오, 화면 텍스트 및 시간적 관계를 포함한 비디오 콘텐츠에서 풍부한 인사이트와 정보를 추출합니다. LangGraph v0.1은 에이전트 및 다중 에이전트 응용 프로그램을 빌드할 수 있는 유연한 API를 제공합니다. 이를 통해 Jockey는 더 효율적이고 정밀하게 복잡한 영상 워크플로우를 관리할 수 있습니다. Jockey는 다양한 노드(예: 감독, 계획자, 영상 편집, 영상 검색, 영상 텍스트 생성)로 구성된 다중 에이전트 시스템을 사용하여 영상 처리 작업을 수행합니다. 이 아키텍처는 각 단계에서 세밀한 제어를 제공하며, 작업의 상태를 관리하고 인간의 승인을 거치거나 필요 시 수정할 수 있는 기능을 지원합니다.

  • 4-3. AI 에이전트의 로컬 구축 및 응용 사례

  • LangGraph와 Ollama를 사용하여 로컬 AI 에이전트를 구축하는 방법에 대해 설명합니다. AI 에이전트는 고객 서비스 챗봇에서부터 고급 데이터 분석 도구까지 다양한 응용 프로그램에서 자율적으로 특정 작업을 수행할 수 있는 소프트웨어 엔티티입니다. LangGraph는 상태를 유지하는 다중 행위자 응용 프로그램을 빌드할 수 있는 강력한 라이브러리로, 복잡한 에이전트 워크플로우를 생성할 수 있는 주기를 지원합니다. Ollama는 사용자가 LLM을 로컬 머신에서 쉽게 실행할 수 있도록 하는 오픈 소스 프로젝트입니다. 사용자는 Ollama를 통해 모델을 미세 조정하여 특정 요구에 맞는 효율적이고 효과적인 AI 에이전트를 쉽게 구축할 수 있습니다.

5. LangGraph의 최신 업데이트와 주요 기능

  • 5-1. LangGraph Cloud와 Self-Improving Evaluators

  • LangGraph Cloud는 에이전트 워크플로우의 배포 경험을 원활하게 제공하기 위해 설계되었습니다. 단 한 번의 클릭으로 배포가 가능하며 LangSmith의 통합 추적 및 모니터링 기능을 제공합니다. 또한 에이전트 장애 모드를 디버깅하기 위한 스튜디오를 포함하고 있어 신속한 반복과 개선이 가능합니다. LangSmith에는 사용자가 LLM 애플리케이션의 출력을 평가하는 데 사용하는 'LLM-as-a-Judge' 접근 방식을 지속적으로 개선하는 셀프-임프로빙 평가자가 도입되었습니다. 이는 LLM 평가자의 피드백을 수정할 수 있게 하여 예시로 저장하고 수동적인 프롬프트 조정 없이도 'LLM-as-a-Judge'의 정확성과 신뢰성을 개선할 수 있도록 합니다.

  • 5-2. LangGraph Studio의 시각화 및 코드 흐름 관리

  • LangGraph Studio는 에이전트의 경로를 시각화하여 실패 모드를 디버깅하고 중단점, 상태 편집, 시간 여행 등의 기능을 추가할 수 있는 플레이그라운드와 같은 공간입니다. 이를 통해 에이전트의 실시간 운영을 모니터링하고, 문제 발생 시 소스 코드를 신속하게 수정할 수 있습니다. 스튜디오는 내부 이해 관계자와 피드백을 공유하고 빠르게 반복할 수 있도록 설계되었습니다.

  • 5-3. LangGraph v0.1과 그 기능적 개선점

  • LangGraph v0.1은 에이전트 워크플로우에 더 나은 정밀도와 제어를 추가할 수 있도록 설계된 유연한 API를 제공합니다. 사용자는 사용자 입력을 받아 행동이나 응답을 생성하는 코드, 프롬프트 및 LLM 호출의 흐름을 저수준에서 제어할 수 있습니다. LangGraph는 계층적 또는 순차적 의사 결정 패턴을 사용하는 단일 에이전트 및 다중 에이전트 설정을 지원합니다. 또한 중간 단계를 스트리밍하고 토큰 단위로 스트리밍하여 동적이고 반응적인 경험을 제공합니다. LangGraph Cloud는 에이전트를 대규모로 배포할 수 있는 인프라를 제공하며, 수평 확장 태스크 큐, 서버, 대규모 상태와 스레드를 효율적으로 저장하는 견고한 체크포인터를 통해 높은 신뢰성의 확장성을 달성할 수 있습니다.

6. LangGraph를 통한 지식 그래프와 추천 시스템

  • 6-1. 데이터 관리 및 최적화 기술

  • LangGraph는 데이터 관리를 효과적으로 수행하기 위한 다양한 기술들을 포함하고 있습니다. Sungsoo Kim의 블로그에 따르면, Gitlab 설치 및 사용법, Macport 명령어 요약, Wiki 튜토리얼과 같은 도구들을 사용하여 데이터 관리를 수행할 수 있습니다. 또한, 심층 신뢰 학습(Robust and Trustworthy Deep Learning)과 분산 강화 학습(Distributed and Multiagent Reinforcement Learning) 방법을 통해 데이터 최적화가 가능하다고 합니다. 이러한 기술들을 활용하면 데이터 최적화와 관리가 더욱 효과적으로 이루어질 수 있습니다.

  • 6-2. 영역별 적용 사례와 그 구현 방법

  • LangGraph는 다양한 응용 분야에서 사용될 수 있으며, 그 구체적인 적용 사례와 구현 방법은 다양한 문서에서 다룹니다. 예를 들어, Peter Kennedy의 글을 참고하면 LangChain과 LangGraph를 통한 다양한 인지 아키텍처(cognitive architecture)의 구현 방법과 적용 사례를 찾을 수 있습니다. 인지 아키텍처를 선택할 때는 문제 해결을 위한 단계별 LLM 호출 체인, 라우터, 상태 기계 등 다양한 접근 방법을 사용할 수 있습니다.

7. 결론

  • LangChain과 LangGraph를 활용한 다중 에이전트 환경 구축은 다양한 산업 분야에서 혁신적인 AI 솔루션을 제공할 수 있는 기술적 기반을 마련합니다. 리포트에서 소개된 다양한 사례 연구와 도구, 예를 들어 LangGraph Cloud와 LangGraph Studio는 에이전트의 상호작용과 워크플로우를 효율적으로 관리하는 데 중요한 역할을 합니다. 주요 발견은 LangGraph가 복잡한 에이전트 시스템을 유연하게 설정할 수 있는 도구로서, 다양한 API와 통합하여 높은 확장성과 효율성을 제공한다는 점입니다. 이러한 도구는 향후에도 AI 애플리케이션 개발과 관리의 중심 역할을 할 것이며, 추가 연구에서는 더 많은 응용 분야에서의 실증적 사례와 성능 평가가 필요할 것입니다. 예를 들어, LangSmith와 같은 디버깅 도구를 활용하여 LLM 애플리케이션의 오류를 최소화할 방법을 연구하거나, LangGraph와 Ollama의 협업을 통해 보다 효율적인 로컬 AI 에이전트를 개발하는 방안을 고려할 수 있습니다. 이러한 발전은 AI 기술의 실질적 적용 가능성을 더욱 강화할 것입니다.

8. 용어집

  • 8-1. LangChain [기술]

  • LangChain은 머신러닝 모델을 이용해 다양한 AI 애플리케이션을 쉽게 구축할 수 있는 프레임워크입니다. 확장성과 유연성을 갖추고 있어 다양한 LLM 기반 응용 프로그램 개발에 활용됩니다.

  • 8-2. LangGraph [기술]

  • LangGraph는 LangChain 기반의 다중 에이전트 환경을 구축하고 관리할 수 있는 라이브러리입니다. 에이전트 간 상호작용을 그래프 형태로 효율적으로 관리할 수 있으며, 다양한 워크플로우와 조건부 분기, 루프 등을 통해 복잡한 에이전트 시스템을 설계할 수 있습니다.

  • 8-3. LangGraph Cloud [기술]

  • LangGraph Cloud는 LangGraph 애플리케이션을 클라우드 환경에서 배포하고 관리할 수 있는 플랫폼입니다. 확장성과 안정성을 제공하며, 실시간 상호작용 및 데이터 흐름 시각화 등의 기능을 지원합니다.

  • 8-4. LangSmith [기술]

  • LangSmith는 LangChain과 통합할 수 있는 디버깅 도구로, LLM 애플리케이션의 개발 과정을 보다 쉽게 관리할 수 있도록 합니다. 에러 검출, 성능 평가, 최적화 등의 기능을 제공합니다.

  • 8-5. Jockey [제품]

  • Jockey는 Twelve Labs API와 LangGraph를 활용한 오픈 소스 비디오 처리 에이전트입니다. 다중 에이전트 구조를 통해 비디오 이해 능력을 향상시키며, 사용자 정의가 가능하여 다양한 시나리오에 적용할 수 있습니다.

9. 출처 문서