2026-03-26 (목) 개발일지
오늘의 TIL: LLM 모델 교체와 자동화 스크립트 개선
오늘은 두 가지 프로젝트를 오가며 꽤 바쁜 하루를 보냈습니다. 아침에는 otel_project의 LLM 모델을 교체하는 작업을, 오후에는 옵시디언 개발일지 자동 배포 문제를 해결했습니다.
LLM 모델 호출 방식 전환
문제
현재 프로젝트에서 사용하던 LLM 챗봇 모델을 파인튜닝된 모델로 교체해야 했습니다. 우리 회사 서버 환경에서는 GPU가 부족해 33서버에 설치된 모델을 원격으로 호출하는 방식이 필요했죠. 기존에는 Ollama를 사용하고 있었는데, 이걸 완전히 갈아엎어야 했습니다.
시도
먼저 현재 구조를 파악하기 위해 여러 파일을 살펴봤습니다. llm_client.py, api.py, text_to_sql.py 등 핵심 파일들을 확인하면서 어떻게 모델 호출이 이루어지는지 이해하려고 했어요.
처음에는 포트 충돌을 의심했는데, 알고 보니 서버가 다른 문제였습니다. 우리 프로젝트 서버(ML엔진 8000 + LLM서비스 8002)와 DGX Spark 서버(사내 내부망 IP:8000)가 따로 운영되고 있었던 거죠.
해결
모든 Ollama 관련 코드를 제거하고 llm_client를 통한 통일된 호출 방식으로 전환했습니다. 핵심은 이거였어요:
- Intent 분류, SQL 생성, RCA 리포트 생성 - 이 3가지 기능을 모두 DGX 서버의 파인튜닝 모델로 처리
- 기존의 정규식/템플릿 로직을 제거하고 모델이 모든 걸 처리하도록 변경
docker-compose.yml설정도 함께 업데이트
가장 신경 썼던 부분은 사용자 경험이 떨어지지 않도록 하는 거였습니다. 모델 교체 후에도 챗봇이 에러 분석을 잘 해주고, SQL을 잘 생성해주는지 계속 테스트했어요.
배운 점
“같은 모델로 3가지 다 처리 가능하다고 했으면서 정규식을 유지한다는 건 모순이다”라는 AI의 피드백이 인상적이었습니다. 때로는 과감하게 기존 로직을 버리고 새로운 방식으로 완전히 전환하는 게 더 나은 선택일 수 있네요.
개발일지 자동 배포 실패 분석
문제
어제 작성한 개발일지가 자동으로 배포되지 않은 문제가 있었습니다. daewooki는 새로운 글을 냈는데 제건 안 올라갔더라고요. 맥북은 켜져 있었는데 스크립트가 실행되지 않은 것 같았습니다.
시도
먼저 로그를 확인해봤습니다. lock 파일이 3/25 10:09에 생성된 걸 보니 스크립트는 실행은 된 것 같았어요. 하지만 3/25 일지가 생성되지 않았죠.
check_missed_reports.py 스크립트를 들여다보니 문제를 발견했습니다. 현재 로직이 --days 3으로 설정되어 있어 3일치만 체크하고, 하루에 한 번만 실행되도록 되어 있었어요.
해결
자동화 로직을 다음과 같이 개선했습니다:
- 하루 2회 실행: 오전 10시(전날 분) + 오후 10시(당일 분)
- lock 로직 개선: 같은 날이라도 8시간 경과 시 재실행 허용
- 검색 범위 확대:
--days 7로 변경 - 당일 데이터 포함: 야간 실행 시
--include-today옵션 추가
run-report.sh 스크립트를 수정하고, launchd plist에 22시 스케줄을 추가했습니다. 이제는 당일 작성한 내용도 저녁에 자동으로 배포될 거예요.
배운 점
자동화 스크립트를 만들 때는 엣지 케이스(edge case)를 꼭 고려해야 합니다. 특히 시간 관련 로직은 “만약에…” 시나리오를 여러 개 생각해봐야 해요. lock 파일 방식이 편리하지만, 너무 엄격하면 정작 필요한 실행을 막을 수 있다는 것도 알게 되었습니다.
프로젝트 발표 준비
오늘 중간에 프로젝트 발표 준비도 잠시 했습니다. APM(Application Performance Management)을 처음 접하는 상급자에게 어떻게 설명할지 고민했어요. 너무 기술적인 용어(SLO, MTTR, Trace ID 등)를 쓰면 이해하기 어려울 거라 생각해서, 비즈니스 가치 중심으로 설명 방향을 잡았습니다.
핵심은 “AI Performance Management로의 확장”이라는 컨셉이었죠. 기존 APM에 Langfuse 같은 AI 관찰 도구를 결합하면 어떤 장점이 있는지 강조하려고 합니다.
오늘의 한줄
“모델 교체는 과감하게, 자동화는 꼼꼼하게 - 하루 종일 시스템의 ‘연결고리’를 만들고 다듬은 하루였다.”