## 들어가며
메시징 시스템이나 요구사항 분석 도구를 운영하다 보면 '모호한 입력'으로 인한 오류가 빈번하게 발생합니다. 사용자의 불명확한 요청, 맥락 부족, 상충되는 정보 등이 시스템 안정성을 해칩니다. 이번 글에서는 56개 개선 항목을 체계적으로 실행하여 24시간 안정성 테스트에서 에러율 0%를 달성한 경험을 공유합니다.
## 핵심 개선 사항
### 1. AmbiguityGuard 패턴 도입
모호성 검증 가드(AmbiguityGuard)는 입력 데이터의 명확성을 사전에 검증하는 디자인 패턴입니다. 다음과 같은 항목을 체크합니다.
- **필수 정보 누락 검증**: 요청에 필요한 최소 정보가 포함되었는지 확인
- **맥락 일관성 검사**: 제공된 정보들이 서로 모순되지 않는지 검증
- **명확성 점수 계산**: 입력의 구체성을 정량화하여 임계값 이하는 재요청
```typescript
interface AmbiguityCheckResult {
isValid: boolean;
clarityScore: number;
missingFields: string[];
conflicts: string[];
}
class AmbiguityGuard {
validate(input: UserRequest): AmbiguityCheckResult {
const result = {
isValid: true,
clarityScore: 100,
missingFields: [],
conflicts: []
};
// 필수 필드 검증
if (!input.objective) {
result.missingFields.push('objective');
result.clarityScore -= 30;
}
// 맥락 일관성 검증
if (input.urgency === 'low' && input.deadline === 'today') {
result.conflicts.push('urgency-deadline mismatch');
result.clarityScore -= 20;
}
result.isValid = result.clarityScore >= 60;
return result;
}
}
```
이 패턴을 적용한 결과 34개의 단위 테스트를 통과하며, 사전에 90% 이상의 모호한 요청을 걸러낼 수 있었습니다.
### 2. Deep Interview 패턴
요구사항 수집 컴포넌트에 '심층 인터뷰' 패턴을 적용했습니다. 단순히 정보를 받는 것이 아니라, 부족한 정보를 능동적으로 질문하는 방식입니다.
**적용 전**: "기능을 개선해주세요" → 모호한 요청으로 실패
**적용 후**: "어떤 기능을 개선하시겠습니까?", "현재 문제점은 무엇입니까?", "목표 성능 지표는?" → 명확한 요구사항 도출
### 3. 테스트 커버리지 강화
- **단위 테스트**: 723개 (핵심 로직, 가드 패턴, 유효성 검증)
- **통합 테스트**: 24개 (전체 플로우, 외부 연동, 에러 시나리오)
- **모든 테스트 통과율**: 100%
테스트 우선 개발(TDD) 방식으로 각 개선 항목마다 테스트를 먼저 작성한 후 구현했습니다.
## 성과 측정
24시간 안정성 테스트 결과:
- **에러율**: 0%
- **평균 처리 시간**: 3.1초
- **처리 요청 수**: 약 28,000건
- **가드 패턴 작동률**: 요청의 12%에서 모호성 검출 및 재요청 유도
## 적용 가능한 교훈
1. **입력 검증은 시스템 안정성의 시작**: 사용자 입력을 믿지 말고, 명확성을 강제하세요.
2. **가드 패턴의 효과**: 문제를 사후 처리하는 것보다 사전 예방이 10배 효율적입니다.
3. **테스트는 선택이 아닌 필수**: 700개 이상의 테스트가 리팩토링과 개선의 안전망이 되었습니다.
4. **점진적 개선**: 56개 항목을 한 번에 하지 않고, 우선순위를 정해 단계별로 실행했습니다.
## 마치며
시스템 안정성 개선은 한 번의 큰 변경보다 체계적인 다수의 작은 개선이 더 효과적입니다. 특히 사용자 입력의 모호성을 다루는 가드 패턴은 다양한 도메인에 적용 가능합니다. 챗봇, API 서버, 요구사항 관리 도구 등에서 이 패턴을 시도해보시길 권장합니다.
다음 단계로는 머신러닝 기반 모호성 예측 모델 도입과 실시간 모니터링 대시보드 구축을 계획하고 있습니다.