파일은 그냥 있어요. 프로세스는 움직여요.
지금 바탕화면에 PDF 파일이 하나 있다고 해 볼게요. 아무것도 하지 않아요. 그냥 정리된 정보가 기다리고 있을 뿐이에요. 더블클릭해서 PDF 뷰어가 열리는 순간, 그게 바로 프로세스예요. 앱이 살아 있고, 컴퓨터의 메모리를 쓰고, CPU의 일부를 점유하면서 무언가를 실제로 수행하고 있는 거죠.
같은 파일이 동시에 열두 개의 프로세스 원천이 될 수도 있어요. 한 번도 열리지 않으면 아무것도 아닌 것이고요.
연극으로 생각해 보면 딱 맞아요. 대본이 파일이고, 공연이 프로세스예요. 누가 읽든 안 읽든 대본은 존재해요. 공연은 배우가 무언가를 실제로 하는 동안에만 존재하고요. 두 극장이 완전히 같은 대본으로 동시에 공연한다면, 그건 두 개의 별개 프로세스예요.
무언가를 만들고 있다면 알아야 할 이유가 있어요.
지금 이 순간 컴퓨터에는 화면에 창이 하나도 없는 프로세스가 수십 개 돌아가고 있어요. 백그라운드 업데이터, 보안 검사기, 화면에 올바른 글자를 띄우기 위해 키 입력을 추적하는 것들까지요. Mac에서 활성 상태 보기를 열면 예상보다 훨씬 긴 목록이 나와요. 목록의 모든 항목은 지금 살아서 자원을 쓰고 있는 거예요.
무언가가 느리거나 이상할 때 기술적인 사람이 가장 먼저 묻는 것은 "어떤 파일이 있어요?"가 아니에요. "지금 어떤 프로세스가 돌아가고 있어요?"를 먼저 물어요.
AI 에이전트를 쓴다면 이 구분이 꽤 중요해요.
에이전트는 주어진 지시 자체가 아니에요. 그 지시를 실시간으로 실행하는 인스턴스, 즉 프로세스가 에이전트예요. 프로세스가 멈추면 에이전트도 멈춰요. 지시가 남아 있어도 마찬가지고요.
에이전트 여러 개를 동시에 돌리는 건 프로세스 여러 개를 돌리는 거예요. 각각 메모리를 쓰고, CPU를 써요. 이걸 알아야 안정적인 워크플로우와 하나만 더 얹어도 무너지는 워크플로우를 구분할 수 있어요.
"프로세스를 죽인다"는 말은 과격하게 들리지만, 단순히 실행 중인 것을 멈춘다는 뜻이에요. 삭제하거나 파일을 잃는 게 아니에요. 이번 공연을 끝내는 것뿐이에요. 대본은 그대로 있고, 언제든 새로 시작할 수 있어요.
디스크의 파일은 대본이고, 프로세스는 공연이에요. 하나는 영속하고, 다른 하나는 살아 있어요.