본문으로 건너뛰기

© 2026 Molayo

Qiita헤드라인2026. 06. 27. 03:42

Claude Code로 번역이나 문장 교정을 시키면 무한 루프에 빠져 토큰을 낭비하는 이유와 claude -p를 통한 회피책

요약

Claude Code가 번역이나 문장 교정 작업 시 무한 루프에 빠져 토큰을 낭비하는 원인을 분석하고, 이를 해결하기 위한 claude -p 옵션 활용법을 소개합니다. 에이전트 루프의 특성과 텍스트 작업의 차이점을 이해하여 효율적으로 도구를 사용하는 방법을 다룹니다.

핵심 포인트

  • Claude Code의 에이전트 루프는 코드 편집에 최적화되어 있어 단순 텍스트 작업에는 부적합함
  • 부분 편집 반복과 파일 재읽기 과정이 토큰 낭비 및 결과 불일치를 유발함
  • claude -p (print mode)를 사용하면 대화 루프 없이 단 한 번의 턴으로 결과를 얻을 수 있음
  • 번역이나 교정 시에는 전체 텍스트를 한 번에 처리하도록 유도하는 것이 일관성 유지에 유리함

Claude Code에 "이 문장을 교정해줘", "이 자막을 다시 번역해줘"라고 부탁했더니, 1시간 이상 파일을 계속 만지다가 결국 앞뒤가 맞지 않는 결과만 나왔다—라는 이야기를 몇 군데서 볼 수 있다. 똑같은 작업을 일반적인 채팅(ChatGPT나 claude.ai의 채팅)에 던졌다면 몇 초 만에 끝났을 것이라는 결말도 세트로 따라온다.

이것은 "모델이 문장 작업을 못 하는 것"이 아니다. 실제로 Claude Code 안에서 움직이는 모델은 채팅에서 좋은 답을 내놓는 모델과 동일한 것이다. 차이점은 모델 주변의 메커니즘, 즉 하네스(Harness, 실행 루프)의 형태에 있다. 태스크의 형태와 도구의 형태가 맞물리지 않을 뿐이며, 이는 맞물림을 수정하면 사라지는 문제다.

이 기사에서는 왜 이런 일이 발생하는지와, Claude Code에서도 몇 초 만에 끝나는 채팅과 같은 동작을 하게 만드는 구체적인 회피책을 정리한다.

Claude Code는 **코드 편집을 위한 에이전트 루프(Agent Loop)**로서 만들어졌다. 기본적인 움직임은 다음과 같다.

  • 파일을 읽는다
  • 작게 부분 편집한다 (Edit)
  • 다시 읽어서 자신의 편집을 확인한다
  • 필요하다면 다시 작게 수정한다

이 형태는 여러 단계와 검증을 동반하는 코드 작업에는 매우 효과적이다. 하지만 "소스도, 고치고 싶은 방향도 명확히 결정되어 있는 단 한 번의 텍스트 교정·번역"에는 루프 자체가 불필요한 형태가 된다.

  • 부분 편집을 반복하기 때문에, 긴 문장의 일부만 수정되어 다른 부분과 일관되지 않은 결과가 발생한다. "100번을 해도 고쳐지지 않는다", "엉뚱한 내용이 섞인다"는 것은 대개 이 부분 적용의 불일치 때문이다.
  • 매번 파일을 다시 읽고 재시도하기 때문에, 문맥이 계속 쌓이면서 토큰을 잡아먹는다. 1시간 동안 토큰이 녹아내렸다는 것은 이 루프가 헛돌고 있는 시간이다.
  • 반면 채팅은 텍스트 전체를 한 번에 다시 써서 반환한다. 이것이 이 작업에 필요한 움직임 그 자체이므로 몇 초 만에 끝난다.

즉 원인을 한 줄로 말하자면, 같은 모델이라도 에이전트 루프는 코드 편집에 최적화되어 있어, 덩어리째로 이루어지는 문장 쓰기 작업에는 적합하지 않다는 것이다. 따라서 순수한 언어 태스크일 때는 도구를 모델의 손에서 빼앗아 버리면 채팅과 같은 동작으로 돌아온다.

가장 확실한 방법은 대화 루프를 사용하지 않고 **단 한 번의 턴(1-turn)**만 실행하는 것이다. Claude Code에는 비대화 모드(print mode)가 있다.

claude -p "다음 문장을 교정해 주세요. 교정 후의 본문만 출력하고, 설명이나 서론은 일절 붙이지 마세요.
<여기에 본문을 붙여넣기>"

-p (--print)는 대화 주고받기를 하지 않고, 한 번에 결과를 반환하고 종료한다. 파일을 끝없이 편집하러 가는 루프가 발생하지 않으므로, 헛도는 현상도 토큰이 쌓이는 현상도 일어나지 않는다. 출력을 그대로 받아서 직접 파일에 다시 붙여넣으면 된다.

번역도 마찬가지다.

claude -p "다음 영어 자막을 자연스러운 일본어로 번역해 주세요. 번역문만 출력해 주세요.
<본문>" > translated.txt

대화 모드로 사용할 경우에도, "파일을 수정해줘"가 아니라 "교정 후의 전문을 반환해줘"라고 부탁한다. 본문을 프롬프트에 붙여넣고, 결과를 본문으로서 받아낸 뒤, 다시 붙여넣는 것은 직접 수행한다. 긴 산문을 그 자리에서 부분 편집하게 만드는 것이 루프와 부분 적용의 온상이 된다.

나누어서 조금씩 고치게 하면 각 부분 사이에서 모순된 결과가 나오기 쉽다. 전체를 한 번에 전달하고, 전체를 한 번에 다시 쓰게 하면 일관성이 유지된다.

대화를 계속하고 싶다면 plan mode (--permission-mode plan)로 동작시킨다. 모델이 마음대로 쓰기·실행 루프에 들어갈 수 없게 되므로, 먼저 방침을 확인한 뒤에 진행할 수 있다. 추측이나 탈선은 실행되기 전에 계획(plan)의 글자로 보이기 때문에 그 자리에서 거부할 수 있다.

코드를 건드리지 않는 순수한 문장 작업이라면, claude.ai의 채팅에 붙여넣는 것이 솔직한 정답이다. Claude Code는 리포지토리 안에서 여러 단계의 작업을 돌리기 위한 도구이며, 단 한 번의 변환은 채팅의 영역이다. 도구를 태스크의 형태에 맞춘다는 것, 그뿐인 이야기이기도 하다.

  • 에이전트 루프 (Agent Loop) (Claude Code의 기본값)가 적합한 경우: 검증을 동반하는 여러 단계의 코드 작업.
  • 단 한 번의 변환 (번역·교정·요약·개작)이 적합한 경우: 채팅 또는 claude -p.
  • 단 한 번의 변환에 루프를 사용하면, 부분 적용의 불일치와 다시 읽기·재시도로 인한 토큰 낭비가 발생한다.

「Claude Code가 단순한 작업으로 시간과 토큰을 낭비하고 있다」고 느껴진다면, 대부분은 모델의 능력이 아니라 태스크(Task)와 도구(Tool) 사이의 궁합 문제다. 도구를 손에서 내려놓고 claude -p로 한 번에 처리하는 법을 기억해 두면, 무의미한 루프(Loop)의 대부분을 없앨 수 있다.

Claude Code의 토큰 소비를 작업 종류별로 재검토하여 체계적으로 줄이고 싶다면, 30일간의 실데이터를 바탕으로 소비 내역과 절감 대책을 정리한 책(토큰 소비를 절반으로 줄이기)도 집필했다. 이번 사례와 같은 「태스크와 도구의 궁합」 문제 역시 월간 소비량을 높이는 요인 중 하나다.

AI 자동 생성 콘텐츠

본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0