Don't fall into the anti-AI hype

Salvatore Sanfilippo

안티 AI 과장에 빠지지 마라

원문은 Salvatore Sanfilippo님이 에 게재했습니다. 이 블로그 구독하기

나는 한 줄 한 줄 소프트웨어를 직접 쓰는 일을 사랑한다. 내 경력은 잘 쓰이고 군더더기 없이 간결한 소프트웨어, 그 안에 인간의 손길이 핵심으로 담긴 소프트웨어를 만들려는 끊임없는 노력이었다고 할 수 있다. 나는 또한 가장 뒤처진 사람도 잊히지 않는 사회를 바란다. 더 나아가, 나는 AI가 경제적으로 성공하길 바라지도 않는다. 지금의 경제 시스템이 뒤집혀도 상관없다(솔직히, 그게 대규모 부의 재분배로 이어진다면 나는 아주 기쁠 것이다). 하지만 소프트웨어와 사회에 대한 나의 이상이 현실을 보는 눈을 흐리게 만든다면, 그것은 스스로와 내 지성을 존중하지 않는 일이 될 것이다. 사실은 사실이다. AI는 프로그래밍을 영원히 바꿔놓을 것이다.

2020년에 나는 AI와 기본소득, 일의 자동화에 적응하며 수많은 과제에 직면한 사회에 대한 소설을 쓰기 위해 직장을 그만뒀다. 2024년 말에는 AI와 코딩 작업에서의 활용, 그리고 그것이 가져올 사회적·경제적 영향에 초점을 맞춘 YouTube 채널을 열었다. 하지만 아주 일찍부터 무슨 일이 일어날지 알아챘으면서도, 프로그래밍이 완전히 재편되기까지는 적어도 몇 년은 더 시간이 있을 거라 생각했다. 이제는 더 이상 그렇게 생각하지 않는다. 최근 최첨단 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이 수년간 그토록 비슷한 결과를 내고 있는지 설명하기 어려울 것이다).

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

하지만 나는 해고될 사람들을 걱정한다. 앞으로 어떤 역학이 작용할지 불분명하다. 기업들이 더 많은 사람을 고용해 더 많이 만들려 할까, 아니면 인건비를 줄이기 위해 프롬프팅을 더 잘하는 소수의 프로그래머만 남기려 할까? 그리고 내가 두려워하는 건, 인간이 완전히 대체될 다른 분야들도 있다는 점이다.

그렇다면 사회적 해법은 무엇인가? 혁신은 어차피 되돌릴 수 없다. 나는 무슨 일이 일어나고 있는지를 인식하고 일자리를 잃은 사람들을 지원하려 하는 정부에 투표해야 한다고 믿는다. 그리고 해고되는 사람이 많아질수록 일정한 보호를 보장하는 쪽에 투표하라는 정치적 압력도 더 커질 것이다. 하지만 나는 AI가 가져올 긍정적인 면도 기대한다. 인간 조건의 고통을 덜어줄 수 있는 과학의 새로운 진보 말이다. 인간의 삶이 항상 행복한 것만은 아니니까.

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

그래, 코딩을 배우느라 그토록 열심히 노력했는데 이제 기계가 대신해 준다고 생각할지도 모른다. 하지만 밤늦도록 코딩하며 프로젝트가 동작하는 걸 지켜보던 당신 안의 그 열정은 무엇이었나? 그것은 무언가를 ‘만드는’ 일이었다. 그리고 AI를 효과적으로 사용하는 법을 찾는다면, 이제 당신은 더 많이, 더 잘 만들 수 있다. 그 재미는 여전히 그대로 남아 있다.

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

댓글