Claude Code 개발도구 자동화

Let It Cook: AI 코딩 에이전트를 위한 워크플로우 자동화 도구

Claude Code, Codex, OpenCode를 위한 워크플로우 루프 도구 'Cook'을 소개합니다. 반복 작업, 코드 리뷰 루프, 병렬 실행 등 AI 코딩의 효율성을 극대화하는 방법을 알아봅니다.

d

devfreshi85

Author

Published

Mar 19, 2026

개요

AI 코딩 에이전트가 개발 워크플로우에 점점 더 깊이 통합되면서, 단순한 1회성 프롬프트 실행을 넘어 반복적이고 구조화된 작업 흐름이 필요해졌습니다. 이 글에서는 Claude Code, Codex, OpenCode를 위한 워크플로우 루프 도구인 Cook을 소개합니다.

Cook이란?

Cook은 AI 코딩 에이전트의 작업을 루프(반복), 리뷰(검토), 병렬 실행 등의 패턴으로 구조화하는 CLI 도구입니다. 단순한 프롬프트 실행을 넘어, 품질 검증과 반복 개선이 자동으로 이루어지는 워크플로우를 구성할 수 있습니다.

설치 방법

# npm으로 전역 설치
npm install -g @let-it-cook/cli

# Claude Code에 /cook 스킬 추가
mkdir -p .claude/skills && \
cp -r $(npm root -g)/@let-it-cook/cli/skill .claude/skills/cook

왜 Cook이 필요한가?

기존 AI CLI의 한계

Hacker News 토론에서 지적된 것처럼, 기존 Claude CLI는 1회성 인터랙티브 세션에는 훌륭하지만, 반복 가능한 다단계 워크플로우가 필요한 경우 한계가 있습니다:

“IMO the raw Claude CLI is great for one-off interactive sessions, but as soon as you want repeatable multi-step workflows you’re either copy-pasting prompts forever or hacking your own solution manually.”

물론 bash 스크립트로 해결할 수도 있지만, 프로젝트가 복잡해질수록 관리가 어려워집니다:

“Yeah bash scripts start clean but the sprawl kicks in quick as the workflow and project becomes more complex.”

Cook은 이러한 간극을 메우는 구조화된 워크플로우 오케스트레이션을 제공합니다.

핵심 개념: 3가지 프리미티브

Cook은 세 가지 카테고리의 토큰을 파싱합니다:

카테고리 설명
Work 프롬프트. 하나의 에이전트 호출. 기본 단위
Loop Operators 작업을 반복으로 감싸기: xN, review, ralph
Composition 병렬 브랜치 실행 및 결과 결합: vN, vs, pick

연산자는 왼쪽에서 오른쪽으로 조합되며, 각각 왼쪽의 모든 것을 감쌉니다:

cook "work" x3 review       # (work×3) → 리뷰 루프
cook "work" review x3       # (work → 리뷰 루프) × 3
cook "work" review v3 pick  # 3개 경쟁, 각각 리뷰 루프 포함

루프 연산자

1. repeat (xN)

xN은 작업을 N번 순차적으로 실행합니다. 각 패스는 이전 출력을 볼 수 있습니다.

# 다크모드 추가를 3번 반복
cook "Add dark mode" x3

# 긴 형식
cook "Add dark mode" repeat 3

# 3번 반복 후 리뷰 루프
cook "Add dark mode" x3 review

# 리뷰 루프를 3번 반복
cook "Add dark mode" review x3

활용 시나리오:

  • 점진적 개선이 필요한 작업
  • 이전 시도에서 배운 내용을 다음 시도에 반영

2. review

review리뷰 → 게이트 → 반복 루프를 추가합니다. 작업 후 리뷰어가 품질을 확인하고, 게이트가 DONE 또는 ITERATE를 결정합니다.

work → review → gate → iterate (반복)
# 기본 프롬프트, 최대 3회 반복
cook "Add dark mode" review

# 최대 5회 반복
cook "Add dark mode" review 5

커스텀 프롬프트 제공도 가능합니다:

# 명시적 지정
cook "Add dark mode" review \
  "Review for accessibility" \
  "DONE if WCAG AA, else ITERATE"

# 축약형 (같은 결과)
cook "Add dark mode" \
  "Review for accessibility" \
  "DONE if WCAG AA, else ITERATE"

# 반복 프롬프트와 최대 반복 횟수 포함
cook "Add dark mode" \
  "Review for accessibility" \
  "DONE if WCAG AA, else ITERATE" \
  "Fix the issues" 5

다른 에이전트/모델 사용:

cook "Add dark mode" review \
  --work-agent codex --work-model gpt-5-codex \
  --review-agent claude --review-model opus

3. ralph

ralph태스크 리스트 진행을 위한 외부 게이트를 제공합니다. 작업 프롬프트가 매번 프로젝트 상태를 읽어 현재 태스크를 찾는 자기 지향형입니다.

cook "Work on next task in plan.md" \
  ralph 5 "DONE if all tasks complete, else NEXT"

# 태스크별 리뷰 게이트, ralph가 진행
cook "Work on next task in plan.md" \
  review "Code review" "DONE if no High issues, else ITERATE" \
  ralph 5 "DONE if all tasks complete, else NEXT"

게이트 동작:

  • 리뷰 게이트: DONE (ralph로 전달) 또는 ITERATE (수정 후 재시도)
  • Ralph 게이트: DONE (종료) 또는 NEXT (다음 태스크로 진행, 반복 횟수 리셋)

컴포지션 연산자

컴포지션 연산자는 격리된 git worktree에서 여러 cook을 병렬로 실행한 후, 리졸버로 결과를 결합합니다.

1. versions (vN / race N)

vN은 N개의 동일한 cook을 병렬 worktree에서 실행합니다.

# 3번 실행, 최선 선택
cook "Add dark mode" v3

# 선택 기준 지정
cook "Add dark mode" v3 "least code wins"

# 긴 형식
cook "Add dark mode" race 3 "least code wins"

# 각각 리뷰 루프 포함하여 3개 경쟁
cook "Add dark mode" review v3 "cleanest"

# 각각 3번 반복으로 3개 경쟁
cook "Add dark mode" x3 v3 "most complete"

2. vs

vs두 개의 다른 cook을 병렬 worktree에서 실행합니다. 각 브랜치는 자체 루프 연산자를 가질 수 있습니다.

# 다른 접근법 비교
cook "Implement auth with JWT" \
  vs \
  "Implement auth with sessions" \
  pick "best security"

# 각각 다른 리뷰 기준으로 프레임워크 비교
cook "Build with React" review "Check accessibility" "DONE if WCAG AA" 3 \
  vs \
  "Build with Vue" review "Check bundle size" "DONE if under 50kb" 5 \
  merge "best developer experience"

3. 리졸버 (Resolvers)

리졸버 동작
pick ["criteria"] 하나의 승자 선택. 해당 브랜치 병합. 기본값
merge ["criteria"] 모든 결과를 새로운 구현으로 종합
compare 비교 문서를 .cook/compare-.md에 작성. 병합 없음

설정

프로젝트 초기화

cook init

생성되는 파일들:

파일 설명
COOK.md 프로젝트 지침 및 에이전트 프롬프트 템플릿
.cook/config.json 에이전트/모델/샌드박스 기본값 및 단계별 오버라이드
.cook/Dockerfile Docker 샌드박스 모드용 프로젝트 의존성
.cook/logs/ 세션 로그 (gitignore)

config.json 예시

{
  "agent": "claude",
  "sandbox": "agent",
  "steps": {
    "work": { "agent": "codex", "model": "gpt-5-codex" },
    "review": { "agent": "claude", "model": "opus" }
  },
  "env": ["CLAUDE_CODE_OAUTH_TOKEN"]
}

샌드박스 모드

모드 플래그 설명
Agent (기본) --sandbox agent 에이전트가 자체 OS 수준 샌드박스 사용. Docker 불필요
Docker --sandbox docker 제한된 네트워크 접근의 Docker 컨테이너에서 실행

참고: OpenCode는 Docker 모드만 지원합니다.


실제 활용 예시

코드 리뷰 루프

# 코드 구현 → 리뷰 → 수정 자동화
cook "Implement user authentication" review

최적 솔루션 탐색

# 3가지 접근법을 병렬로 시도 후 최선 선택
cook "Optimize database queries" v3 "fastest execution time"

아키텍처 결정

# 두 아키텍처 비교
cook "Build with microservices" \
  vs \
  "Build with monolith" \
  compare  # 비교 문서만 생성, 병합 없음

태스크 리스트 자동 진행

# plan.md의 태스크를 자동으로 하나씩 처리
cook "Work on next task in plan.md" \
  review "Code review" "DONE if no issues, else ITERATE" \
  ralph 10 "DONE if all tasks complete, else NEXT"

토큰 사용량 고려사항

Hacker News 토론에서 토큰 사용량에 대한 질문이 있었습니다:

“How heavy on tokens is this? I don’t assume it’s better than 3x tokens when doing 3 passes?”

개발자의 답변:

“It’s not 3x because of 3 runs; can be more tokens, can be less. The way of thinking it is, telling Claude to tackle the problem 3 times, each time it may or may not use different approach, fix or improve on things it did previously.”

즉, 단순히 3배가 되는 것이 아니라, 각 패스가 이전 결과를 개선하거나 다른 접근법을 시도하면서 토큰이 사용됩니다.


마치며

Cook은 AI 코딩 에이전트의 반복 작업 자동화, 품질 검증 루프, 병렬 실행 비교를 위한 강력한 도구입니다. 단순한 1회성 프롬프트를 넘어, 구조화되고 반복 가능한 개발 워크플로우를 구축하고 싶은 개발자들에게 유용합니다.

특히 다음과 같은 상황에서 빛을 발합니다:

  • 품질이 중요한 작업: 리뷰 루프로 자동 품질 검증
  • 다양한 접근법 탐색: 병렬 실행으로 최적 솔루션 발견
  • 대규모 태스크 리스트: Ralph로 자동 진행 관리

참고 자료