docs/cookbook.md
Cotor Cookbook: 실전 시나리오 파이프라인 모음
Cotor Cookbook: 실전 시나리오 파이프라인 모음
examples/에 있는 샘플을 바로 실무 맥락에 적용할 수 있도록 정리한 문서입니다.
아래 패턴은 코드 리뷰 자동화, 레포 전체 리팩토링, 테스트 자동 생성, 대량 파일 처리, 빠른 시작 흐름을 기준으로 구성했습니다.
빠른 실행 준비
./gradlew shadowJar
java -jar build/libs/cotor-1.0.0-all.jar list
전역 설치를 쓰는 경우
java -jar ...대신cotor명령으로 동일하게 실행할 수 있습니다.
1) 코드 리뷰 자동화 (PARALLEL)
- 시나리오: 같은 변경사항을 두 모델이 동시에 리뷰하고, 결과를 비교해 코멘트 품질을 높입니다.
- 기반 예제:
examples/parallel-compare.yaml - 핵심 패턴:
executionMode: PARALLEL
실행 커맨드
java -jar build/libs/cotor-1.0.0-all.jar validate compare-summaries -c examples/parallel-compare.yaml
java -jar build/libs/cotor-1.0.0-all.jar run compare-summaries -c examples/parallel-compare.yaml --output-format text
실무 적용 팁
- PR diff 핵심만 입력으로 넣고, 두 모델에게 서로 다른 관점(성능/보안)을 부여하면 리뷰 중복을 줄일 수 있습니다.
- 결과를 후속 stage(요약/통합 코멘트)로 연결하려면
SEQUENTIAL파이프라인으로 merge 단계를 추가하세요.
2) 레포 전체 리팩토링 오케스트레이션 (DAG)
- 시나리오: 생성/리뷰/테스트/배포 단계를 의존성 기반으로 묶어 대규모 리팩토링 작업을 자동화합니다.
- 기반 예제:
examples/complex_dag_pipeline.yaml - 핵심 패턴:
executionMode: DAG,dependencies,recovery.maxRetries
실행 커맨드
java -jar build/libs/cotor-1.0.0-all.jar validate complex-dag-pipeline -c examples/complex_dag_pipeline.yaml
java -jar build/libs/cotor-1.0.0-all.jar run complex-dag-pipeline --dry-run -c examples/complex_dag_pipeline.yaml
java -jar build/libs/cotor-1.0.0-all.jar run complex-dag-pipeline -c examples/complex_dag_pipeline.yaml --verbose
실무 적용 팁
run-unit-tests,run-integration-tests,review-code를 병렬 fan-in 구조로 유지하면 전체 소요 시간을 단축할 수 있습니다.- 프로덕션 배포 전 단계에 정적 분석 stage를 추가하면 리팩토링 리스크를 더 낮출 수 있습니다.
3) 테스트 자동 생성 + 품질 보정 루프 (DECISION/LOOP)
- 시나리오: 테스트 초안을 만들고 품질 점수가 기준 미만이면 자동 개선 루프를 돌립니다.
- 기반 예제:
examples/decision-loop.yaml - 핵심 패턴:
type: DECISION,type: LOOP,GOTO,untilExpression
실행 커맨드
java -jar build/libs/cotor-1.0.0-all.jar validate iterate-summary -c examples/decision-loop.yaml
java -jar build/libs/cotor-1.0.0-all.jar run iterate-summary -c examples/decision-loop.yaml --output-format text
실무 적용 팁
score기반 평가 규칙을 커버리지/flake rate/테스트 실행시간 같은 팀 KPI로 바꾸면 테스트 생성 파이프라인으로 바로 전환 가능합니다.maxIterations를 작게 유지해 무한 개선 루프를 방지하세요.
4) 대량 파일 처리 (MAP/Fan-out)
- 시나리오: 다수 파일을 동일 규칙으로 분석/변환할 때 stage를 파일 목록 기준으로 확장 실행합니다.
- 기반 예제:
examples/map-fanout.yaml - 핵심 패턴:
executionMode: MAP,fanout.source
실행 커맨드
java -jar build/libs/cotor-1.0.0-all.jar validate map-fanout-pipeline -c examples/map-fanout.yaml
java -jar build/libs/cotor-1.0.0-all.jar run map-fanout-pipeline -c examples/map-fanout.yaml --dry-run
실무 적용 팁
files입력을src/**/*.ts,docs/**/*.md처럼 분리하면 도메인별 fan-out 전략을 만들 수 있습니다.- 대량 처리 시
performance.maxConcurrentAgents를 환경 리소스에 맞게 제한하세요.
5) 빠른 시작 / 스모크 체크 (Single Agent)
- 시나리오: 설치 직후 실행 경로와 출력 포맷이 정상인지 가장 빠르게 확인합니다.
- 기반 예제:
examples/single-agent.yaml - 핵심 패턴: 단일 stage + 최소 설정
실행 커맨드
java -jar build/libs/cotor-1.0.0-all.jar validate hello-echo -c examples/single-agent.yaml
java -jar build/libs/cotor-1.0.0-all.jar run hello-echo -c examples/single-agent.yaml --output-format text
실무 적용 팁
- CI의 preflight 단계에 넣으면 환경 깨짐(실행 파일 경로, 권한, JDK 버전)을 조기 탐지할 수 있습니다.
- 신규 파이프라인을 만들 때 이 예제를 복사해 stage를 하나씩 늘리면 학습 비용이 낮습니다.
패턴 선택 가이드
- 여러 모델의 결과를 동시에 비교:
PARALLEL - 의존성이 있는 대규모 작업 오케스트레이션:
DAG - 조건 분기 + 반복 개선:
DECISION+LOOP - 동일 작업을 다건 데이터에 반복:
MAP - 설치/동작 확인 및 최소 재현:
SEQUENTIAL(single stage)
참고: 예제 일괄 실행
bash examples/run-examples.sh
실행 스크립트는 로컬 환경에 설치된 에이전트/플러그인 상태에 따라 일부 예제가 실패할 수 있으므로, 먼저 validate + --dry-run으로 점검하는 것을 권장합니다.