루프 시작하기: Claude Code 팀이 정의하는 에이전트 루프

Claude Code 팀이 루프를 '멈춤 조건을 만날 때까지 일을 반복하는 에이전트'로 정의하고, 턴 기반부터 목표 기반, 시간 기반, 자동 루프까지 네 종류와 각각의 쓰임새, 코드 품질과 토큰 관리법을 정리한다.

루프 시작하기

Category: Claude Code · Product: Claude Code · Date: June 30, 2026 · Reading time: 5 min

요즘 "루프를 설계한다"는 말이 코딩 에이전트에게 프롬프트를 보내는 방식을 대신하며 많이 오갑니다. X에서 루프가 정확히 무엇인지 찾아보면 서로 다른 답이 여러 개 나옵니다.

Claude Code 팀은 루프를 멈춤 조건을 만날 때까지 일을 반복하는 에이전트로 정의합니다. 우리는 다음 네 가지를 기준으로 루프를 몇 종류로 나눕니다.

모든 일에 복잡한 루프가 필요하지는 않습니다. 가장 단순한 방법부터 시작하고, 이 패턴들은 골라서 씁니다.

턴 기반 루프 (Turn-based loops)

프롬프트를 하나 보낼 때마다 사용자가 매 턴을 이끄는 수동 루프가 시작됩니다. Claude는 맥락을 모으고, 행동하고, 자기 일을 확인하고, 필요하면 반복한 뒤 답합니다. 우리는 이걸 에이전트 루프라고 부릅니다.

turn-based-loop

예를 들어 Claude에게 좋아요 버튼을 만들라고 합니다. Claude는 코드를 읽고, 수정하고, 테스트를 돌린 뒤 작동한다고 믿는 결과를 돌려줍니다. 그러면 사용자가 직접 결과를 확인하고 다음 프롬프트를 씁니다.

검증 단계는 손으로 하던 절차를 SKILL.md로 적어두면 개선됩니다. 그러면 Claude가 자기 일을 처음부터 끝까지 더 많이 확인합니다. 여기에는 Claude가 결과를 보고, 재고, 다뤄볼 수 있게 하는 도구나 connector를 넣습니다. 확인이 정량적일수록 Claude가 스스로 검증하기 쉬워집니다.

예를 들어 SKILL.md 파일에 이렇게 적을 수 있습니다.

---
name: verify-frontend-change
description: Verify any UI change end-to-end before declaring it done.
---

# Verifying frontend changes
Never report a UI change as complete based on a successful edit alone. Verify it the way a human reviewer would:

1. Start the dev server and open the edited page in the browser.

2. Interact with the change directly. For a new control (button, input, toggle): click it, confirm the expected state change, and screenshot before/after.

3. Check the browser console: zero new errors or warnings.

4. Use the Chrome Devtools MCP, run a performance trace and audit Core Web Vitals.

If any step fails, fix the issue and rerun from step 1 — do not hand back partially verified work.

목표 기반 루프 (Goal-based loop, /goal)

한 턴으로 부족할 때가 있습니다. 특히 더 복잡한 일이 그렇습니다. 에이전트는 반복할 수 있을 때 더 잘합니다. /goal로 "완료"가 무엇인지 정의하면 Claude가 반복하는 시간을 늘릴 수 있습니다.

성공 기준을 정해두면 Claude가 "이 정도면 됐다"를 스스로 판단해 루프를 일찍 끝내지 않습니다. Claude가 멈추려 할 때마다 평가 모델이 조건을 확인하고, 목표를 만족하거나 정해둔 턴 수에 이를 때까지 다시 일을 시킵니다.

그래서 통과한 테스트 수나 특정 점수 기준을 넘겼는지 같은 결정적 기준이 아주 잘 통합니다.

goal-based-loop

예를 들어:

/goal get the homepage Lighthouse score to 90 or above, stop after 5 tries.

시간 기반 루프 (Time-based loop, /loop과 /schedule)

어떤 에이전트 일은 반복됩니다. 일은 그대로고 입력만 바뀝니다. 예를 들어 매일 아침 Slack 메시지를 요약하는 일입니다. 또 어떤 일은 외부 시스템에 달려 있는데, 이런 시스템과 주고받는 간단한 방법은 일정 간격으로 확인하고 바뀐 것에 반응하는 것입니다. 예를 들어 코드 리뷰를 받거나 CI가 깨질 수 있는 PR이 그렇습니다.

이런 일에는 /loop으로 Claude가 실행되는 시점을 정할 수 있습니다. /loop은 프롬프트를 일정 간격으로 다시 돌립니다. 예를 들어:

/loop 5m check my PR, address review comments, and fix failing CI

/loop은 내 컴퓨터에서 돌기 때문에 컴퓨터를 끄면 멈춥니다. /schedule로 routine을 만들면 루프를 클라우드로 옮길 수 있습니다.

자동 루프 (Proactive loops)

위의 primitive들은 auto modedynamic workflows(research preview) 같은 다른 Claude Code 기능과 함께 엮어서 오래 도는 일을 위한 루프로 만들 수 있습니다.

예를 들어 들어오는 피드백을 처리하려면 이렇게 씁니다.

proactive-loop

이걸 합치면 프롬프트는 이렇게 보일 수 있습니다.

/schedule every hour: check #project-feedback for bug reports. /goal: don't stop until every report found this run is triaged, actioned, and responded to. When fixing a bug, use a workflow to explore three solutions in parallel worktrees and have a judge adversarially review them.

코드 품질 지키기

루프가 내놓는 결과의 품질은 그 둘레의 시스템에 달려 있습니다. 시스템을 설계할 때는 이렇게 합니다.

결과 하나가 기준에 못 미칠 때는 그 문제 하나를 고치고 끝내지 말고, 앞으로의 모든 반복에 도움이 되도록 시스템에 반영해 봅니다.

토큰 사용량 관리

토큰을 관리하려면 루프에 뚜렷한 경계가 있어야 합니다.

시작하기

루프별 차이는 다음과 같습니다.

루프 넘기는 것 언제 쓰나 무엇을 쓰나
턴 기반 확인 탐색하거나 결정하는 중일 때 맞춤 검증 skill
목표 기반 멈춤 조건 "완료"가 무엇인지 알 때 /goal
시간 기반 시작 신호 일이 프로젝트 밖에서 일정대로 벌어질 때 /loop, /schedule
자동 프롬프트 일이 반복되고 잘 정의돼 있을 때 위의 전부와 dynamic workflows

루프를 시작하려면 이미 하고 있는 일을 봅니다. 내가 병목인 일을 하나 골라, 어떤 부분을 넘길 수 있을지 물어봅니다. 검증 확인을 내가 적을 수 있나? 목표가 충분히 뚜렷한가? 일이 일정대로 들어오나?

방법이 떠오르면 루프를 돌려보고, 어디서 멈추거나 지나치는지 결과를 살피고, 겁내지 말고 다듬어 갑니다.

더 알고 싶으면 Claude Code 문서에서 에이전트 병렬 실행, 그리고 loop, schedule, goal, dynamic workflows 페이지를 읽어 봅니다.

이 글은 Delba de Oliveira와 Michael Segner가 썼습니다.