코딩 에이전트와, 에이전트가 시작한 모든 것.
Claude Code, Codex, Gemini CLI 등이 에이전트 탭에 이름으로 나타나고, 각자 작업 중인 프로젝트, 작업 중인지 사용자를 기다리는지, 그리고 시작한 모든 개발 서버, 브라우저, 도구 서버가 함께 표시됩니다. 세션을 종료하면 모두 함께 종료됩니다.
수치는 시뮬레이션입니다. 웹 페이지는 Mac을 읽을 수 없고, 읽어서도 안 됩니다.
모든 세션을 node가 아닌, 실행하는 에이전트 이름으로.
Claude Code, Codex, Gemini CLI 등이 이름으로 나열되고, 각자 작업 중인 프로젝트, 실행된 시간, 작업 중인지 답을 기다리는지 유휴 상태인지가 함께 표시됩니다. 그래서 세 세션 중 어느 것이 정말 사용자를 기다리는지 알 수 있습니다.
- Claude Code, Codex, Gemini CLI, Aider, OpenCode, Cursor, Copilot, Amp, Kiro, Goose
- 프로젝트 폴더와 실행된 시간
- 작업 중, 기다리는 중 또는 유휴
- 도우미를 포함한 세션 전체의 메모리와 CPU
서버, 브라우저, 테스트를 그것을 시작한 세션 아래에.
에이전트는 자기 작업을 확인하려고 여러 가지를 시작합니다. Vitals는 그것들을 해당 세션 아래에 각자의 메모리, CPU와 함께 나열하므로, Mac이 갑자기 바빠지면 정확히 어느 채팅 때문인지 알 수 있습니다.
- 개발 서버, 헤드리스 브라우저, 테스트 실행, 도구 서버
- 각자의 메모리와 CPU
- 프로젝트 탭에서도 같은 항목이 해당 프로젝트 아래에 표시
- 1시간 전에 닫은 세션도 남겨 둔 것과 함께 찾아냄
종료 한 번이면 고아 프로세스로 남는 것이 없습니다.
세션을 종료하면 서버와 브라우저를 포함해 세션이 시작한 모든 것이 함께 종료됩니다. 그래서 닫은 채팅이 포트 3000에 프로세스를, 보이지도 않는 브라우저에 2 GB를 남겨 두지 않습니다. Vitals는 목록을 보여 주고 먼저 묻습니다.
- 종료되기 전에 무엇이 종료될지 보여 줌
- 서버, 브라우저, 테스트가 세션과 함께 종료
- 매번 먼저 확인
- 응답하지 않는 에이전트는 강제 종료
윈도우를 열지 않고 에이전트 확인하기.
메뉴 막대 드롭다운에는 플랜과 세션이 있는 에이전트 탭이 있고, 개요에는 에이전트 카드가 있으며, MCP로 묻는 어시스턴트는 각 세션이 어느 채팅의 것인지 전달받습니다.
- 메뉴 막대 드롭다운의 에이전트 탭
- 개요의 에이전트 카드
- 세션 위에 AI 플랜
- MCP로 어시스턴트가 세션이 어느 채팅의 것인지 알 수 있음
코딩 에이전트, 전과 후
코딩 에이전트는 프로세스 하나로 끝나는 법이 없습니다. Claude Code는 node로 실행되고, 작업을 확인하려고 개발 서버를 띄우고, 화면을 보려고 헤드리스 Chromium을 열고, 테스트 러너와 도구 서버 한두 개, 명령마다 셸까지 시작합니다. 활성 상태 보기에서는 node, Chromium, zsh라는 이름의 행 십여 개일 뿐이고, 어느 채팅이 시작했는지, 그 채팅이 아직 열려 있는지는 어느 행도 알려 주지 않습니다.
그래서 Mac이 바빠져도 목록에서는 원인이 드러나지 않습니다. 1시간 전에 닫은 세션이 아직 포트 3000에 서버를, 2 GB를 붙잡은 브라우저를 남겨 두고 있을 수 있습니다. 세션 세 개를 열어 두면, 20분째 답을 기다리는 세션이 작업 중인 나머지 두 세션과 똑같아 보입니다.
에이전트 탭은 각 세션을 실행하는 에이전트 이름으로 나열하고, 프로젝트, 작업 중인지 사용자를 기다리는지 유휴 상태인지, 실행된 시간, 그리고 그 아래에 시작한 모든 것을 각자의 메모리, CPU와 함께 보여 줍니다. 세션을 종료하면 전부 함께 종료됩니다. 같은 탭이 메뉴 막대 드롭다운에도 있고, 개요에는 에이전트 카드가 있으며, MCP로 묻는 어시스턴트는 세션이 어느 채팅의 것인지 전달받습니다.
Vitals에서 찾기
탭, 메뉴 막대 항목, 설정을 손이 가는 순서대로 정리했습니다.
- 01
에이전트 탭 열기
윈도우, 메뉴 막대 드롭다운, 그리고 개요의 카드에 있습니다. 실행 중인 세션은 각각 한 행이며, 에이전트 이름과 프로젝트 폴더가 표시됩니다.
- 02
세션 살펴보기
행에는 에이전트가 작업 중인지, 사용자를 기다리는지, 유휴 상태인지, 실행된 시간, 사용 중인 자원이 표시됩니다. 행을 열면 개발 서버, 브라우저, 테스트, 도구 서버 등 시작한 모든 것이 각자의 메모리, CPU와 함께 나열됩니다.
- 03
시작한 모든 것과 함께 세션 종료하기
세션에서 종료를 클릭하세요. Vitals가 무엇이 종료될지 보여 주고 먼저 묻습니다. 서버, 브라우저 등은 고아 프로세스로 남지 않고 함께 종료됩니다.
- 04
어시스턴트로 물어보기
MCP로 Claude, Codex, Cursor가 어떤 세션이 실행 중이고 각각 어느 채팅의 것인지 물을 수 있으며, 같은 목록을 측정 시각과 함께 받습니다.
알아 둘 용어
수치의 의미를 활성 상태 보기 용어집에서 가져왔습니다.
- 수신 대기 포트
수신 대기 포트는 포트 3000의 웹 서버처럼 프로세스가 들어오는 연결을 기다리는 네트워크 포트입니다.
- 도우미 프로세스
도우미 프로세스는 앱이 웹 페이지 렌더링, 확장 프로그램 실행, 그래픽 처리 같은 일의 일부를 맡기려고 시작하는 별도의 프로세스입니다.
- % CPU
% CPU는 프로세스가 사용하는 프로세서 용량의 비율로, CPU 코어 단위로 측정합니다.
- 앱 메모리
앱 메모리는 앱과 그 프로세스가 쓰고 있는 RAM의 양입니다.
- 좀비 프로세스
좀비 프로세스는 실행을 마쳤지만 상위 프로세스가 아직 종료 상태를 거둬 가지 않아 프로세스 테이블에 항목이 남아 있는 프로세스입니다.
문의
코딩 에이전트에 대해 구입 전에 자주 묻는 질문.
Vitals는 어떤 코딩 에이전트를 인식하나요?
Claude Code, Codex, Gemini CLI, Aider, OpenCode, Cursor, GitHub Copilot, Amp, Kiro, Goose입니다. 실행 중인 세션마다 프로젝트, 작업 중인지 사용자를 기다리는지, 그리고 시작한 모든 것이 표시됩니다.
다른 도구에서는 왜 에이전트가 node나 python으로 보이나요?
에이전트가 그 프로세스 안에서 실행되기 때문입니다. Vitals는 명령으로 에이전트를 인식하므로, Gemini CLI는 node에서 실행되더라도 Gemini CLI로, Aider는 python에서 실행되더라도 Aider로 표시됩니다.
Vitals가 알아서 에이전트를 중단하기도 하나요?
아니요. 사용자가 요청할 때만 세션을 종료하며, 그 전에 무엇이 종료될지 먼저 보여 줍니다.
Vitals가 에이전트가 작업하는 내용을 읽나요?
프로세스, 폴더, 그리고 시작한 것만 읽으며, 코드나 대화 내용은 읽지 않습니다. 실행하는 것에 관한 어떤 정보도 Mac 밖으로 나가지 않습니다.
세션이 얼마나 오래 실행됐는지 알려 주나요?
네. 세션마다 실행된 시간과 지금 작업 중인지, 사용자를 기다리는지, 유휴 상태인지 표시됩니다.
세션을 종료하면 개발 서버는 어떻게 되나요?
세션과 함께 종료됩니다. 에이전트가 시작한 브라우저, 테스트, 도구 서버도 마찬가지입니다. 종료되기 전에 목록을 먼저 보여 줍니다.
Cursor, VS Code, Claude 앱 안의 에이전트도 보이나요?
네. Cursor와 GitHub Copilot 세션이 이름으로 표시되고, Claude Code도 터미널에서 실행하든 Claude 앱 안에서 실행하든 마찬가지입니다. Vitals는 명령으로 에이전트를 인식하므로 어느 윈도우에서 실행되는지는 상관없습니다.
에이전트가 쓴 토큰도 세나요?
Claude Code와 Codex는 그렇습니다. 오늘과 이번 주에 쓴 토큰, 어디에 쓰였는지, 어떤 모델이 썼는지를 도구가 Mac에 남기는 로그에서 읽습니다.
더 읽어 보기
이 기능을 쓰는 가이드, 그리고 같은 용도로 많이 사는 앱과 Vitals의 비교.