Communitygithub.com

자율 루프 (Autonomous Loops)

간단한 순차 파이프라인부터 RFC 기반 다중 에이전트 DAG 시스템까지 Claude Code 자율 루프를 위한 패턴과 아키텍처입니다. 이전 버전과의 호환성만을 위해 유지됩니다: 새로운 자율 루프 지침이 필요하면 `continuous-agent-loop`을 사용하세요.

자율 루프 (Autonomous Loops)란 무엇인가요?

이 스킬은 Claude Code를 자율적으로 실행하는 다양한 루프 패턴을 제공합니다. 가장 단순한 `claude -p` 기반 순차 파이프라인부터 다중 에이전트를 오케스트레이션하는 RFC 기반 DAG 시스템까지 폭넓은 복잡도를 지원합니다. 각 패턴은 특정 사용 사례(일일 개발 작업, 병렬 콘텐츠 생성, CI/CD 통합, 대규모 기능 개발)에 최적화되어 있으며, 품질 관리를 위한 'De-Sloppify' 패턴과 같은 애드온도 포함됩니다. 이 스킬은 Claude Code의 명령 시스템, 작업 도구, 그리고 셸 스크립트를 활용하여 구현되며, 반복 간 컨텍스트 전달을 위해 공유 파일(SHARED_TASK_NOTES.md)을 사용합니다. 참고로 v1.8.0부터는 이 스킬 대신 `continuous-agent-loop` 스킬을 사용하는 것이 권장되며, 이 스킬은 기존 워크플로우 중단을 방지하기 위해 임시로 유지됩니다.

지원 대상✓Claude Code✓Codex CLI~Cursor✓Antigravity
npx skills add https://github.com/affaan-m/ECC/tree/main/skills/autonomous-loops

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

자율 루프 스킬

호환성 참고 (v1.8.0): autonomous-loops는 한 번의 릴리스 동안 유지됩니다. 표준 스킬 이름은 이제 continuous-agent-loop입니다. 새로운 루프 지침은 해당 스킬에서 작성해야 하며, 이 스킬은 기존 워크플로우를 중단하지 않기 위해 유지됩니다.

Claude Code를 자율적으로 루프에서 실행하기 위한 패턴, 아키텍처 및 참조 구현입니다. 간단한 claude -p 파이프라인부터 완전한 RFC 기반 다중 에이전트 DAG 오케스트레이션까지 모든 것을 다룹니다.

사용 시기

  • 사람의 개입 없이 실행되는 자율 개발 워크플로우 설정
  • 문제에 맞는 올바른 루프 아키텍처 선택 (단순 vs 복잡)
  • CI/CD 스타일의 지속적 개발 파이프라인 구축
  • 병합 조정을 통한 병렬 에이전트 실행
  • 루프 반복 간 컨텍스트 유지 구현
  • 자율 워크플로우에 품질 게이트 및 정리 패스 추가

루프 패턴 스펙트럼

가장 단순한 것부터 가장 정교한 것까지:

패턴복잡도최적 사용 사례
순차 파이프라인낮음일일 개발 단계, 스크립트 기반 워크플로우
NanoClaw REPL낮음대화형 지속 세션
무한 에이전트 루프중간병렬 콘텐츠 생성, 사양 기반 작업
지속적 Claude PR 루프중간CI 게이트가 있는 다일 반복 프로젝트
De-Sloppify 패턴추가 기능구현자 단계 후 품질 정리
Ralphinho / RFC 기반 DAG높음대규모 기능, 병합 대기열이 있는 다중 유닛 병렬 작업

1. 순차 파이프라인 (claude -p)

가장 간단한 루프. 일일 개발을 비대화형 claude -p 호출 순서로 나눕니다. 각 호출은 명확한 프롬프트가 있는 집중된 단계입니다.

핵심 통찰

이런 루프조차 구상할 수 없다면, 대화형 모드에서도 LLM을 이용해 코드를 수정할 수 없다는 뜻입니다.

claude -p 플래그는 Claude Code를 프롬프트와 함께 비대화형으로 실행하고 완료되면 종료합니다. 호출을 연결하여 파이프라인을 구축하세요:

#!/bin/bash
# daily-dev.sh — 기능 브랜치를 위한 순차 파이프라인

set -e

# 1단계: 기능 구현
claude -p "docs/auth-spec.md에 있는 스펙을 읽으세요. src/auth/에 OAuth2 로그인을 구현하세요. 먼저 테스트를 작성하세요(TDD). 새로운 문서 파일을 생성하지 마세요."

# 2단계: De-sloppify (정리 패스)
claude -p "이전 커밋에서 변경된 모든 파일을 검토하세요. 불필요한 타입 테스트, 지나치게 방어적인 검사, 또는 언어 기능(예: TypeScript 제네릭이 작동하는지 테스트) 테스트를 제거하세요. 실제 비즈니스 로직 테스트는 유지하세요. 정리 후 테스트 스위트를 실행하세요."

# 3단계: 확인
claude -p "전체 빌드, 린트, 타입 검사 및 테스트 스위트를 실행하세요. 실패를 수정하세요. 새로운 기능을 추가하지 마세요."

# 4단계: 커밋
claude -p "스테이징된 모든 변경 사항에 대해 컨벤셔널 커밋을 생성하세요. 메시지로 'feat: add OAuth2 login flow'를 사용하세요."

핵심 설계 원칙

  1. 각 단계는 격리됩니다 — claude -p 호출마다 새로운 컨텍스트 창이므로 단계 간 컨텍스트가 누출되지 않습니다.
  2. 순서가 중요합니다 — 단계는 순차적으로 실행됩니다. 각 단계는 이전 단계가 남긴 파일 시스템 상태를 기반으로 합니다.
  3. 부정 명령은 위험합니다 — "타입 시스템을 테스트하지 마세요"라고 말하지 마세요. 대신 별도의 정리 단계를 추가하세요 (De-Sloppify 패턴 참조).
  4. 종료 코드가 전파됩니다 — set -e는 실패 시 파이프라인을 중단합니다.

변형

모델 라우팅 사용:

# Opus로 연구 (심층 추론)
claude -p --model opus "코드베이스 아키텍처를 분석하고 캐싱 추가를 위한 계획을 작성하세요..."

# Sonnet으로 구현 (빠르고 유능함)
claude -p "docs/caching-plan.md의 계획에 따라 캐싱 계층을 구현하세요..."

# Opus로 검토 (철저함)
claude -p --model opus "보안 문제, 경쟁 조건 및 엣지 케이스에 대한 모든 변경 사항을 검토하세요..."

환경 컨텍스트 사용:

# 프롬프트 길이가 아닌 파일을 통해 컨텍스트 전달
echo "집중 영역: auth 모듈, API 속도 제한" > .claude-context.md
claude -p ".claude-context.md를 읽고 우선순위를 확인하세요. 순서대로 작업하세요."
rm .claude-context.md

--allowedTools 제한 사용:

# 읽기 전용 분석 패스
claude -p --allowedTools "Read,Grep,Glob" "이 코드베이스에서 보안 취약점을 감사하세요..."

# 쓰기 전용 구현 패스
claude -p --allowedTools "Read,Write,Edit,Bash" "security-audit.md의 수정 사항을 구현하세요..."

2. NanoClaw REPL

ECC의 내장 지속 루프. 전체 대화 기록과 함께 동기식으로 claude -p를 호출하는 세션 인식 REPL입니다.

# 기본 세션 시작
node scripts/claw.js

# 스킬 컨텍스트가 있는 명명된 세션
CLAW_SESSION=my-project CLAW_SKILLS=tdd-workflow,security-review node scripts/claw.js

작동 방식

  1. ~/.claude/claw/{session}.md에서 대화 기록 로드
  2. 각 사용자 메시지는 전체 기록을 컨텍스트로 claude -p에 전송
  3. 응답이 세션 파일에 추가됨 (데이터베이스로서의 마크다운)
  4. 세션은 재시작 후에도 유지됨

NanoClaw vs 순차 파이프라인 사용 시기

사용 사례NanoClaw순차 파이프라인
대화형 탐색예아니오
스크립트 기반 자동화아니오예
세션 지속성내장수동
컨텍스트 누적턴마다 증가각 단계마다 새로 고침
CI/CD 통합낮음우수

전체 내용은 /claw 명령 문서를 참조하세요.


3. 무한 에이전트 루프

두 개의 프롬프트 시스템으로, 사양 기반 생성을 위해 병렬 하위 에이전트를 오케스트레이션합니다. disler에 의해 개발됨 (크레딧: @disler).

아키텍처: 두 개의 프롬프트 시스템

프롬프트 1 (오케스트레이터)              프롬프트 2 (하위 에이전트)
┌─────────────────────┐             ┌──────────────────────┐
│ 사양 파일 파싱       │             │ 전체 컨텍스트 수신    │
│ 출력 디렉토리 스캔   │  배포       │ 할당된 번호 읽기      │
│ 반복 계획 수립       │────────────│ 사양을 정확히 따름    │
│ 창의적 방향 할당     │  N 에이전트 │ 고유한 출력 생성      │
│ 웨이브 관리          │             │ 출력 디렉토리에 저장  │
└─────────────────────┘             └──────────────────────┘

패턴

  1. 사양 분석 — 오케스트레이터가 생성할 내용을 정의하는 사양 파일(Markdown)을 읽습니다.
  2. 디렉토리 정찰 — 기존 출력을 스캔하여 가장 높은 반복 번호를 찾습니다.
  3. 병렬 배포 — 각각 다음을 포함하는 N개의 하위 에이전트를 시작합니다:
    • 전체 사양
    • 고유한 창의적 방향
    • 특정 반복 번호 (충돌 없음)
    • 기존 반복 스냅샷 (고유성 보장)
  4. 웨이브 관리 — 무한 모드의 경우 컨텍스트가 소진될 때까지 3-5개의 에이전트 웨이브를 배포합니다.

Claude Code 명령을 통한 구현

.claude/commands/infinite.md 생성:

$ARGUMENTS에서 다음 인수를 파싱하세요:
1. spec_file — 사양 마크다운 파일 경로
2. output_dir — 반복이 저장되는 디렉토리
3. count — 정수 1-N 또는 "infinite"

1단계: 사양을 읽고 깊이 이해하세요.
2단계: output_dir를 나열하고 가장 높은 반복 번호를 찾으세요. N+1부터 시작하세요.
3단계: 창의적 방향을 계획하세요 — 각 에이전트는 다른 테마/접근 방식을 받습니다.
4단계: 하위 에이전트를 병렬로 배포하세요 (Task 도구 사용). 각 에이전트는 다음을 받습니다:
  - 전체 사양 텍스트
  - 현재 디렉토리 스냅샷
  - 할당된 반복 번호
  - 고유한 창의적 방향
5단계 (무한 모드): 컨텍스트가 부족할 때까지 3-5개의 웨이브로 반복하세요.

호출:

/project:infinite specs/component-spec.md src/ 5
/project:infinite specs/component-spec.md src/ infinite

배치 전략

개수전략
1-5모든 에이전트 동시에
6-205개씩 배치
무한3-5개 웨이브, 점진적 정교화

핵심 통찰: 할당을 통한 고유성

에이전트가 스스로 차별화하도록 의존하지 마세요. 오케스트레이터가 각 에이전트에 할당하는 고유한 창의적 방향과 반복 번호가 있어야 합니다. 이는 병렬 에이전트 간 중복 개념을 방지합니다.


4. 지속적 Claude PR 루프

프로덕션 등급 셸 스크립트로, Claude Code를 지속적 루프로 실행하여 PR을 생성하고 CI를 기다린 후 자동으로 병합합니다. AnandChowdhary가 제작 (크레딧: @AnandChowdhary).

핵심 루프

┌─────────────────────────────────────────────────────┐
│  지속적 CLAUDE 반복                                │
│                                                     │
│  1. 브랜치 생성 (continuous-claude/iteration-N)    │
│  2. 개선된 프롬프트로 claude -p 실행                │
│  3. (선택 사항) 검토자 패스 — 별도의 claude -p     │
│  4. 변경 사항 커밋 (claude가 메시지 생성)           │
│  5. 푸시 + PR 생성 (gh pr create)                   │
│  6. CI 검사 대기 (gh pr checks 폴링)                │
│  7. CI 실패? → 자동 수정 패스 (claude -p)           │
│  8. PR 병합 (squash/merge/rebase)                   │
│  9. main으로 복귀 → 반복                            │
│                                                     │
│  제한: --max-runs N | --max-cost $X                 │
│            --max-duration 2h | 완료 신호            │
└─────────────────────────────────────────────────────┘

설치

경고: 코드를 검토한 후 저장소에서 continuous-claude를 설치하세요. 외부 스크립트를 bash에 직접 파이프하지 마세요.

사용법

# 기본: 10회 반복
continuous-claude --prompt "테스트되지 않은 모든 함수에 단위 테스트 추가" --max-runs 10

# 비용 제한
continuous-claude --prompt "모든 린터 오류 수정" --max-cost 5.00

# 시간 제한
continuous-claude --prompt "테스트 범위 개선" --max-duration 8h

# 코드 리뷰 패스 포함
continuous-claude \
  --prompt "인증 기능 추가" \
  --max-runs 10 \
  --review-prompt "npm test && npm run lint 실행, 실패 수정"

# 워크트리를 통한 병렬 실행
continuous-claude --prompt "테스트 추가" --max-runs 5 --worktree tests-worker &
continuous-claude --prompt "코드 리팩토링" --max-runs 5 --worktree refactor-worker &
wait

반복 간 컨텍스트: SHARED_TASK_NOTES.md

핵심 혁신: 반복 간에 유지되는 SHARED_TASK_NOTES.md 파일:

## 진행 상황
- [x] auth 모듈 테스트 추가 (반복 1)
- [x] 토큰 갱신 엣지 케이스 수정 (반복 2)
- [ ] 아직 필요: 속도 제한 테스트, 에러 경계 테스트

## 다음 단계
- 다음에는 속도 제한 모듈에 집중
- tests/helpers.ts의 목업 설정을 재사용 가능

Claude는 반복 시작 시 이 파일을 읽고 반복 종료 시 업데이트합니다. 이는 독립적인 claude -p 호출 간의 컨텍스트 격차를 해소합니다.

CI 실패 복구

PR 검사가 실패하면 Continuous Claude는 자동으로:

  1. gh run list를 통해 실패한 실행 ID를 가져옴
  2. CI 수정 컨텍스트로 새 claude -p를 생성
  3. Claude가 gh run view를 통해 로그를 검사하고 코드를 수정, 커밋, 푸시
  4. 검사를 다시 기다림 (최대 --ci-retry-max 시도)

완료 신호

Claude는 매직 문구를 출력하여 "완료"를 알릴 수 있습니다:

continuous-claude \
  --prompt "이슈 트래커의 모든 버그 수정" \
  --completion-signal "CONTINUOUS_CLAUDE_PROJECT_COMPLETE" \
  --completion-threshold 3  # 연속 3번 신호 후 중지

3번의 연속 반복이 완료를 알리면 루프가 중지되어 완료된 작업에 대한 불필요한 실행을 방지합니다.

주요 설정

플래그목적
--max-runs N성공적인 N회 반복 후 중지
--max-cost $X$X 지출 후 중지
--max-duration 2h경과 시간 후 중지
--merge-strategy squashsquash, merge 또는 rebase
--worktree <name>git 워크트리를 통한 병렬 실행
--disable-commits드라이런 모드 (git 작업 없음)
--review-prompt "..."반복당 검토자 패스 추가
--ci-retry-max NCI 실패 자동 수정 (기본값: 1)

5. De-Sloppify 패턴

모든 루프에 대한 추가 패턴. 각 구현자 단계 후 전용 정리/리팩토링 단계를 추가합니다.

문제

LLM에게 TDD로 구현하라고 요청하면 "테스트 작성"을 너무 문자 그대로 받아들입니다:

  • TypeScript의 타입 시스템이 작동하는지 확인하는 테스트 (typeof x === 'string' 테스트)
  • 타입 시스템이 이미 보장하는 것에 대한 지나치게 방어적인 런타임 검사
  • 비즈니스 로직보다는 프레임워크 동작에 대한 테스트
  • 실제 코드를 모호하게 만드는 과도한 오류 처리

왜 부정 명령이 아닌가?

구현자 프롬프트에 "타입 시스템을 테스트하지 마세요" 또는 "불필요한 검사를 추가하지 마세요"를 추가하면 다음과 같은 하류 효과가 있습니다:

  • 모델이 모든 테스트에 대해 주저하게 됨
  • 합법적인 엣지 케이스 테스트를 건너뜀
  • 품질이 예측 불가능하게 저하됨

해결책: 별도의 패스

구현자를 제한하는 대신 철저하게 두세요. 그런 다음 집중된 정리 에이전트를 추가하세요:

# 1단계: 구현 (철저하게 두기)
claude -p "완전한 TDD로 기능을 구현하세요. 테스트를 철저히 작성하세요."

# 2단계: De-sloppify (별도의 컨텍스트, 집중된 정리)
claude -p "작업 트리의 모든 변경 사항을 검토하세요. 다음을 제거하세요:
- 비즈니스 로직이 아닌 언어/프레임워크 동작을 확인하는 테스트
- 타입 시스템이 이미 적용하는 중복 타입 검사
- 불가능한 상태에 대한 지나치게 방어적인 오류 처리
- Console.log 문
- 주석 처리된 코드

모든 비즈니스 로직 테스트는 유지하세요. 정리 후 테스트 스위트를 실행하여 아무것도 깨지지 않았는지 확인하세요."

루프 컨텍스트에서

for feature in "${features[@]}"; do
  # 구현
  claude -p "$feature를 TDD로 구현하세요."

  # De-sloppify
  claude -p "정리 패스: 변경 사항 검토, 테스트/코드 슬롭 제거, 테스트 실행."

  # 확인
  claude -p "빌드 + 린트 + 테스트를 실행하세요. 실패를 수정하세요."

  # 커밋
  claude -p "메시지로 커밋: feat: add $feature"
done

핵심 통찰

하류 품질 영향을 주는 부정 명령을 추가하는 대신, 별도의 de-sloppify 패스를 추가하세요. 두 개의 집중된 에이전트가 하나의 제약된 에이전트보다 더 나은 성과를 냅니다.


6. Ralphinho / RFC 기반 DAG 오케스트레이션

가장 정교한 패턴. RFC 기반의 다중 에이전트 파이프라인입니다.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

accessibility

Design, implement, and audit inclusive digital products using WCAG 2.2 Level AA. Use when building or auditing UI that must meet WCAG 2.2 Level AA, or when reviewing a change for keyboard, contrast, or screen-reader support.

affaan-m/content-engine

Create platform-native content systems for X, LinkedIn, TikTok, YouTube, newsletters, and repurposed multi-platform campaigns. Use when the user wants social posts, threads, scripts, content calendars, or one source asset adapted cleanly across platforms.

affaan-m/ECC

Multi-platform content distribution across X, LinkedIn, Threads, and Bluesky. Adapts content per platform using content-engine patterns. Never posts identical content cross-platform. Use when the user wants to distribute content across social platforms.

affaan-m/fal-ai-media

Unified media generation via fal.ai MCP — image, video, and audio. Covers text-to-image (Nano Banana), text/image-to-video (Seedance, Kling, Veo 3), text-to-speech (CSM-1B), and video-to-audio (ThinkSound). Use when the user wants to generate images, videos, or audio with AI.

affaan-m/manim-video

日本語翻訳:このファイルは manim-video 用の日本語翻訳が必要です

affaan-m/remotion-video-creation

Remotion のベストプラクティス - React で動画を作成する。3D、アニメーション、音声、字幕、チャート、トランジションなどをカバーするドメイン固有の29のルール。

affaan-m/video-editing

AI-assisted video editing workflows for cutting, structuring, and augmenting real footage. Covers the full pipeline from raw capture through FFmpeg, Remotion, ElevenLabs, fal.ai, and final polish in Descript or CapCut. Use when the user wants to edit video, cut footage, create vlogs, or build video content.

agent-architecture-audit

Full-stack diagnostic for agent and LLM applications. Audits the 12-layer agent stack for wrapper regression, memory pollution, tool discipline failures, hidden repair loops, and rendering corruption. Produces severity-ranked findings with code-first fixes. Essential for developers building agent applications, autonomous loops, or any LLM-powered feature. Use when an agent or LLM feature misbehaves and the failing layer is unknown, or before shipping an agent stack.

agent-eval

Head-to-head comparison of coding agents (Claude Code, Aider, Codex, etc.) on custom tasks with pass rate, cost, time, and consistency metrics. Use when choosing between coding agents, or when a change to an agent setup needs measured pass rate, cost, and time rather than an impression.

agent-harness-construction

Design and optimize AI agent action spaces, tool definitions, and observation formatting for higher completion rates. Use when defining or revising an agent

agentic-engineering

Operate as an agentic engineer using eval-first execution, decomposition, and cost-aware model routing. Use when planning or executing engineering work that agents will carry out end to end.

agentic-os

Build persistent multi-agent operating systems on Claude Code. Covers kernel architecture, specialist agents, slash commands, file-based memory, scheduled automation, and state management without external databases. Use when building a persistent multi-agent system on Claude Code with its own memory, commands, and scheduling.

agent-introspection-debugging

Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.

agent-payment-x402

Add x402 payment execution to AI agents with per-task budgets, spending controls, and non-custodial wallets. Supports Base through agentwallet-sdk and X Layer through OKX Payments / OKX Agent Payments Protocol. Use when an agent must pay for something itself and needs per-task budgets, spending controls, and a non-custodial wallet.

agent-self-evaluation

Use after completing any non-trivial task. The agent self-rates its output on 5 axes — accuracy, completeness, clarity, actionability, conciseness — with concrete evidence per criterion. Produces a structured 1-5 scorecard with specific improvement suggestions.

agent-sort

Build an evidence-backed ECC install plan for a specific repo by sorting skills, commands, rules, hooks, and extras into DAILY vs LIBRARY buckets using parallel repo-aware review passes. Use when ECC should be trimmed to what a project actually needs instead of loading the full bundle.

ai-first-engineering

Engineering operating model for teams where AI agents generate a large share of implementation output. Use when setting team process, review gates, or ownership rules for a codebase largely written by agents.

ai-regression-testing

Regression testing strategies for AI-assisted development. Sandbox-mode API testing without database dependencies, automated bug-check workflows, and patterns to catch AI blind spots where the same model writes and reviews code. Use when adding regression coverage to AI-assisted code, or when the same model both wrote and reviewed a change.

android-clean-architecture

Clean Architecture patterns for Android and Kotlin Multiplatform projects — module structure, dependency rules, UseCases, Repositories, and data layer patterns. Use when structuring modules, layers, or data flow in an Android or KMP project.

angular-developer

Generates Angular code and provides architectural guidance. Trigger when creating projects, components, or services, or for best practices on reactivity (signals, linkedSignal, resource), forms, dependency injection, routing, SSR, accessibility (ARIA), animations, styling (component styles, Tailwind CSS), testing, or CLI tooling.

관련 스킬