오늘날과 같이 빠르게 변화하는 환경에서는 데이터에 신속하게 액세스하고, 이해하고, 이를 바탕으로 조치를 취하는 능력은 더 이상 사치가 아니라 필수입니다. 그러나 많은 조직이 풍부한 데이터를 보유하고 있지만, 특히 비전문 비즈니스 사용자에게는 시기적절하고 실행 가능한 인사이트를 도출하는 것이 여전히 중요한 과제로 남아 있습니다.
또한 기술 사용자는 결과를 얻기 위해 어떤 쿼리를 구성해야 하는지 알기 위해 데이터를 이해해야 하는데, 이는 상당한 시간과 노력이 필요하며 클릭 한 번으로 간단한 자연어로 궁금한 것을 물어볼 수 있는 것이 아닙니다.
게다가 사용자는 비주얼리제이션이 마련되어 있어도 데이터를 이해하는 데 여전히 시간을 투자해야 합니다. 데이터가 표시될 때 '왜'라는 질문이 종종 있으며, 중요한 '이유'가 없는 데이터는 데이터 표시와 진정한 이해 사이에 간극을 남깁니다. 본질적으로 셀프 서비스 비즈니스 분석은 여전히 난해합니다.
폴라리스란 무엇인가요?
Polaris 는 카우치베이스 운영 데이터베이스의 데이터를 분석하기 위해 구축된 다중 에이전트 AI 기반 대화형 인터페이스입니다. Polaris는 사용자가 직관적인 대화형 인터페이스를 통해 엔터프라이즈 데이터와 상호 작용할 수 있는 다중 에이전트 아키텍처를 활용하여 복잡한 데이터 분석을 간단한 대화로 전환합니다. 예를 들어, 한 회사가 다양한 지역과 제품 라인에 걸쳐 글로벌 엔터프라이즈 판매 데이터를 보유하고 있고 비즈니스 분석가가 다음을 이해하고자 하는 경우 "제품 X의 북동부 지역에서 2분기 매출이 감소한 이유는 무엇인가요?"를 통해 전체 분석 워크플로우를 자율적으로 실행할 수 있습니다.
지역, 제품, 기간별로 관련 판매 데이터를 검색 및 필터링하고, 유사한 지역 또는 제품 간의 실적 추세를 비교하며, 주요 패턴과 이상 징후를 시각화하고, 프로모션 지출 감소, 재고 가용성 문제, 고객 행동 변화 등 근본 원인을 요약한 내러티브 보고서를 생성합니다. 비즈니스 분석가는 보고서의 일부를 더 자세히 이해하기 위해 후속 질문을 하거나 추가 시각화 등을 요청할 수 있어 데이터 기반의 신속한 의사 결정을 내릴 수 있습니다.
이제 방 안의 코끼리, 즉 AI 에이전트를 다루겠습니다.
AI 에이전트란 무엇이며 어떤 기능이 있나요?
AI 에이전트는 인공 지능으로 구동되는 자율 시스템으로, 일반적으로 사람의 지속적인 감독 없이도 작업을 수행하고, 의사 결정을 내리고, 실제 환경과 상호 작용할 수 있는 LLM(대규모 언어 모듈)을 포함합니다. 기존의 챗봇이나 규칙 기반 프로그램과 달리 AI 에이전트는 경험을 통해 학습하기도 합니다. 에이전트의 목표는 인간 상담원이 하는 모든 일을 자율적으로 자동으로 수행하는 것입니다. 아직은 먼 목표이지만 AI 산업은 이를 향해 나아가고 있습니다. 이제 AI 에이전트의 기능에 대해 살펴보겠습니다:
상담원 계획: 단계별 문제 해결
AI 에이전트는 복잡한 작업을 명확하고 관리 가능한 단계로 세분화하여 문제를 파악하고 각 단계를 실행하며 필요에 따라 조정합니다. 다중 에이전트 시스템에서는 각 에이전트가 특정 작업을 소유할 수 있으므로 효율적이고 조율된 문제 해결이 가능합니다.
컨텍스트 인식: 메모리 관리 및 상태 추적
상담원은 상호작용 전반에서 컨텍스트를 유지하여 과거 입력을 기억하고 진행 중인 워크플로우에 적응합니다. 이러한 상태 추적은 보다 자연스럽고 일관되며 지능적인 사용자 경험을 만들어냅니다.
도구 사용법: 상담원 기능 확장하기
상담원은 외부 도구(API, 데이터베이스, 스크립트)와 상호 작용하여 단순히 제안을 제공하는 것이 아니라 실제 작업을 수행할 수 있습니다. 이를 통해 에이전트는 수동적인 조력자에서 워크플로우 내에서 능동적인 실행자로 변신합니다.
과거 데이터에서 배우기: 시간 경과에 따른 적응
상담원은 과거 데이터와 행동을 분석하여 사용자의 요구를 예측하고, 응답을 개선하며, 사용 패턴에 따라 워크플로를 최적화하는 등 시간이 지남에 따라 개선됩니다.
멀티 에이전트 시스템(MAS)이란 무엇인가요?
다중 에이전트 아키텍처는 여러 개의 독립적인 에이전트가 함께 문제를 해결하거나 작업을 수행하는 시스템 설계입니다. 각 에이전트에는 데이터 수집, 정보 분석, 의사 결정 등 고유한 역할이 있습니다. 이러한 에이전트는 공통의 목표를 달성하기 위해 소통하고 협업하여 시스템을 더욱 체계적으로 만들며, 이는 마치 각 구성원이 특정 업무를 수행하지만 모두 같은 결과를 향해 노력하는 팀과 같습니다! 저희는 폴라리스에 멀티 에이전트 아키텍처를 사용했습니다.
단일 에이전트 아키텍처에서 전환해야 하는 이유는 무엇인가요?
하나의 AI 에이전트가 독립적으로 작동하여 특정 작업을 자율적으로 처리합니다. 이는 에이전트가 LLM과 지식을 기반으로 사용자 쿼리에 응답하는 검색 증강 생성(RAG) 시스템과 같은 간단한 애플리케이션에 적합합니다. 하지만 실제 애플리케이션에서 사용자 상호 작용은 결코 단순하지 않습니다. 복잡한 로직, 다단계 추론, 동적 데이터 모델과 진화하는 비즈니스 요구 사항 전반에서 작업해야 하는 경우가 많습니다. 이 시점에서 단일 에이전트 시스템은 성능과 확장성의 한계에 부딪히기 시작합니다. 여러 작업을 연결하거나 스키마 변경에 적응하거나 미묘한 워크플로우를 조율할 때 흔들릴 수 있습니다.
멀티 에이전트 아키텍처(MAS)가 작동하는 이유는 무엇인가요?
MAS 설계에 내재된 우려 사항을 분리하면 더욱 견고하고 유지 관리가 용이한 시스템이 됩니다. 각 에이전트는 특정 작업에 집중하여 복잡성을 줄이고 문제를 더 쉽게 식별하고 해결할 수 있습니다. 이 접근 방식은 내비게이션, 장애물 감지, 차량 동역학을 각각 처리하여 각 영역에서 집중적인 개발과 문제 해결이 가능한 자율 주행 차량 제어와 같은 시나리오에서 빛을 발합니다.
수퍼바이저 대 네트워크 멀티 에이전트 시스템

분산형(P2P) 멀티 에이전트 아키텍처

저희가 선택했습니다: 수퍼바이저 기반 아키텍처
저희 애플리케이션은 LangGraph 수퍼바이저 에이전트:
-
- 중앙 집중식 추론, 일관성 및 일관성 유지
- 복잡한 추론은 데이터, 사용자 의도 및 컨텍스트에 대한 글로벌 뷰를 확보하는 데 도움이 됩니다. 관리자는 여러 단계에 걸쳐 일관된 논리를 유지할 수 있습니다.
- 단일 의사 결정 지점을 통해 결과물이 정렬되도록 보장합니다(예: 차트가 설명과 일치하고 요약이 분석을 반영하는 경우).
- 중앙 제어를 통해 전문화된 하위 에이전트(예: 차트 생성기, 쿼리 에이전트)에 작업을 동적으로 할당할 수 있습니다. 노력의 중복을 방지하고 리소스 사용을 최적화합니다.
- 손쉬운 오류 처리 복구 및 확장성
- 오류를 중앙에서 감지하고 관리할 수 있습니다. 관리자는 작업을 다시 시도하거나, 역할을 재할당하거나, 대체 응답을 생성할 수 있습니다.
- 중앙 제어를 통해 전문화된 하위 에이전트(예: 차트 생성기, 쿼리 에이전트)에 작업을 동적으로 할당할 수 있습니다. 노력의 중복을 방지하고 리소스 사용을 최적화합니다.
- 전체 시스템을 재설계하지 않고도 하위 에이전트를 쉽게 추가, 교체 또는 업데이트할 수 있습니다.
- 중앙 집중식 추론, 일관성 및 일관성 유지
폴라리스 코어
Polaris는 데이터 상호 작용 수명 주기의 다양한 측면에 각각 최적화된 전문 AI 에이전트 네트워크를 핵심으로 활용합니다. 이제 예시를 통해 Polaris의 구성 요소와 전반적인 상위 수준의 멀티 에이전트 아키텍처를 이해해 보겠습니다:
이해 및 오케스트레이션: 수퍼바이저 에이전트
그리고 감독자 에이전트 는 멀티 에이전트 시스템의 중앙 컨트롤러이자 지능형 오케스트레이터 역할을 합니다.
기능:
-
- 인텐트 구문 분석: 사용자 입력을 구문 분석하고 작업 관련 의도 및 매개변수를 추출합니다.
- 예시: 사용자가 질문합니다: "2024년 1분기 전자제품의 총 매출이 APAC 지역에서 감소한 이유는 무엇인가요?"라고 질문합니다. 수퍼바이저 에이전트가 이를 파싱하여 인텐트를 식별합니다: "매출 감소에 대한 인과 관계 분석", 제품 카테고리: "전자 제품", 기간: "2024년 1분기" , 지역: "APAC".
- 상담원 라우팅 로직: 의사 결정 엔진 또는 규칙 기반 오케스트레이션 계층을 구현하여 작업을 적절한 상담원에게 라우팅합니다.
- 예시: "매출 감소에 대한 인과 관계 분석"이라는 구문 분석된 의도에 따라 감독 에이전트는 먼저 쿼리 전문가에게 작업을 라우팅하여 매출 데이터를 가져온 다음, 시각화를 위해 차트 전문가에게, 인과 관계 식별을 위해 추론 전문가에게, 마지막으로 요약을 위해 보고서 전문가에게 전달하기로 결정합니다.
- 컨텍스트 관리: 글로벌 대화 컨텍스트 및 상태를 유지합니다.
- 오류 처리 및 복구: 작업 성공/실패를 모니터링하고 상담원 피드백에 따라 하위 작업을 재할당하거나 문구를 변경할 수 있습니다.
- 예: 쿼리 전문가가 요청된 열이 있다고 보고하는 경우, Product_Type, 스키마에 존재하지 않는 경우 감독자 에이전트는 추론 전문가에게 요청을 다시 라우팅하여 대체 관련 열을 제안하거나 누락된 데이터에 대해 사용자에게 알릴 수 있습니다.
- 인텐트 구문 분석: 사용자 입력을 구문 분석하고 작업 관련 의도 및 매개변수를 추출합니다.
관련 데이터 추출: 쿼리 전문가
쿼리 전문가는 자연어 질문을 SQL++로 번역하여 필요한 데이터를 가져옵니다.
기능:
-
- 스키마 추론 및 주석: 열 이름, 열의 데이터 유형 및 샘플 문서를 가져오는 SQL++ INFER 명령을 사용하여 데이터 스키마를 추론하면 주석의 도움과 함께 데이터, 테이블 관계, 데이터 유형 및 제약 조건을 이해하는 데 도움이 됩니다.
- 예제: 예: 컬렉션에서 SQL++ INFER를 실행하면 필드를 다음과 같이 간단히 식별할 수 있습니다. "금액": NUMBER. 추가 컨텍스트가 없으면 쿼리 전문가는 이것이 다음을 가리키는지 알 수 없습니다. 판매 금액, 할인_금액또는 수량. 그러나 주석을 통해 폴라리스에 명시적으로 알려줍니다: "금액" '엔터프라이즈_판매' 컬렉션은 '총 판매 금액'를 트랜잭션에 추가할 수 있습니다. 이 주석이 중요한 이유는 사용자가 "총 매출"라는 질문에 쿼리 전문가는 이제 자신 있게 매핑합니다. 판매 를 금액 필드를 올바르게 생성하여 SUM(금액).
- 입력 표준화: 사용자의 원래 자연어 입력을 보다 상세하고 모호하지 않으며 구조화된 형태로 변환합니다. 이를 통해 IQ 도구가 작업을 더 잘 이해할 수 있습니다.
- 예시: 예: 사용자 입력: "지난달 판매량." 표준화된 입력: "현재 날짜로부터 지난 30일 동안의 '전자제품' 카테고리의 총 판매 금액을 검색합니다.“
- NL-to-SQL++ 번역: IQ 도구를 호출하여 NL을 SQL++로 변환하기
- 데이터 품질 검사 및 오류 복구: 를 입력하면 에이전트는 해석에 영향을 줄 수 있는 null 값 및 기타 데이터 무결성 문제를 검사합니다. 데이터 품질이 좋지 않은 경우(예: 열에 모든 NULL이 있는 경우) 에이전트는 쿼리를 다시 작성하거나 사용자 개입을 위한 경고를 반환합니다. 에이전트는 오류 진단에 따라 쿼리를 자동 조정(예: 열 이름 수정 또는 결과 크기 제한)하고 지능적으로 실행을 다시 시도합니다.
- 예시: 예 판매 금액 열에 null이 포함될 수 있으며, 쿼리 전문가가 자동으로 추가합니다: 판매 금액이 NULL이 아닌 경우 를 생성된 쿼리에 추가하여 정확한 합계 계산을 보장합니다.
- 스키마 추론 및 주석: 열 이름, 열의 데이터 유형 및 샘플 문서를 가져오는 SQL++ INFER 명령을 사용하여 데이터 스키마를 추론하면 주석의 도움과 함께 데이터, 테이블 관계, 데이터 유형 및 제약 조건을 이해하는 데 도움이 됩니다.
인사이트 생성: 차트 전문가
구조화된 쿼리 결과를 데이터 및 사용자 쿼리의 특성에 맞게 의미 있는 시각적 표현으로 변환하는 작업을 담당합니다.
기능:
-
- 차트 선택 로직: 규칙 기반 휴리스틱을 사용하여 데이터 특성(예: 차원, 메트릭, 시계열)에 따라 적절한 차트 유형을 선택합니다.
- 예시: 예: 프롬프트에 주어진 규칙과 데이터 유형에 따라 전문가가 적절한 차트를 선택합니다. 예를 들어, 추세를 파악해야 하는 매출 및 시계열 데이터인 경우 꺾은선형 차트가 선택됩니다.
- 동적 시각화 생성: Plotly 및 Seaborn과 같은 라이브러리를 사용하여 시각화를 구축합니다.
- 차트 선택 로직: 규칙 기반 휴리스틱을 사용하여 데이터 특성(예: 차원, 메트릭, 시계열)에 따라 적절한 차트 유형을 선택합니다.
보고 및 요약: 보고서 전문가
인사이트, 시각화 및 컨텍스트를 구조화된 보고서로 컴파일합니다.
기능:
-
- 콘텐츠 집계: 쿼리 결과를 자동으로 요약하고, 시각화, 방법론을 포함하며, 메타데이터(예: 데이터 소스, 쿼리 매개변수)를 포함합니다.
- 버전 관리 및 감사 로그: 생성된 보고서의 규정 준수 및 추적성을 위해 버전 관리 및 로깅을 선택적으로 통합할 수 있습니다.
설명 및 추론: 추론 전문가
도메인 지식과 논리적 추론의 렌즈를 통해 데이터 인사이트를 해석하여 인과 관계 추론, 추세 분석 및 가설 생성을 제공합니다.
기능:
-
- LLM 기반 추론: LLM을 활용하여 데이터 결과를 추론하고, 잠재된 패턴을 발견하고, 설명적인 내러티브를 생성합니다.
- 컨텍스트 증강: 사용자의 데이터베이스에서 추출한 도메인별 지식을 활용하여 근거에 입각한 설명을 제공합니다.
워크플로
Polaris 플랫폼은 전문 상담원으로 구성된 팀을 조율하여 자연어 질문을 지능적인 멀티모달 인사이트로 전환하도록 설계되었습니다. 워크플로 전개 방식은 다음과 같습니다:
- Polaris 시스템 초기화
사용자는 먼저 관련 버킷, 범위, 컬렉션 및 메타데이터 수집. 이러한 컨텍스트를 기반으로 Polaris는 전문 에이전트를 초기화하고 스키마, 메타데이터 및 샘플 데이터를 사용하여 사용자 탐색을 안내하는 예시 질문을 생성하는 LLM을 프롬프트합니다.
- 자연어 상호 작용
- 지능형 쿼리 처리
하이 레벨 디자인 다이어그램
- 그리고 쿼리 전문가 는 스키마 추론, 생성기 도구를 사용하여 자연어 쿼리를 SQL++로 번역하고 쿼리를 실행하는 등 핵심 데이터 액세스 작업을 처리합니다.
- 쿼리 전문가를 지원하는 도구는 다음과 같습니다. 스키마 추론 도구, SQL++ 생성기 도구및 쿼리 실행 도구.
- 다면적인 응답 생성
초기 쿼리 결과를 바탕으로 수퍼바이저가 조율합니다:- 그리고 차트 전문가를 통해 데이터 시각화를 생성하는 차트 생성 도구.
- 그리고 전문가 보고를 사용하여 텍스트 요약을 생성하는 역할을 합니다. 보고서 생성 도구.
- 그리고 추론 전문가를 사용하여 문맥, 근거 또는 추가 설명을 추가하여 응답을 더욱 풍부하게 만들 수 있습니다.
- 포괄적인 인사이트 제공
Polaris는 구조화된 쿼리 결과, 시각적 결과물, 내러티브 설명을 일관성 있고 사용자 친화적인 응답으로 종합합니다. 이러한 다중 모드 인사이트는 명확성, 깊이, 상호 작용을 결합하여 채팅 인터페이스를 통해 다시 전달됩니다. - 반복 탐색
사용자는 후속 질문을 하는 것이 좋습니다. 시스템이 세션 전반에 걸쳐 컨텍스트와 상태를 유지하므로 상담원 네트워크는 이전 상호 작용을 기반으로 심층적이고 반복적인 데이터 탐색을 지원할 수 있습니다.
ReAct 에이전트 사용
리액트 에이전트란 무엇인가요?
"ReAct 에이전트는 '추론 및 행동'(ReAct) 프레임워크를 사용하여 사고의 연쇄(CoT) 추론과 외부 도구 사용을 결합하는 AI 에이전트입니다. ReAct 프레임워크는 에이전트 워크플로우에서 복잡한 작업과 의사 결정을 처리하는 대규모 언어 모델(LLM)의 능력을 향상시킵니다."라고 설명합니다.Dave Bergmann, IBM

리액트 에이전트의 업무
기존의 인공 지능(AI) 시스템과 달리 ReAct 에이전트는 의사 결정과 작업 실행을 분리하지 않습니다. 이 프레임워크는 본질적으로 이 인터리빙을 반복적으로 반복하여 모델 문제를 해결하는 피드백 루프를 생성합니다. 생각-행동-관찰 프로세스. 저희는 내장된 LangGraph ReAct 프레임워크를 사용하며, 각 전문가는 ReAct 에이전트로 모델링됩니다.
보이지 않는 설계자: AI 기반 데이터 분석에서 효율적인 프롬프트의 힘
데이터 분석의 영역에서는 알고리즘, 통계 모델, 시각화 기법에 스포트라이트가 집중되는 경우가 많습니다. 그러나 모든 통찰력 있는 차트, 잘 구조화된 보고서, 데이터 기반 결론 뒤에는 보이지 않는 중요한 측면, 즉 프롬프트가 있습니다.
할 일 목록 프롬프트
할 일 목록 프롬프트는 모델에 모든 단계에서 참조할 수 있는 지속적이고 구조화된 작업 목록을 제공합니다. 메모리나 이전 메시지에 의존하는 대신 전체 계획이 각 프롬프트에 주입됩니다. 따라서 상담원은 체크오프해야 하는 모든 작업을 명확하게 이해할 수 있습니다. 따라서 표류, 반복 또는 단계 건너뛰기를 방지할 수 있습니다.
신원 확인 프롬프트
신원 확인 프롬프트는 모델에 다음과 같이 알려줍니다. 정의뿐만 아니라 해야 할 일. 이는 모델의 행동과 반응 방식에 영향을 미치는 일관된 역할 또는 페르소나를 설정합니다. "데이터 시각화 작업에 매우 능숙합니다."와 같은 메시지가 표시됩니다. 를 사용하면 도메인별 행동, 즉 명확하고 자신감 있고 집중력 있는 응답을 즉시 트리거할 수 있습니다.
자기 성찰 유도
자기 성찰 프롬프트는 작업을 완료한 후 모델에 자신의 결과물을 평가하도록 지시합니다. 이를 통해 모델이 사용자의 목표를 달성했는지 스스로 성찰하고 검증하며 필요한 경우 수정할 수 있습니다. 저희 애플리케이션에서는 자기 성찰 프롬프트를 전문가 상담원 쿼리. SQL 쿼리가 생성되고 실행된 후 에이전트는 필요한 모든 데이터 요소가 있는지 확인합니다.
프롬프트는 과학이라기보다는 예술에 가깝기 때문에 만능 공식은 없습니다. 하지만 검증된 휴리스틱과 명확한 작업 프레임을 적용하면 보다 정확하고 유용하며 컨텍스트를 인식하는 결과물로 모델을 안내할 수 있습니다. 핵심은 실험과 반복을 통해 특정 애플리케이션에서 무엇이 가장 효과적인지 알아내는 것입니다.
멀티 에이전트 대화 인터페이스인 Polaris 데모 보기
도전 과제와 향후 과제
Polaris는 특히 자연어 상호작용을 통해 직관적인 데이터 검색을 가능하게 하고 의사결정을 크게 가속화함으로써 조직이 데이터 자산을 활용하는 방식에 있어 패러다임의 전환을 의미합니다. 가장 큰 발전은 상황에 따라 접근 방식을 조정하고 다양한 데이터 세트에서 작업할 수 있는 동적 다중 에이전트 아키텍처를 개발한 것입니다.
하지만 몇 가지 과제가 남아 있습니다. 한 가지 핵심 영역은 데이터 주석 관리입니다. 다양한 열에서 일관되고 의미 있는 주석을 확보하는 것은 AI 에이전트가 생성하는 인사이트의 품질을 유지하는 데 매우 중요합니다. 이를 보다 쉽게 하기 위해 글로벌 데이터 카탈로그와의 통합을 검토할 수 있습니다. 또 다른 중요한 과제는 데이터 정결성인데, 조건 절과 기본적인 데이터 정리를 통해 쿼리 수준에서 이러한 문제를 일부 완화하고 있지만 업스트림 데이터 유효성 검사 및 전처리에서는 여전히 개선의 여지가 있습니다.
또한 대규모 데이터 검색을 처리하는 것은 기술적 장애물이었습니다. 실제 시나리오에서 검색된 데이터 세트는 현재 대규모 언어 모델의 컨텍스트 창 한계를 초과하는 경우가 많습니다. 이 문제를 해결하기 위해 집계 작업을 수행하고 차트와 같은 시각적 요약을 생성하여 모델에 부담을 주지 않으면서도 높은 수준의 인사이트를 제공합니다.
앞으로의 작업은 주석 파이프라인을 개선하고, 데이터 품질 관리를 개선하고, 보다 효율적인 요약 및 멀티턴 에이전트 협업 방법을 모색하여 Polaris를 더욱 확장하는 데 중점을 둘 것입니다.
결론: 데이터 상호 작용의 새로운 시대를 열다
폴라리스는 단순한 새로운 도구가 아니라 멀티 에이전트 AI 시스템의 강력한 기능과 자연어 대화의 단순성을 결합하여 데이터 액세스를 민주화하고, 비즈니스 사용자의 역량을 강화하며, 데이터에서 의사 결정까지의 여정을 가속화합니다. Polaris는 고객에게 상당한 가치를 창출하여 더욱 민첩하고 데이터에 기반한 경쟁력 있는 기업을 육성할 수 있을 것으로 믿습니다.