1. 전문가팀 소개
기계음 이상탐지1 과정에서 '온도'와 '소음'이 기계 이상탐지의 결정적인 지표임을 확인할 수 있었다. 이제 정제된 데이터(cleaned_data.csv)를 기반으로 실제 현장에서 작동할 수 있는 머신러닝 모델을 구축해 볼 차례다.
이번에는 또 다른 에이전트 @model-master에게 통해 최적의 모델링을 수행하게 했고, @validator-bot에게는 모델의 강건성을 검증하게 시켰고, @report-wizard에게는 분석 리포트를 생성하고 문서화하게 했다.
에이전트들이 각자의 전문 영역에서 도구(Skill)를 사용하여 문제를 해결해 나가는 모습을 바라보면서, 난 탄성 밖에 지를 수 없었다. 와 ~ 뭐 이런게 ...
2. 모델 학습
지도학습의 대표적 알고리즘인 Random Forest와 XGBoost를 선정하여 학습을 진행했다. (GPU가 없어서 아쉽게도 DL은 해 볼 수 없었다) 이 과정도 @model-master 에이전트가 주도적인 역할을 수행했다.
2.1. 문제해결
처음에 로컬에 xgboost 라이브러리가 설치되어 있지 않다고 해서 내가 설치해줬다 (이런 건 내가 얼마든지 해줄께!) ) ModuleNotFoundError가 발생하며 프로세스가 중단되는 상황이었는데, 에이전트는 단순히 오류를 보고하는 데 그치지 않고, 환경을 분석하여 필요한 패키지 설치 명령어를 안내하고 스스로 환경을 재설정하여 학습을 완수했다. 에이전트는 사용자 개입 없이도 지능적으로 개발 환경의 문제를 해결할 능력을 갖추고 있었다.
2.2. 학습 체계 구축 및 결과
불균형 데이터 해소: 5%에 불과한 고장데이터를 스스로 증식하는 것도 놀라웠다. SMOTE를 적용하여 클래스 비율을 조정한 것이다.
성능 평가: 두 모델 모두 **F1-Score 1.0(100점)**이라는 극도의 정밀도가 나왔다. 이건 내가 데이터를 인위적으로 만들었기 때문이다 (내가 그런 걸 알고 있었을 텐데, 한마디도 불평하지는 않았다)
기여도 분석: XGBoost 모델 분석 결과, 전체 판단 기여도의 약 70%가 온도 신호에, 약 30%가 소음 신호에 집중되어 있음을 확인시켜 줬다.
예측모델까지 어려움 없이 만들어지니까 호기심이 발동했다. '그럼 모델 검증도 잘 할 수 있을거 같은데? 더 시켜보자'
3. 모델 검증 (과적합 방지, 강건성 테스트)
높은 점수가 특정 데이터에 과하게 맞춰진 '과적합(Overfitting)' 결과인지, 실무 현장의 노이즈를 견딜 수 있는지 확인하기 위해 @validator-bot 에이전트에게 robustness-test 스킬을 사용하게 했다.
3.1. 5-Fold 교차 검증 (Cross-Validation)
에이전트가 제안하는 대로 데이터를 5개 그룹으로 나누어 반복 검증하게 했다. 모든 구간에서 성능 편차 없이 일관된 점수가 유지되는 결과가 나왔다. (이건 모델이 데이터를 암기한 것이 아니라, 일반화된 패턴을 정확히 학습했음을 뜻한다.)
3.2. 노이즈 주입 테스트 (Noise Robustness)
현장의 불규칙한 소음 소음 환경을 가정하여 데이터에 10% ~ 20%의 무작위 노이즈를 주입시켰다. 그리고 검증했는데, 결과는 10% 수준의 소음 환경에서도 모델 성능 저하율이 없음(0%)을 알 수 있었다. 실무 현장의 가혹한 환경에서도 모델이 흔들림 없이 이상을 잡아낼 수 있다는 확신을 얻었다.
4. 최종 리포트 자동화
검증된 내용을 바탕으로 실무용 가이드가 포함된 최종 리포트는 @report-wizard 에이전트에게 맡겼다.
4.1. 배 포 및 유지보수 가이드
에이전트는 단순히 결과만 나열한 것이 아니라, 실무 적용을 위한 구체적인 지침도 제안했다.
온도 60°C, 소리 70dB라는 명확한 임계치를 설정하여 현장 작업자가 즉각 대응할 수 있는 기준을 마련해줬다.
진동 센서보다 온도 및 소음 센서의 정밀 유지보수에 자원을 집중하라는 전략적 의견도 제시했다.
4.2. 도구의 문제 해결: report-converter 업그레이드
마지막 리포트 변환 과정에서는 기술적 난관이 있었다. Markdown 문서를 Word로 변환하는 report-converter 스킬이 시스템 도구인 Pandoc 설치 오류(Chocolatey 에러)로 성공하지 못한 것이다.
이를 해결하기 위해 에이전트는 외부 시스템 종속성 없이 Python 패키지만으로 구동되는 pypandoc 기반으로 스킬 로직을 전면 수정하는 기지를 발휘했다. 로직 변경에 따른 스크립트 오류를 실시간으로 디버깅하여, 최종적으로 표와 이미지가 완벽하게 포함된 보고서를 생성해냈다.