Don't fall into the anti-AI hype

Salvatore Sanfilippo

안티 AI 열풍에 휩쓸리지 마세요

저는 한 줄 한 줄 소프트웨어를 직접 쓰는 일을 사랑합니다. 제 커리어를 한마디로 표현하자면 잘 짜인, 군더더기 없는, 인간의 손길이 핵심이 되는 소프트웨어를 만들려는 끊임없는 노력의 연속이었다고 할 수 있을 겁니다. 저는 가장 낮은 곳에 있는 사람들을 잊지 않는 사회를 바랍니다. 나아가 AI가 경제적으로 성공하기를 바라지도 않습니다. 지금의 경제 시스템이 전복되어도 전혀 상관없습니다. 솔직히 그게 대규모 부의 재분배로 이어진다면 오히려 매우 반갑기까지 할 겁니다. 하지만 소프트웨어와 사회에 대한 제 이상 때문에 현실을 보는 눈이 흐려진다면 스스로와 제 지성을 존중할 수 없게 될 겁니다. 사실은 사실입니다. AI는 프로그래밍을 영원히 바꿔놓을 것입니다.

2020년에 저는 AI와 기본소득, 일의 자동화에 적응하며 수많은 난관을 마주하는 사회에 관한 소설을 쓰기 위해 직장을 그만두었습니다. 그리고 2024년 말에는 AI와 코딩에서의 활용, 그리고 그것이 가져올 사회적·경제적 파장에 집중하는 유튜브 채널을 열었습니다. 하지만 무슨 일이 일어날지 일찍부터 예견하면서도, 프로그래밍이 완전히 재편되기까지는 적어도 몇 년은 더 남았다고 생각했습니다. 이제는 그렇게 생각하지 않습니다. 최근 최첨단 LLM은 최종 결과물이 어떤 모습이어야 하는지에 대한 힌트만 잘 주면, 큰 하위 작업이나 중간 규모의 프로젝트를 거의 혼자서, 도움 없이도 완수할 수 있습니다. 얼마나 성공적이냐는 어떤 종류의 프로그래밍을 하느냐에 달려 있습니다. 고립될 수 있을수록, 텍스트로 잘 표현될 수 있을수록 좋습니다. 시스템 프로그래밍이 특히 적합합니다. 그리고 문제를 머릿속에서 명확히 구조화해 LLM에 전달하는 능력에도 달려 있습니다. 하지만 전반적으로 이제는 분명해졌습니다. 대부분의 프로젝트에서 재미를 위해서가 아니라면 직접 코드를 쓰는 것은 더 이상 합리적이지 않습니다.

지난 한 주 동안 저는 그저 프롬프트를 입력하고 가끔 코드를 점검하며 방향만 잡아주는 방식으로, 원래라면 몇 주가 걸렸을 네 가지 작업을 단 몇 시간 만에 해냈습니다.

  1. 제 linenoise 라이브러리가 UTF-8을 지원하도록 수정했고, 에뮬레이션된 터미널을 이용해 각 문자 셀에 무엇이 표시되는지 보고할 수 있는 라인 편집 테스트 프레임워크를 만들었습니다. 예전부터 꼭 하고 싶었던 일이었지만, 사이드 프로젝트 하나를 테스트하자고 그 많은 공수를 들이기는 정당화하기 어려웠습니다. 하지만 이제 아이디어를 말로 설명하기만 하면 코드로 구현되니 상황은 완전히 달라졌습니다.
  2. Redis 테스트에서 간헐적으로 실패하던 문제들을 고쳤습니다. 타이밍 이슈나 TCP 데드락 같은, 정말 성가신 작업입니다. Claude Code가 문제를 재현할 때까지 필요한 만큼 계속 반복 실행했고, 프로세스 상태를 점검해 원인을 파악한 뒤 버그를 수정했습니다.
  3. 어제는 BERT 계열 임베딩 모델의 추론을 수행할 수 있는 순수 C 라이브러리가 필요했습니다. Claude Code가 5분 만에 만들어줬습니다. PyTorch와 출력은 동일하고 속도는 15% 느린 정도였습니다. 코드는 700줄이었고, GTE-small 모델을 변환하는 Python 도구도 함께 만들었습니다.
  4. 지난 몇 주간 Redis Streams 내부를 변경하는 작업을 했습니다. 그 작업에 대한 설계 문서가 있었는데, 그걸 Claude Code에 넘겨봤더니 20분, 혹은 그보다 더 짧은 시간 안에 제가 했던 작업을 그대로 재현했습니다. 시간이 걸린 건 대부분 제가 명령어 실행을 확인하고 승인하는 속도가 느려서였습니다.

지금 일어나고 있는 현실을 보지 않기란 불가능합니다. 대부분의 경우 더 이상 코드를 직접 쓸 필요가 없습니다. 이제는 무엇을 해야 할지, 그리고 어떻게 해야 할지를 이해하는 것이 훨씬 더 중요하고 흥미로운 일이 되었습니다. 그리고 이 두 번째 부분에 대해서도 LLM은 훌륭한 파트너가 되어줍니다. AI 기업들이 투자금을 회수하지 못하거나 주식 시장이 폭락하더라도 중요하지 않습니다. 장기적으로 보면 그런 것들은 모두 부차적입니다. 어떤 유니콘 기업의 CEO가 거슬리거나 터무니없는 말을 하든 그것도 중요하지 않습니다. 어차피 프로그래밍은 영원히 바뀌었습니다.

제가 써온 모든 코드가 LLM에 학습되었다는 사실을 어떻게 받아들일까요? 저는 그 일원이 된 것이 기쁩니다. 제 평생 해오려 했던 일, 즉 코드와 시스템, 지식을 민주화하려는 노력의 연장선으로 보이기 때문입니다. LLM은 우리가 더 빠르고 더 나은 소프트웨어를 만들도록 도울 것이고, 작은 팀도 대기업과 경쟁할 기회를 갖게 해줄 겁니다. 90년대에 오픈소스 소프트웨어가 했던 것과 같은 일입니다.

다만 이 기술이 소수 기업의 손에만 머무르기에는 너무나 중요합니다. 지금은 사전 학습을 더 잘하느냐 못하느냐, 강화 학습을 남들보다 훨씬 효과적으로 하느냐의 차이일 뿐, 특히 중국에서 나온 오픈 모델들이 비록 뒤처져 있더라도 클로즈드 랩의 프론티어 모델들과 계속 경쟁하고 있습니다. 아직까지는 불완전하지만 AI의 민주화가 어느 정도는 이루어지고 있습니다. 하지만 앞으로도 계속 그럴지는 전혀 장담할 수 없습니다. 저는 중앙 집중화가 두렵습니다. 동시에 저는 신경망이 규모가 커지면 그 자체로 놀라운 일을 해낼 수 있다고 믿으며, 현재의 프론티어 AI 안에 다른 연구소나 팀이 따라잡지 못할 만큼의 "마법"이 들어 있지는 않다고 생각합니다. 그렇지 않다면 예컨대 왜 OpenAI와 Anthropic, Google이 수년째 그토록 비슷한 수준의 결과를 내고 있는지를 설명하기 매우 어려울 것이기 때문입니다.

프로그래머로서 저는 지금 그 어느 때보다 더 많은 오픈소스를 쓰고 싶습니다. 시간 부족으로 방치해두었던 제 저장소들을 개선하고 싶습니다. 제 Redis 작업 흐름에도 AI를 적용하고 싶습니다. 지금 Streams에서 하고 있는 것처럼 Vector Sets 구현을 개선하고, 이어서 다른 자료구조들도 손보고 싶습니다.

하지만 해고될 사람들을 생각하면 걱정됩니다. 앞으로 어떤 역학이 작용할지는 아직 분명하지 않습니다. 기업들이 더 많은 인력을 고용해 더 많은 것을 만들려 할까요, 아니면 인건비를 줄이기 위해 프롬프트를 더 잘 다루는 소수의 프로그래머만 남기려 할까요? 그리고 다른 분야에서는 인간이 완전히 대체될 수도 있다는 두려움도 있습니다.

그렇다면 사회적 해법은 무엇일까요? 혁신은 이미 일어난 이상 되돌릴 수 없습니다. 저는 무슨 일이 일어나고 있는지 정확히 인식하고, 일자리를 잃은 사람들을 지원할 의지가 있는 정부에 투표해야 한다고 생각합니다. 해고되는 사람이 많아질수록 일정한 수준의 보호를 보장하는 쪽에 투표하라는 정치적 압력도 커질 것입니다. 하지만 저는 AI가 가져올 긍정적인 면도 기대합니다. 과학의 새로운 진보가 늘 행복하지만은 않은 인간 조건의 고통을 줄이는 데 도움이 될 수 있기를 바랍니다.

어쨌든 다시 프로그래밍 이야기로 돌아오겠습니다. 친구여, 한 가지 조언을 드리고 싶습니다. 무엇이 옳다고 믿든, 지금 일어나고 있는 현실을 외면함으로써 그것을 통제할 수는 없습니다. AI를 건너뛰는 것은 당신에게도, 당신의 커리어에도 도움이 되지 않습니다. 한번 생각해 보십시오. 이 새로운 도구들을 성의 있게, 몇 주에 걸쳐 테스트해보십시오. 자신의 믿음만 강화하는 5분짜리 테스트로 끝내지 마시고요. 자신을 증폭시킬 방법을 찾으십시오. 그리고 이번에 잘 안 되더라도 몇 달 뒤에 다시 시도해 보십시오.

네, 코딩을 배우느라 그토록 열심히 노력했는데 이제 기계가 대신해준다고 생각하면 허무할 수도 있습니다. 하지만 밤늦게까지 코드를 붙잡고 프로젝트가 동작하는 모습을 보고 싶어 했을 때, 당신 안에서 타오르던 열정은 무엇이었습니까? 그것은 무언가를 ‘만드는’ 일이었습니다. 그리고 이제 AI를 효과적으로 쓰는 법만 찾는다면, 더 많이, 더 잘 만들 수 있습니다. 그 재미는 여전히 그대로 남아 있습니다.

원문은 Salvatore Sanfilippo님이 에 게재했습니다.

이 글은 muse-spark-1.2-contributor 모델을 사용해 번역했습니다.