1.
오케스트레이터
•
LLM을 사용하여 사용자 질의를 해석하고 의도 파악
•
작업 분해 및 Agent 에 해당 작업을 할당
◦
ex) 질의 안에 task1, task2, task3 이 존재할 때
→ task 1: 데이터 분석 → DataAnalysisAgent
→ task 2: 지도 제어 → MapControlAgent
→ task 3: 보고서 작성 → ReportAgent
•
결과 통합
2.
AI Agent
•
LLM을 사용하여 사용자 질의를 해석하고 의도 파악
•
이 때 LLM으로만 질의에 대한 답을 할 지, MCP Server에 있는 도구를 활용해서 답을 주거나 화면에 액션을 할 지 결정한다.
3.
MCP Server
•
MCP Server는 도메인별로 배포되어 있다.
•
MCP Server에서
◦
MCP Server에 있는 도구를 사용하거나
◦
데이터베이스에 접근해 데이터를 가져오거나
◦
외부 API를 호출한다
•
데이터를 가져오거나 도구 사용 후 데이터를 규격화 해 AI Agent에 넘겨준다.
사용자: "월드컵 분석해줘"
Orchestrator (LLM으로 해석)
•
Task 1: 월드컵 데이터 검색
•
Task 2: 데이터 분석
•
Task 3: 보고서 작성
•
SearchAgent → Task 1
•
AnalysisAgent → Task 2
•
ReportAgent → Task 3
각 Agent (ReAct Loop)
•
Thought: "뭘 해야 할까?"
•
Action: Tool 사용? MCP 호출?
•
Observation: 결과 확인
•
반복
MCP Servers
•
WebSearchMcpServer (search, fetch_url)
•
DataAnalysisMcpServer (calculate_stats)
•
FileToolsMcpServer (write_file)
도구 실행
•
Google API (검색)
•
Database (분석)
•
File System (저장)
데이터 반환 & 규격화
•
Agent에게 반환 (ReAct 루프 계속)
•
결과 축적
•
Orchestrator에게 반환 (결과 통합)
•
최종 결과 → 사용자


