DOCS/journey/troubleshooting/250815_happybell80_개발작업.md
Claude-51124 22557e7132 docs: 오래된 트러블슈팅 아카이브 및 구조 정리
- 7-8월 초기 구축 문서 12개를 _archive/troubleshooting/2025_07-08_initial_setup/로 이동
- book/300_architecture/390_human_in_the_loop_intent_learning.md를 journey/research/intent_classification/로 이동 (개발 여정 문서)
- 빈 폴더 제거 (journey/assets/*)
2025-11-17 14:06:05 +09:00

104 lines
3.0 KiB
Markdown

# 2025년 8월 15일 개발 작업 기록
## 오전 11시 31분
### 1. robeing-gateway 헬스체크 경로 불일치 해결
#### 문제 상황
- robeing-gateway가 3일 이상 unhealthy 상태
- FailingStreak: 10,028회 실패
- 서비스는 정상 작동하지만 헬스체크만 실패
#### 원인 분석
- Dockerfile: `/health` 경로로 헬스체크
- 실제 코드: `/healthz` 엔드포인트만 구현
- 이전 커밋에서 main.py와 Actions는 수정했지만 Dockerfile 누락
#### 해결 방법
```bash
# Dockerfile 수정
HEALTHCHECK ... CMD curl -f http://localhost:8000/healthz || exit 1
```
#### 교훈
- **헬스체크 엔드포인트 변경 시 체크리스트 필수**
- main.py (실제 엔드포인트)
- Dockerfile (컨테이너 헬스체크)
- docker-compose.yml (compose 헬스체크)
- .gitea/workflows/*.yml (CI/CD 헬스체크)
- CLAUDE.md에 규칙 추가 완료
---
### 2. rb10508_micro 하드코딩 제거 및 중앙 설정 관리
#### 문제 상황
- ChromaDB 검색 개수 100개가 하드코딩
- Gemini 모델명이 부분적으로 하드코딩
- Mistral 모델명이 완전히 하드코딩
#### 현황 파악
1. **ChromaDB 검색 100개**
- storage.py:112에 하드코딩
- config.py에 설정 없음
2. **Gemini 모델**
- brain.py:72에 'gemini-2.5-flash-lite' 하드코딩
- config.py:48에 GEMINI_FALLBACK_MODEL 있지만 미사용
3. **Mistral 모델**
- mistral.py:112에 'mistral-small-latest' 하드코딩
- config.py에 설정 없음
#### 해결 방법
```python
# config.py 추가
MEMORY_SEARCH_LIMIT: int = 100
MISTRAL_MODEL: str = "mistral-small-latest"
# 각 파일에서 settings 활용
settings.MEMORY_SEARCH_LIMIT
settings.GEMINI_FALLBACK_MODEL
settings.MISTRAL_MODEL
```
#### 추가 수정
- README.md 업데이트
#### 교훈
- **하드코딩 금지 원칙 재확인**
- 설정값은 반드시 config.py에서 중앙 관리
- 코드 리뷰 시 하드코딩 여부 우선 체크
---
### 3. 사랑 기반 윤리 시스템 설계 논의
#### 현재 상태
- rb10508_micro/app/core/ethics.py는 거의 비어있음
- 기본 구조만 있고 실제 구현 없음
#### 아키텍처 결정 사항
1. **윤리 평가 위치**: rb10508_micro 내부 (로빙의 핵심 정체성)
2. **Love Index 저장**: ChromaDB 메타데이터 (기억과 연결)
3. **LLM 사용**: 하이브리드 (명확한 경우 규칙, 애매한 경우 LLM)
4. **구현 전략**: 점진적 추가 (기존 시스템 유지)
5. **표현 방식**: 내부는 사랑, 외부는 세속적 용어
#### 기억 시스템 분석
- ChromaDB 벡터 저장소 사용
- 적응형 메모리 선택 (LLM + MMR 알고리즘)
- 100개 초기 검색 → 10-20개 최종 선택
- 황금비(1.618) 활용한 효율적 축소
#### 다음 단계
- ethics.py에 Love Index 계산 함수 추가
- brain.py에서 윤리 평가 통합
- ChromaDB에 love_metrics 메타데이터 추가
---
## 배포 결과
- robeing-gateway: Dockerfile 헬스체크 수정 후 푸시
- rb10508_micro: 하드코딩 제거 후 푸시
- 두 서비스 모두 Gitea Actions 통해 자동 배포 진행 중