ChatGPT나 Claude.ai 같은 서비스를 웹 브라우저나 앱으로 써 온 분이라면 "AI 도구"라고 하면 화면에 채팅창이 뜨고 마우스로 클릭하며 쓰는 모습을 떠올리기 쉽다. 그런데 최근에는 Claude Code, Codex처럼 화면이 아니라 터미널이라는 검은 글자 창에서 쓰는 AI 도구들이 늘고 있다. 이 글은 이 둘의 차이를, CLI(Command Line Interface, 명령줄 인터페이스)가 무엇인지부터 완전히 처음 설명한다. 전문 용어는 처음 등장할 때 바로 풀어 쓴다.
GUI란 무엇이고, CLI란 무엇인가
지금까지 컴퓨터나 스마트폰에서 앱을 쓸 때 대부분은 GUI(Graphical User Interface, 그래픽 사용자 인터페이스)를 쓴다. 아이콘을 마우스로 클릭하고, 메뉴를 펼치고, 버튼을 누르는 방식이다. ChatGPT 웹사이트나 Claude.ai 앱도 GUI이다. 화면에 그려진 채팅창에 글자를 입력하고, 전송 버튼을 누르거나 Enter 키를 치면 답이 화면에 나타난다.
CLI(Command Line Interface, 명령줄 인터페이스)는 이와 달리 그림이나 버튼 없이, 글자로만 된 터미널이라는 창에 명령어(컴퓨터에게 무엇을 하라고 지시하는 정해진 형식의 글자)를 입력해서 쓰는 방식이다. 터미널은 macOS의 "터미널" 앱, Windows의 "명령 프롬프트"나 "PowerShell", Linux의 각종 터미널 앱처럼 운영체제마다 이름은 다르지만 하는 역할은 같다. 글자를 입력하고 Enter를 누르면, 화면에 그림이 그려지는 대신 결과가 텍스트로 바로 출력된다.

예를 들어 컴퓨터의 어떤 폴더 안에 어떤 파일이 있는지 확인한다고 해봅시다. GUI에서는 파일 탐색기 아이콘을 찾아 클릭하고, 원하는 폴더를 찾아 다시 클릭하고, 화면에 그려지는 아이콘들을 눈으로 훑어봐야 한다. CLI에서는 터미널을 열고 ls(macOS·Linux) 또는 dir(Windows)라는 명령어 한 줄을 입력하면, 그 폴더 안의 파일 이름이 곧바로 텍스트로 출력된다. 어느 쪽이 더 "좋다"는 게 아니라, 그림으로 보여줄지 글자로 보여줄지의 차이이다. 다만 반복 작업이나 정확히 같은 절차를 다시 실행해야 할 때는, 명령어를 저장해 두었다가 그대로 다시 실행할 수 있는 CLI 쪽이 훨씬 간편하다.
여기서 오해하기 쉬운 것이 하나 있다. GUI는 화면 뒤에서 아무 일도 안 일어나고, CLI만 "진짜 실행"을 한다고 생각하기 쉽지만 그렇지 않다. ChatGPT 웹사이트에서 버튼을 클릭하면, 그 순간 브라우저 안에 있는 코드(JavaScript)가 반응해서 인터넷으로 서버에 요청을 보내고, 서버는 그 요청을 받아 프로그램을 실행해 결과를 계산한 뒤 다시 화면에 돌려준다. 사람 눈에는 버튼 하나를 누른 것뿐이지만, 뒤에서는 이미 프로그램 실행과 데이터 처리가 여러 단계에 걸쳐 일어나고 있는 것이다. CLI에서 명령어를 입력했을 때도 결국 "프로그램을 실행해 결과를 계산한다"는 마지막 단계는 똑같다. 다만 중간에 화면을 그리고 인터넷으로 요청을 주고받는 단계 없이, 사람이 입력한 명령이 곧바로 그 실행 단계로 전달된다는 점이 다르다.

ChatGPT/Claude.ai와 Claude Code/Codex는 무엇이 다른가
ChatGPT와 Claude.ai는 웹사이트나 데스크톱 앱 형태의 GUI이다. 채팅창에 질문을 입력하면 AI가 답을 채팅창에 출력한다. 파일을 업로드하거나 코드를 복사해서 붙여넣는 것도 모두 마우스 클릭과 화면 조작으로 이뤄진다.
반면 Claude Code와 Codex는 터미널 안에서 실행되는 AI 도구이다. 개발자가 실제로 작업 중인 폴더(프로젝트 폴더)에서 터미널을 열고 claude나 codex 같은 명령어를 입력해 실행하면, AI가 그 폴더 안의 실제 파일을 직접 읽고 수정하고, 필요하면 다른 명령어(예: 테스트 실행 명령)까지 대신 실행할 수 있다. 웹 채팅창에 코드를 복사해서 붙여넣고, AI가 준 답을 다시 복사해서 파일에 붙여넣는 과정을 거치지 않고, AI가 파일과 터미널을 직접 다룬다는 점이 핵심적인 차이이다.
이 차이를 AI 사용자 입장에서 다시 보면 더 분명해진다. ChatGPT나 Claude.ai 같은 GUI에서는 AI가 프로젝트를 직접 볼 수 없기 때문에, 사람이 매번 어떤 파일의 어떤 부분을 보여줄지 골라서 채팅창에 붙여 넣어야 한다. AI가 코드를 고쳐 주면, 그 코드를 사람이 다시 파일에 옮겨 저장하고, 사람이 직접 실행해서 에러가 나면 그 에러 메시지를 또 복사해 채팅창에 붙여야 한다. 이 왕복을 몇 번이고 사람이 손으로 반복한다.
Claude Code나 Codex 같은 CLI 도구에서는 이 왕복의 상당 부분을 AI가 직접 한다. AI가 프로젝트 폴더의 파일을 스스로 찾아 읽고, 필요한 부분을 고치고, 터미널에서 테스트나 빌드 명령을 직접 실행한 뒤, 그 결과(성공했는지, 어떤 에러가 났는지)를 스스로 확인해서 다시 고치는 과정까지 반복할 수 있다. 사람이 복사·붙여넣기로 맥락과 결과를 옮겨 주는 역할을, AI가 파일과 터미널에 직접 접근해서 대신하는 셈이다.

그래서 CLI 기반 AI 도구를 쓸 때는 확인 습관이 더 중요해진다. AI가 실제 파일을 바꾸고 실제 명령을 실행할 수 있다는 것은, 잘못된 지시나 오해가 있을 때 되돌리기 어려운 변경도 그만큼 쉽게 만들 수 있다는 뜻이기 때문이다. 이 부분은 아래 "자주 헷갈리는 지점"에서 다시 다룬다.
컨텍스트 윈도우를 채우는 방식도 다르다
컨텍스트 윈도우(context window)는 AI가 한 번에 기억하고 참고할 수 있는 대화·자료의 최대 용량을 말한다. 이 용량은 무한하지 않아서, 다 채우면 오래된 내용부터 밀려나거나 AI가 앞서 나온 내용을 놓치기 시작한다. GUI와 CLI는 이 한정된 용량을 채우는 방식 자체가 다르다.
ChatGPT나 Claude.ai 같은 GUI에서는 사람이 필요하다고 생각하는 파일 내용이나 에러 메시지를 직접 골라 채팅창에 붙여 넣는다. 대화가 길어질수록 이전 질문과 답변 전체가 하나의 창에 계속 쌓이고, 그 창이 다 차면 오래된 내용부터 밀려나거나 AI가 앞선 맥락을 잊기 시작한다.
Claude Code 같은 CLI 도구에서는 이 문제를 다른 방식으로 다룬다. Anthropic의 공식 문서에 따르면 Claude Code는 서브에이전트(subagent, 특정 작업을 맡아 처리하는 보조 AI)를 이용해, 코드 탐색이나 검색처럼 결과가 길고 다시 참고할 일이 없는 작업을 메인 대화와 분리된 별도의 컨텍스트 윈도우에서 처리하게 한다. 서브에이전트가 방대한 검색 결과나 로그를 뒤진 과정 자체는 그 별도 창 안에만 남고, 메인 대화로는 요약된 결과만 돌아온다. 공식 문서는 이를 "옆 작업이 검색 결과나 로그, 다시 참고하지 않을 파일 내용으로 메인 대화를 채워 버릴 때 서브에이전트를 쓰라"고 설명한다.

결과적으로 GUI에서는 대화가 길어질수록 사람이 직접 대화를 정리하거나 새 대화를 시작해야 하는 경우가 많은 반면, CLI 기반 도구는 메인 대화의 컨텍스트 윈도우를 상대적으로 오래 여유 있게 유지할 수 있다. 다만 이것이 "CLI는 컨텍스트 관리가 필요 없다"는 뜻은 아니다. 서브에이전트로 넘겨도 되는 작업과 메인 대화에서 직접 처리해야 하는 작업을 구분하는 것 자체가 하나의 기술이며, 서브에이전트 수·동시 실행 개수에도 공식 문서가 명시한 한도가 있다.
이미 존재해 온 CLI 도구들
사실 CLI 자체는 AI 시대에 새로 생긴 개념이 아니다. 개발자들은 이미 여러 서비스의 공식 CLI를 오래전부터 써 왔다.
- GitHub CLI(
gh): GitHub이 공식 배포하는 CLI로, 터미널에서 이슈를 만들고 Pull Request를 검토하고 저장소를 관리할 수 있다. 공식 매뉴얼은 cli.github.com/manual에 있다. - Cloudflare의
cloudflared와wrangler:cloudflared는 로컬에서 실행 중인 서버를 외부 인터넷에 안전하게 연결하는 터널을 만드는 CLI이고,wrangler는 Cloudflare Workers(코드를 실행하는 Cloudflare의 서버리스 플랫폼)에 배포할 코드를 빌드·배포하는 CLI이다. 공식 문서는 각각 developers.cloudflare.com(cloudflared)과 developers.cloudflare.com/workers/wrangler(wrangler)에 있다. - Supabase CLI: Supabase(오픈소스 백엔드 서비스)의 로컬 개발 환경과 데이터베이스 마이그레이션(데이터베이스 구조를 버전 관리하듯 바꿔나가는 절차)을 관리하는 CLI이다. 공식 문서는 supabase.com/docs/guides/local-development/cli/getting-started이다.

이 프로젝트가 실제로 돌아가는 환경(Ubuntu 26.04 LTS, 2026-07-31 확인)에는 GitHub CLI가 이미 설치돼 있어서, gh --version을 실행하면 gh version 2.95.0 (2026-06-17)처럼 설치된 버전이 그대로 출력된다. 이는 이 환경에서만 확인한 스팟체크이며, 모든 환경에서 동일한 버전이 설치돼 있다는 뜻은 아니다.
왜 요즘 서비스들이 새로 CLI를 내놓는가
2026년 7월 말, Google은 Gmail·Drive·Calendar·Sheets·Docs 같은 Google Workspace 서비스 전체를 하나의 명령어로 다룰 수 있는 Google Workspace CLI(gws)를 공개했다. 공식 저장소(github.com/googleworkspace/cli, 2026-07-31 확인 기준 별 3만 개 이상)의 README는 이 도구를 "사람과 AI 에이전트 모두를 위해 만든 하나의 CLI"라고 소개하며, 모든 응답을 구조화된 JSON(프로그램이 읽기 쉬운 정해진 형식의 텍스트)으로 반환하고, AI 에이전트가 바로 쓸 수 있는 40개 이상의 "에이전트 스킬"을 함께 제공한다고 밝히고 있다. 다만 이 README는 "Google이 공식으로 지원하는 제품은 아니다(This is not an officially supported Google product)"라는 표준 고지도 같은 문단에 함께 적어 두었다. Google 브랜드로 배포되지만 지원 보증의 성격은 커뮤니티 프로젝트에 가깝다는 뜻이므로, 이 구분을 그대로 전달한다.
Gmail이나 Drive처럼 원래 웹·앱 GUI 중심이던 서비스가 왜 지금 CLI를 새로 내놓을까? 답은 AI 에이전트가 일하는 방식에 있다. 사람은 화면을 보고 버튼 위치를 눈으로 찾아 클릭하는 데 익숙하지만, AI 에이전트가 이 방식을 흉내내려면 화면을 이미지로 캡처해서 분석하고, 버튼이 있을 법한 좌표를 추측해서 가상으로 클릭해야 한다. 이 방식은 화면 디자인이 조금만 바뀌어도 좌표 추측이 어긋나 실패하기 쉽다. 반면 CLI는 명령어 이름과 입력·출력 형식이 문서로 고정된 하나의 "계약"이기 때문에, 에이전트가 정해진 문법으로 명령을 한 줄 만들어 실행하고, 구조화된 텍스트로 결과를 돌려받는 방식이 훨씬 안정적이다.


자주 헷갈리는 지점
"CLI는 개발자만 쓰는 어려운 도구다": 실제로는 명령어 하나하나가 정해진 이름과 형식을 가진 짧은 문장에 가깝다. ls(목록 보기), gh issue list(이슈 목록 보기)처럼 이름 자체가 하는 일을 설명하는 경우가 많고, 대부분의 CLI는 --help라는 옵션을 붙이면 사용법을 그 자리에서 보여준다. 처음에는 낯설지만 배우는 데 필요한 배경지식이 특별히 많지는 않다.
"터미널 기반 AI 도구는 GUI 도구보다 무조건 더 강력하다": 터미널 기반 도구는 실제 파일과 시스템에 직접 접근할 수 있다는 점에서 할 수 있는 일의 범위가 넓어지는 것이지, 답변의 품질 자체가 항상 더 낫다는 뜻은 아니다. 그리고 실제 파일과 시스템에 접근할 수 있다는 것은 잘못된 명령이 실행됐을 때 되돌리기 어려운 변경도 만들 수 있다는 뜻이므로, 무엇을 실행하는지 확인하는 습관이 GUI를 쓸 때보다 더 중요하다.
"CLI를 쓰려면 먼저 프로그래밍을 배워야 한다": CLI 사용과 프로그래밍은 다른 기술이다. 위에서 소개한 gh, cloudflared, wrangler, supabase CLI들은 모두 코드를 작성하지 않고도 명령어만으로 실제 서비스를 관리할 수 있게 만들어져 있다.
다음 글에서 다룰 것
이 글에서 CLI가 무엇인지, GUI와 무엇이 다른지, 왜 AI 에이전트 시대에 CLI가 다시 주목받는지를 살펴봤다. 다음 화·금 트랙에서는 이 배경지식을 바탕으로 실제 터미널 기반 AI 도구인 Claude Code의 설치 방법부터 순서대로 다룬다.
참고: GitHub CLI 공식 매뉴얼, Cloudflare cloudflared 공식 문서, Cloudflare Wrangler 공식 문서, Supabase CLI 공식 문서, Google Workspace CLI(gws) 공식 저장소
