배치 보고서 스킬
완료된 배치 처리 작업에 대한 종합적인 분석 보고서를 생성합니다.
특징
- 매니페스트 분석 - 성공, 실패, 부분 완료 수 계산
- 타이밍 분석 - 단계별 지연 시간 분석, 병목 지점 식별
- 실패 패턴 - 실패 모드 분류 및 요약
- 품질 메트릭 - 품질 평가를 위한 출력 샘플링
- 마크다운 보고서 - 사람이 읽기 쉬운 요약
- Agent-inbox 통합 - 프로젝트 인박스로 자동 전송
빠른 시작
cd .pi/skills/batch-report
# 추출기 배치 분석 (자동 형식 감지)
uv run python report.py analyze /path/to/batch/output
# 보고서 생성 후 agent-inbox로 전송
uv run python report.py analyze /path/to/batch/output --send-to extractor
# 요약 통계만 표시
uv run python report.py summary /path/to/batch/output
# 독립 실행형 상태 파일 분석
uv run python report.py state /path/to/.batch_state.json
# 파이핑을 위한 JSON 출력
uv run python report.py summary /path/to/output --json | jq .success_rate
명령어
analyze - 전체 분석 보고서
uv run python report.py analyze /path/to/output \
--output report.md \
--send-to extractor \
--priority high
옵션:
| 옵션 | 단축 | 설명 |
|---|---|---|
--output | -o | 출력 파일 경로 (기본값: 표준 출력) |
--send-to | -s | 보고서를 agent-inbox 프로젝트로 전송 |
--priority | -p | agent-inbox 우선순위 (low/normal/high/critical) |
--sample | -n | 포함할 샘플 수 (기본값: 5) |
--format | -f | 배치 형식: extractor, youtube, generic, auto (기본값: auto) |
--json | -j | 다른 도구로 파이핑하기 위한 JSON 출력 |
summary - 빠른 통계만
uv run python report.py summary /path/to/output
uv run python report.py summary /path/to/output --json
출력:
Batch: run-2025-12-18_144426-2eb428c
Total: 230 | Success: 180 | Failed: 35 | Partial: 15
Success rate: 78.3%
Avg time: 4.2 min | Slowest: 09_section_summarizer (45%)
JSON 출력:
{
"batch": "run-2025-12-18_144426-2eb428c",
"format": "extractor",
"total": 230,
"successful": 180,
"partial": 15,
"failed": 35,
"success_rate": 78.3,
"avg_time_min": 4.2
}
state - 독립 실행형 상태 파일 분석
uv run python report.py state /path/to/.batch_state.json
uv run python report.py state /path/to/.batch_state.json --json
모든 배치 작업의 .batch_state.json 파일과 호환됩니다.
failures - 실패 목록 및 이유
uv run python report.py failures /path/to/output
uv run python report.py failures /path/to/output --json
보고서 형식
# Batch Report: run-2025-12-18_144426-2eb428c
## 요약
- **총 항목:** 230
- **성공:** 180 (78.3%)
- **실패:** 35 (15.2%)
- **부분 완료:** 15 (6.5%)
## 타이밍 분석
| 단계 | 평균 (초) | 최대 (초) | 총 시간 대비 % |
|------|---------|---------|------------|
| 09_section_summarizer | 120.5 | 341.0 | 45.2% |
| 05_table_extractor | 65.3 | 105.0 | 24.5% |
...
## 실패 패턴
| 패턴 | 개수 | 예시 |
|---------|-------|---------|
| 빈 text_content | 12 | 047ca6ef... |
| CUDA OOM | 5 | 9497a4e5... |
...
## 권장 사항
1. 지식 추출을 위해 --text-only 모드 고려
2. VLM 이전에 테이블 신뢰도 임계값 추가
...
시각화
보고서 생성 후(특히 --json 사용 시), /create-figure를 통한 시각화를 제안합니다:
# 파이프라인 단계별 타이밍 워터폴
create-figure metrics --input batch.json --output timing.png --type hbar --title "단계별 타이밍"
# 성공/실패 분포
create-figure metrics --input batch.json --output results.png --type pie --title "배치 결과"
# 실패 패턴 분석
create-figure metrics --input batch.json --output failures.png --type bar --title "실패 패턴"
제공 시점: 배치 분석 결과를 제시한 후 "타이밍 분석을 시각화할까요?"라고 물어보세요.
지원되는 배치 형식
--format 플래그는 extractor, youtube, generic, auto (기본값) 중 하나를 허용합니다.
자동 감지 로직:
*/manifest.json과*/timings_summary.json이 존재하면 →extractor.batch_state.json에 description에 "transcript"가 포함되면 →youtube.batch_state.json이 존재하면 →generic
Extractor 배치
다음 파일 필요:
*/manifest.json- 항목별 매니페스트*/timings_summary.json- 타이밍 데이터*/14_report_generator/json_output/final_report.json- 품질 메트릭failed_urls.txt- 실패한 항목 목록
YouTube 트랜스크립트 배치
다음 파일 필요:
.batch_state.json- 트랜스크립트 관련 description을 포함한 상태 파일
Generic 배치
다음 파일 필요:
.batch_state.json- 완료/실패 개수가 포함된 상태 파일*.log파일 (선택 사항) - 실패 분석용
Agent-inbox와의 통합
# 버그로 보고서 전송
uv run python report.py analyze /path/to/output \
--send-to extractor \
--priority high
# 메시지 전송: extractor_abc123
종속성
dependencies = [
"typer",
"rich",
]