실무 경험: MCP 서버와 로컬 LLM으로 자동화 스택 대체하기

설정 및 하드웨어
개발자는 듀얼 3090 시스템에서 Qwen 2.5 32B(양자화)와 Llama 3.3 70B를 혼합 사용합니다. 각 자동화 작업은 고유한 MCP 서버를 가지며, 이 서버는 인간이 아닌 LLM이 사용하는 API처럼 작동하는 도구를 모델에 제공합니다.
잘 작동하는 부분
- 코드 리뷰 자동화: MCP 도구를 통해 모델에 git diff를 제공하면 논리 버그, 누락된 오류 처리, 경쟁 조건 등 실제 문제를 발견합니다. 시니어 개발자 리뷰의 약 70% 수준으로 작동합니다.
- 로그 분석 및 경고: MCP 서버가 ELK 스택에 연결되어 모델이 이상 패턴을 모니터링합니다. Grafana 경고가 발생하기 전에 3건의 프로덕션 문제를 발견했습니다. 핵심은 시스템의 '정상' 상태에 대한 충분한 컨텍스트를 제공하는 것입니다.
- 문서 생성: 모델이 MCP 파일 도구를 통해 코드베이스를 읽고 API 문서를 생성/업데이트하여 주당 수 시간을 절약하며, 실제로 좋은 출력 품질을 제공합니다.
아직 작동하지 않는 부분
- 다단계 추론 체인: 3-4개 이상의 도구 호출이 순차적으로 필요한 작업은 모델이 원래 목표의 컨텍스트를 잃어버리기 시작하면서 제대로 작동하지 않습니다. 작은 컨텍스트 윈도우는 이 문제를 더 악화시킵니다. 사고 과정 프롬프팅이 도움이 되지만 완전히 해결되지는 않습니다.
- 실시간 의사 결정: 70B 모델의 지연 시간으로 인해 시간에 민감한 작업에는 사용할 수 없습니다. 코드 리뷰 파이프라인은 PR당 2-3분이 소요되어 비동기 워크플로에는 적합하지만 실시간 애플리케이션에는 쓸모가 없습니다.
- 창의적 문제 해결: 로컬 모델은 훈련 데이터에 잘 표현되지 않은 접근 방식이 필요한 작업에 어려움을 겪습니다. API 모델(Claude, GPT-4)은 이 부분에서 눈에 띄게 더 나은 성능을 보입니다.
핵심 아키텍처 교훈
- MCP 서버를 무상태로 유지하세요. 모델이 서버 측 세션이 아닌 도구 호출을 통해 상태를 관리하도록 합니다.
- 재시도 로직을 서버가 아닌 MCP 클라이언트에 구축하세요. 모델은 약 5%의 확률로 잘못된 도구 호출을 합니다.
- 모델이 예상치 못한 동작을 할 때 디버깅을 위해 모든 도구 호출과 응답을 기록하세요.
- 다운스트림 시스템이 소비하는 모든 것에는 구조화된 출력(JSON 모드)을 사용하세요. 자유 형식 텍스트 출력은 디버깅 악몽입니다.
📖 전체 출처 읽기: r/LocalLLaMA
👀 See Also

프로덕션에서 14개의 AI 에이전트 운영에서 얻은 교훈: 기술적 결함이 아닌 조직적 격차
일상 업무에 14개의 AI 에이전트를 운영하는 디지털 마케팅 에이전시는 에이전트가 고장 나면 문제가 거의 항상 에이전트 자체가 아니라 조직 환경에 있다는 사실을 발견했습니다. 그들은 조직 운영 체계(OOS)와 OTP라는 도구를 개발하여 구조적 격차를 파악했고, 조정 점수를 100점 만점에 68점에서 91점으로 향상시켰습니다.

개발자의 2,500 Opus 토큰 소각: 실제 작업 흐름 대 도구
한 소프트웨어 샵 소유주가 OpenClaw를 통해 Opus 토큰에 2,500달러를 지출한 경험을 이야기하며, 버그 수정, 시각적 자동화, 서버 관리에 사용했지만 '워크플로'가 실제로 무엇을 의미하는지 의문을 제기합니다.

클로드 AI, 특정 프롬프트 없이 CSV 자동차 여행 데이터 분석
사용자가 자동차 여행 데이터의 CSV 내보내기 파일을 Claude AI에 업로드했고, Claude AI는 추가 프롬프트 없이 kWh/100마일 효율 지표에 대한 대화에서 시작하여 포괄적인 분석과 대시보드를 자동으로 생성했습니다.

OpenClaw 봇은 KMZ 데이터 추출과 스프레드시트 병합을 자동화합니다
사용자가 OpenClaw 봇을 사용하여 KMZ 파일을 파싱하고, 마일 표지판을 포함한 8가지 특정 데이터 포인트를 추출하며, 높은 정확도로 소수점 마일 위치를 계산하고, 기존 스프레드시트에 새 데이터를 덮어쓰지 않고 병합한 사례를 보고했습니다. 이 과정은 5분의 처리 시간과 $100 최대 플랜 세션 예산의 15%를 소요했습니다.