임팩트: 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 어시스턴트를 제공할 수 있게 되었습니다.
기술적 구현 상세
아키텍처 설계
- CLI Interface (main.py)
- MCP Agent Core (mcp_agent.py) — Tool Discovery, Context Mgmt, Message Orchestration
- LLM API Client (llm_client.py) — Streaming, Auth, Error Handling
- MCP Server Manager (mcp-config.json) — Server Connection, Tool Registration
- 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 서버 추가로 기능 확장
사용자 경험 개선
스트리밍 응답으로 실시간 피드백, 프로젝트 컨텍스트 자동 인식으로 정확도 향상
정량적 성과
| 항목 | 비교 | 값 (개) |
|---|---|---|
| 핵심 모듈 수 | 4 개 | |
| 외부 설정 파일 | 2 개 | |
| MCP 서버 플러그인 지원 | 10 개 |
개발 효율성
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
향후 개선 방향
성능 최적화
- 응답 캐싱 레이어 도입
- 병렬 도구 호출 지원
사용성 개선
- 대화 히스토리 검색 기능
- 자동 완성 및 명령어 제안