LLM은 유닉스가 승리했다는 증거다
저자는 오랜 리눅스 사용자로서 커맨드라인 도구들을 조합해 원하는 작업을 수행하는 유닉스 철학의 강력함을 강조하며, LLM이 바로 이 '작은 도구들의 조합'이라는 유닉스식 사고방식이 결국 승리했음을 보여준다고 주장합니다. 텍스트 기반 인터페이스와 파이프라인으로 대표되는 유닉스의 설계 철학이 AI 시대에도 여전히 유효하다는 통찰을 담은 에세이입니다.
LLM은 유닉스가 승리했다는 증거이다
태그: 단상 2026년 8월 20일 목요일 게시
처음 유닉스와 '유닉스 계열' 운영체제에 대해 알게 되었을 때, 나는 흥미를 느꼈다. 그때까지 나는 윈도우 3.1의 화려한 세계만 알고 있었다. 일본 목공예처럼, 모든 것이 하나의 덩어리에서 아무 틈도 없이 깎여 나온 것처럼 보였다(다만 일본 목공예는 견고하지만, 윈도우 3.1을 그렇게 말할 수 있는 사람은 아무도 없다). 처음 커맨드라인 프롬프트 앞에 앉았을 때의 놀라움을 상상해 보라. 깜빡이는 커서가 뭔가 입력하라고 도발했고, 컴퓨터가 할 수 있다고 알고 있던 어떤 일도 어떻게 해야 할지 명백하지 않았다. 벅찬 퍼즐이었다. 나는 푹 빠져 버렸다!
다음 마을에 있는 놀랍도록 잘 갖춰진 도서관 덕분에, 유닉스에도 다양한 계열 혹은 진화적 사촌들이 있으며, 그중 일부 동작은 POSIX 같은 표준으로 규정되어 있다는 것을 알게 되었다. 또한 GNU와, 모든 것을 잠그고 만지작거리는 것을 막으려는 데 더 관심이 있어 보이는 세상에 이 모든 소프트웨어를 공개한 초창기 해커들의 영웅적인 노력에 대해서도 알게 되었다. 오, 눈부신 새 세상이여!
그래도 나는 포기하지 않았다. 끊임없이 깜빡이는 프롬프트를 노려보며 명령어를 먹여 댔다. 한참 세월이 흐르고, FreeBSD를 거쳐간 뒤로 나는 지금도 열렬한 리눅스 사용자다. 리눅스가 내 작업 방식에 맞기 때문이다. 나는 위험하게 사는 것을 좋아하는데, 중요한 마감 직전에 커널 업데이트를 미루곤 한다. 아주 짜릿하다. 그리고 어떤 곤경이든 스스로 빠져나올 수 있는 능력에 대해 대체로 낙관적이다.
내가 높이 사는 것은 리눅스가 자기효능감을 발휘하게 해준다는 점이다. 본질적으로, 리눅스를 사용하며 겪는 고통은 거의 대부분 자초한 것이다. 다음 iOS 업데이트가 내 기기들을 망가뜨리지 않기를 빌어야 하는 것 같은 어리석은 상황보다 훨씬 낫다. 이런 태도는 대개 멍한 시선이나 늘 그렇듯 "그건 그렇고…"라는 반응을 받곤 한다. 이해하지 못하는 사람들, 즉 골수 너드나 닐 스티븐슨 팬, 아니면 시간이 남아도는 사람이 아닌 거의 모든 사람들로부터 말이다.
짜릿한 위험감 옆에서, 리눅스가 나를 가장 매료시키는 것은 디지털 점토처럼 내 목적에 맞게 빚어낼 수 있다는 점이다. 내가 사용하는 커맨드라인 도구들의 상당수는 꽤 오래전부터 존재해 왔지만, 여전히 훌륭하게 작동하며 다음과 같은 일을 할 수 있게 해준다:
rg -t py "^\surl ="
| grep -Eo "(http|https)://[a-zA-Z0-9./?=_%:-]"
| awk -F/ '{print $3}'
| sort
| uniq -c
| sort -rn
자연어로 표현하자면, 이 명령어의 목적은 현재 디렉토리와 하위 디렉토리의 모든 파이썬 파일에서 url이라는 이름의 변수에 할당된 URL들을 추출하여 github.com 같은 도메인 이름을 세는 것이다.
이게 외계어처럼 읽힌다면, 젊고 혈기왕성하던 나는 (네오)빔과 활력이 넘쳐 그 유명한 말을 던졌을 것이다. "리눅스는 매우 사용자 친화적입니다. 다만 친구를 가려낼 뿐이죠." 그렇다, 젊은 나는 장인처럼 적을 만드는 데 능숙했다.
세월이 주는 지혜와 관록으로 이제는 외교적으로 말하겠지만, 이런 방식의 컴퓨터 작업이 많은 이들에게 그토록 낯설다는 여전히 이상하게 느껴진다. 현대적인 GUI에만 익숙한 사람에게 나의 고전적인 워크플로우를 설명하는 것은, 플랫랜드(2차원 세계)에 사는 사람에게 고차원을 설명하는 것과 비슷하다. 운이 좋아도 그들은 정중하게 듣고는, 살짝 이상하다고 치부한 채 예전 방식으로 돌아갈 뿐이다.
하지만 다시 말하지만, 나는 굽히지 않았고 컴퓨터는 사용자가 원하는 것을 만들 수 있는 범용 인터페이스를 제공해야 한다는 확신을 지켰다. GUI는 사용자가 취할 경로를 추측해야만 하기 때문에 이러한 욕구를 부분적으로만 충족시킬 수 있다. 반면 옛날 유닉스의 원로들은 사용자 행동을 추측하거나 강제하는 것은 헛수고라는 것을 깨달았다. 대신 그들은 특정 철학을 따르는 몇 가지 작은 도구들로 모두를 무장시키기를 택했다. 즉, 한 가지 일만 잘 하는 프로그램을 작성하라는 것이다.