본문으로 건너뛰기

CLI Is All You Need

CLI Is All You Need - Deep Code가 다른 AI 코딩 도구보다 뛰어난 이유

사람들은 자주 묻습니다. "Claude Code가 다른 AI 코딩 도구보다 확실히 나은 건 알겠는데, 왜 그런지를 딱히 설명할 수가 없어요." 아래에 소개할 Marco Franzon의 블로그 글이 그 이유를 훌륭하게 짚어줍니다. Claude Code와 최근 인기를 끄는 OpenClaw는 모두 하나의 근본적 특성을 공유합니다. 대형 언어 모델의 능력을 시스템의 터미널 명령줄에 직접 연결한다는 것입니다. 바로 이 점이 AI가 단순히 '제안을 던져주는' 것을 넘어, 여러분의 프로젝트 디렉터리에 들어가 직접 일할 수 있게 만듭니다. 검색하고, 수정하고, 실행하고, 테스트하고, 커밋하고, 디버깅하면서 하나의 단단한 자동화 개발 루프를 만들어냅니다. 많은 사람이 터미널을 '구식 입력 방식'이라고 생각하지만, 사실은 정반대입니다. 세계에서 가장 중요한 정보 시스템은 모두 명령줄 위에서 돌아갑니다. 은행의 거래 처리, 항공사의 예약과 스케줄링, 물류의 분류와 추적, 정부와 공공기관의 핵심 업무 프로세스까지. 명령줄이 이토록 오랫동안 '범용 인터페이스' 자리를 지킬 수 있었던 이유는 충분히 안정하고, 충분히 범용적이며, 충분히 조합할 수 있고, 충분히 자동화하기 쉽기 때문입니다. LLM은 방대한 명령줄 데이터로 학습되어 놀라운 정밀도로 명령줄을 다룰 수 있습니다. 강력한 LLM과 명령줄의 유연성이 만나면, 그 결과는 인류가 지금까지 본 것과는 전혀 다른 조합이 됩니다.

MCP의 과대광고 시대는 끝났습니다.

지난 2년간 AI 에이전트 도구의 미래로 널리 여겨졌던 MCP(Model Context Protocol)는 실전에서는 너무 번거롭다는 것이 드러났습니다. 2026년, 속도와 효율을 중시하는 개발자들은 명령줄 터미널로 돌아가고 있습니다. 개발자들은 AI LLM에 Shell에 대한 직접 접근 권한을 부여합니다. 그러면 에이전트는 수십 년간 실전에서 검증된 도구들을 호출할 수 있게 됩니다. git, rg, grep, npm, docker, curl, jq, tail 같은 도구들 말입니다. 더 이상 커스텀 서버도 필요 없고, 컨텍스트 창을 채워버리는 부풀려진 스키마 설명도 필요 없습니다. 필요한 건 강력한 AI 모델과 Bash 또는 Zsh 한 쌍뿐이며, Deep Code 같은 AI 보조 코딩 도구는 놀라운 결과를 내줍니다.

일상 개발에서 MCP가 매력을 잃은 이유

전형적인 개발 워크플로에서 MCP는 마찰을 줄이기는커녕 오히려 늘리는 경우가 많습니다. 이유는 대략 이렇습니다.

  • 토큰 오버헤드: 길고 복잡한 도구 목록과 스키마 설명이 소중한 컨텍스트 공간을 잡아먹습니다.
  • 바퀴의 재발명: 커스텀 MCP 서버는 표준 CLI 도구가 이미 안정적으로 처리하는 기능을 빈번하게 중복합니다.
  • 조합성 부족: 개발자는 Unix 시스템이 수십 년에 걸쳐 완성한 파이핑, 체이닝, 즉석 수정 능력을 잃게 됩니다.
  • 모델 호환성: 선두권 LLM은 Shell 사용법으로 폭넓게 학습되었습니다. 이 모델들은 파라미터, 파이프, 에러 메시지, 문서를 놀랍도록 정확하게 이해합니다.

최선의 실천법은 단순합니다. Deep Code에서 프로젝트 디렉터리를 여세요, 안전 가드레일 안에서 Shell 실행 권한을 부여한 뒤, 하고 싶은 일을 말로 설명해 주면 됩니다. Deep Code가 알아서 계획하고, 명령을 실행하고, 파일을 편집하고, 테스트를 돌리고, 코드를 커밋하고, 디버깅합니다.

엄격한 타입 안전성이 필요한 규제 대상 엔터프라이즈 환경이나 SaaS API 연동에서는 여전히 MCP의 가치가 있습니다. 하지만 일상 업무의 80~90%에서 MCP는 그저 소음일 뿐입니다.

명령줄이 MCP를 압도하는 시나리오

일상 개발에서 저는 MCP의 한계가 너무나 뼈저리게 느껴지는 상황을 자주 만납니다.

프로젝트 전체 코드 리팩토링

Deep Code는 rg "oldDeprecatedFunction" 같은 명령으로 시작합니다. 변경 범위를 파악합니다. 여러 파일에 걸쳐 정밀하게 편집합니다. git diff로 검토합니다. npm test 또는 cargo test를 실행합니다. 그런 다음 커밋합니다. refactor: remove deprecated API calls

이런 시나리오에서 GitHub MCP 서버는 필요 없습니다. rg와 git면 충분합니다.

프로덕션 버그의 풀스택 디버깅

Deep Code에게 이렇게 지시합니다. Reproduce the user authentication failure in the staging environment. Deep Code가 코드를 가져오고, 스테이징 환경을 띄우고, 로그 에러를 모니터링합니다. curl로 API를 찔러보고, docker-compose로 데이터베이스를 시작하고, 특정 테스트 케이스를 실행합니다.

Docker MCP도 필요 없고, 로깅 MCP도 필요 없습니다. 그저 제대로 된 Shell 하나면 됩니다.

새 마이크로서비스 스캐폴딩

Deep Code에게 이렇게 지시합니다. Build a Rust user profile API with Axum + sqlx. Use Postgres for the database. Deep Code는 기계에 이미 설치된 툴체인(예: Rust의 cargo)을 사용해 프로젝트를 만들고, 의존성을 추가하고, 서비스를 시작합니다.

이미 갖춰진 툴체인으로 충분합니다. 데이터베이스 MCP는 필요 없습니다.

불안정한 CI/CD 실패 수정

Deep Code가 저장소를 복제합니다. act로 워크플로를 로컬에서 실행합니다. 실패 지점을 정확히 짚어냅니다. .github/workflows/ci.yml 또는 Dockerfile을 수정합니다. docker build로 검증합니다. 브랜치를 푸시합니다. gh로 PR을 엽니다.

모두 표준 CLI 도구입니다. 커스텀 CI 연동 계층은 필요 없습니다.

개발자 피드백에 나타난 패턴

Deep Code의 자체 명령줄 방식을 사용하는 팀들은 다음과 같은 장점을 보고했습니다.

  • 눈에 띄게 빨라진 인도 속도.
  • 예측 가능해진 토큰 소비.
  • AI 보조 도구의 행동에 대한 투명성 향상.
  • AI 작업에 대한 감독과 디버깅 용이성.

요약하자면, 떠오르는 합의는 명확합니다. 연동을 만들지 마세요. 대신 CLI 도구를 만드세요. Bash야말로 궁극의 MCP이니까요.

터미널은 언제나 범용 개발 환경이었습니다

2026년, 터미널은 AI 코딩 에이전트를 위한 가장 강력한 인터페이스이기도 합니다. 특수한 엔터프라이즈 도구를 다루는 게 아니라면, 무거운 MCP 스택은 그냥 건너뛰어도 됩니다.

Deep Code에서 프로젝트 디렉터리를 열고, Shell 접근 권한만 주고, 작업을 설명하면, 그다음은 알아서 합니다.