자책의 회로#
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년이 조금 덜 외로워진다.