M4 맥북에서 로컬 LLM으로 5일을 살아본 후

지난주에 Google I/O 닷새 전, AI 전선이 세 갈래로 갈라졌다 를 쓰면서 "로컬 LLM은 외롭다"는 한 줄을 마지막 자리에 박아두었다. 그 자리가 마음에 걸렸다. 한 시점 사진처럼 다섯 한계를 펼쳐놓고 끝낸 게, 너무 깔끔하게 정리한 결론처럼 보였다. 그래서 닷새 동안 직접 살아보기로 했다… 5월 11일 월요일 아침부터 5월 15일 금요일 저녁까지. 정확히 5일. 룰은 단순했다. 메인 워크플로를 로컬 LLM으로 돌린다. Anthropic API도, OpenAI API도 끄지는 않되, 손이 먼저 가는 자리를 의도적으로 Ollama 쪽으로 옮긴다. 도망갈 때마다 기록한다. 그리고 닷새가 끝나는 자리에서 무엇이 굳었고 무엇이 흩어졌는지 본다. 5일째 저녁, 두 가지가 동시에 일어났다. 평소 닷새 동안 $45 정도 나가던 API 청구서가 $14에 멈췄다. 그건 의도한 결과다. 그런데 매일 한두 번씩, 어떤 날은 세 번씩 클라우드로 도망갔다. 그 도망이 의지가 약해서 일어난 게 아니라는 점이 흥미로웠다. 매번 합리적인 이유가 있었고, 매번 같은 종류의 자리에서 일어났다. 그 도망의 패턴이 글의 진짜 발견이다. "로컬만 살기"는 단일한 룰이 아니라 사람마다 다른 분기였다. 이게 닷새 동안 일어난 일이다. 5일치 일지 긴 분석을 하기 전에 닷새가 어떻게 흘렀는지 시간순으로 적는다. 추상적 한계는 1편에서 다 펼쳤으니까. 여기는 화요일 오후 3시에 일어난 일, 목요일 새벽 1시에 일어난 일을 적는 자리다. 1일차 (월): 셋업과 첫 한 자릿수 월요일 아침에 셋업부터 다시 했다. 1편에서 깔아본 Qwen3.5 122B를 그대로 쓰되, 이번엔 의도적으로 Ollama 한 번, MLX-LM 한 번 두 가지 백엔드로 동일 모델을 돌려서 차이를 봤다. Ollama에서 qwen3.5:122b-a10b-q4_K_M 을 띄우니 짧은 답 6~8 토큰/초, 긴 답(2,000 토큰 이상 출력)이면 5~6 토큰/초. 첫 토큰 지연(TTF...

로컬 LLM, 회사에 들여놓으면 정말 ROI가 나오나

1편을 쓰고 며칠이 지났을 때, 회사 GPU 워크스테이션 한 대에 같은 Qwen3.5 122B를 깔아봤다. 1편에서 내 M4 노트북이 한 자릿수로 떨어진 자리를 본 뒤, 자연스럽게 다음 질문이 따라왔다. 그러면 회사 차원은 어떨까. 노트북이 외롭다고 끝낸 그 자리가, GPU가 박힌 워크스테이션에서는 어떻게 보일까. 마침 사내에 시범으로 띄울 수 있는 NVIDIA RTX Pro 6000 Blackwell 96GB 한 대가 있었다. 같은 모델을 거기에 올려봤다. 속도는 5배에서 7배 빨라졌다. M4에서 6~8 토큰/초로 떨어졌던 게 워크스테이션에서는 35~50 토큰/초가 나왔다. 챗 답변이 한 글자씩 깜빡이며 떨어지는 그림이 사라지고, 문장이 통째로 흘러나오는 그림이 됐다. 1편에서 본 한 자릿수 두 개의 어긋남에서 한쪽(속도)이 풀린 것이다. 그리고 팀 5명을 거기 붙였다. 잠시 후 평균 응답이 다시 한 자릿수로 돌아왔다. 같은 단어가 다른 차원에서 또 등장했다. 1편에서는 내 노트북 한 대의 속도가 한 자릿수였고, 이번에는 회사 GPU 한 대를 다섯이 동시에 쓰는 큐가 한 자릿수를 만들었다. 큐가 쌓이는 자리에서 토큰/초가 다시 떨어졌다. 거기서 멈췄으면 "GPU 더 깔자"가 답이었을 텐데, 그 주에 회계팀에 보고서를 들고 갔다가 다른 한 자릿수를 마주쳤다. 시트당 단가를 분해해봤더니, 우리가 쓰던 클라우드 ZDR보다 비싸게 나왔다. 그리고 보안팀에서 "누가 어떤 코드를 어떤 모델에 넣었는지 로그가 있느냐"고 물어왔는데, Ollama에는 그런 로그가 기본으로 안 붙어 있었다. 회사 도입은 한 가지 답이 아니었다. 1편이 "외로움"이라 부른 자리가 회사로 가면 1편을 한 줄로 요약하면 이렇다. 로컬 LLM이 벤치는 따라잡았는데 노트북 위에서는 외롭다. 토큰/초가 한 자릿수다. 그리고 OS 통합도, NPU 활용도, 에이전트 통합도, 배터리도, 발열도 어느 것 하나 제대로 풀리지 않는다. 그 다섯...

Google I/O 닷새 전, AI 전선이 세 갈래로 갈라졌다

이미지
어떻게 하면 토큰 사용량을 줄일 수 있을까 고민을 하다 Qwen3.5 122B를 내 M4에 깔아봤다. 그리고 토큰이 한 자릿수로 떨어졌다… 의도한 대로 API 호출은 정말 0이 됐다. 그런데 챗 답변이 깜빡이며 한 글자씩 떨어지는 걸 보다가, 초당 토큰 수가 다른 자릿수도 한 자릿수로 떨어졌다는 걸 깨달았다. 같은 단어가 두 의미로 동시에 들렸다. 비용은 한 자릿수, 속도도 한 자릿수. 한쪽은 내가 원한 결과이고 다른 한쪽은 원치 않은 결과다. 그 사이에 줄임표 같은 침묵이 한 박자 끼었다. 이 모순이 글의 출발점이다. 내 노트북에서 일어난 한 자릿수 두 개의 어긋남은 회사 차원으로 가면 훨씬 커진다. 그리고 이 어긋남이 바로 AI 업계의 다음 전쟁터다. 1년 전만 해도 우리는 "누가 더 똑똑한 모델을 만드나"를 보고 있었다. 텍스트 이해와 추론 능력이 다음을 결정한다고 생각했다. 그런데 2026년 5월 현재, 그 경쟁은 사실상 끝났다. 새 전쟁터는 한 갈래가 아니다. 정확히 세 갈래로 갈라지고 있다. 클라우드, 디바이스, 폼팩터. 그리고 그 세 갈래가 동시에 갈라지는 진짜 동력이 있다. OpenAI는 매출 1달러당 2달러를 인퍼런스 비용으로 쓰고 있다. 2026년 한 해 손실 추정치만 14조 원에 가깝고, 현금 소진 기준으로 보면 23조 원 가까이 된다. 이 숫자가 글의 결론에서 다시 나온다. 일단 그 자리를 비워두자. 그중 디바이스 전선에서 가장 큰 모순이 자라고 있다. 내가 M4에서 본 한 자릿수 두 개의 어긋남이 바로 그 모순의 축소판이다. 닷새 뒤 Google I/O가 열린다. Google이 디바이스 전선에 어디까지 패를 깔지를 보면, 이 세 갈래 경쟁의 향방이 어느 정도 정해진다. 이 글은 그 다섯 일 앞에서 쓰는 정리다. 텍스트 추론 경쟁이 끝났다는 신호 먼저 한 가지 사실부터 짚고 가자. 2026년 5월 기준, Anthropic Claude Opus 4.7, OpenAI GPT-5.5, Google Gemin...

AI랑 4개월 일하면서 네 번 같은 자리에서 막혔다

이미지
AI랑 4개월 일하면서 네 번 같은 자리에서 막혔다 새벽 한 시쯤이었다. 아들 방의 책상 위에는 반쯤 조립된 아크릴 로봇 샤시가 올라가 있었다. 모터 두 개를 PWM으로 제어하는 코드를 Claude Code에게 받아서 올렸는데, 한쪽 바퀴가 한 방향으로만 돌고 있었다. 다른 쪽은 멈춰 있다가 가끔 떨기만 했다. 아들은 옆에서 "이거 왜 이래?" 하고 모니터를 들여다보고 있었고, 나는 시리얼 모니터에 찍히는 값을 멍하니 보고 있었다. 코드는 깔끔했다. 그건 의심하지 않았다. L298N 모터 드라이버를 쓰는 표준적인 패턴이고, 라이브러리 호출도 정상이고, PWM 값도 범위 안에 들어가 있었다. 그런데 작동을 안 했다. 핀맵을 다시 봤다. IN1은 8번, IN2는 9번, ENA는 10번. IN3는 11번, IN4는 12번, ENB는 13번. 내가 Claude에게 부르는 대로 적어준 핀이었다. 두 시간을 봤다. 두 시간 동안 코드를 뜯고, 배선을 뜯고, 멀티미터를 대보고, 다시 코드를 짜고. 그러다 어느 순간 깨달았다. ENA에 지정한 10번 핀이 Timer1을 건드리고 있었고, 내 프로젝트는 같은 보드에서 서보 라이브러리도 쓰고 있었다. 둘은 같은 타이머를 두고 다투고 있었던 거다. Claude가 짠 코드는 코드만 보면 멀쩡했다. 다만 내 프로젝트에 서보가 있다는 걸 모르고 짠 것뿐이었다. 그 순간이 묘했다. 화는 안 났는데, 머리가 조금 차가워졌다. 이게 AI가 못한 건가? 아니었다. ENA가 Timer1에 묶인다는 건 데이터시트에 있는 얘기고, Claude는 그걸 안다. AFMotor 라이브러리가 Timer1과 Timer2를 점유해서 충돌 위험이 있다는 것도 안다. 그런데 그날 새벽의 그 코드는 내 보드의 사정을 모른 채 쓰였다. 서보가 있다는 걸, ENA를 옮길 수 있다는 걸, 13번이 PWM이 안 되는 핀이라는 걸. 다 알 수 있었지만, 그 세션에는 그 정보가 없었다. 그 뒤로 같은 자리에 세 번 더 멈췄다는 걸, 한참 지나...

급변하는 AI 시대, 나와 같은 평범한 개발자가 겪고 있을 고민과 마음가짐

이미지
급변하는 AI 시대, 나와 같은 평범한 개발자가 겪고 있을 고민과 마음가짐 복잡한 마음에 산에 올랐다. 목적지는 없었다. 그냥 걸어야 할 것 같았다. 자리에 앉아서 풀리지 않는 게 있을 때, 화면에서 눈을 떼야 비로소 보이는 게 있다는 걸 안다. 그날은 화면의 문제가 아니었지만, 자리를 떠나야 한다는 감각은 같았다. 신발을 신고 나갔더니 발이 산 쪽으로 향했다. 의식적인 선택이었는지 모르겠다. 그냥 높은 곳에 가고 싶었던 것 같다. 거기 올라가면 내가 지금 서 있는 자리가 작아 보일 것 같았다. 결론부터 말하면 정리되지 않았다. 오히려 더 복잡해졌다. 다만 한 가지가 보였다. 길. 산길에는 여러 종류가 있다. 사람들이 하도 많이 밟아서 완전히 다져진 길이 있다. 발을 디딜 때마다 단단한 게 발바닥에 전해진다. 아무리 힘껏 밟아도 흔적이 남지 않는다. 그 길은 이미 수천, 수만 개의 발자국이 지나가며 굳어버린 길이다. 단단하다는 감각은 착각이 아니다. 실제로 단단하다. 다만 그 단단함은 내 것이 아니다. 수많은 사람이 만들어낸 단단함 위에 내가 잠시 올라서 있는 거다. 그 길은 나를 기억하지 않는다. 흙길이 있다. 걸으면 발자국이 남는다. 그것도 하나가 아니라 여러 방향, 여러 깊이의 발자국들이 겹쳐 있다. 누군가는 가볍게 스쳐갔고, 누군가는 깊이 박혔다. 같은 길인데 같은 방향으로만 걷지 않는다. 각자의 속도, 각자의 무게로 지나간 흔적이다. 흙길은 지나간 것들을 기억한다. 발이 닿은 자리를, 그 무게가 얼마였는지를. 자갈길이 있다. 겉으로 보기엔 단단해 보인다. 발을 디뎌보면 다르다. 자갈이 굴러간다. 발이 미끄러진다. 확신하고 들어섰는데 예상과 다른 감촉이 발바닥에 전해진다. 자갈길인 걸 알고 들어가면 다르게 걸을 수 있다. 조심스럽게, 한 발 한 발 무게를 싣기 전에 확인하면서. 근데 단단한 길인 줄 알고 성큼 들어갔다가 자갈길이라는 걸 발이 먼저 알게 되면, 그 순간 몸의 중심이 흔들린다. 발이 흔들리는 게 아니라 내 판단이 흔들린다....

AI 양산 채널은 왜 빨리 망하고, 망한 사람들은 왜 강의를 팔러 가는가

이미지
한 분기에 47억 회가 사라진 풍경 2026년 1월부터 4월까지 넉 달 사이에 메이저 AI 양산 채널 16개가 정리됐다 . 누적 조회수 47억 회, 구독자 3,500만 명, 연 추정 수익 1,000만 달러어치가 한 분기에 증발했다 . 한국에서 한때 누적 조회 20억 회까지 갔던 '3분 지혜' 같은 채널도 그 안에 있다. 1편 에서는 유튜브가 약관에서 단어 하나(repetitious → inauthentic)를 바꾼 것이 어떻게 그 분기 단속의 신호탄이 됐는지를 풀었다. 그때 글을 닫으면서 한 줄로 던졌던 결론이 있다. 양산은 빨리 망하고, 진짜 활용은 늦게 큰다. 이 글은 그 문장의 후속이다. 양산이 망하는 동안 그 사람들은 어디로 갔는가, 그리고 망하는 풍경 옆에서 왜 갑자기 같은 사람들이 강의를 팔기 시작했는가. 여기서 한 가지 질문을 먼저 던져두고 싶다. 글 전체가 이 질문을 따라간다. 정말 돈이 되는 노하우라면 왜 굳이 유튜브에 공개해서 경쟁자를 늘리는가? 진짜 차익거래 전략은 공개되지 않는다. B2B 영업 노하우도 마찬가지다. 잘 되는 트레이딩 시그널은 비밀이고, 잘 되는 광고 운영도 비밀이고, 잘 되는 부동산 매물 정보도 비밀이다. 공개하는 순간 경쟁자가 들어와 본인 마진이 깎이기 때문이다. 이게 정보 비대칭이 작동하는 시장의 자연스러운 모습이다. 그렇다면 "AI로 월 1억" 같은 노하우가 유튜브에서 공개적으로 떠도는 이유는 뭔가. 가능성은 두 가지밖에 없다. 하나, 본업이 양산이 아니라 강의 판매로 바뀐 경우. 무료 영상은 강의를 팔기 위한 깔때기다. 둘, 양산 시장이 끝물에 접어들어 본인은 빠져나오면서 신규 진입자에게 마지막 강의를 팔아 마무리하는 경우. 이 경우 결제하는 신규 진입자가 시장의 마지막 보유자가 된다. 영어권에서는 이걸 bag holder라고 부른다. 남들 다 팔고 나간 다음 봉지를 들고 있는 사람이라는 뜻이다. 두 가설은 결과가 같다. 공개자의 인센티브는 시청자의 성공과 정렬되어 있...

유튜브 AI 슬롭 수익화 정지 — 도구가 아니라 사람이 문제다

이미지
유튜브가 AI 양산 콘텐츠 수익화를 막은 날 2025년 7월 15일이었다. 유튜브가 YPP(YouTube Partner Program) 약관에서 단어 하나를 바꿨다. "repetitious content"가 "inauthentic content"가 됐다. 그땐 별 일 없어 보였다. 정책 노트 한 줄이었고, 본인들도 "minor update"라고 했다. 그게 신호였다. 본격적인 차단은 2026년 1월부터 들이닥쳤다. 처음에는 이름 모를 페이스리스 채널 몇 개가 사라졌다. 그러다 1월 말부터 매주 큰 채널이 한두 개씩 떨어져 나갔다. Tubefilter가 2026년 1월 29일자 기사에서 본격 단속을 다뤘고, 2~3월에는 구독자 수백만짜리 AI 채널이 통째로 수익화를 잃거나 채널이 닫혔다. 4월 시점에 정리된 통계로는 16개 메이저 AI 채널이 정리됐고, 누적 조회수 47억 회, 구독자 3,500만 명, 연 추정 수익 1,000만 달러가 한 분기 만에 증발했다. 한국이 흥미롭다. 2025년 12월 가디언이 전 세계 인기 유튜브 채널 1만 5,000개를 조사했는데, 그중 278개가 AI 전용 채널이었다. 누적 조회수 630억 회, 연 수익 추정 1,700억 원. 그리고 이 슬롭(slop) 콘텐츠를 가장 많이 본 나라가 한국이었다. 84.5억 회. 2위 파키스탄(53.4억), 3위 미국(33.9억), 4위 스페인(25.2억)을 다 합한 것보다 많다. 한국에서 인기 있는 '3분 지혜' 한 채널이 한국 전체 AI 슬롭 조회수의 4분의 1을 가져갔다. 그래서 코드 매일 짜고, AI랑 매일 일하는 사람 입장에서 이걸 어떻게 봐야 하는지를 좀 길게 풀어보고 싶었다. 정책에 화내거나 환영하는 건 둘 다 쉽다. 진짜 어려운 건 양쪽을 같이 보는 거다. 정책의 진짜 워딩, repetitious에서 inauthentic으로 먼저 단어부터. 유튜브가 바꾼 건 정확히 한 단어다. repetitious(반...