AI 에이전트와 엔지니어링 통합: 비즈니스 효율화 실전 사례

MCP 기반 지능형 알림 시스템 구축

비즈니스 배경 및 과제

데이터 제품에서 생성된 리포트 모니터링 작업에서 FBI 시스템은 다음과 같은 한계를 보였습니다:

  • 표 형식 데이터를 Excel로만 내보내야 하며 프로그래밍 처리가 복잡
  • 특정 조건 충족 시 선택적 알림 기능 부재
  • 가공된 지표(예: 일간 변동률) 추출 불가

MCP 표준 프로토콜

MCP(Model Context Protocol)는 LLM이 외부 도구를 안전하게 사용할 수 있는 표준 인터페이스를 제공합니다. 주요 구성 요소:

# MCP 클라이언트 초기화 예제
from mcp_client import MCPClient

client = MCPClient(
    protocol="streamablehttp",
    endpoint="https://tool-service/api",
    auth_key="secure_token"
)

기존 Function Calling과의 차이점:

  • 벤더 중립적 표준으로 Anthropic, OpenAI 등 크로스 플랫폼 호환
  • STDIO/StreamableHttp 통신 모드 지원
  • 커뮤니티 도구 지속 확장(예: modelscope 라이브러리)

브라우저 자동화 구현

Playwright-MCP 서버를 활용한 웹 상호작용:

// Playwright 도구 호출 예시
const actions = [
  { command: "navigate", url: "https://report-portal" },
  { command: "resize", width: 3840, height: 2160 },
  { command: "extract_table", selector: "#data-grid" }
];

시스템 아키텍처

에이전트 작업 흐름:

  1. 크론 작업 트리거
  2. 데이터베이스에서 시나리오 메타데이터 조회
  3. Playwright-MCP 통해 웹 데이터 수집
  4. 결과를 JSON 형식으로 변환
  5. DingTalk API로 알림 전송

최적화 방안

  • 브라우저 창 크기 3840x2160으로 고정
  • 실패 시 3회 재시도 후 작업 중단
  • 작업 완료 후 반드시 브라우저 인스턴스 종료

배치 태스크 생성 시스템

하이브리드 처리 아키텍처

엔지니어링과 에이전트의 협업 방식:

def process_tasks(excel_data):
    # 엔지니어링 처리: 데이터 정규화
    normalized = normalize_data(excel_data)
    
    # 에이전트 호출: 시맨틱 매칭
    task_mapping = agent_match_tasks(normalized)
    
    # 엔지니어링 처리: 작업 생성
    create_batch_tasks(task_mapping)

성능 개선 전략

  • 50개 작업을 5개 그룹으로 분할 처리
  • 비동기 방식으로 응답 대기 시간 단축
  • Redis에 중간 결과 캐싱

기술 선택 가이드라인

영역에이전트 적합도엔지니어링 적합도
자연어 이해높음낮음
규칙 기반 처리낮음높음
대규모 데이터 처리낮음높음
비정형 작업높음중간

에이전트는 확률 기반 솔루션이므로 다음 원칙이 적용됩니다:

  • 토큰 비용이 높은 작업은 엔지니어링으로 처리
  • 실패 시 3회 재시도 후 작업 중단
  • 작업 완료 후 반드시 브라우저 인스턴스 종료

태그: AI Agent MCP Playwright RAG Function Calling

7월 17일 03:36에 게시됨