임팩트: AI 도구 직접 구축 — 팀 생산성 기여, AI 오케스트레이션 리더십 증거


AS-IS (기존)

장점

  • 신세계 내부 LLM API 존재

고려할 점

  • LLM 활용 개발 도구 부재
  • 웹 인터페이스(DevX)에 의존
  • 로컬 환경과 AI 간 컨텍스트 단절
  • 프로젝트별 파일 시스템 접근 불가

TO-BE (개선)

장점

  • MCP 표준 준수 CLI 기반 AI 에이전트
  • 로컬 환경에서 직접 실행 가능한 대화형 인터페이스
  • 프로젝트 디렉토리 기반 컨텍스트 인식
  • 확장 가능한 MCP 서버 아키텍처

고려할 점

    핵심 성과

    🏗️

    MCP 표준 아키텍처

    LLM과 로컬 MCP 서버 간 표준화된 통신 체계 구축, 플러그인 방식 도구 통합

    ⚡

    실시간 스트리밍 응답

    asyncio 기반 비동기 스트리밍으로 토큰 단위 실시간 출력, 체감 응답 속도 개선

    📂

    프로젝트 컨텍스트 인식

    실행 디렉토리 기준 파일 작업 및 질의 처리로 개발 워크플로우에 자연스럽게 통합

    성과 1: MCP 표준 기반 에이전트 아키텍처 구축

    기존 LLM API는 단순 요청/응답 구조로 로컬 도구 및 리소스에 접근할 수 없었습니다. 이를 해결하기 위해 MCP 프로토콜을 구현하여 LLM과 로컬 MCP 서버 간 표준화된 통신 체계를 구축했습니다. 그 결과 확장 가능한 도구 통합 아키텍처를 확립했으며, 다양한 MCP 서버를 플러그인 방식으로 연결할 수 있게 되었습니다.

    성과 2: 스트리밍 기반 실시간 응답 시스템

    동기식 API 호출로 인해 긴 대기 시간과 사용자 경험 저하가 발생하고 있었습니다. asyncio 기반의 비동기 스트리밍 응답 처리 로직을 구현하여 이 문제를 해결했습니다. 실시간 토큰 단위 응답 출력으로 체감 응답 속도가 개선되었습니다.

    성과 3: 프로젝트 컨텍스트 인식 CLI 인터페이스

    웹 기반 인터페이스는 로컬 파일 시스템 접근에 제약이 있었습니다. 실행 디렉토리 기준으로 파일 작업 및 질의를 처리하는 로직을 구현하여, 개발자 워크플로우에 자연스럽게 통합되는 AI 어시스턴트를 제공할 수 있게 되었습니다.

    기술적 구현 상세

    아키텍처 설계

    1. CLI Interface (main.py)
    2. MCP Agent Core (mcp_agent.py) — Tool Discovery, Context Mgmt, Message Orchestration
    3. LLM API Client (llm_client.py) — Streaming, Auth, Error Handling
    4. MCP Server Manager (mcp-config.json) — Server Connection, Tool Registration
    5. Shinsegae LLM API (DevX Backend) + Local MCP Servers (Pluggable Tools)

    핵심 기술 구현

    1. 비동기 스트리밍 LLM 클라이언트

    # llm_client.py - 핵심 로직
    async def stream_chat(self, messages: List[Dict]) -> AsyncIterator[str]:
        async with aiohttp.ClientSession() as session:
            async with session.post(
                self.api_url,
                headers={"Authorization": f"Bearer {self.token}"},
                json={"messages": messages, "stream": True}
            ) as response:
                async for line in response.content:
                    if chunk := self._parse_sse(line):
                        yield chunk
    
    

    2. MCP 도구 통합 레이어

    # mcp_agent.py - 도구 호출 로직
    async def execute_tool(self, tool_name: str, arguments: Dict) -> Any:
        server = self.mcp_servers.get_server_for_tool(tool_name)
        result = await server.call_tool(tool_name, arguments)
        return result
    
    

    3. 설정 기반 초기화 시스템

    # config.py - 환경 설정 관리
    class Config:
        LLM_API_TOKEN: str = os.getenv("LLM_API_TOKEN")
        LLM_API_URL: str = os.getenv("LLM_API_URL")
        PROJECT_ID: str = os.getenv("PROJECT_ID")
        MCP_CONFIG_PATH: str = "mcp-config.json"
    
    

    비즈니스 임팩트

    🚀

    생산성 향상

    CLI 워크플로우 통합으로 컨텍스트 스위칭 비용 제거, 로컬 파일 직접 접근으로 코드 분석·수정 효율화

    🔌

    확장 가능한 생태계

    MCP 표준 준수로 서드파티 도구 통합 용이, 플러그인 방식 MCP 서버 추가로 기능 확장

    ✨

    사용자 경험 개선

    스트리밍 응답으로 실시간 피드백, 프로젝트 컨텍스트 자동 인식으로 정확도 향상

    정량적 성과

    아키텍처 품질 지표
    항목비교값 (개)
    핵심 모듈 수44 개
    외부 설정 파일22 개
    MCP 서버 플러그인 지원1010 개

    개발 효율성

    setup.sh 스크립트로 원클릭 환경 구성이 가능합니다. devx-agent 단일 명령어로 즉시 실행할 수 있습니다.

    아키텍처 품질

    4개 핵심 모듈(main, llm_client, mcp_agent, config)로 명확한 책임 분리를 달성했습니다. .env 및 mcp-config.json을 통해 환경별 설정을 외부화하여 관리합니다.

    사용성

    DevX 토큰을 재사용하여 별도 인증 절차가 불필요합니다. 실행 디렉토리 기반으로 프로젝트를 자동 인식합니다.

    기술 스택 & 도구

    Core Technologies

    • Language: Python 3.11+
    • Package Manager: uv (고속 Python 패키지 관리자)
    • Async Runtime: asyncio, aiohttp

    Protocols & Standards

    • MCP (Model Context Protocol): AI 에이전트와 도구 간 표준 통신 프로토콜
    • SSE (Server-Sent Events): 스트리밍 응답 처리

    Infrastructure

    • LLM API: 신세계 DevX LLM API (LangGraph 기반)
    • Configuration: python-dotenv, JSON

    Development Tools

    • CLI Framework: Python argparse/click
    • Environment Management: .env, mcp-config.json

    향후 개선 방향

    성능 최적화
    • 응답 캐싱 레이어 도입
    • 병렬 도구 호출 지원
    사용성 개선
    • 대화 히스토리 검색 기능
    • 자동 완성 및 명령어 제안