Pair Programming 명령어 최적화
해결된 문제
Pair programming 명령어가 30초마다 지속적으로 검증 확인을 실행하여 다음과 같은 문제 발생:
- 과도한 CPU 사용량
- 지속적인 터미널 출력 스팸
- 반복되는 실패 메시지로 인한 사용자 경험 저하
- Interactive 세션을 제대로 사용할 수 없음
구현된 최적화
1. 자동 Interval 기반 검증 제거
- 이전:
setInterval이 30초마다 자동으로 검증 실행
- 이후: 요청 시에만 또는 명시적 auto-verify flag 사용 시에만 검증 실행
2. 검증 Cooldown 추가
- 자동 검증 간 60초 cooldown
- Auto-verify가 활성화되어 있어도 검증 스팸 방지
- 수동
/verify 명령어는 cooldown 우회
3. 지능형 점수 시스템
// 이전: 이진 pass/fail (0.5 또는 1.0)
const score = passed ? 1.0 : 0.5;
// 신규: 오류 수 기반 단계별 점수
if (output.includes('error')) {
const errorCount = (output.match(/error/gi) || []).length;
score = Math.max(0.2, 1.0 - (errorCount * 0.1));
} else if (output.includes('warning')) {
const warningCount = (output.match(/warning/gi) || []).length;
score = Math.max(0.7, 1.0 - (warningCount * 0.05));
}
4. 가중치 적용 검증 확인
- Type Check: 40% 가중치 (가장 중요)
- Linting: 30% 가중치
- Build: 30% 가중치
5. 동시 검증 방지
- 여러 동시 검증을 방지하기 위한
isVerifying flag 추가
- 검증이 이미 진행 중이면 조기 반환
6. 수동 제어 옵션
/verify - 수동으로 검증 실행
/auto - 자동 검증 on/off 전환
/metrics - 검증 기록 보기
/status - 현재 설정 확인
7. 향상된 오류 메시지
- 매우 낮은 점수(<0.5)에 대해서만 상세 제안 표시
- 아이콘(✅, ⚠️, ❌)을 사용한 깔끔한 출력
- 검증 기록에 타임스탬프 포함
사용 패턴
수동 검증 (권장)
# 수동 검증만으로 시작
./claude-flow pair --start --verify
# 필요할 때 검증 실행
/verify
자동 검증 (모니터링용)
# 60초 cooldown으로 auto-verify 활성화
./claude-flow pair --start --verify --auto
# 세션 중 전환
/auto
Testing 통합
# Auto-run 없이 testing 활성화
./claude-flow pair --start --test
# 수동으로 테스트 실행
/test
성능 영향
최적화 전
- 30초마다 검증
- 검증당 ~3-5초
- 검증만으로 10-17% CPU 사용량
- 시간당 120회 검증
최적화 후
- 요청 시에만 검증
- Auto 활성화 시 60초 cooldown
- 유휴 시 <1% CPU 사용량
- 시간당 최대 ~60회 검증
명령어 참조
| 명령어 |
설명 |
Auto-Verify 영향 |
/verify |
지금 검증 실행 |
Cooldown 우회 |
/test |
지금 테스트 실행 |
독립적 |
/auto |
Auto-verify 전환 |
활성화/비활성화 |
/status |
설정 표시 |
영향 없음 |
/metrics |
기록 표시 |
영향 없음 |
/commit |
Pre-commit 확인 |
검증 실행 |
구성 Flag
| Flag |
기본값 |
설명 |
--verify |
false |
검증 시스템 활성화 |
--auto |
false |
자동 검증 활성화 |
--test |
false |
테스트 시스템 활성화 |
--threshold |
0.95 |
검증 통과 임계값 |
모범 사례
- 수동 검증으로 시작 -
--auto 없이 --verify 사용
- Commit 전 검증 실행 -
/commit 명령어 사용
- 정기적으로 metrics 확인 -
/metrics를 사용하여 추세 추적
- Auto-verify 신중하게 활성화 - 모니터링이 필요한 긴 세션에만 사용
- 가중치 점수 사용 - 지능형 점수 시스템 신뢰
세션 데이터 구조
{
"id": "pair_1755038032183",
"mode": "switch",
"verify": true,
"autoVerify": false,
"verificationScores": [
{
"score": 0.82,
"timestamp": 1755038045000,
"results": [
{ "name": "Type Check", "score": 0.8 },
{ "name": "Linting", "score": 0.85 },
{ "name": "Build", "score": 0.82 }
]
}
]
}
향후 개선사항
- [ ] 스마트 검증을 위한 file watcher 통합
- [ ] Incremental 검증 (변경된 파일만)
- [ ] 검증 결과 캐싱
- [ ] 병렬 검증 확인
- [ ] 사용자 정의 검증 명령어
- [ ] Git hook 통합