Dev Stories

숫자 너머의 시장을 읽다: 전략적 의사결정을 위한 데이터 분석 에이전트 개발기

1. 개요

 안녕하세요. KT에서 에이전트 서비스를 개발하고 있는 장서윤 입니다. Decision Intelligence Lab D-Product팀에서는 의사 결정의 효율화와 지능화를 위해, 정형/비정형 데이터를 바탕으로 사용자 질의에 적절한 응답과 인사이트를 제공하는 데이터 분석 멀티 에이전트 시스템인 Decision Intelligence Agent를 개발하고 있습니다. Decision Intelligence Agent는 아래 예시와 같이 사용자가 BI report 화면을 보며 질의하면, 에이전트가 사용자의 의도를 파악하고 필요한 데이터를 선별하여 집계된 결과를 제공합니다. 또한 외부 데이터를 참고해 시장에 영향을 미친 요소나 이슈를 반영하고, 이를 바탕으로 원인 분석과 인사이트 도출까지 수행합니다. 이번 글에서는 경영 데이터를 대상으로 하는 Decision Intelligence Agent 구성 기능 중에서도, 외부 데이터를 활용해 시장 반응과 이슈 등의 분석을 담당하고 있는 “커뮤니티 에이전트” 개발 경험을 소개드리고자 합니다.


agent_blog_v3.png



1-1. 개발 배경 및 목적

 기업의 경영 데이터를 기반으로 재무 실적을 분석하고 성과를 관리하기 위해서는 단기간 내에 실적 변화의 원인과 배경, 외부 이슈 등을 종합적으로 해석할 수 있는 정교한 분석 역량이 요구됩니다. 특히 매출, 비용, 고객 지표 등 정형 데이터뿐만 아니라, 비즈니스 모델 변화, 정책 도입, 경쟁사 동향 등 정성적 요인까지 함께 고려해 입체적인 인사이트를 도출하는 것이 중요합니다. 그러나 외부 이슈나 시장 반응과 같은 비정형 정보는 실적에 큰 영향을 미침에도 불구하고, 기존 분석 흐름에 자연스럽게 통합하기 어려운 경우가 많습니다. 뿐만 아니라 최근에는 데이터 분석 경험이 풍부하지 않더라도 누구나 손쉽게 데이터를 탐색하고, 경영성과에 대한 해석을 얻을 수 있는 도구에 대한 수요가 높아지고 있습니다. 직관적인 인터페이스와 대화형 환경을 통해 복잡한 분석 과정을 보다 쉽게 수행할 수 있는 시스템이 필요한 시점입니다. 


 이러한 흐름 속에서, 도메인 지식을 가진 실무자가 자연어로 질문을 입력하면, 시스템이 내부 및 외부 데이터를 종합적으로 분석하고 해석을 제공하는 지능형 분석 환경의 필요성이 더욱 부각되고 있습니다. 특히 외부 여론, 시장 반응, 산업 이슈 등 비정형 데이터를 통합해 실적 변화를 다각도로 분석하고, 그 결과를 직관적으로 해석할 수 있도록 지원하는 방식이야말로 전략적 의사결정을 효과적으로 지원하는 이상적인 접근 방식이라 할 수 있습니다.


 Decision Intelligence Agent는 이러한 방향성을 실현하기 위해 설계된 멀티 에이전트 기반의 의사결정 지원 시스템입니다. 기업의 BI(Business Intelligence) 환경과 연계해내부 데이터를 체계적으로 분석하는 동시에, 외부 데이터를 결합해 정량적 수치와 정성적 요인을 함께 고려한 통합적인 인사이트를 제공합니다. 이를 통해 분석 담당자나 실무자는 더 깊이 있는 해석과 전략 수립에 집중할 수 있으며, 다양한 관점과 시장 요인을 반영한 판단을 빠르고 정확하게 도출할 수 있도록 합니다. 또한 자연어 기반의 질의 인터페이스를 통해 사용자 누구나 손쉽게 데이터를 탐색하고 분석 결과를 해석할 수 있도록 설계되었습니다. 다양한 부서에서 전략적 의사결정에 필요한 정보를 보다 효과적으로 활용할 수 있도록 지원하는 것이 궁극적인 목표입니다.


1-2. 기술·기능

 Decision Intelligence Agent는 아래와 같은 기술 및 기능을 중심으로 개발되었으며, 이를 통해 상기 목적을 실현하고자 합니다.

  • 사용자가 질문을 자연어로 질의하면, 에이전트는 이를 해석하여 내부 및 외부 데이터를 탐색·분석하고, 대화형 응답을 제공합니다.

  • 데이터 분석 범위는 기존 보고서나 테이블에 한정되지 않고, 사내 시스템의 재무·운영·고객 데이터뿐 아니라 외부의 뉴스, 커뮤니티, 공시, 시장 지표 등 다양한 비정형 데이터까지 포괄합니다. 이를 통해 분석 결과의 배경 맥락과 컨텍스트를 함께 제공하고, 더 깊이 있는 해석과 설득력 있는 인사이트를 도출합니다.

  • 특히 커뮤니티 에이전트는 외부 데이터 해석을 전담하는 기능으로, 경쟁사 이슈, 시장 반응, 소비자 여론 등 정성적 요소를 내부 정량 데이터와 결합하여, 정형화된 기존 재무 분석을 보완하는 다차원 분석 체계를 가능하게 합니다. 이로써 외부 변수의 영향력까지 분석에 반영할 수 있습니다. 



2. 커뮤니티 에이전트 소개

 Decision Intelligence Agent는 크게 Front-end, Orchestrator, Business agent, RAG agent, Community agent로 구성되어 있습니다. 그 중 상기 목적과 기능을 제공하는 일부 에이전트로서 커뮤니티 에이전트를 개발하면서 생긴 개발 경험과 이슈 및 과정을 소개하고자 합니다.


2-1. 주요 기능

 커뮤니티 에이전트는 내부 및 외부 데이터를 수집하고 이 중 사용자의 요청과 연관성이 있는 데이터를 바탕으로 분석, 요약, 원인 분석, 인사이트 제공 등의 기능을 수행하는 에이전트입니다. 특히 기업의 전략적 의사결정을 위해 내부 데이터뿐만 아니라, 시장 환경·경쟁사 동향·소비자 반응 등 외부 데이터도 함께 고려하여 폭넓은 질의에 대응할 수 있습니다. 그 과정에서 다음과 같은 이슈가 발생했습니다.



⚠️고려사항 ⚠️

  1. DB에 다양한 데이터가 존재하는 상황에서 사용자의 질의에 어떤 데이터를 참조할지 판단이 어려움

  2. 방대한 양의 전체 데이터를 RAG로 처리하면 처리 지연 및 성능 저하 발생

  3. 정형과 비정형 데이터가 섞여 있어 일관된 data ingest 및 검색 최적화가 어렵다는 한계 존재

  4. 사용자 입장에서는 에이전트가 어떤 정보를 기반으로 답변을 생성했는지 판단하기 어려움


이러한 문제를 해결하기 위해, 커뮤니티 에이전트는 다음과 같은 기능을 중심으로 설계되었습니다.


  1. 내·외부 데이터의 통합 수집 및 저장: 사내 보고서, 업무 문서, 고객·매출 데이터 등 내부 데이터뿐 아니라 커뮤니티, 뉴스, 공시자료 등 외부 데이터를 함께 수집하여 하나의 데이터베이스에 통합 저장합니다.

  2. 메타데이터 및 주제 태깅 기반 검색 최적화: 각 문서에 날짜, 기업명 등 메타데이터를 저장하고, LLM을 활용해 주제 태그를 부여합니다. 이를 통해 사용자 질의 시 관련성이 높은 데이터만을 필터링하여 검색 범위를 축소하고, 응답 속도와 정확도를 향상시킵니다.

  3. 자연어 질의 기반의 선택적 정보 Retrieval:LLM 기반 질의 해석을 통해 사용자의 질문을 주제·대상·시점 단위로 분해한 뒤, 가장 관련성 높은 정보만을 선택적으로 검색합니다. 이를 통해 정보의 과잉 노출 없이 정확하고 신속한 응답이 가능합니다.

  4. 출처 명시 기반의 신뢰도 높은 응답 제공: 최종 응답에는 해당 내용을 담고 있는 문서나 커뮤니티 글의 출처를 메타 데이터로 저장하여 함께 제공함으로써, 사용자가 정보를 신뢰하고 실제 의사결정에 활용할 수 있도록 지원합니다.


2-2. 타겟 데이터


데이터

종류

포멧

크기

특징

예시

1


K-지존 용어사전 데이터


내부

정형 (json)

  • 단어 8천개, 약 4MB

  • 벡터 값 포함시 약 400MB

  • [단어, 의미, 벡터]로 이루어진 json 형태

  • 벡터는 “단어+의미”를 묶어서 KT 자체 임베딩 모델로 임베딩화

이미지

2

사내 성과 분석 관련 보고서

내부

비정형 (pdf)

  • 매달 주기로 축적, 1~20 페이지

  • 월별/ 분기별 실적 및 목표, 전체/항목별 매출 정보 등을 포함

  • 도표, 지표, 그래프, 텍스트 등으로 구성됨

-

3

문서중앙화 사내문서

내부

정형 및 비정형

(pdf, xlsx, docx 등)

  • 매달 주기로 축적, 1~20 페이지

  • Onedrive 등을 통해 축적될 사내문서 데이터

  • 사내 문서를 자동 수집·처리하고 이를 기반으로 RAG와 연동하는 파이프라인

 -

4

DART 전사공시시스템 

외부

정형 및 비정형

  • 재무제표(xlsx)

  • 반기/분기보고서(pdf)

  • xlsx: 9개 시트, 시트 당 행 수 최대 100개 미만



  • pdf: 300페이지 내외

  • 재무재표(xlsx)와 반기/분기 보고서(pdf)로부터 영업이익, 매출, 전략 등의 정보를 참조하고자 함

  • 반기/분기 보고서는 직접 다운로드하는 형태이며, 연결재무재표는 api 호출을 통한 크롤링으로 수집 (https://dart-fss.readthedocs.io/en/latest/welcome.html )

  • 이 때 전체 원문을 저장하지 않고, 인사이트 도출이나 전략 수립에 도움이 될 만한 정보를 사전에 필터링 혹은 요약하여 databricks에 저장하고, 향후 사용자 질의가 들어오면 RAG 방식으로 접근하여 효율성을 제고하고자 함

https://dart.fss.or.kr/

5

(경제 동향을 담은) 증권사 리포트, 기사, 매거진 등 (매일경제, 중앙일보 등)

외부

비정형 (pdf)

-

  • 산업 동향, 주요 기업 실적, 전망 및 시장 전략 등을 포함

  • 도표, 지표, 그래프, 텍스트 등으로 구성됨

 -


2-3. 질의 응답 예시

질의

예상응답

사용 데이터

Q: (3개년 데이터를 보는 상황에서) AA부문 인건비가 24년부터 급증했는데, 왜 그런거야?

A: (1) 내부 조직 변화 (AA부문에 BB부문이 편입되는 조직(부문) 변화에 대한 흐름 차트를 제공)


(2) 외부 요인에 따른 인건비 단가 상승

같은 해 업계 전반적으로 고용시장 경쟁이 심화되고, 디지털/AI 인재 확보를 위한 보상 수준이 상향되면서, 신규 채용 및 기존 인력의 연봉 인상 폭이 예년보다 확대된 것도 주요한 외부 요인입니다. 이에 따라 전체 인건비 총액이 상승하는 구조적 요인이 함께 작용했습니다.


따라서 2024년 인건비 증가는 단순한 인력 증가뿐만 아니라, 조직 개편과 인건비 단가 상승이라는 내부·외부 요인이 복합적으로 작용한 결과로 해석할 수 있습니다.


  • 기준정보 리니지 데이터 (내부)

  • 조직 기준정보 데이터 (내부)

  • 매출/비용 데이터 (내부)

  • BM/조직 리니지 관련 조정사항 등에 대한 description (내부)

  • 용어사전 및 이슈문서 데이터 (외부)

  • 뉴스, 매거진, 기사 등의 데이터 (외부)

Q: 이번 블랙프라이데이와 관련해 매출과 영업이익 측면에서 개선할 수 있는 방안을 기존 사례를 바탕으로 제시해줘.

A: 블랙프라이데이 시즌과 관련해 KT의 매출 및 영업이익을 개선할 수 있는 기존 참고 사례로는

(1) 2022년 11월 블랙프라이데이 기간: 단말기 및 부가서비스 프로모션 확대 사례 (KT아카이브 참고자료 링크1)

(2) 2023년 11월 연말 할인 시즌: 온라인 유통 채널 집중 마케팅 사례 (KT아카이브 참고자료 링크2)

등이 있습니다.


해당 시즌 이슈에 대한 기존 사례 분석을 바탕으로, 당시 매출이 급증한 주요 전사 상품과 그에 대한 실적 개선 방안은 다음과 같습니다.


  1. OTT/콘텐츠 결합 상품(CTM): 같은 기간 신규 가입자 수가 크게 증가했으며, 단말기 구매 시 콘텐츠 무료 이용권을 제공하는 마케팅 전략이 주효했습니다. 이번 시즌에도 인기 콘텐츠와의 결합 패키지를 통해 고객 유입을 확대할 수 있습니다.

  • 외부 커뮤니티 데이터 (외부)

  • 내부 아카이빙 문서 (내부)

Q: KT 요금 정책이나 이벤트에 대한 최근 시장 반응은 어때? 이런 정책이 올해 매출에 어떤 영향을 미쳤어?

최근 KT의 온라인 전용 요금제와 OTT 결합 상품에 대해 시장 반응은 대체로 긍정적이었습니다.


20~30대를 중심으로 “가성비 좋다”, “간편하다”는 의견이 많았으며, 1분기 기준 신규 가입자 수는 전월 대비 0.XX% 증가, 그 중에서도 특히 MZ세대 비중은 0.XX%p 상승하였습니다.

또한, 미디어 매출은 전년 동기 대비 0.XX% 증가하며 실적에 기여한 것으로 분석됩니다.


다만, 오프라인 가입자나 장기 고객 사이에서는 혜택 차별에 대한 불만도 일부 제기된 것으로 보아 향후에는 고객군 간 형평성 확보와 다양한 콘텐츠 파트너 확대가 필요할 것으로 사료됩니다.


  • 매출/비용 데이터 (내부)
  • 외부 사이트 (외부)


2-4. 접근 방법

 커뮤니티 에이전트는 다음과 같은 구조적 접근을 통해, 대규모의 내부·외부 데이터를 효과적으로 연결하고 사용자 질의에 대한 정확한 분석 및 응답을 제공합니다.

download.png      
  1. 질의 기반 데이터 소스 라우팅 
    사용자 질의가 들어오면 LLM을 활용해 해당 질의가 내부 데이터, 외부 데이터, 또는 양쪽 모두와 관련있는지 판단하여 분류합니다.

    • 예: “KT의 요금 정책 변화에 대한 소비자 반응은?” → 외부 커뮤니티 및 뉴스 필요

    • 예: “4월 KT 융합기술원 / 전화 사업부의 영업이익 급감 원인은?” → 내부 재무/운영 데이터 우선

  2. 주제 태깅 기반, 메타 데이터 기반 사전 필터링을 통해 응답 속도 개선

    • 문서 수가 많아 전체를 대상으로 검색할 경우 속도 지연 및 성능 저하가 발생하기 때문에, 사전 정의된 주요 주제(예: 요금제, 유통, 단말, 고객 반응 등)를 기준으로 문서에 태깅을 수행합니다. 이후, 질의 내용과 가장 관련된 주제 태그에 해당하는 문서만을 우선 검색 대상으로 설정합니다.

    • 검색 효율을 높이기 위해 날짜, 회사명 등 메타데이터를 필터링합니다.

      • 예: 2024년 2월에 KT에서는 어떤 판매 전략을 펼쳤어?

      • 필터링 조건: 회사 = KT ∩ 날짜 ∈ 2025년 2월 ∩ 주제 = 유통/판매 전략

  3. Retrieval 및 요약 응답 생성

    • 필터링이 적용된 후보 데이터 군에 해당하는 (사전 구축된) 벡터 DB에서 유사도 기반으로 Top-K 청크를 검색합니다.

    • 검색된 청크들을 바탕으로 LLM이 이슈 원인 분석, 요약, 시장 반응 추론 등을 수행하며, 사용자의 질문에 대한 종합적인 인사이트를 제공합니다.

    • 이때 각 응답에는 관련 출처(게시글 링크 또는 문서 ID 등)를 함께 포함하여 신뢰성과 활용성을 보장합니다


3. 구현 상세

 Community agent는 크게 Document Ingest 및 Langgraph 구조로 구성되어 있습니다. Document Ingest는 사용자의 질의가 들어오기 전에, 검색과 응답에 활용할 데이터를 미리 가공하고 저장하는 단계입니다. Langgraph 단계에서는 구성된 노드들이 분기 처리 및 정보를 검색, 응답을 생성합니다.


3-1. Document Ingest 파이프라인

 경영의사결정 에이전트의 핵심은 다양한 형태의 문서를 구조화하고, 검색 가능한 벡터로 변환하는 Document Ingest 파이프라인입니다. 이 과정은 크게 문서 파싱과 Chunking, 임베딩 및 벡터 DB 저장으로 구성됩니다.


3-1-1. 문서 파싱 및 기본 정제문서 유형별로 파싱 방식을 아래와 같이 구성하였습니다.
  • PDF 보고서: PyMuPDF, PDFPlumber 등을 활용해 텍스트 추출 후 마크다운 형태로 정리
  • DART 재무제표 (excel 형식): json 형태로 구성한 뒤, 항목별 key-value 구조를 기반으로 단위 지표 추출
  • 뉴스/커뮤니티 글: 날짜, 키워드 등 메타데이터와 함께 저장

3-1-2. 문서 chunking 문서 구조 및 사용 패턴에 따라 적절한 chunking 전략을 선택합니다. 시간에 따라 쌓이는 데이터의 경우 시간 기반 윈도우 방식을 적용하고, 단발성으로 쌓이는 보고서의 경우 목차 단위로 분할하도록 설계하였습니다.

문서 유형

청킹 기준 예시

설명

보고서 (PDF)

목차 단위 또는 헤더(예: 1.1, 1.2)

텍스트가 길고 구조화된 구조형 문서의 경우 의미 단위로 분할

뉴스/커뮤니티 글

시간 기반 윈도우 (예: 7일 단위)

시간에 따라 쌓이는 데이터의 특성을 반영하여 시간 단위로 분할


3-1-3. 임베딩 벡터 저장

 문서가 청킹되어 의미 단위로 나뉜 후, 각 청크는 벡터화(embedding) 작업을 통해 AI 기반 검색에 적합한 형태로 변환됩니다. Azure AI Search의 벡터 인덱싱 기능을 활용하여 저장 및 검색 최적화를 구현합니다.


3-1-4. LLM을 활용한 메타데이터 및 주제 태깅
  • 방대한 양의 문서가 존재할 경우, 질의와 직접적인 연관이 없는 문서까지 불필요하게 검색 대상이 되는 상황을 방지하고, LLM 추론 시 입력 토큰 수를 줄여 응답 속도를 개선하기 위해 사전 요약 및 주제 태깅을 수행합니다.

  • LLM에 "이 문서의 주요 주제를 [경쟁사, 고객 반응, 비용, 실적, 전략, 매출, 선호도, 불만, 정책 등] 중에서 분류해줘"와 같은 프롬프트를 제공하여 주제 분류를 수행하고 문서 내의 기업명, 날짜 등의 메타 정보를 db에 업데이트합니다.


3-2. Langraph 프로세스

 LangGraph는 사용자 질의에 대한 응답을 생성하기 위해 다단계 Reasoning 및 Retrieval 과정을 노드 기반의 그래프 형태로 구성하는 프레임워크입니다. 본 커뮤니티 에이전트에서는 다음과 같은 핵심 노드들이 구성됩니다.


download.png
노드 별 역할 요약

노드

역할

설명

SourceRouter


질의가 요구하는 데이터 소스(내부, 외부, 둘 다, 해당 없음)를 판단

질의 내용을 기반으로 내부 데이터(ex. DART, 재무 보고서), 외부 데이터(ex. 뉴스, 커뮤니티), 또는 양쪽이 필요한지를 분기하여 이후 검색 경로를 결정함. 참고할 데이터가 없는 경우 fallback 노드

fallback


예외 처리를 위한 대체 경로


SourceRouter에서 Neither로 판단되거나, TopkSelector에서 유사한 문서가 없는 것으로 판단될 경우에 호출되는 보조 검색 경로 (일반 웹 검색, 검색엔진 API 호출 등으로 구성 예정)

TopicClassifier


사용자 질의를 주제 기반으로 분류


미리 정의된 주제 집합(예: 경영성과, 재무, 유통, 고객 반응 등) 중 질의와 관련된 주제를 LLM으로 판단하고, 이를 기반으로 관련 문서의 주제 태그와 매핑하는 역할

MetadataFilter


질의에서 추출된 날짜, 회사명, 조직/부서 등의 메타데이터를 이용한 문서 필터


질의 내 포함된 시간 조건, 기업명, 사업부명 등을 LLM 인식 기반으로 추출한 뒤, 이를 기준으로 문서 검색 범위를 좁히는 역할

CandidateRetriever

주제 및 메타데이터 필터링 결과를 기반으로 관련 문서 후보군을 수집

필터링된 문서를 벡터DB로부터 조회

TopkSelector


필터링 된 후보 문서 중 가장 관련성이 높은 Top-K 문서를 선택


cosine similarity 등 벡터 유사도 기반 점수로 정렬한 후, 상위 K개 문서를 선택하여 응답 구성의 재료로 전달

ContextAssembler


질의 + Top-K 문서들을 통합하여 LLM 입력 형식의 프롬프트로 구성


시스템 프롬프트, 사용자 질문, 참조 문서 내용을 조합하여 LLM이 이해하고 응답 생성에 활용할 수 있는 context를 구성

Responser


최종 응답 생성


ContextAssembler로부터 받은 입력을 바탕으로 LLM이 사용자 질의에 대한 자연어 응답을 생성. 인사이트, 요약, 추론 등이 포함될 수 있음, 문서 출처 함께 명시


4. 맺음말

 이번 글에서는 다양한 형태의 경영 데이터를 정제하고, 사용자 질의에 맞춰 빠르고 정확하게 응답하기 위한 Decision Intelligence Agent의 개발 흐름을 소개드렸습니다. 문서의 주제를 자동으로 파악하고, 관련도 높은 정보를 선별해 추론하는 구조를 설계함으로써 더 신속하고 유의미한 인사이트를 전달하고자 하였습니다. 특히, 주제 기반 필터링과 메타데이터 조건 분기를 통해 방대한 문서 속에서 꼭 필요한 정보만을 선별하고, LLM의 추론 범위를 줄임으로써 응답 속도와 정확도 모두를 높이기 위한 노력을 기울였습니다. 이를 통해 단순한 정보 검색을 넘어, 실제 경영 현장에서 빠르고 신뢰도 높은 의사결정을 내리는 데 실질적인 도움을 줄 수 있는 기반을 마련하고자 했습니다. 이 글이 비슷한 도전을 준비하는 분들께 작은 참고가 되기를 바라며, 앞으로도 KT는 데이터와 기술, 그리고 사람 사이의 연결을 통해 더 나은 결정을 이끄는 시스템을 만들어가고자 합니다.


5. 함께한 사람들

 이번 프로젝트는 기술혁신부문의 D-Product 팀, D-Insight 팀, AI Agent Engineering, Data TX 팀이 긴밀하게 협력하여 수행하였습니다. D-Product 팀에서는 문준희, 남윤지, 김우연, 전덕우, 장서윤 님, D-Insight 팀에서는 이반석 님께서 본 프로젝트에 참여하고 계십니다. 각자의 위치에서 열정을 다해 협업해 주신 모든 분들께 진심으로 감사의 말씀을 전합니다.




장서윤

안녕하세요. KT에서 의사결정 에이전트를 개발하고 있습니다.