Loop Engineering 실전 편 제3부: Sub-agents, Skills, 그리고 Worktrees — 단일 루프만으로는 부족할 때
요약
단일 루프 에이전트의 컨텍스트 제한과 메모리 문제를 해결하기 위한 Loop Engineering의 세 가지 핵심 도구인 Sub-agents, Skills, Worktrees를 소개합니다. 에이전트가 하위 에이전트를 생성하고 지식을 기록하며 환경을 분리하는 구조적 설계 방법을 다룹니다.
핵심 포인트
- Sub-agents를 통한 작업 분배 및 Orchestrator 패턴 활용
- Skills를 이용한 세션 간 지식 기록 및 메모리 문제 해결
- Worktrees를 통한 에이전트별 독립적 작업 환경 분리
- Claude Code 환경에서의 에이전트 설정 및 루프 실행 방법
Loop Engineering 실전 편 제3부: Sub-agents, Skills, 그리고 Worktrees — 단일 루프만으로는 부족할 때
작성자: Nokka (นก-กา) | 2026년 7월 2일
TL;DR — 바쁜 분들을 위한 요약
제2부에서는 /goal과 /loop를 사용하여 첫 번째 루프를 만들었습니다. 하지만 단일 루프에는 한계가 있습니다: 컨텍스트 윈도우 (context window)가 가득 차고, 한 번에 한 가지 작업만 수행하며, 메모리 (memory)가 없습니다.
제3부에서는 다음 세 가지 도구를 통해 이 문제를 해결합니다:
- Sub-agents — 에이전트 (Agent)가 특정 작업을 위한 하위 에이전트를 생성하도록 합니다.
- Skills — 에이전트가 세션 (session)을 넘나들며 기억할 수 있도록 지식을 기록합니다.
- Worktrees — 각 에이전트의 환경 (environment)을 분리하여 서로 충돌하지 않게 합니다.
그리고 마지막으로 수백 명의 에이전트가 동시에 작업해야 할 때 필요한 Dynamic Workflows에 대해 다룹니다.
1. 단일 루프의 문제점
Sub-agents를 살펴보기 전에, 먼저 단일 루프 방식의 한계를 이해해 봅시다:
| 문제 | 증상 | 원인 |
|---|---|---|
| 컨텍스트 가득 참 (Context Full) | 에이전트가 작업 초반 내용을 잊기 시작함 | 컨텍스트 윈도우 (Context window)의 제한 |
| ... |
제 관점에서는 이러한 문제들이 바로 Boris Cherny가 "내 직업은 루프를 작성하는 것이다"라고 말한 이유입니다. 시스템을 잘 설계하면, 당신이 개입하지 않아도 시스템이 스스로를 관리하기 때문입니다.
2. Sub-agents — 에이전트가 에이전트를 생성하게 하기
Sub-agents는 메인 에이전트 (Orchestrator)에 의해 특정 작업을 수행하기 위해 생성된 하위 에이전트입니다 [1]. Claude Code 팀은 루프 (loops)를 "중단 조건이 충족될 때까지 작업 사이클을 반복하는 에이전트 (agents repeating cycles of work until a stop condition is met)"라고 정의합니다 [8].
2.1 Claude Code에서 Sub-agent 생성하기
.claude/agents/ 파일을 생성합니다:
# .claude/agents/security-reviewer.toml
name = "security-reviewer"
description = "Reviews code for security vulnerabilities"
...
# .claude/agents/test-writer.toml
name = "test-writer"
description = "Writes unit tests for existing code"
...
2.2 루프에서 Sub-agent 사용하기
/loop "Every morning, run the security-reviewer subagent on all new code
merged in the last 24 hours. Write findings to SECURITY-LOG.md"
--schedule "0 7 * * 1-5"
2.3 Orchestrator + Specialists 패턴
┌─────────────────────────────────────────────────────────────┐
│ ORCHESTRATOR AGENT │
│ (계획 + 작업 분배 + 결과 수집) │
...
Addy Osmani는 이 패턴에 대해 [2] 다음과 같이 설명합니다: "도구에서의 일반적인 분할 방식은 하나의 에이전트(Agent)가 탐색하고, 하나가 구현하며, 하나가 명세(Spec)에 따라 검증하는 것입니다."
3. Skills — 세션을 넘어 에이전트가 기억하게 만들기
Skills는 에이전트에게 어떻게 작업해야 하는지 알려주는 .claude/skills/ 파일 또는 SKILL.md입니다. 이는 마치 작업 매뉴얼과 같습니다 [3].
3.1 Skill 예시
---
name: verify-frontend-change
description: 완료를 선언하기 전에 모든 UI 변경 사항을 엔드투엔드(End-to-end)로 검증합니다
...
3.2 Loop에서 Skill 사용하기
/loop "Review all open PRs using the verify-frontend-change skill"
--schedule "0 10 * * 1-5"
3.3 Skills vs Prompts
| 차원 | 일반적인 Prompt | Skill |
|---|---|---|
| 저장 위치 | 메시지 내 | .claude/skills/ 파일 |
| ... |
4. Worktrees — 각 에이전트의 환경 분리
Worktrees는 각 에이전트가 서로 충돌하지 않고 작업할 수 있도록 환경(Environment)을 분리하는 것입니다 [4].
4.1 Worktree 사용 방법
# 에이전트를 위한 worktree 생성
git worktree add ../feature-branch feature/new-auth
...
4.2 Claude Code에서의 Worktree
Claude Code는 worktree 격리(Isolation)를 직접 지원합니다:
# --worktree 플래그 사용
claude --worktree ../isolated-env
...
4.3 Worktree가 중요한 이유
Worktree가 없다면 — 에이전트 A가 auth.ts 파일을 수정하는 동안 에이전트 B도 동시에 수정하여 — 파일이 덮어씌워지고 망가질 수 있습니다.
❌ Worktree가 없는 경우:
에이전트 A: auth.ts 수정 → 덮어쓰기
에이전트 B: auth.ts 수정 → 덮어쓰기 → 파일 손상
...
5. Agent Teams — Orchestrator + Specialists
Agent Teams는 메인 에이전트(Lead)가 병렬로 작업하는 다른 에이전트들(Peers)을 관리하도록 하는 것입니다 [5].
5.1 Agent Team 생성 방법
# .claude/agents/feature-team.toml
name = "feature-team"
description = "새로운 기능을 엔드투엔드로 구현하는 팀"
...
5.2 Agent Team 실행
/team feature-team "Add user avatar upload feature with image resize"
5.3 비교: Sub-agents vs Agent Teams vs Workflows
| Sub-agents | Agent Teams | Dynamic Workflows | |
|---|---|---|---|
| 누가 계획을 보유하는가 | Claude, 차례대로 (turn by turn) | Lead agent | JavaScript script |
| ... |
6. Dynamic Workflows — 수백 개의 Agent가 필요할 때
Dynamic Workflows는 Claude가 작성하는 JavaScript script입니다. 이는 수백 개의 subagents를 동시에 오케스트레이션 (orchestrate) 합니다 [6].
6.1 사용 방법
# 방법 1: 프롬프트에 ultracode 입력
ultracode: audit every API endpoint under src/routes/ for missing auth checks
...
6.2 내부 동작 원리
- Claude가 JavaScript script를 작성합니다.
- Runtime이 백그라운드에서 script를 실행합니다.
- Script가 수십 개의 subagents를 생성합니다.
- 각 subagent는 독립적으로 작업합니다.
- 결과가 수집되고 교차 검증 (cross-check) 됩니다.
- 보고서가 반환됩니다 — 사용자의 컨텍스트 (context)가 가득 차지 않습니다.
6.3 상태 확인
/workflows # 실행 중인 workflow 보기
# workflow 선택 → Enter → 각 단계(phase) 확인
# p = 일시정지/재개 (pause/resume), x = 중지 (stop), s = 명령어로 저장 (save as command)
7. 실제 사례 #1: Claire의 PR Review Loop + Sub-agents
구조
┌─────────────────────────────────────────────────────────────┐
│ DAILY PR REVIEW LOOP (10:15 AM) │
├─────────────────────────────────────────────────────────────┤
...
명령
/loop "Every morning at 10:15 AM:
1. Find all open PRs older than 2 days
2. For each PR, spawn a subagent that:
...
특별한 점
| 요소 | 상세 내용 |
|---|---|
| Sub-agents | 각 PR마다 고유한 Agent를 할당 |
| ... |
8. 실제 사례 #2: Skills-Identification Loop
Claire는 매주 실행되는 또 다른 Loop를 만들었습니다. 이 Loop는 누락된 기술 (skills)을 식별하고, 이를 검증하기 위해 subagents를 생성합니다 [7].
작동 방식
- Loop가 한 주 동안 머지(merged)된 PR들을 검사합니다.
- Agent가 어떤 기술 (skills)을 사용했는지 분석합니다.
- 아직 없는 기술 (skills)을 식별합니다.
- 새로운 기술 (skill)을 생성하기 위해 subagents를 생성합니다.
- 각 subagent는
/goal을 사용하여 해당 기술이 실제로 사용 가능한지 검증합니다.
/loop "매주 금요일 오전 10시:
1. 이번 주에 머지된 모든 PR 검토
2. 에이전트가 작업을 반복한 패턴 식별
..."
9. 시작 방법: Sub-agents를 향한 로드맵
┌─────────────────────────────────────────────────────────────┐
│ ROADMAP: Loop → Sub-agents │
├─────────────────────────────────────────────────────────────┤
...
제 개인적인 관점에서는, 아직 Sub-agents와 Skills에 익숙하지 않다면 Dynamic Workflows로 성급하게 넘어가지 마세요. 시스템이 복잡해질수록 디버깅(debug)은 더욱 어려워지기 때문입니다.
요약
| 도구 | 해결하는 문제 | 시작 방법 |
|---|---|---|
| Sub-agents | 컨텍스트(Context) 포화, 병목 현상 | .claude/agents/*.toml |
| ... |
다음 편: 리스크, 비용, 그리고 Production Best Practices — 당신의 Loop가 실제로 작동하기 시작할 때
참고 문헌
[1] Claude Code Docs — Create custom subagents (2026)
[2] Addy Osmani — Loop Engineering (O'Reilly Radar, June 7, 2026)
[3] Claude Code Docs — Extend Claude with skills (2026)
[4] Claude Code Docs — Isolate sessions with worktrees (2026)
[5] Claude Code Docs — Run agent teams (2026)
[6] Claude Code Docs — Orchestrate subagents at scale with dynamic workflows (2026)
[8] Claude Code Docs — Getting started with loops (June 30, 2026)
이 글은 인간의 통제와 품질 검토 하에 Hermes Agent를 통해 AI (DeepSeek V4 Flash)가 작성했습니다 — Nokka (Nokka)
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기