파이프라인 구조를 분석하여 절제 실험(Ablation Study) 계획서를 작성한다. 파이프라인 성능 평가, 파이프라인 검증, 파이프라인 최적화가 필요할 때 사용한다. "이 파이프라인 구조가 최적인지 검증해줘", "파이프라인 평가해줘" 같은 요청에도 트리거한다.
Pipeline Plan Evaluation
파이프라인 구조도를 읽고, 절제 실험 계획서를 작성한다.
설계 근거: general-docs/learned/2026-04-07-pipeline-validator-design.md
When to Use
- 파이프라인이 최적 구조인지 검증하고 싶을 때
- 파이프라인의 불필요한 단계를 식별하여 토큰 비용을 줄이고 싶을 때
- 새로 만든 파이프라인의 각 구조 설계 결정이 정당한지 확인하고 싶을 때
Parameters
| Parameter | Required | Description | Example |
|---|---|---|---|
pipeline_path | Yes | 파이프라인 구조도가 포함된 콘텐츠 파일 경로 | prototypes/sokind-vault-admin/src/content/pipeline-define.md |
skill_path | No | 파이프라인 오케스트레이터 스킬 경로 (있으면 더 정확한 분석 가능) | .claude/skills/product-define--run-pipeline/SKILL.md |
Process
Step 1: 파이프라인 구조 파싱
pipeline_path의 파일을 Read로 읽고, mermaid 구조도에서 다음을 추출한다.
1-1. 노드 목록 추출
구조도의 각 노드를 식별하고 다음을 기록한다:
- 노드 이름
- 노드 유형:
스킬(슬래시 커맨드로 호출),에이전트(서브에이전트),수동(사람이 수행) - 소속 Step
구조도에서 노드 유형을 판별하는 기준:
- 노드 텍스트에
/접두사가 있으면 → 스킬 - 노드에 에이전트 이름이 표기되어 있으면 → 에이전트
- 그 외 (예: "PM 수동 진행", "초안 작성") → 수동
1-2. 구조 설계 결정 식별
추출된 구조에서 8가지 구조 설계 결정 유형을 자동 식별한다.
| 유형 | 식별 기준 |
|---|---|
| Multi-Step | 서로 다른 subgraph로 분리된 순차 단계 |
| Multi-Round | 동일 subgraph 내 반복 구조 (Round 1, Round 2, ...) |
| Role Split | 동일 Step 내 병렬 배치된 서로 다른 역할의 에이전트 |
| Dedicated Agent | 스킬 또는 에이전트로 분리된 노드 |
| Feedback Loop | 화살표가 이전 Step으로 되돌아가는 순환 구조 |
| Context Enrichment | 외부 입력 소스가 중간 Step에 합류하는 구조 |
| Human Gate | 사용자 승인 대기 노드 |
| Execution Strategy | 동일 Step 내 병렬 배치 (Role Split과 함께 식별) |
skill_path가 제공되었으면 SKILL.md도 읽어 구조도에 표현되지 않은 세부 구조(라운드 수, 조건부 실행 등)를 보완한다.
Step 2: 평가 범위 확정
2-1. 자동 제외
다음 노드를 자동으로 절제 후보에서 제외한다:
- 수동 작업 노드
- Human Gate 유형의 구조 설계 결정
- Execution Strategy 유형의 구조 설계 결정
2-2. 설계자 제외 확인
자동 제외 후 남은 절제 후보 목록을 설계자에게 제시하고, 설계 의도상 제거할 수 없는 항목을 확인받는다.
AskUserQuestion으로 다음 형식으로 질문한다:
1📋 절제 후보 목록이 도출되었습니다.
2
3아래 항목 중 설계 의도상 절대 제거할 수 없는 항목이 있으면 번호로 알려주세요.
4해당 항목은 절제 실험 대상에서 제외합니다. 없으면 "없음"이라고 답해주세요.
5
61. [항목명] — [구조 설계 결정 유형]
72. [항목명] — [구조 설계 결정 유형]
8...설계자가 지정한 제외 항목은 사유와 함께 기록한다.
Step 3: 도메인 품질 차원 도출
3-1. 산출물 및 소비자 식별
파이프라인 구조도의 마지막 노드가 생산하는 산출물과, 그 산출물을 사용하는 소비자를 식별한다.
3-2. 도메인 차원 도출
범용 4대 품질 차원(Completeness, Precision, Consistency, Faithfulness)으로 커버되지 않는, 이 산출물 고유의 품질 기준을 도출한다.
소비자 관점에서 "좋은 산출물"의 조건을 질문하여 차원을 도출한다.
3-3. 루브릭 정의
각 도메인 차원에 0~5점 루브릭을 정의한다. 최소 1, 3, 5점의 기준을 구체적으로 기술한다.
3-4. 설계자 승인
도출된 도메인 차원과 루브릭을 설계자에게 제시하고 승인받는다. AskUserQuestion으로 질문한다.
1📊 도메인 품질 차원이 도출되었습니다.
2
3산출물: [산출물명]
4소비자: [소비자]
5
6범용 4대 차원 (자동 적용):
7- Completeness, Precision, Consistency, Faithfulness
8
9도메인 특화 차원:
101. [차원명]: [정의]
11 - 5점: [기준]
12 - 3점: [기준]
13 - 1점: [기준]
142. ...
15
16추가/수정/삭제할 차원이 있으면 알려주세요. 없으면 "승인"이라고 답해주세요.Step 4: 절제 실험 계획 수립
4-1. 영향력 추정
각 절제 후보에 다음 4가지 휴리스틱을 적용하여 해당 개수를 센다.
| # | 휴리스틱 | 해당 조건 |
|---|---|---|
| 1 | 수확 체감 법칙 | Multi-Round의 후반 라운드이거나, Feedback Loop의 2회차 이후 |
| 2 | Optional 표시 | 구조도 또는 SKILL.md에서 조건부/Optional로 표시됨 |
| 3 | 중복 신호 | 다른 절제 후보와 검사 범위가 겹침 |
| 4 | 하류 의존성 부재 | 이 노드의 산출물을 이후 노드가 참조하지 않음 |
해당 개수로 영향력을 추정한다:
- 0~1개: 높음
- 2~3개: 중간
- 4개: 낮음
4-2. 토큰 비용 추정
각 절제 후보의 토큰 비용을 추정한다:
- 높음: Opus 에이전트 호출 포함, 또는 라운드 2회 이상
- 낮음: Sonnet/Haiku 단일 호출, 또는 인라인 프롬프트
4-3. 2x2 매트릭스 배치 및 제거 우선순위 결정
영향력 추정(높/중/낮)과 토큰 비용(높/낮)으로 우선순위를 결정한다:
- 1순위: 영향력 낮음 + 토큰 비용 높음
- 2순위: 영향력 낮음 + 토큰 비용 낮음
- 3순위: 영향력 중간 + 토큰 비용 높음
- 4순위: 영향력 중간 + 토큰 비용 낮음
- 5순위: 영향력 높음 + 토큰 비용 높음
- 제거 불필요: 영향력 높음 + 토큰 비용 낮음
4-4. 순차적 누적 제거 순서 결정
우선순위에 따라 누적 제거 테스트 순서를 결정한다:
- Test 1: 1순위 항목 제거
- Test 2: 1순위 + 2순위 항목 동시 제거
- Test 3: 1순위 + 2순위 + 3순위 항목 동시 제거
- ...
4-5. 절제 변형 축소 프롬프트 설계
각 누적 테스트에 대해, 원본 파이프라인에서 해당 구조 요소를 제거한 축소 프롬프트를 작성한다.
축소 프롬프트 작성 규칙:
- 원본 SKILL.md의 지시사항을 기반으로 한다
- 절제 대상 부분만 제거하고, 나머지는 원본의 표현을 최대한 유지한다
- 입력/출력 형식은 원본과 동일하게 유지한다
- 프롬프트 하나로 ablation-runner(Sonnet)가 실행할 수 있는 자기완결적 지시문이어야 한다
4-6. Baseline 소스 확인
파이프라인이 이미 실행된 적 있는지 확인한다. Glob으로 산출물 디렉토리를 검색하여 기존 산출물이 있으면 경로를 기록하고, 설계자에게 재사용 가능 여부를 확인한다.
Step 5: 실험 계획서 저장
최종 계획을 설계자에게 제시하고 승인받은 후, knowledges/pipeline/pipeline-evaluation/evaluation-plan-{파이프라인명}-{날짜}.md에 저장한다.
산출물 기본 경로:
knowledges/pipeline/pipeline-evaluation/
Output Format
1# 절제 실험 계획서: {파이프라인명}
2
3> 작성일: YYYY-MM-DD
4> 대상 파이프라인: {pipeline_path}
5> 대상 스킬: {skill_path 또는 "없음"}
6
7## 1. 파이프라인 구조 요약
8
9### 노드 목록
10
11| # | 노드명 | 유형 | 소속 Step |
12|---|--------|------|-----------|
13| 1 | ... | 스킬/에이전트/수동 | Step N |
14
15### 식별된 구조 설계 결정
16
17| # | 유형 | 대상 | 절제 대상 여부 |
18|---|------|------|---------------|
19| 1 | ... | ... | O / X (사유) |
20
21## 2. 평가 범위
22
23### 자동 제외
24- [항목]: [사유]
25
26### 설계자 지정 제외
27- [항목]: [사유]
28
29### 최종 절제 후보
30| # | 항목 | 구조 설계 결정 유형 |
31|---|------|-------------------|
32| 1 | ... | ... |
33
34## 3. 품질 평가 차원
35
36### 범용 4대 차원 (자동 적용)
37- Completeness (0~5)
38- Precision (0~5)
39- Consistency (0~5)
40- Faithfulness (0~5)
41
42### 도메인 특화 차원
43| 차원 | 정의 | 5점 | 3점 | 1점 |
44|------|------|-----|-----|-----|
45| ... | ... | ... | ... | ... |
46
47## 4. 제거 우선순위
48
49| # | 절제 항목 | 휴리스틱 해당 | 영향력 | 토큰 비용 | 우선순위 |
50|---|-----------|-------------|--------|-----------|---------|
51| 1 | ... | 수확체감, Optional | 낮음 | 높음 | 1순위 |
52
53## 5. 누적 테스트 순서
54
55| Test | 누적 제거 항목 | 축소 프롬프트 |
56|------|---------------|-------------|
57| Baseline | (없음) | {기존 산출물 경로 또는 "전체 파이프라인 실행"} |
58| Test 1 | A | [축소 프롬프트 전문] |
59| Test 2 | A + B | [축소 프롬프트 전문] |
60| ... | ... | ... |
61
62## 6. 실행 정보
63
64- Baseline 소스: {기존 산출물 경로 또는 "새로 실행 필요"}
65- 테스트 입력: {사용할 입력 데이터 경로}
66- ablation-runner 모델: Sonnet
67- evaluation-judge 모델: OpusNotes
- 이 스킬은 계획서만 작성한다. 실험 실행은
pipeline--run-evaluation에서 수행한다. - 설계자와의 대화가 3회 이상 필요하다 (제외 확인, 도메인 차원 승인, 최종 계획 승인).
- 축소 프롬프트는 원본 SKILL.md를 기반으로 작성하므로,
skill_path가 제공되면 더 정확한 프롬프트를 설계할 수 있다.