아침에 대시보드를 열었을 때, 가장 먼저 눈에 들어온 건 결과물이 아니라 청구서의 자릿수였다. 밤새 에이전트는 목표를 향해 성실하게 돌았다 — 다만 아무도 멈추라고 말해 주지 않았을 뿐이다.
에이전트에게 목표 한 줄을 던지고 잠깐 자리를 비워 본 적이 있다면, 이 서늘함이 낯설지 않을 것이다. "알아서 잘하겠지" 하고 점심을 먹으러 갔다가 세 시간째 헛도는 걸 발견했든, 밤에 돌려놓고 잤다가 아침 청구서에 놀랐든 — 그 순간의 표정은 다들 비슷하다.
오늘은 자랑이 아니라, 데어 본 이야기다
이 호를 처음부터 따라온 당신은 이제 에이전트를 꽤 손에 익혔다. 목표만 던지면 스스로 도는 걸 구경했고(1편), 그 루프를 X-레이로 해부했고(2편), 검색→요약 미니 에이전트를 직접 조립했고(3편), 폭주에 안전벨트를 손으로 걸었고(4편), 목표 한 줄로 처음부터 끝까지 도는 에이전트를 설계했고(5편), 위험한 행동 앞에서 사람에게 묻게 하는 승인 게이트까지 끼워 넣었다(6편).
그런데 6편 끝에 이런 문장을 남겨 뒀다 — "핸들을 쥐는 법을 배우기까지, 누군가는 이미 데었다." 오늘은 그 데어 본 사람들의 밤이다. 이 편에는 새로 조립할 코드도, 채워야 할 빈칸도 없다. 대신 사람의 자리가 있다. 매끈한 성공담 사이에서 슬쩍 지워지곤 하는, "나도 태워봤다"는 목소리들.
나만 그런 게 아니었다 — 먼저 다른 사람들의 밤을 읽자
혼자 저지른 실수 같을 때 가장 무거운 건 손해가 아니라 부끄러움이다. "나만 이렇게 얼빠진 실수를 했나" 싶은 그 마음. 그런데 뚜껑을 열어 보면, 폭주는 대개 딱 네 가지 얼굴 중 하나다.
- 🔁 무한반복 — "아직 부족해"만 되뇌며 같은 문서를 47번 다시 읽는다. 스스로 멈출 줄을 모른다.
- 🛠️ 도구 난사 — 질문 하나에 웹 검색을 89번 날린다. 무료 한도가 오전에 소진된다.
- 💸 예산 초과 — "알아서 리서치해줘" 한 줄 던지고 회의 다녀오니 청구서가 3만 원.
- 🚪 자리 비움 — "금방 되겠지" 하고 점심 먹으러 간 사이 세 시간째 혼자 돌고 있다.
옆의 위젯 맨 위, 익명 사연 벽을 먼저 읽어 보자. 백엔드 개발자·그로스 마케터·대학원생·프리랜서 디자이너까지, 열 편의 폭주 실패담이 위 네 유형으로 색깔별로 붙어 있다. 그 위 분포 차트가 "폭주는 대개 이 네 얼굴 중 하나"임을 한눈에 보여준다. (난이도 ★☆☆ · 읽기만 해도 첫 도착 · 로그인 0)
벽을 읽다 보면 이상하게 마음이 놓인다. "매 바퀴 맥락을 통째로 다시 넣는 줄 몰랐다"는 인디 앱 개발자, "테스트라 얕봤다가 곱셈으로 어림했던 게 부끄럽다"는 5년 차 기획자 — 남의 이야기인데 내 밤 같다. 그게 이 벽의 목적이다. 부끄러움을 연대로 바꾸는 것.
정직하게 밝혀 둔다. 벽에 붙은 사연들은 실명 제보가 아니라, 수많은 폭주가 남긴 네 전형을 대표 사례로 다듬은 것이다. 하지만 그 밤의 식은땀만큼은 가공이 아니다.
왜 그렇게 비쌌을까 — 2·4편이 깔아 둔 복선
사연 벽을 읽다 보면 자연스럽게 질문이 하나 생긴다. "검색 한 번에 몇십 토큰인데, 대체 어떻게 청구서가 만 원, 십만 원까지 갔지?"
이 답은 이미 두 번 지나쳤다. 2편에서 위젯 오른쪽에 슬금슬금 차오르던 누적 맥락 게이지를 기억하는가. 에이전트는 매 바퀴, 앞에서 생각하고·도구 쓰고·관찰한 걸 전부 안고 다음 바퀴로 넘어간다. 그리고 매 바퀴 그 불어난 기억 전체를 통째로 다시 모델에게 보낸다. 그러니 청구서에 찍히는 양은 "이번에 새로 한 일"이 아니라 "지금까지 쌓인 대화 전부"다.
그래서 4편에서 무한 검색 루프를 일부러 돌렸을 때, 검색 한 번에 40토큰짜리 작업이 200바퀴 만에 804,000토큰 ≈ ₩16,080을 찍었다. 순진하게 곱셈으로 어림하면 40 × 200 = 8,000토큰이어야 맞는데, 실제로는 그 100배가 재가 됐다. 4편은 그때 "진짜 얼마가 태워지는지는 7편 계산기에 맡긴다"고 약속하고 넘어갔다. 오늘 그 약속을 받는다 — 왜 그렇게 비쌌는지, 이제 직접 계산해 봅시다.
남의 청구서가, 내 숫자로 바뀌는 순간
여기서부터가 이 편의 절정이다. 지금까지는 남의 사연이었다. 이제 그 청구서를 내 시나리오의 숫자로 바꿔 볼 차례다.
같은 위젯 아래쪽 「이 폭주, 얼마 태웠을까」 계산기로 내려가자. 세 가지만 정하면 된다 — 몇 바퀴 돌았나(슬라이더) · 한 바퀴에 드는 토큰(가벼운 검색 40 / 보통 작업 300 / 무거운 작업 1,500) · 어떤 모델(경제형 ₩5 / 표준형 ₩20 / 고성능형 ₩90, 1천 토큰당 예시 단가). 아무것도 안 만져도 기본값 200바퀴·40토큰·표준형이 4편의 그 숫자, 804,000토큰 ≈ ₩16,080을 그대로 찍고 "↩ 이게 바로 4편에서 목격한 그 무한 검색 루프입니다" 배지가 뜬다. (난이도 ★☆☆ · 슬라이더 한 번이면 첫 성공)
이제 계산기의 심장, 「누적 맥락 재전송(제곱 증가)」 토글을 껐다 켜 보자. 이 토글이 방금 그 100배의 정체다.
- 끄면 — 순진하게 "토큰 × 바퀴"로만 어림한다. 40 × 200 = 8,000토큰, ₩160. "곱셈으로 어림하던 나."
- 켜면(기본값) — 매 바퀴 대화 전체를 다시 보내는 진짜 방식으로 계산한다. 804,000토큰, ₩16,080. 같은 200바퀴인데 자릿수가 통째로 바뀐다.
₩160 ↔ ₩16,080. 토글 하나를 딸깍이는 순간, 화면의 큰 숫자가 100배를 오간다. 오른쪽으로 갈수록 가팔라지는 누적 곡선이 "제곱으로 붇는다"를 눈에 그려 준다. 이 서늘함이 이 계산기의 손맛이다 — 남의 사연이던 청구서가, 내가 슬라이더를 미는 순간 내 숫자가 된다.
💡 더 깊이 — 왜 하필 '제곱'인가 개념
매 바퀴 맥락은 1, 2, 3… N으로 선형으로 커진다. 그런데 그걸 매번 통째로 다시 보내니, 총합은 1+2+3+…+N = N(N+1)/2, 즉 대략 N²/2가 된다(삼각수). 그래서 바퀴를 2배로 늘리면 손실은 약 4배가 된다. 곱셈 어림(토큰 × 바퀴)과 실제의 비율은 정확히 (N+1)/2 — 200바퀴면 약 100배, 500바퀴면 약 250배다. 계산기의 「누적 맥락 재전송」 토글이 바로 이 '곱셈 어림'과 '진짜 방식'을 오가는 스위치다. 2편에서 본 그 게이지가 위로 휜 이유가 이것이다.
하룻밤을 밀어 보면, 청구서가 무너진다
이제 계산기 위쪽 탭을 「방치 시간으로」로 바꿔 보자. 바퀴 수 대신 "자리를 비운 시간"을 넣는다. "잠깐 점심 1시간"을 밀면 약 5만 원. 그리고 "하룻밤 8시간"까지 밀면 — 청구서가 수백만 원대로 치솟는다. "밤에 돌려놓고 잤다"는 프리랜서 디자이너의 사연이, 여기서 진짜 무게를 갖는다.
물론 이 큰 숫자는 정직하게 읽어야 한다. 계산기 하단에 상시 붙어 있듯, 이건 예시 추산이다 — 실제 요금은 제공사·모델·시점·입출력 비율에 따라 크게 다르고, 단가(₩5·₩20·₩90/1K)와 바퀴당 토큰은 이해를 돕는 예시값이다. 그리고 이 방치 시간 시나리오는 "안전벨트가 하나도 없을 때의 예시 최대치"다. 뒤집어 말하면, 4편에서 손으로 건 안전벨트(최대 반복·토큰 예산·반복 감지) 중 단 하나만 걸려 있어도 루프는 애초에 이 지경까지 가지 않는다. 계산기가 겁을 주는 이유는 겁을 주려는 게 아니라, 그 벨트가 왜 선택이 아니라 필수였는지를 내 지갑의 숫자로 못 박기 위해서다.
💡 더 깊이 — 남의 사연을 역산해 보는 놀이 (★★★) 심화
사연 벽의 '예산 초과' 사연 중엔 "청구서 3만 원"처럼 실제 액수가 붙은 것도 있다. 거꾸로 계산기에 맞춰 보면? 표준형·바퀴당 40토큰으로 ₩30,000이 나오려면 약 150만 토큰, 즉 대략 270바퀴다. "저 사람은 그날 밤 270바퀴쯤 돌렸겠구나" — 남의 숫자가 내 감각이 되는 순간이다. 모델을 경제형↔고성능형으로 바꿔 보면 같은 폭주가 18배까지 벌어지는 것도 보인다. "폭주 위험이 있는 자동 루프엔 값싼 모델을"이라는 실전 감각은 여기서 온다.
이제 당신 차례 — 한 줄이면 된다
계산기로 내 폭주를 재봤다면, 마지막 한 걸음이 남았다. 이 벽은 읽기만 하는 벽이 아니다. 당신의 한 줄을 붙이는 벽이다.
위젯의 사연 폼에서 유형 하나를 고르고(무한반복·도구 난사·예산 초과·자리 비움), 그 밤의 한 문장을 남기자. 예: "'금방 되겠지' 하고 점심 먹으러 갔다가 3시간 도는 걸 발견했다." 로그인도 전송도 없다 — 당신 브라우저에만 저장되고, 분포 차트에 즉시 반영된다. 계산기를 만지고(체크 ①) 사연을 남기면(체크 ②) 🎉 "나도 태워봤다" 완주 배지가 켜지고, 공유 문구가 자동으로 완성된다. (난이도 ★☆☆ · 문장 하나면 완주)
[📋 공유 문구 복사]를 눌러 #나도태워봤다 태그로 나눠 보자. 당신이 남긴 "나도 태워봤다"는 한 줄이, 다음 독자에게는 "나만 그런 게 아니었구나"가 된다. 부끄러움이 연대가 되는 건 그렇게, 한 줄씩이다. (베스트 사연은 다음 호에 소개한다.)
마치며 — 자율의 편리에는, 그림자가 한 세트다
이 호는 줄곧 "루프를 돌게 하자"였다. 목표만 던지면 알아서 여러 바퀴 도는 그 후련함은 진짜다 — 매번 잘게 쪼개 먹이던 피로를 덜어 주고, 잠든 사이에도 일이 진행된다. 그 편리를 부정하고 싶지는 않다.
다만 오늘 우리는 그 편리의 한 세트를 봤다. 스스로 도는 힘에는 반드시 폭주의 그림자가 따라오고, 느슨하게 풀어 둔 자율에는 반드시 대가가 붙는다. 남들의 사연과 당신이 방금 슬라이더로 재본 숫자가, 그걸 증명한다. 그래서 4편에서 손으로 건 안전벨트는 선택이 아니라 필수였다. "돌게 만드는 것만큼, 멈추게 만드는 것이 중요하다" — 이 호의 그 한 줄이, 오늘 사람들의 목소리로 못 박힌다.
일곱 편을 지나오며 당신은 하나의 루프를 함께 돌았다. 구경하고 → 해부하고 → 조립하고 → 제어하고 → 설계하고 → 사람이 개입하고 → 오늘, 데어 본 이야기로 숨을 골랐다. 손에 남은 건 스스로 도는 에이전트 두 대와, 그 루프를 멈추고·예산을 걸고·사람이 끼어들게 하는 감각, 그리고 "나만 그런 게 아니구나"라는 한 줌의 안도다. 에이전트를 두려워할 필요도, 맹신할 필요도 없다는 걸 — 손으로 돌려 봤으니 안다.
다음 호에서 우리는 또 다른 밤을 이야기할 것이다. 그때 당신이 #나도태워봤다에 남긴 한 줄이 누군가의 첫 안도가 되어 있기를. 오늘은, 여기까지 온 당신의 손끝을 조용히 쉬게 두자.