포스트

DATAGEN: LangGraph 기반 8에이전트 AI 데이터 분석 시스템 완전 분석

DATAGEN: LangGraph 기반 8에이전트 AI 데이터 분석 시스템 완전 분석

혼자서 8명 몫을 해내는 AI 데이터 분석 팀, 이거 진짜 물건이네요. 🤖

LangChain 커뮤니티에서 주목받고 있는 DATAGEN을 소개합니다.

LangGraph 기반으로 무려 8개의 AI 에이전트가 유기적으로 연결되어 돌아갑니다.

가장 놀라운 건 프로세스입니다.

단순히 분석만 하는 게 아니라

‘가설 수립 ➡️ 데이터 분석 ➡️ 품질 검수 ➡️ 최종 보고서 작성’까지 All-in-One으로 처리하네요.

각 에이전트마다 서로 다른 LLM(Multi-provider)을 붙일 수도 있고, 중간에 사람이 개입하는 ‘Human-in-the-loop’ 기능 덕분에 실무에서도 꽤 유용해 보입니다.

AI 에이전트 오케스트레이션이 어디까지 왔는지 궁금하다면 꼭 살펴보세요.

출처: GitHub - starpig1129/DATAGEN

https://www.threads.com/@feelfree_ai/post/DVXmWglgcDg


1. 개요: “혼자서 8명 몫”의 의미

데이터 분석 업무를 수행하는 일반적인 팀을 생각해보면, 최소한 다음과 같은 역할들이 필요하다. 연구 문제를 설계하는 사람, 외부 자료를 수집하는 사람, 데이터를 전처리하고 코딩하는 사람, 시각화를 담당하는 사람, 분석 결과를 정리하는 사람, 중간 과정을 기록하는 사람, 품질을 검수하는 사람, 최종 보고서를 작성하는 사람. 이 8가지 역할을 단 하나의 AI 파이프라인이 동시에 수행하는 것이 DATAGEN의 핵심 가치 제안이다.

DATAGEN은 LangChain 생태계에서 공개된 오픈소스 프로젝트로, GitHub 저장소(starpig1129/DATAGEN)를 통해 누구나 접근할 수 있다. 이 시스템은 LangGraph라는 상태 기반 워크플로우 프레임워크 위에 8개의 전문화된 AI 에이전트를 올려놓고, 각 에이전트가 유기적으로 협업하여 데이터 분석의 전체 라이프사이클을 자동화한다는 개념을 구현하고 있다.


2. 핵심 기술 스택: LangGraph와 LangChain

2.1 LangGraph란 무엇인가

LangGraph는 LangChain 팀이 공식 출시한 에이전트 워크플로우 프레임워크다. 일반적인 순차적(sequential) 파이프라인과 달리, 그래프 구조(State Graph) 기반으로 워크플로우를 정의한다는 점이 핵심이다. 이를 통해 복잡한 루프(loop)와 조건 분기(conditional branching)가 가능해지고, 에이전트에 대한 세밀한 제어(fine-grained control)가 실현된다.

DATAGEN은 이 LangGraph의 StateGraph 클래스를 활용하여 전체 연구 프로세스를 하나의 실행 그래프로 정의한다. 각 에이전트는 그래프의 노드(node)가 되고, 에이전트 간 데이터 흐름은 엣지(edge)로 표현된다. 특히 중간에 사람이 개입하거나(Human-in-the-loop), 품질 검수 결과에 따라 이전 단계로 되돌아가는(backtrack) 동작이 자연스럽게 구현될 수 있다는 점에서 단순한 선형 파이프라인보다 훨씬 강력하다.

2.2 멀티 프로바이더(Multi-Provider) LLM 전략

DATAGEN의 기술적 특징 중 하나는 각 에이전트에 서로 다른 LLM(Large Language Model)을 배정할 수 있다는 점이다. 설정 파일(config/agent_models.yaml)을 수정하면, 예를 들어 가설 수립 에이전트에는 OpenAI의 GPT 계열을, 노트 기록 에이전트에는 Google의 Gemini를, 코드 작성 에이전트에는 Anthropic의 Claude를 각각 연결하는 식의 구성이 가능하다.

실제 코드에서 확인되는 예시 구성은 다음과 같다:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
agents:
  hypothesis_agent:
    provider: openai
    model_config:
      model: gpt-5-nano
      temperature: 1.0
  note_agent:
    provider: google
    model_config:
      model: gemini-2.5-pro
      temperature: 1.0
  code_agent:
    provider: anthropic
    model_config:
      model: claude-haiku-4-5
      temperature: 1.0

지원되는 프로바이더는 OpenAI, Google, Anthropic, Ollama(로컬 모델), Groq 등으로, 각 에이전트의 특성에 맞게 최적의 모델을 선택할 수 있는 유연성을 제공한다. 이는 비용 최적화(저렴한 모델은 단순 작업에, 고성능 모델은 복잡한 추론에 배정)와 성능 최적화(각 모델의 강점을 역할에 맞게 활용) 두 가지를 동시에 달성할 수 있는 구조다.


3. 8개 에이전트의 역할과 협업 구조

DATAGEN의 멤버 에이전트는 코드베이스에서 다음과 같이 정의된다:

1
2
members = ["Hypothesis", "Process", "Visualization", "Search", "Coder",
           "Report", "QualityReview", "Refiner"]

여기에 전체를 조율하는 Supervisor까지 포함하면 실질적으로 9개의 역할이 존재하지만, Supervisor는 오케스트레이터 역할이므로 분석 에이전트는 8개로 카운트된다.

3.1 Supervisor (감독 에이전트)

전체 연구 프로세스를 총괄하는 감독 에이전트다. 각 단계에서 어떤 에이전트를 다음에 호출할지 결정하는 라우팅(routing) 역할을 수행한다. Supervisor의 주요 책임은 다음과 같다:

연구 가설을 검증하고 명확하고 테스트 가능한 형태로 정제하는 것, 코드가 충분히 문서화되고 재현 가능하도록 데이터 분석 프로세스 전체를 오케스트레이션하는 것, 최종 보고서가 완전하고 잘 통합된 형태가 되도록 지속적으로 에이전트 출력물을 검토하고 통합하는 것이 핵심 역할이다.

3.2 Hypothesis Agent (가설 수립 에이전트)

데이터 분석의 출발점이 되는 에이전트다. 입력된 데이터 테이블의 정보를 바탕으로 연구 가설을 공식화하고 수행해야 할 단계들을 개략적으로 정리한다. 이 에이전트는 통계학, 머신러닝, 딥러닝, 인공지능 분야의 지식을 활용하여 정밀하고 달성 가능하며 전문적이고 혁신적인 가설을 생성한다.

중요한 점은 단순히 가설을 나열하는 것이 아니라, 관련 문헌 검토를 통해 각 가설의 실현 가능성과 독창성을 검증하는 과정까지 포함한다는 것이다. 분석 마지막에는 완전한 연구 가설과 함께 독창성, 실현 가능성에 대한 상세한 설명, 그리고 관련 참고문헌을 구조화된 형태로 제시한다.

3.3 Process Agent (프로세스 관리 에이전트)

분석 워크플로우의 전반적인 진행을 관리하는 에이전트다. Hypothesis Agent가 수립한 가설을 기반으로 구체적인 분석 단계들을 순서화하고, 각 단계에서 어떤 에이전트가 어떤 작업을 수행해야 하는지 조율한다. 이 에이전트는 분석 과정이 체계적으로 진행되도록 하는 내부 기획자(planner) 역할을 수행한다.

3.4 Search Agent (정보 검색 에이전트)

외부 정보를 수집하는 전담 에이전트로, 다양한 도구를 통해 관련 정보를 탐색한다. DATAGEN 코드베이스에서 확인되는 Search Agent의 도구 목록은 다음과 같다:

  • collect_data: 데이터 수집 전용 도구
  • wikipedia: 위키피디아 검색
  • google_search: 구글 검색
  • scrape_webpages_with_fallback: 웹페이지 스크래핑 (폴백 지원)
  • arxiv: 학술 논문 검색 (arXiv)

이처럼 학술 논문부터 일반 웹페이지까지 폭넓은 정보 소스를 활용할 수 있어, 분석의 이론적 근거를 풍부하게 지원하는 역할을 한다.

3.5 Coder Agent (코드 작성 에이전트)

Python 코드를 작성하고 실행하는 전문 에이전트다. 주요 역할은 데이터 조작, 정제, 변환을 위한 깔끔하고 효율적인 코드 작성, 필요에 따른 통계적 방법론 및 머신러닝 알고리즘 구현, 성능 향상을 위한 기존 코드의 디버깅 및 최적화, PEP 8 표준 준수와 의미 있는 변수명 및 함수명을 통한 코드 가독성 확보다.

특히 데이터 분석 전문 Python 프로그래머로서의 역할 정의가 매우 구체적으로 되어 있어, 생성된 코드가 실무에서도 활용 가능한 수준의 품질을 유지하도록 설계되어 있다.

3.6 Visualization Agent (시각화 에이전트)

데이터 분석 결과를 시각적으로 표현하는 전담 에이전트다. 단순히 그래프를 그리는 수준을 넘어, 생성된 시각화 파일들이 작업 디렉토리에 체계적으로 정리되어 다른 에이전트들이 쉽게 찾아 활용할 수 있도록 관리한다. 또한 모든 시각 요소가 대상 독자에게 적합한지, 색상 체계와 디자인 원칙이 적절히 적용되었는지 검토하며, 과도하게 복잡한 시각화를 지양하고 명확성과 단순성을 추구하는 원칙을 따른다.

3.7 Note Agent (노트 기록 에이전트)

이 에이전트는 DATAGEN이 기존 데이터 분석 파이프라인들과 차별화되는 핵심 요소 중 하나다. 프로젝트의 현재 상태에 대한 간결하면서도 포괄적인 기록을 지속적으로 유지한다. 이를 통해 시스템은 어떤 에이전트가 어디까지 작업을 완료했는지, 중간 결과물은 무엇인지를 일관되게 추적할 수 있다. 본질적으로 Note Agent는 분산된 에이전트 시스템 전체를 위한 메모리(working memory) 역할을 수행한다.

3.8 QualityReview Agent (품질 검수 에이전트)

분석 결과물의 품질을 검증하는 감사(audit) 에이전트다. 코드의 정확성, 시각화의 적절성, 가설과 분석 결과의 정합성 등을 종합적으로 평가한다. QualityReview_router라는 라우팅 컴포넌트와 함께 작동하여, 품질 기준에 미달하는 경우 이전 단계로 되돌아가 재작업을 요청할 수 있다. 이 피드백 루프가 바로 LangGraph 기반 설계의 강점이 발휘되는 지점이다.

3.9 Refiner Agent (개선 에이전트)

QualityReview 에이전트의 피드백을 받아 실제 개선 작업을 수행하는 에이전트다. refiner_node라는 전용 노드로 구현되어 있으며, 검수에서 지적된 문제점들을 해결하고 결과물의 품질을 향상시킨다.

3.10 Report Agent (보고서 작성 에이전트)

모든 에이전트의 출력물을 통합하여 최종 연구 보고서를 작성하는 에이전트다. 보고서를 초안 작성, 정제, 최종화하는 전체 과정을 담당하며, 모든 에이전트의 기여를 통합하면서 서사(narrative)가 명확하고 일관성이 있도록 유지한다. 학술적 수준의 완성도를 목표로 하며, 참고문헌 목록의 정확한 인용까지 포함한 완전한 보고서를 생성하는 것이 최종 목표다.


4. 전체 워크플로우: 가설에서 보고서까지

DATAGEN의 워크플로우는 단순한 선형 파이프라인이 아니라, 조건 분기와 피드백 루프를 포함한 동적(dynamic) 그래프다. 전체 흐름을 단계별로 정리하면 다음과 같다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
[데이터 입력]
      ↓
[Hypothesis Agent] → 가설 수립 및 분석 방향 설정
      ↓
[hypothesis_router] → 가설 검토 및 다음 단계 결정
      ↓
[Search Agent] → 관련 학술 자료 및 외부 정보 수집
      ↓
[Process Agent] → 분석 단계 계획 및 조율
      ↓
[Coder Agent] → Python 코드 작성 및 데이터 분석 실행
      ↓
[Visualization Agent] → 결과 시각화
      ↓
[Note Agent] → 진행 상황 기록 및 컨텍스트 유지
      ↓
[QualityReview Agent] → 품질 검수
      ↓
[QualityReview_router] ── 기준 미달 → [Refiner Agent] → 재작업 → 루프
      ↓ (기준 충족)
[Report Agent] → 최종 보고서 작성
      ↓
[Human Review] → Human-in-the-loop 검토 (선택적)
      ↓
[최종 출력물]

코드에서 확인되는 라우팅 컴포넌트들(QualityReview_router, hypothesis_router, process_router)은 각 분기점에서 다음 에이전트를 동적으로 결정하는 역할을 한다. 이 구조 덕분에 단순히 순서대로 실행되는 것이 아니라, 상황에 따라 최적의 경로를 선택하는 지능적인 워크플로우가 가능해진다.


5. Human-in-the-Loop: AI와 인간의 협업

DATAGEN의 실무 활용성을 높이는 핵심 기능 중 하나가 Human-in-the-Loop 메커니즘이다. 코드베이스에서 human_choice_nodehuman_review_node라는 두 가지 전용 노드가 구현되어 있는 것을 확인할 수 있다.

이 기능의 의미는 단순하다. 완전 자동화가 항상 최선이 아닌 상황이 존재한다. 예를 들어 분석의 방향성이 중요한 비즈니스 결정과 연결된 경우, 가설의 타당성에 대한 도메인 전문가의 판단이 필요한 경우, 또는 법적·윤리적 검토가 요구되는 경우 등이 그러하다. DATAGEN은 이런 상황에서 적절한 지점에 인간 검토 단계를 삽입할 수 있도록 설계되어 있다.

이는 최근 AI 산업의 트렌드인 “거버넌스와 제어 가능성 우선” 방향과 정확히 일치하는 설계 철학이다. 완전 자율적인 AI 에이전트보다, 인간이 통제권을 유지하면서도 AI의 효율성을 최대한 활용하는 하이브리드 접근법이 엔터프라이즈 환경에서 더 현실적이고 안전하기 때문이다.


6. Progressive Disclosure 아키텍처

DATAGEN의 설계 문서에는 Progressive Disclosure 아키텍처라는 개념이 등장한다. 흥미롭게도 이는 “Claude Agent Skills에서 영감을 받은” 설계라고 명시되어 있다. 이 아키텍처의 핵심은 에이전트 설정의 복잡성을 점진적으로 노출하는 방식이다.

초보 사용자는 기본 설정만으로 시스템을 바로 사용할 수 있고, 고급 사용자는 YAML 설정 파일을 통해 각 에이전트의 LLM 선택, temperature 조정, 기타 파라미터를 세밀하게 제어할 수 있다. 이 계층적 설정 접근법은 유연성과 사용 편의성을 동시에 달성하는 방법이다.


7. 기술적 강점과 한계

7.1 강점

역할의 전문화(Specialization): 각 에이전트가 명확하게 정의된 역할에 집중함으로써, 분업을 통한 품질 향상이 가능하다. 예를 들어 Coder Agent는 코드 품질에만, Visualization Agent는 시각적 표현에만 집중할 수 있다.

유연한 LLM 배정: 작업의 성격에 맞는 모델을 각 에이전트에 배정할 수 있어, 비용 대비 성능을 최적화할 수 있다. 단순한 기록 작업에는 저렴한 모델을, 복잡한 가설 수립에는 고성능 모델을 사용하는 전략이 가능하다.

품질 피드백 루프: QualityReview와 Refiner의 조합으로 자기 교정(self-correction) 메커니즘이 구현되어 있어, 단순한 one-pass 시스템보다 훨씬 안정적인 출력 품질을 기대할 수 있다.

컨텍스트 유지: Note Agent의 존재가 분산된 에이전트 시스템의 가장 큰 약점 중 하나인 “컨텍스트 단절” 문제를 완화한다. 각 에이전트가 Note를 참조함으로써 전체 프로젝트의 맥락을 유지할 수 있다.

확장성: 새로운 에이전트를 추가하거나 기존 에이전트의 역할을 변경하는 것이 비교적 용이하게 설계되어 있어, 특정 도메인에 맞춘 커스터마이징이 가능하다.

7.2 한계와 주의사항

API 비용: 8개 에이전트가 순차적으로(혹은 부분적으로 병렬로) 실행되면서 각각 LLM API를 호출하기 때문에, 복잡한 분석일수록 API 비용이 상당히 발생할 수 있다. GitHub README에서도 “충분한 OpenAI API 크레딧이 필요하며 여러 API 호출이 이루어진다”고 경고하고 있다.

데이터 수정 위험: 에이전트 시스템이 분석 과정에서 원본 데이터를 수정할 수 있다는 경고가 명시되어 있다. 시스템 사용 전에 데이터 백업이 강력히 권장된다.

실행 시간: 작업의 복잡성에 따라 전체 연구 프로세스를 완료하는 데 상당한 시간이 소요될 수 있다. 각 에이전트가 순차적으로 처리해야 하는 단계들이 많기 때문이다.

오케스트레이션 복잡성: 8개 에이전트의 상호작용을 올바르게 설정하고 유지하는 것은 기술적으로 도전적인 작업이다. 특히 에이전트 간 라우팅 로직이 잘못 설정되면 무한 루프나 예상치 못한 동작이 발생할 수 있다.


8. 실무 적용 시나리오

시나리오 1: 기업 매출 데이터 분석

영업팀의 연간 매출 데이터를 입력하면, Hypothesis Agent가 “지역별 매출 변동과 계절성 사이의 상관관계”를 가설로 설정한다. Search Agent가 관련 시장 리포트를 수집하고, Coder Agent가 계절 분해(seasonal decomposition) 코드를 작성하여 실행한다. Visualization Agent가 결과를 시각화하고, QualityReview Agent가 분석의 통계적 엄밀성을 검토한 후, Report Agent가 경영진에게 제출 가능한 수준의 보고서를 생성한다.

시나리오 2: 학술 연구 지원

연구자가 데이터셋을 입력하면, 시스템이 arXiv 검색을 포함한 문헌 조사를 자동으로 수행하고, 적절한 통계적 방법론을 선택하여 분석을 실행한 후, 학술 논문 수준의 구조화된 보고서를 생성한다. Human-in-the-loop 기능을 통해 연구자가 핵심 의사결정 지점에서 방향을 조정할 수 있다.

시나리오 3: 실시간 시장 데이터 분석

DATAGEN은 현재 암호화폐 시장 인텔리전스로도 확장되고 있다(datagen.digital). 이는 동일한 멀티에이전트 분석 파이프라인을 실시간 또는 준실시간 데이터에 적용하는 방향으로의 진화를 보여준다.


9. AI 에이전트 오케스트레이션 생태계에서의 위치

DATAGEN이 등장한 배경에는 LangGraph, CrewAI, AutoGen 등 멀티에이전트 프레임워크들이 활발하게 경쟁하는 생태계가 있다. 각 프레임워크는 서로 다른 철학을 가진다:

LangGraph는 그래프 기반의 정밀한 상태 관리와 제어에 강점이 있으며, CrewAI는 역할 기반 에이전트 정의를 통한 직관적인 팀 구성에, AutoGen은 대화 기반의 자율적 에이전트 상호작용에 특화되어 있다.

DATAGEN은 이 중 LangGraph를 선택함으로써 복잡한 조건 분기와 피드백 루프를 세밀하게 제어할 수 있는 능력을 확보했다. 특히 QualityReview-Refiner 루프나 Human-in-the-loop 개입처럼 비선형적인 워크플로우가 필수적인 데이터 분석 시나리오에서, LangGraph의 StateGraph 접근법은 이를 자연스럽게 표현할 수 있는 최적의 선택이다.

이는 AI 에이전트 오케스트레이션이 단순한 “순서대로 실행”을 넘어, 동적 라우팅, 자기 교정, 인간 협업이 통합된 방향으로 진화하고 있음을 잘 보여주는 사례다.


10. 결론

DATAGEN은 멀티에이전트 AI 시스템이 실용적인 데이터 분석 워크플로우에 어떻게 적용될 수 있는지를 보여주는 구체적인 참조 구현체(reference implementation)다. 가설 수립부터 최종 보고서까지의 전 과정을 자동화하되, 각 단계에 최적화된 전문 에이전트를 배치하고, 품질 피드백 루프와 인간 개입 메커니즘을 통해 실무 활용 가능성을 높인 설계는 주목할 만하다.

물론 API 비용과 실행 시간, 설정의 복잡성이라는 현실적인 제약도 존재한다. 그러나 이 프로젝트가 제시하는 “역할 전문화 + 다중 LLM + 동적 라우팅 + 인간 협업”의 조합은 엔터프라이즈 AI 데이터 분석의 미래 방향성을 구체적으로 보여주고 있다.


작성일: 2026-03-03
참고: GitHub - starpig1129/DATAGEN

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.