검은색 터미널 패널, 반투명한 코드 편집기 패널, 작업 카드가 배치된 파란색 데스크톱 앱 패널이 나란히 놓여 있다.
AI 활용

CLI, IDE, Desktop app, 무엇을 써야 할까?

터미널에서 시작해 VS Code와 Cursor, Wave를 거쳐 Desktop app에 정착했다. 가장 좋은 개발 도구는 기능이 많은 도구가 아니라, 내가 실제로 확인하고 통제하려는 것을 잘 보여주는 도구였다.

AI 코딩 도구를 처음 사용했을 때 나도 터미널로 시작했다.

개발자들이 CLI를 많이 사용하기도 했고, 터미널에서 직접 명령을 내리는 방식이 가장 기본적인 사용법이라고 생각했다. 실제로 Codex CLI도 로컬 컴퓨터의 터미널에서 실행되는 코딩 에이전트다. 대화형으로 사용할 수 있을 뿐만 아니라 codex exec처럼 명령을 비대화식으로 실행할 수 있어 반복 작업과 자동화에도 연결하기 좋다. OpenAI Codex 공식 저장소

그렇지만 나에게 터미널의 사용성은 좋지 않았다.

화면을 분할하거나 세션을 이동하는 단축키부터 익혀야 했고, 사용하는 도구마다 화면 구성과 조작 방식도 달랐다. 하나의 작업만 진행할 때는 괜찮았지만, 여러 도구와 worktree에서 작업을 동시에 진행하기 시작하니 어느 화면이 어떤 작업과 연결돼 있는지 확인하기 어려워졌다.

각 worktree에서 어떤 작업이 진행 중인지, 어디까지 끝났는지, 이제 무엇을 검토해야 하는지를 파악하려면 여러 터미널 화면을 직접 오가야 했다.

CLI의 기능이 부족한 것은 아니었다. 오히려 직접 통제할 수 있는 범위는 넓었다. 다만 그 통제권을 활용하려면 명령어뿐만 아니라 터미널 단축키, 세션, Git 브랜치와 worktree의 관계까지 계속 머릿속에서 연결해야 했다.

나에게는 개발 자체보다 작업 환경을 관리하는 데 더 많은 에너지가 필요했다.

결국 좋은 기능과 나에게 좋은 사용성은 다른 문제였다.

코드를 보려면 IDE가 편했다

터미널 다음에는 VS Code를 사용했다.

VS Code는 코드 편집, 디버깅, 테스트, Git, 터미널을 한 화면에서 사용할 수 있다. 수정된 파일과 변경된 코드를 화면에서 비교할 수 있다는 점도 터미널보다 이해하기 쉬웠다. VS Code 공식 문서

이후에는 Cursor도 사용했다. Cursor의 Agent는 코드베이스를 검색하고, 여러 파일을 수정하고, 터미널 명령을 실행할 수 있다. 변경된 내용은 diff 화면을 통해 검토할 수 있다. Cursor 공식 문서

IDE의 장점은 분명했다.

코드를 직접 읽으면서 AI가 수정한 부분을 한 줄씩 확인할 수 있다. 작은 부분을 내가 직접 고치거나, 오류가 발생한 위치를 찾아가며 AI와 함께 해결하기도 좋다. 무엇보다 코드가 어떻게 변하는지 눈앞에서 확인할 수 있다.

다만 사용하다 보니 내가 IDE의 가장 큰 장점을 제대로 활용하지 않는다는 것을 알게 됐다.

나는 필요하다면 코드를 직접 수정할 수 있다. 문제가 발생한 부분을 찾아 코드를 고치고 결과를 확인하는 것도 가능하다.

하지만 AI 에이전트와 함께 작업하면서는 내가 직접 코드를 수정하는 것보다, 지금까지의 요구사항과 선택 이유를 에이전트가 계속 이해하고 있는지가 더 중요하다고 판단했다.

내가 중간에 코드를 수정하면 당장의 문제는 빠르게 해결할 수 있다. 그러나 에이전트가 그 변경의 이유와 다음 작업에 미치는 영향까지 자동으로 이해하는 것은 아니다. 결국 변경한 맥락을 다시 설명해야 하거나, 서로 다른 기준으로 작업이 이어질 수도 있다.

그래서 어느 파일의 코드를 내가 직접 고칠지보다, 에이전트가 전체 맥락을 놓치지 않은 상태에서 작업을 이어가도록 하는 데 집중하게 됐다. 나에게 중요한 것은 코드를 직접 다루는 행위보다, 요구사항이 제대로 반영됐는지 확인하고 결과를 검토하는 일이었다.

코드를 중심으로 만들어진 화면 안에서 나는 계속 코드가 아닌 다른 정보를 찾고 있었다.

Wave는 터미널과 UI 사이에 있었다

그다음 사용한 도구는 Wave Terminal이었다.

Wave Terminal은 일반적인 터미널에 파일 미리보기, 브라우저, 편집기, AI 기능을 결합한 도구다. 터미널을 벗어나지 않고도 그래픽 화면을 함께 사용할 수 있도록 만들어졌다. Wave 공식 문서

터미널보다 시각적으로 많은 정보를 확인할 수 있었고, 여러 작업을 화면에 나누어 배치할 수 있다는 점도 편했다.

Wave Terminal을 선택한 가장 큰 이유는 tmux를 활용하고 Linux 환경에서 개발해보고 싶었기 때문이다.

tmux를 이용하면 여러 세션과 화면을 나누고, 서로 다른 작업을 동시에 관리할 수 있을 것 같았다. Wave Terminal은 터미널을 중심에 두면서도 파일과 작업 내용을 시각적으로 확인할 수 있어 기존 터미널의 불편함을 줄여줄 것으로 기대했다.

하지만 실제로 Linux 환경에서 작업해보니 생각보다 너무 불편했다. 익숙하지 않은 설정과 사용 방식을 마주칠 때마다 문제를 해결하는 것뿐만 아니라, 내가 왜 이 환경을 사용하고 있는지부터 다시 고민하게 됐다.

분명 더 강력하게 활용할 수 있는 방법은 있었겠지만, 당시의 나는 그 불편함을 감수하면서 얻는 장점이 무엇인지 제대로 체감하지 못했다. tmux와 Linux를 익히는 일이 내가 만들고 싶은 것을 만드는 데 직접 도움이 되는지도 확신하기 어려웠다.

결국 나에게 필요했던 것은 터미널을 더 잘 다루도록 도와주는 도구가 아니었다. 여러 작업의 진행 상태와 결과를 더 쉽게 확인하고, 필요한 판단에 집중할 수 있게 해주는 작업 방식이었다.

내가 Desktop app에 정착한 이유

현재는 Desktop app만 사용하고 있다.

Desktop app에서는 작업이 대화와 작업 단위로 구분된다. 어떤 작업이 진행 중인지, 어느 단계에서 나의 확인이 필요한지, 다른 작업과 충돌할 가능성이 있는지를 화면에서 확인할 수 있다.

Codex app도 여러 에이전트를 병렬로 실행하고, 프로젝트별 작업을 thread로 관리하며, 각 작업을 분리된 Git worktree에서 수행할 수 있도록 설계됐다. 변경된 코드는 앱 안에서 검토하거나 필요할 때 편집기로 열 수 있다. OpenAI의 Codex app 소개

플러그인과 스킬도 화면에서 확인할 수 있다. 어떤 기능이 연결되어 있는지, 지금 사용할 수 있는 도구가 무엇인지 명령어를 외우지 않아도 알 수 있다.

이 차이가 나에게는 컸다.

내가 AI와 개발하면서 가장 많이 하는 일은 코드를 작성하는 것이 아니다.

무엇을 만들 것인지 설명하고, 작업 범위를 정하고, 중간 결과를 확인한다. 문제가 생기면 원인을 설명받고 다음 대응 방향을 판단한다. 작업이 끝나면 검증 결과를 보고 운영에 반영할지 결정한다.

그러다 보니 나에게 필요한 도구는 코드를 가장 잘 보여주는 도구보다 작업의 상태를 가장 잘 보여주는 도구였다.

물론 Desktop app도 완벽하지는 않다.

UI가 많은 과정을 대신 보여주기 때문에 실제로 어떤 명령이 실행됐는지 놓치기 쉽다. 브랜치와 worktree가 왜 나뉘는지, 로컬과 원격 Git이 어떻게 다른지 모르면 화면에 보이는 결과만으로 상황을 오해할 수도 있다.

결국 UI가 개발 지식을 완전히 대신해주는 것은 아니다. 다만 모든 명령을 내가 직접 실행하지 않아도, 필요한 판단을 할 수 있도록 정보를 정리해서 보여준다.

나에게는 그 편이 훨씬 잘 맞았다.

그래서 무엇을 선택해야 할까?

세 가지 도구를 사용해보면서 느낀 것은 가장 좋은 도구를 하나로 정하기 어렵다는 점이다.

개발을 많이 해봤고 터미널, Git, 파일 구조가 익숙하다면 CLI가 잘 맞을 수 있다. 명령을 세밀하게 통제하고 싶거나, 반복 작업을 스크립트와 자동화 파이프라인으로 연결해야 한다면 CLI의 장점이 크다. 화면보다 명령과 로그가 더 빠르게 읽히는 사람도 여기에 해당한다.

코드를 직접 읽고 수정하는 사람이라면 IDE가 적합하다. AI가 만든 코드를 한 줄씩 검토하고, 필요한 부분은 직접 고치며, 디버깅과 테스트를 같은 화면에서 이어가고 싶다면 VS Code나 Cursor가 자연스럽다. AI에게 모든 작업을 맡기기보다 함께 코드를 작성하는 방식에 가깝다.

반대로 코드를 직접 보는 것보다 작업 지시, 진행 확인, 결과 검토가 중요하다면 Desktop app이 편하다. 여러 작업을 동시에 진행하거나, 플러그인과 권한, 작업 상태를 화면에서 확인해야 하는 사람에게도 잘 맞는다. 개발자가 아닌 PM이나 디자이너가 AI와 함께 서비스를 만들 때도 진입 장벽이 낮다.

숙련도만으로 도구를 정할 필요는 없다.

개발 경험이 많더라도 여러 에이전트를 관리하는 일이 중심이라면 Desktop app이 더 효율적일 수 있다. 개발을 이제 막 시작했더라도 코드를 직접 배우고 싶다면 IDE를 사용하는 편이 낫다.

결국 중요한 것은 내가 작업하면서 가장 자주 확인하는 것이 무엇인지다.

명령과 실행 과정을 직접 통제하고 싶다면 CLI, 코드를 보면서 작업하고 싶다면 IDE, 에이전트에게 일을 맡기고 진행 과정과 결과를 관리하고 싶다면 Desktop app이 적합하다.

나는 마지막에 해당했다.

처음에는 개발을 하려면 터미널과 코드에 익숙해져야 한다고 생각했다. 지금은 생각이 조금 달라졌다. 내가 모든 코드를 직접 이해하는 것보다 무엇을 만들 것인지 판단하고, AI가 만든 결과가 요구사항에 맞는지 확인하는 일이 더 중요하다.

그래서 당분간은 Desktop app을 계속 사용할 것 같다. 나에게는 코드를 가장 가까이에서 보여주는 도구보다, 작업 전체를 가장 잘 보여주는 도구가 필요하기 때문이다.

이 글이 도움이 되었나요?