자책의 회로#
AI 코딩 에이전트가 어떤 작업을 마지막까지 못 풀어낼 때, 제가 가장 먼저 떠올리는 생각은 늘 똑같았어요.
- 프롬프트가 모자랐나.
- 컨텍스트를 충분히 넣지 못했나.
- 하네스를 잘못 짠 건가.
지난 1년 동안 이 회로는 점점 더 정교해졌습니다. 컨텍스트 엔지니어링 패턴을 익히고, 가드레일 프롬프트를 다듬고, 메모리 시스템을 붙이고, 서브에이전트로 작업을 쪼개 봤습니다. 시키는 단위도 잘게 썰었습니다. AGENTS.md를 다시 쓰고, 사례별 예시를 늘리고, 검증 단계를 별도 에이전트로 분리해 봤습니다.
그래도 마지막 20%에서 자꾸 발이 걸렸습니다. 한 번은 잘 풀리다가 비슷한 작업에서 또 어그러졌습니다. 그럴 때마다 결론은 같은 자리로 돌아왔습니다. “제가 더 잘 짰어야 했나.” 도구를 의심하기 전에 저를 먼저 의심했습니다.
그러던 차에, 한 사람이 단호하게 선언했습니다.
“에이전트는 프로그래밍을 못한다”#
2026년 5월 24일, George Hotz(조지 호츠, geohot)가 자기 블로그에 “The Eternal Sloptember”라는 짧은 글을 올렸습니다. 첫 줄이 단단합니다.
“Agents cannot program, and it’s taking longer and longer to realize that they can’t.”
에이전트는 프로그래밍을 못한다. 그리고 못한다는 사실을 깨닫는 데 점점 더 오래 걸린다.
조지 호츠가 누구입니까. 최초로 아이폰을 탈옥시킨 해커이자 tinygrad와 comma.ai를 만든 사람입니다. 코드를 안 짜본 사람이 하는 소리가 아닙니다. 그 사람이 6개월 동안 tinygrad 코드 작성과 USB↔PCIe 칩 리버싱을 에이전트와 같이 해 보고 도달한 결론이라는 점이 무겁습니다.
그의 진단은 이렇습니다. 에이전트는 프로그래밍 그 자체가 아니라 프로그래밍의 통계적 분포를 모방하도록 훈련된 모델입니다. 그래서 결과물은 종종 “미묘하게 부서져 있지만 점점 더 알아채기 어렵게” 만들어집니다.
쓸모를 부정하는 것도 아닙니다. 글의 다른 대목에서 그는 “검색용으로는 확실히 더 나은 Google이다”, “프로토타이핑엔 빠르다"고 인정합니다. 다만 “내가 일해 본 어느 회사의 기준에도 못 미친다"고 못 박습니다. 보조 도구로는 훌륭하지만, 엔지니어로서는 부족하다는 진단입니다.
통계적 분포의 모방, 그리고 마지막 20%#
이 진단을 읽고 가장 먼저 정리된 감각이 있습니다. 마지막 20%에서 자꾸 발이 걸리던 그 느낌의 이름입니다.
GeekNews에 걸린 토픽 아래 댓글 하나가 같은 말을 합니다. 에이전트는 초반 80%는 빠르게 진행하지만, 마지막 20% 완성은 운에 의존한다는 것입니다. 작은 결정을 무수히 쌓아 올려 일관된 시스템 하나를 끝까지 끌고 가는 능력, 그게 프로그래밍의 본질에 가까운데 통계적 분포 모방으로는 그 자리가 매번 메워지지 않습니다.
제 경험에 대입해 보면 이렇습니다. 새 기능 뼈대 잡기, 비슷한 컴포넌트 복제, 정형화된 리팩토링은 빠릅니다. 정말 빠릅니다. 그러나 “기존 시스템의 미묘한 제약을 지키면서, 한 번도 해본 적 없는 결합을 처음 시도하는” 그런 작업은 매번 마지막 20%에서 꼬입니다. 그건 분포 안에 없는 일이기 때문입니다. 분포 안에 없는 것을 모방으로 만들어 낼 수는 없습니다.
이름이 붙으니 자책의 양이 줄었습니다. 모든 게 제 프롬프트, 컨텍스트, 하네스의 문제만은 아니었습니다.
슬롭과 인지적 오프로딩의 자리#
이번 글의 단어가 처음 보는 것은 아닙니다. 작년에 사전 세 곳이 동시에 올해의 단어로 뽑은 ‘슬롭(Slop)’을 한 번 다룬 적이 있습니다. 그때는 산출물의 질에 붙인 이름이었습니다. 이번 Sloptember는 한 단계 더 나아갑니다. 그 산출물이 조직의 평균 품질을 어떻게 끌어내리는가를 가리킵니다.
조지 호츠의 진짜 경고는 거기에 있습니다.
“It is a golden era for buckets and buckets of slop, and a dark age for gems of quality.”
양동이로 쏟아지는 슬롭에겐 황금기, 양질의 보석에겐 암흑기.
그리고 한 줄 더.
“The bottom performers won’t have that self check. They are the ones producing 10x output with the agents.”
하위 성과자들은 셀프체크가 없다. 에이전트로 10배 산출물을 뽑아내는 쪽은 결국 그들이다.
이 대목이 이전에 옮긴 글, “AI와 공존하는 개발자의 사고력”의 한 명제와 정확히 맞닿습니다. AI를 가장 잘 활용하는 개발자는 AI 없이도 코드를 판단할 수 있는 개발자입니다. 셀프체크가 없는 자리에 슬롭이 그대로 차오릅니다. 그리고 그 슬롭은 점점 더 정상 코드처럼 보입니다. Anthropic의 실험에서 AI 그룹의 개념 이해도가 17%p 낮게 나왔던 그 격차가 큰 조직에서는 사람 수로 곱해집니다.
Anthropic은 이 현상에 **인지적 오프로딩(cognitive offloading)**이라는 이름을 붙였습니다. 머리로 해야 할 사고 작업을 외부 도구에 떠넘기는 현상입니다. AI가 완성된 답을 즉시 뱉으면, 문제를 작은 단위로 쪼개거나 결과를 한 줄씩 의심하는 뇌의 개입도 함께 줄어듭니다. 속도는 빨라져 보이는데, 학습과 판단력은 같은 비율로 줄어든다는 진단입니다. 앞서 슬롭 글에서 다룬 슬롭 폴백과 짝을 이룹니다. 모델은 모를 때 “모른다"고 답하는 대신 그럴듯한 문장으로 빈칸을 채우고, 사용자는 그 출력을 그대로 받아 자기 사고의 빈칸도 함께 채웁니다. 두 회로가 만나는 자리에 사람의 셀프체크가 빠집니다.
자책의 회로에 갇혔던 사람으로서 한편으로는 안도하면서, 다른 한편으로는 더 무섭습니다. 마지막 20%가 풀리지 않은 게 제 탓만은 아니었다는 위로 옆에, 그 풀리지 않는 20%가 조용히 production으로 흘러들고 있다는 사실이 함께 놓입니다.
그래서 자책의 어디까지가 유효한가#
“제 탓이 아니다"로 끝내고 싶지는 않습니다. 그건 너무 편한 결론입니다. 두 가지를 갈라 두려고 합니다.
시키기 전에 문제를 작은 단위로 쪼개고, 결과물을 한 줄씩 다시 읽고, 어디까지 맡기고 어디부터 손으로 짤지 결정하는 일은 여전히 제 영역입니다. 마지막 20%에 도달했을 때 도구를 더 다그칠지 직접 마무리할지도 제가 판단해야 합니다. 도구가 좋아진다고 이 능력까지 함께 좋아지지는 않습니다.
반면 조지 호츠가 짚는 world model의 부재, RLVR의 한계, 통계 분포 안에 없는 작업에 대한 무력함, 미묘하게 부서진 산출물은 도구의 본질적 한계에 속합니다. 프롬프트 튜닝이나 컨텍스트 보강으로 메워지지 않으며, 다음 세대 모델이 풀어야 할 영역입니다.
이 둘을 가르고 나면, 마지막 20%에서 실패할 때마다 다음 질문을 던질 수 있습니다. 지금 막힌 자리는 제 판단의 문제인가, 도구의 한계인가. 답이 전자라면 멈춰서 더 깊이 생각하고, 후자라면 도구를 내려놓고 손으로 마무리합니다. 이것이 차분한 분기입니다.
자책의 회로에서 한 칸 내려놓습니다. 대신 판단력에 그만큼 시간을 더 씁니다. 그 판단력이 어떻게 만들어지는지는 이전 글에서 한 번 풀어 두었으니 여기서는 줄입니다.
마치며#
이 글을 쓴 이유는 단순해요. 같은 자책의 회로에 갇힌 동료 한 사람에게라도 위로가 되면 좋겠다는 마음이에요.
오늘 AI가 일을 못 풀어냈을 때 떠오른 그 첫 생각, 제 프롬프트가 모자랐나, 제 컨텍스트가 부족했나, 제 하네스를 잘못 짠 건가 하는 생각이 전부 제 책임은 아니지만, 그렇다고 전부 도구의 책임도 아니며 그 둘을 가르는 감각만큼은 직접 길러야 해요.
조지 호츠의 글이 셌고 한쪽으로 치우친 면도 있지만, 적어도 에이전트의 한계를 프롬프트 엔지니어링으로 다 메울 수 없다는 점은 그가 옳으며, 그 사실을 인정하고 시작하면 다음 1년이 조금 덜 외로워질 거예요.