14장 · 캡스톤

캡스톤 실습 — 나만의 워크플로우 설계하기

지금까지 배운 개념(2장·3장)과 도구(4장), 조직 운영 감각(7장), 워크스페이스 구조(5장·8장)를 한데 모아, 아주 작은 규모라도 처음부터 끝까지 직접 설계·실행하는 마지막 실습이다. 정답은 하나가 아니다. 이 장은 "무엇을 만들지"가 아니라 "어떤 순서로 결정해야 빠지는 부분 없이 만들 수 있는지"를 가이드한다.

이 장에서 하는 것
  • 본인이 실제로 반복하는 작업 하나를 골라 미니 멀티 에이전트팀 문제로 재정의한다
  • 서브에이전트를 만들기 전에 가드레일(권한·승인 게이트)부터 결정한다
  • 오케스트레이터·스페셜리스트·핸드오프 계약을 실제 파일로 구현한다
  • 결과를 검증하고, 무엇이 계획과 달랐는지 회고한다

이 실습의 목표

4장 §2에서는 미리 정해진 시나리오(reviewer, writer)를 따라 했고, 11장에서는 정해진 domain(co-retail)으로 베리언트(variant)를 만들어봤다. 이번에는 시나리오도 domain도 본인이 정한다. 규모는 작아도 된다. 실제로 매주 반복하는 5분짜리 잡무 하나면 충분하다. 중요한 것은 "이 결정을 왜 이 순서로 내렸는가"를 스스로 설명할 수 있게 되는 것이다.

문제 정의 2장·3장 참고 가드레일 설계 3장 참고 에이전트 구현 4장·6장 참고 검증·회고 전 장 통합 순환 개선

1단계 — 문제 정의와 팀 설계

질문 1. 무엇을 반복하고 있는가?

본인이 최근 반복적으로 하고 있는 작업을 하나 떠올린다. 예: "매주 회의록을 읽고 액션 아이템만 뽑아 정리한다", "새 블로그 글 초안을 쓰고 톤을 점검한다", "PR 설명을 쓰고 체크리스트가 빠짐없는지 확인한다."

질문 2. 이 작업을 혼자 하는 에이전트에게 맡기면 1장 §2(단일 에이전트의 한계)에서 배운 세 문제 중 어떤 것이 생기는가?

컨텍스트 과부하인가(여러 단계를 한 세션에서 처리해 뒤섞이는가), 역할 충돌인가(작성자가 자기 결과를 스스로 검토해야 하는가), 병렬성 부재인가(독립적인 하위 작업이 여러 개인가)? 이 답이 1장 §3의 팀 구성을 결정한다.

질문 3. 오케스트레이터와 스페셜리스트를 몇 명으로 나눌 것인가?

1장 §3~§4b를 참고해 최소 구성을 그려본다. 스페셜리스트가 하나뿐이라도 괜찮다. 오케스트레이터(메인 세션)와 스페셜리스트(서브에이전트) 하나만으로도 팀이다. 각 스페셜리스트의 입력과 출력을 한 문장으로 적어 둔다("이 에이전트는 X를 받아서 Y를 낸다").

2단계 — 가드레일 먼저 정하기

3장의 원칙대로, 서브에이전트를 실제로 만들기 전에 권한부터 정한다. 아래 표를 채워본다.

이 스페셜리스트가 할 수 있어야 하는 최소한의 일은 무엇인가? (예: 파일 읽기만 / 파일 읽기+쓰기 / 외부 API 호출)
절대 사람 확인 없이 실행돼서는 안 되는 작업이 있는가? (3장의 "파괴적/외부 영향" 단계에 해당하는 것. 예: 실제 발송, 실제 커밋)
실패했을 때 재시도할 것인가, 롤백할 것인가, 사람에게 넘길 것인가? (2장 §4의 재시도·롤백·에스컬레이션 기준 참고)

이 세 질문의 답이 곧 서브에이전트 frontmatter의 tools 필드와, 오케스트레이터에게 지시할 때 넣을 "여기까지만 하고 멈춰" 문구가 된다.

3단계 — 서브에이전트 정의와 워크플로우 구현

4장 §2 실습에서 했던 것과 같은 방식으로, Claude Desktop App(또는 Code)에서 채팅으로 직접 서브에이전트를 만들어 달라고 요청한다. 아래는 채워 넣을 빈 틀이다. 대괄호 부분을 본인의 답으로 바꿔 채팅창에 붙여넣는다.

Antigravity CLI(agy) 사용자도 동일한 4단계 구조로 실습할 수 있다. 다만 서브에이전트 정의는 .claude/agents/ 대신 AGENTS.md에 작성하고, Claude의 Agent 툴 대신 /goal 명령으로 역할별 작업을 할당하면 된다.
Codex CLI·Desktop App 사용자는 4장 §1-C의 순차 역할 전환 방식으로 동일한 4단계 구조를 실습할 수 있다. 서브에이전트를 호출하는 대신 PM에게 역할별 작업을 순서대로 맡기고, 각 단계에서 역할이 전환되는 과정을 관찰하면 된다.
[역할 이름]이라는 이름의 서브에이전트를 .claude/agents/[역할 이름].md에 만들어줘.
[이 에이전트가 하는 일 한 문장]. tools는 [2단계에서 정한 최소 권한]만 허용하고
model은 [1장·5장에서 배운 기준으로 고른 티어]로 설정해줘.

스페셜리스트가 둘 이상이라면 D-1 시나리오처럼 각각 만든 뒤, 마지막에 "두 단계를 순서대로 진행해" 또는 "동시에 진행해"처럼 오케스트레이션 방식을 명시적으로 지시한다. 어느 쪽을 선택했는지, 그리고 1장 §4b에서 배운 것처럼 이 선택이 요청의 의존 관계에 따라 달라진다는 점을 스스로 확인한다.

4단계 — 검증과 회고

실제로 한 번 실행해본 뒤, 아래 질문에 답해본다.

  • 결과가 기대한 형식(핸드오프 계약)대로 나왔는가? 그렇지 않다면 서브에이전트의 description이 애매했던 것은 아닌가?
  • 2단계에서 정한 가드레일이 실제로 지켜졌는가? 혹시 tools를 필요 이상으로 넓게 준 곳은 없는가?
  • 이 워크플로우를 정기적으로 반복해야 한다면, 11장에서 배운 것처럼 나중에 variant나 재사용 가능한 스킬로 승격할 가치가 있는가?
이 회고까지 마치면, 이 핸드북이 처음부터 강조한 순환(개념(2장) → 안전장치(3장) → 도구(4장) → 조직·구조(5장·7장·8장))을 혼자서 한 바퀴 돌린 것이다. 다음에 비슷한 반복 작업을 만나면, 이번에 던진 질문들을 순서대로 다시 던지는 것만으로 새 워크플로우를 설계할 수 있다.

완료 체크리스트

셀프 체크
☐ 반복 작업 하나를 문제로 정의했다
☐ 단일 에이전트의 어떤 한계 때문에 팀이 필요한지 설명할 수 있다
☐ 서브에이전트를 만들기 전에 권한과 승인 게이트를 먼저 정했다
☐ 실제로 서브에이전트를 만들고 최소 한 번 실행했다
☐ 결과를 검증하고 무엇이 예상과 달랐는지 적어봤다
재현 검증
☐ 동일 요청을 2회 이상 실행해 결과가 일관되는지 확인했다
☐ 비정상 입력(빈 파일, 잘못된 형식 등)을 주었을 때 가드레일이 동작하는지 확인했다
☐ 실행 전·후 스냅샷을 비교해 예상치 못한 파일 변경이 없는지 확인했다

수료 후 다음 단계

이 핸드북은 여기서 끝나지만, 실제 적용은 이제부터 시작이다. 오늘 설계한 워크플로우를 실제 업무에 적용해보고 나면 다음 세 방향 중 하나로 자연스럽게 이어진다.

이번 주 안에
☐ 오늘 만든 서브에이전트를 실제 반복 업무에 한 번 더 돌려보고, 이번엔 결과를 동료와 공유한다
☐ 이 워크플로우가 우리 조직의 다른 팀에도 쓸모 있는지 한 사람에게 물어본다
이 워크플로우가 자리잡으면
☐ 10장·12장에서 다룬 승격 절차를 따라 정식 variant로 만드는 것을 검토한다 — 팀 전체가 재사용할 수 있게 된다
☐ 8장§5의 L3 프로젝트 업그레이드 절차를 익혀 두면, 이후 공통 표준이 바뀔 때마다 매번 손으로 반영하지 않아도 된다
막히면
용어집에서 다시 나온 개념을 찾아본다
FAQ에서 비슷한 증상을 겪은 사례가 있는지 확인한다
가장 중요한 건 "정답을 외우는 것"이 아니라, 새 반복 작업을 만날 때마다 이 핸드북이 짚은 순서 — 문제 정의 → 한계 확인 → 권한 설계 → 구현 → 검증 — 를 스스로 다시 밟을 수 있게 되는 것이다.