자동화의 미래는 정말 MCP일까?
요즘 많은 사람들이 AI와 자동화의 미래로 MCP(Model Context Protocol) 방식 같은 툴 연동 구조를 이야기합니다. 하지만 정작 실무에 적용해본 사람이라면, 이런 방식이 과연 실제로 효과적인가에 대한 의문을 품었을 겁니다. 추론 기반 자동화는 멋져 보이지만, 막상 디버깅은 어렵고, 결과는 들쭉날쭉합니다.
반면, 코드 기반 자동화는 반복성과 검증 가능성 면에서 여전히 강력합니다. 특히 LLM이 코드를 생성하고 또 다른 LLM이 이를 검토하는 구조는 지금 시점에서 가장 현실적이고 확장 가능한 자동화 방식입니다. 이 글에서는 직접 실험한 사례를 중심으로, 왜 "코드만 있으면 충분한지" 그 이유를 구체적으로 설명합니다.
MCP 방식이 겪는 한계: 추론의 비용과 비효율
많은 자동화 툴이 MCP 방식을 채택하고 있습니다. 예를 들어 Playwright 같은 도구는 브라우저를 제어하면서 단계별로 추론을 반복합니다. 하지만 문제는 그 추론이 항상 정확하지 않다는 것입니다. 버튼 위치나 페이지 구조가 바뀌면 매번 추론해야 하고, 예외 처리는 복잡해지며 디버깅은 까다로워집니다.
MCP가 실패하는 핵심 이유는 두 가지입니다.
- 조합성이 부족합니다. 다양한 작업을 조합해 처리하기 어렵고, 유연성이 떨어집니다.
- 과도한 문맥 제공이 필요합니다. 결국 코드 직접 실행보다 더 많은 리소스를 소비하게 됩니다.
실제로 GitHub MCP를 사용한 작업과 gh CLI 툴을 이용한 동일 작업을 비교해 보면, 코드 기반 CLI 방식이 더 빠르고 안정적이라는 것을 쉽게 확인할 수 있습니다.
자동화의 본질은 반복과 재사용: 그래서 코드는 더 낫다
자동화의 핵심은 단순합니다. 한 번만 하고 말 일이 아니라, 수십 번 반복할 작업을 기계가 처리하게 만드는 것입니다. 그리고 그 반복을 제어하는 가장 효과적인 방법이 바로 코드입니다.
추론 기반 자동화는 사람처럼 판단을 내리며 진행되지만, 그만큼 오차가 발생합니다. 반면, 코드는 명확한 로직을 따릅니다. 파이썬 코드 한 줄로도 복잡한 계산을 정확하게 처리할 수 있으며, 로직 자체를 검토하고 재사용할 수 있습니다.
예를 들어, LLM에게 직접 계산을 시키는 것보다, 파이썬 코드로 계산 로직을 짜게 하고 이를 실행하면 결과의 신뢰도와 확장성이 모두 향상됩니다.
실제 사례: LLM → 코드 → LLM 루프의 힘
다음은 실제 업무에서 사용한 사례입니다. 블로그 전체 포맷을 reStructuredText에서 Markdown으로 변환하는 작업이었습니다.
처음에는 단순 변환처럼 보였지만, 직접 해보니 구조적인 차이와 누락이 많아 쉽게 처리되지 않았습니다. 그래서 LLM을 활용해 다음과 같은 구조를 구성했습니다.
- LLM에게 AST 기반 변환 로직 생성 요청
- reStructuredText를 AST로 파싱하고, 이를 Markdown AST로 변환 후 HTML로 렌더링.
- 기존 HTML과 신규 HTML을 비교하는 코드 작성 요청
- 공백, 문법 차이 등 사소한 차이는 자동으로 무시하고 본질적 오류만 탐지.
- 수백 개 파일을 배치로 분석하는 스크립트 추가
- 샘플을 기준으로 반복 개선하고, 기준을 통과하면 전체 포스트에 일괄 적용.
이 전체 과정은 LLM이 추론해서 성공한 것이 아니라, 코드가 검증 가능했기 때문에 신뢰할 수 있었습니다.
MCP 방식보다 코드 생성 기반이 더 나은 이유
MCP의 대표 사례인 Playwright를 다시 보겠습니다. 이 도구는 추론으로 페이지 구조를 이해하고 버튼을 눌러야 하는 구조입니다. 추론이 실패하면 전체 플로우가 무너집니다. 반면, Playwright의 파이썬 스크립트를 코드로 생성해 직접 실행하면 반복성과 신뢰도가 훨씬 높습니다.
한 번 스크립트를 만들면 수십 번 반복 실행이 가능하고, 추론 단계가 생략되기 때문에 디버깅과 유지 관리가 쉬워집니다. 이는 개발자뿐 아니라, 자동화를 시도하는 실무자에게도 큰 장점이 됩니다.
자동화를 고민 중이라면, 일단 코드를 선택하라
자동화를 고민할 때 가장 먼저 고려해야 할 것은 도구가 아니라 구조입니다. 반복 가능하고, 검증할 수 있으며, 실패했을 때 원인을 파악할 수 있어야 합니다. MCP 같은 방식은 여전히 실험적이며, 디버깅과 유지 관리에서 많은 비용이 듭니다.
반면 코드 기반 접근은 현재 사용할 수 있는 가장 신뢰할 수 있는 방법입니다. LLM을 활용하면 비개발자도 기본적인 자동화 코드를 만들 수 있고, 다른 LLM을 통해 검토 및 개선 루프를 구성할 수도 있습니다.
지금은 "코드를 작성하는 LLM", 그리고 "그 코드를 심사하는 LLM"이 함께 작동하는 구조가 자동화의 핵심으로 떠오르고 있습니다. 이 구조를 바탕으로, 더 많은 작업을 자동화하고, 더 빠르게 문제를 해결할 수 있게 될 것입니다.
https://lucumr.pocoo.org/2025/7/3/tools/
Tools: Code Is All You Need
The solution to agentic flows was code all along.
lucumr.pocoo.org