# router._call_internal_llm 서비스 계층 이동 **날짜**: 2025-12-23 **작성자**: happybell80 **관련 파일**: `app/router/router.py:321`, `app/services/llm/internal_llm_service.py` --- ## 문제 상황 - `router.py`에 `_call_internal_llm` 메서드가 비즈니스 로직 포함 - 계층 분리 원칙 위반: router는 HTTP 처리만, 비즈니스 로직은 services에 ## 해결 방안 - `app/services/llm/internal_llm_service.py` 생성 - `call_internal_llm` 함수로 이동 (감정 분석, 윤리 확인, 이모지 제거 포함) - 호출부 수정: `message_service.py:500,616`, `main.py:121,536,583`, `llm_endpoint.py:35,73,104`, `dm_skill.py:337` - `router.py:321-442`에서 `_call_internal_llm` 제거 ## 구현 완료 - 서비스 생성 완료 - 모든 호출부 수정 완료 - router에서 제거 완료 - 테스트 통과 확인 ## 교훈 - 계층 분리 원칙 준수: router는 라우팅만, 비즈니스 로직은 services로 - TDD 접근: 테스트 작성 → 구현 → 리팩토링 순서로 진행 - 문서 작성 원칙 준수: 파일명:줄번호로 위치 명시, 핵심만 간결하게