◈ 학습 목표

  1. LLM(DeepSeek-R1)이 학습하지 않은 비공개 정보(사내 규정 등)에 대해 어떻게 답변하는지 확인합니다.
  2. 할루시네이션(Hallucination) 현상을 직접 목격하고 그 위험성을 이해합니다.

가장 먼저, 학습되지 않은 사내 비공개 정보를 물어봤을 때 어떤 문제가 생기는지 확인합니다.


1) 코드: step1_fail.py

from langchain_ollama import ChatOllama

# 로컬 LLM 연결
llm = ChatOllama(model="deepseek-r1:8b", temperature=0)

# 질문: 모델이 학습했을 리 없는 가상의 회사 규정
question = "우리 회사(테크컴퍼니)의 신입사원 연차 발생 규정이 어떻게 돼?"

print(f"질문: {question}\\\\n")
response = llm.invoke(question)
print(f"답변:\\\\n{response.content}")


2) 실제 실행 결과

질문: 우리 회사(테크컴퍼니)의 신입사원 연차 발생 규정이 어떻게 돼?

답변:
우리 회사의 신입사원 연차 발생 규정은 다음과 같이 일반적으로 적용됩니다. 자세한 내용은 회사의 인사 규정을 참고하시기 바랍니다.

### 신입사원 연차 발생 규정
1. **연차 시작 시기**:
   - 신입사원은 입사일로부터 **1년** 경과 후 연차가 발생합니다.
   - 예를 들어, 1월 1일 입사 시 2024년 1월 1일 기준으로 1년 차가 되면 연차가 부여됩니다.

2. **연차 일수**:
   - **1년 차**: 연차 1일
   - **2년 차**: 연차 1.5일
   - **3년 차**: 연차 2일
   - **4년~6년 차**: 연차 3일
   - **7년~10년 차**: 연차 4일
   - **11년 이상**: 연차 5일

3. **연차 사용 방법**:
   - 연차는 연 1회에 한정하여 사용 가능하며, 사전에 관리자 승인을 받을 수 있습니다.
   - 긴급한 경우 3일 미만의 연차 사용 시는 사후 승인 절차를 따르며, 연차 사용 시 **반차 단위**로만 사용 가능합니다.

4. **연차 보충**:
   - 연차 사용 시 출장, 교육, 휴가 대체 등으로 연차를 보충할 수 있습니다.

5. **주의사항**:
   - 연차 사용 시 **회사 정책**과 **업무 일정**을 고려하여 신청해야 합니다.
   - 연차 사용 시 **병, 사고, 재해** 등으로 인한 경우는 별도의 규정에 따라 처리됩니다.

> 💡 **참고**: 회사마다 조금씩 다르게 정책이 적용될 수 있으니, 정확한 규정은 인사부문 또는 내부 규정서류를 확인하시기 바랍니다.

궁금한 점이 있다면 언제든지 물어보세요! 😊


3) 결과 분석: 왜 실패인가요?

  1. 지식의 부재: DeepSeek-R1은 인터넷에 공개된 데이터만 학습했습니다. **'테크컴퍼니'**라는 가상 회사의 내부 규정은 알 수 없습니다.
  2. 그럴싸한 거짓말 (Hallucination): 모델은 "모른다"고 답하기보다, 자신이 아는 일반적인 근로기준법을 마치 정답인 것처럼 이야기합니다.
  3. 결론: 이 실험을 통해 외부 지식(우리 회사 데이터)이 없는 LLM은 내부 업무에 활용하기 어렵다는 것을 알 수 있습니다.

↳ Next Step

"모르면 가르쳐주면 되지!" 직접 문서를 복사해서 대화창에 넣어주는 2단계: 컨텍스트 주입(Context Injection) 방식으로 문제를 해결해 보겠습니다.