12주차: 사전학습 모델 활용법, 프롬프트 엔지니어링
사전학습 모델을 활용하는 목적부터 정하고, 그 목적을 프롬프트로 바꾸어 결과를 확인하는 주차.
□ 이번 주에 하는 일
- 학습목표: 프롬프트 설계와 미세조정의 비용·효과 구분, zero-shot·few-shot 비교
- 실습목표: 같은 자료·질문·모델에서 프롬프트 두 가지를 실행하고 보고서·발표 자료 작성
- 실습 범위: 사용자 관점의 지시 작성과 실제 출력 확인. 모델 학습·검색 시스템 구현 제외
- 결과물: 프롬프트 엔지니어링 미니 프로젝트 보고서와 발표
책은 같은데 두 묶음의 지시 카드는 다르게 놓인 장면. 도구를 바꾸기 전에 같은 도구에 무엇을 어떻게 요청했는지 비교하는 것이 이번 주의 출발점. 앞의 빈 표에는 기대한 답이 아니라 실제로 실행해 얻은 결과와 그 근거를 적는 자리.
□ 11주차에서 이어지는 자리
- 11주차: 예시를 넣거나 빼며 문맥학습과 근거 확인의 필요성 관찰
- 12주차: 그 관찰을 목적·자료·제약·출력 형식으로 정리하고 비교 결과 공유
- 공통 기준: 읽기 좋은 답과 원문으로 확인한 답의 구분
- 프롬프트를 정교하게 적어도 사실성 보장은 없음. 실제 결과를 원문과 대조하는 절차 유지
□ 이 문서를 읽는 법
- 그림의 선택 결과는 사람이 작성한 교육용 안내. 실제 모델 출력이나 성능 측정과 구분
- 자료는 제주 공개 데이터 출처에 등록된 공식 공개 안내의 짧은 발췌
- 도내 조직은 인력·예산이 적은 상정 조건. 실제 기업 데이터·관광객 후기 사용 없음
- 모델의 실제 답은 실행 후 기록. 좋은 답이나 나쁜 답을 미리 만들어 실험 결과로 제시하지 않는 방식
- 이번 주에는 별도 실습 노트북 없음. 11주차의 제공된 실행 환경을 활용하고 기록 양식 작성
온라인 (2시수)
Section titled “온라인 (2시수)”강의 1: 목적을 실행 가능한 지시로 바꾸기
Section titled “강의 1: 목적을 실행 가능한 지시로 바꾸기”□ 막연한 요청에는 빠진 기준이 있음
‘제주 여행 정보를 잘 알려 줘’라는 요청의 가정. 무엇이 ‘잘’인지 아직 정해지지 않은 상태. 한라산 소개를 원하는지, 올레 걷는 시간을 원하는지, 제공한 글을 요약해 달라는지에 따라 필요한 자료와 답의 모양이 달라지는 문제.
모델은 빠진 부분을 스스로 채워 답을 이어 갈 수 있지만, 그 내용이 사용자의 실제 의도와 같다는 보장은 없음. 짧고 친절한 소개문이 나와도 질문에 필요한 숫자가 빠질 수 있고, 관광객에게 도움이 될 법한 운영시간을 덧붙여도 자료에 근거하지 않을 수 있는 상황.
이번 주의 목적은 화려한 표현을 더하는 작업보다 빠진 기준을 입력에 드러내는 작업. 먼저 무엇을 물었고, 무엇을 읽혔으며, 무엇을 답에서 확인할지를 정한 다음 프롬프트 작성.
| 막연한 요청의 부분 | 아직 결정되지 않은 것 | 이번 프로젝트의 결정 |
|---|---|---|
| 제주 정보 | 대상과 질문 범위 | 한라산 높이·올레 거리·소요시간 질문 |
| 잘 알려 주기 | 자료의 범위와 사실 확인 방식 | 발췌 H와 O만 사용, 근거 대조 |
| 좋은 답 | 답변 길이와 구조 | 답변·출처 ID·근거 세 항목 |
| 모르는 질문 | 추측 또는 답변 보류 | 자료에 없으면 Not stated |
□ 프롬프트의 다섯 부분
프롬프트는 모델에게 입력하는 지시와 문맥. 원하는 결과를 쓰는 것뿐 아니라 어떤 자료를 쓰고 어디까지 답할지 함께 정하는 작업.
| 부분 | 이번 프로젝트의 내용 | 확인 질문 |
|---|---|---|
| 목적 | 방문자의 질문에 짧게 답변 | 누구에게 무엇을 알려 주는가 |
| 자료 | 공식 안내 발췌 두 개 | 모델이 사용할 근거는 어디인가 |
| 제약 | 자료 밖의 가격·시간 등 추측 금지 | 모르는 내용을 어떻게 처리하는가 |
| 출력 | 답변·출처 ID·근거 세 항목 | 결과끼리 나란히 비교 가능한가 |
| 근거 | 원문의 해당 표현 표시 | 답을 뒷받침하는 문장이 실제로 있는가 |
다섯 부분은 이름을 외우기 위한 목록보다 서로 다른 실패를 줄이는 확인 항목. 목적이 빠지면 관련된 글을 길게 쓰고도 질문에 답하지 못할 수 있고, 자료가 빠지면 모델의 기억과 입력 원문을 구분하기 어려운 상황. 제약은 모르거나 근거가 없는 내용을 처리할 기준, 출력은 사람이 비교할 모양, 근거는 답을 받아들일지 판단할 연결점.
예를 들어 소요시간 질문에서 ‘자료만 사용’은 답변 범위를 정하는 줄, ‘Not stated’는 범위를 벗어난 질문의 처리 줄, ‘Evidence’는 사람이 그 처리가 맞는지 점검할 자리. 세 줄의 기능이 서로 다르므로 하나를 썼다고 나머지가 자동으로 해결되는 것은 아님.
역할 이름을 붙이는 것만으로 지식이 추가되지는 않는 구조. ‘제주 전문가’라는 지시보다 공개 자료와 근거 확인 기준을 함께 제공하는 편이 이번 과제의 목적에 맞는 선택.
□ zero-shot과 few-shot
- Zero-shot: 과제의 답변 예시 없이 지시와 자료만 제공
- Few-shot: 입력과 원하는 출력의 예시를 소수 제공
- 두 방식 모두 실행 시 입력 문맥을 사용하는 방식. 모델 가중치를 다시 학습하는 과정 아님
11주차에서 예시를 넣고 빼는 조작을 했다면, 이번에는 어떤 행동을 예시로 보여 주는가까지 확인하는 단계. 정답 숫자를 알려 주는 예시와, 모르는 질문에서 답변을 보류하는 예시는 전달하는 기준이 서로 다른 구성.
이번 B의 예시는 후자. 두 발췌에 없는 입장료 질문을 사용해 답을 만들어 내지 않는 형식 안내. 모델이 이 형식을 따라 할 수는 있지만, 예시를 넣었다는 사실만으로 세 질문의 답이 맞거나 보류가 늘어난다는 결론은 금물. A와 B의 실제 출력이 같을 가능성도 관찰 대상.
‘자료에 없는 것은 확인 불가로 남기기’라는 기준도 예시로 전달 가능한 내용. 예시를 넣은 답이 더 길어졌다고 더 정확하다고 볼 수는 없는 기준.
□ 이번 프로젝트의 공통 자료
다음 두 발췌를 A와 B 모두에 동일하게 제공. 출처 ID는 원문 대조를 위한 수업용 표기.
| ID | 공통 입력 자료 | 출처·가공 |
|---|---|---|
| H | Hallasan. At 1,950 m above sea level, it is the highest mountain in South Korea. | 한라산 공식 안내. 2026-10-11 열람. 원문 한 문장 발췌, 제목 Hallasan. 추가 |
| O | Jeju Olle Trail Route 6 is an 11-kilometer coastal and urban trail. | 올레 6코스 공식 안내. 2026-10-11 열람. 첫 절 발췌 후 마침표 추가 |
- 표의 원문 정보는 열람 시점의 안내. 최신 이용 조건을 대신하는 자료 아님
- 올레 페이지의 상단 설명은 13.3km, 상세 본문은 11km로 표기가 다른 상태. 실습은 제공한 상세 본문 발췌에 대한 답을 대조하며 실제 최신 코스 길이는 추가 확인 전 판단 보류
- 두 발췌에는 운영시간·요금·이동 소요시간 정보 없음
□ 같은 목적의 프롬프트 두 가지
두 프롬프트 모두 공통 자료와 질문을 사용. A는 예시 없는 지시, B는 출력 예시 한 개를 더한 지시. 비교 실험에서 달라지는 부분을 명확하게 남기는 구성.
□ 공통 골격
Purpose: Answer a visitor's question using only the supplied sources.Sources:[H] Hallasan. At 1,950 m above sea level, it is the highest mountain in South Korea.[O] Jeju Olle Trail Route 6 is an 11-kilometer coastal and urban trail.Rules: Do not add facts absent from the sources.If the sources do not answer the question, write "Not stated".Format: Answer | Source ID | EvidenceQuestion: {question}Answer:□ 프롬프트 A: zero-shot
- 공통 골격의
{question}을 아래 질문으로 바꿔 실행 - 답변 예시 추가 없음
□ 프롬프트 B: few-shot
- A와 같은 골격·자료·질문 사용
Question: {question}앞에 다음 예시만 추가
Example:Question: What is the admission fee for Hallasan?Answer: Not stated | None | The supplied sources do not state a fee.이 예시는 교수가 작성한 형식 안내. 실제 모델이 생성한 답이나 공식 요금 안내와 구분. B에서도 시험 질문의 정답을 예시로 주지 않는 구성.
□ 공통 비교 질문
| 번호 | A와 B에 동일하게 넣을 질문 | 원문 대조 기준 |
|---|---|---|
| 1 | How high is Hallasan above sea level? | H에 나온 높이 표현과 답의 단위 대조 |
| 2 | How long is Jeju Olle Trail Route 6? | O에 나온 거리 표현과 답의 단위 대조 |
| 3 | How many hours does it take to walk Route 6? | 두 발췌에 소요시간 없음. 거리에서 시간을 추측했는지 확인 |
□ 제공된 영어를 읽는 안내
- 질문 1: 한라산의 해발 높이를 묻는 문장.
above sea level은 바다 수면을 기준으로 한 높이라는 뜻 - 질문 2: 올레 6코스의 거리를 묻는 문장.
How long을 걷는 시간으로 바꾸어 읽지 않는 기준 - 질문 3: 올레 6코스를 걷는 시간을 묻는 문장.
hours는 시간 단위이며 거리의kilometers와 구분 Answer | Source ID | Evidence: 답변, H·O 중 근거 위치, 해당 원문 표현의 세 칸. 확인 상태는 사람이 결과를 대조한 뒤 기록하는 별도 항목Not stated: 제공한 두 발췌에 적혀 있지 않다는 뜻. 실제 소요시간이 없거나 0시간이라는 뜻 아님- 제공 영어를 새로 작성·번역해 실행하는 과제 아님. 기본 비교에서는 입력을 그대로 두고 내용 해석부터 확인
□ 무엇을 고정해야 공정한 비교인가
A에는 한라산 자료만 주고 B에는 올레 자료까지 더했다면, 출력 차이가 예시 때문인지 자료 때문인지 분리하기 어려운 비교. A는 영어, B는 한국어로 질문하거나 B에만 출력 길이를 더 주는 경우도 같은 문제. 바꾼 항목은 하나, 나머지는 같은 조건으로 두는 이유.
| 고정할 것 | 이번 실험의 조건 | 함께 바꾸면 생기는 해석 문제 |
|---|---|---|
| 모델과 파일 버전 | 11주차의 같은 일반 모델 | 서로 다른 능력과 예시 효과가 섞임 |
| 원문 자료 | 같은 H·O 두 발췌 | 추가 자료의 효과와 구분 어려움 |
| 질문 | 같은 질문 세 개 | 질문 난이도나 표현 차이가 섞임 |
| 출력 규칙 | Answer, Source ID, Evidence | 형식 지시의 차이가 섞임 |
| 생성 설정 | 같은 선택 방식·길이 제한 | 무작위 선택·잘림의 영향이 섞임 |
| 이전 대화 | 각각 새로운 입력 | 앞선 답이 다음 질문의 예시가 됨 |
| 변경 항목 | B에만 확인 불가 예시 추가 | 이 항목의 유무를 비교할 수 있는 구성 |
‘같은 자료’는 같은 URL만 적는 것이 아니라 실제로 모델에 들어간 발췌 문자열까지 같게 유지하는 뜻. 한쪽은 전체 페이지, 다른 쪽은 첫 문장만 넣으면 정보량이 달라지는 문제. 제공된 실행 셀은 공통 부분을 한 번 작성하고 B에 예시만 더해 이 차이를 통제하는 구성.
□ 강의 1에서 꼭 가져갈 것
- 막연한 ‘좋은 답’을 목적·자료·제약·출력·근거로 구체화
- Zero-shot과 few-shot의 차이는 답변 예시의 유무. 둘 다 요청의 문맥을 활용하는 방식
- 예시는 형식이나 보류 기준을 보여 주는 도구, 사실 확인을 대신하는 증거는 아님
- 모델·자료·질문·생성 설정을 고정하고 예시만 바꿔 실제 출력 비교
정답 대조는 원문의 표현 유무를 기준으로 수행. 말투가 친절한지, 문장이 긴지는 별도의 관찰 항목.
강의 2: 프롬프트, 미세조정, 자료 연결의 구분
Section titled “강의 2: 프롬프트, 미세조정, 자료 연결의 구분”□ 같은 모델을 쓰는 것과 모델을 바꾸는 것
**미세조정(fine-tuning)**은 이미 학습된 모델에 과제별 학습 자료를 주어 가중치를 추가로 조정하는 과정. 프롬프트 설계는 가중치를 유지한 채 추론 시 넣는 지시·문맥을 바꾸는 과정.
| 비교 | 프롬프트 설계 | 미세조정 |
|---|---|---|
| 바꾸는 것 | 입력 지시·예시·자료 | 모델의 가중치 |
| 준비 | 과제 설명과 확인용 예시 | 학습 자료, 학습 환경, 평가 자료 |
| 비용 | 입력 길이 증가에 따른 추론 부담, 작성·검토 시간 | 자료 정리·학습·평가·유지 비용 |
| 효과를 기대할 부분 | 한 요청의 형식·조건·문맥 전달 | 반복 과제의 행동을 학습 자료에 맞게 조정 |
| 보장하지 않는 것 | 사실성·항상 같은 출력 | 사실성·모든 새 질문의 정답 |
| 이번 수업 | 두 프롬프트의 실행과 비교 | 이름·목적·비교만 학습, 실행 없음 |
□ 비용은 학습 장비값만이 아님
예산이 적은 상정 조직에서 프롬프트를 먼저 시험할 수 있는 이유는 기존 모델을 바꾸지 않고 작은 자료로 과제를 확인할 수 있기 때문. 하지만 누군가 자료를 골라 최신 여부를 확인하고, 출력의 오류를 읽고, 지시를 다시 적어야 하는 사람의 시간도 비용의 일부.
반대로 미세조정에서는 자료 수집·정답 작성·오류 점검·학습 환경 준비가 먼저 필요. 학습을 마쳐도 새 질문과 새로운 자료에서 결과가 유지되는지 다시 평가할 필요. ‘학습 한 번으로 끝’이라는 기대보다 반복 과제를 안정적으로 처리하는 데 어떤 준비가 필요한지의 판단.
| 상정 조직의 문제 | 먼저 확인할 것 | 판단 근거 |
|---|---|---|
| 답의 항목과 말투가 일정하지 않음 | 출력 규칙과 예시를 넣은 작은 비교 | 자료 부족보다 지시 전달 문제인지 확인 |
| 운영 정보가 자주 바뀜 | 최신 원문과 열람일의 관리 | 가중치에 기억시키기보다 현재 근거를 확인할 필요 |
| 같은 유형의 요청이 반복적으로 어긋남 | 실패 유형과 확인용 예시 정리 | 프롬프트 수정만으로 해결되는지 먼저 측정 |
| 공개 자료 자체가 모순됨 | 자료의 해당 위치와 모순 표시 | 모델을 바꿔도 원문의 충돌이 자동 해결되지는 않음 |
그림의 직기와 실뭉치는 그대로 두고 청록색·주황색 지시 카드에 따라 결과를 비교하는 비유. 프롬프트는 입력을 바꾸고 미세조정은 학습된 숫자를 바꾼다는 차이를 읽는 자리. 그림에서 직기를 실제로 개조한 모습을 보여 주지는 않으며, 실제 모델 내부 구조의 그림도 아님.
무조건 싼 방식이나 항상 좋은 방식은 없음. 프롬프트를 길게 반복하면 추론 부담이 늘고, 미세조정도 학습 자료의 오류·편향을 따라갈 수 있는 가능성.
인력과 예산이 넉넉하지 않은 도내 조직의 상정. 먼저 작은 공개 자료와 확인 질문으로 프롬프트를 시험하고, 반복해서 실패한 과제가 무엇인지 기록하는 선택. 이 기록 없이 새로운 학습의 비용·효과를 단정하지 않는 순서.
□ RAG: 찾은 자료를 답 생성에 연결하기
**RAG(검색 증강 생성)**는 질문에 관련된 자료를 검색하고, 그 자료를 모델 입력에 넣어 답을 생성하는 방식.
- 질문에 관련된 자료 찾기
- 찾은 자료를 질문과 함께 모델에 제공
- 모델 답을 자료와 대조
8주차에서는 질문에 알맞은 문서를 찾는 검색을 경험했고, 10~11주차에서는 입력을 바탕으로 답을 생성하는 모델을 본 자리. RAG는 이 두 작업을 이어, 모델이 바깥 자료를 읽고 답할 수 있게 하는 개념. 검색 결과가 답 그 자체가 아니라 답을 만들 때 참고할 자료가 되는 구성.
질문에 가까운 자료를 찾았다는 사실과 그 자료가 질문의 답을 뒷받침한다는 사실도 구분 필요. 8주차의 유사도처럼 주제가 비슷해서 찾힌 문서가 실제로는 필요한 조건이나 숫자를 담고 있지 않을 가능성. 생성된 답은 검색 결과의 이름뿐 아니라 해당 문장을 대조할 대상.
이번 프로젝트는 사람이 고른 공개 발췌를 입력하는 활동. 검색 단계가 없으므로 RAG를 구현한 결과물은 아님. RAG와 비교하면 ‘자료를 입력에 함께 넣는 단계’를 경험하는 자리.
- 검색 시스템 구축·검색 모델 학습·구현 프레임워크는 이번 주 범위 밖
□ SFT와 RLHF: 이름과 목적만
| 이름 | 뜻과 목적 | 이번 주의 확인 범위 |
|---|---|---|
| SFT | 지도 미세조정. 지시와 바람직한 응답 예시로 응답 방식을 학습하는 과정 | 예시로 모델 가중치를 조정한다는 목적 |
| RLHF | 사람 피드백을 활용한 강화학습. 사람이 선호하는 응답 방향을 학습에 반영하는 접근 | 사람 선호를 반영한다는 목적 |
SFT에서 쓰는 학습 예시와 few-shot 입력 예시의 구분. 전자는 학습 단계에서 가중치 조정에 사용, 후자는 지금 요청의 문맥에 사용.
Few-shot과 SFT는 모두 예시가 나온다는 이유로 혼동하기 쉬운 이름. ‘지금 질문 앞에 입장료 예시를 붙였다’는 B 프롬프트의 작업, ‘지시와 좋은 응답 예시를 학습 자료로 써 모델을 조정했다’는 SFT의 목적. 같은 글 모양이어도 어느 단계에서 어떤 대상을 바꾸는가로 구분.
RLHF에서 사람 피드백은 응답에 대한 사람의 선호를 학습에 반영하는 뜻. 친절함·유용함 같은 선호와 특정 원문 주장의 일치 여부는 다른 판단. 그래서 사람 선호 반영과 공식 자료 대조는 함께 필요한 확인 작업.
사람이 선호한 답도 사실과 다를 수 있는 가능성. 사람 피드백을 받았다는 이유로 출처 대조가 필요 없어지는 것은 아님. 학습 알고리즘과 자동 프롬프트 최적화 구현은 후속 과목 범위.
□ 강의 2에서 꼭 가져갈 것
- 프롬프트는 입력, 미세조정은 가중치를 바꾸는 과정
- 비용에는 입력 길이·추론·자료 준비·사람 검토·유지 작업까지 포함
- RAG는 자료 검색과 답 생성의 결합. 직접 발췌를 넣는 현재 활동에는 검색 구현 없음
- SFT는 지시·응답 예시로 학습, RLHF는 사람 선호를 학습에 반영하는 목적
- 어떤 방식을 선택해도 사실 확인과 확인용 자료의 필요성은 유지
- 공통 골격에서 목적·자료·제약·출력·근거에 해당하는 줄 표시
- A와 B의 차이를 ‘확인 불가 답변 형식 예시의 유무’로 한 문장 기록
- 두 발췌에서 답할 수 있는 질문과 답할 수 없는 질문 구분
- 상정 조직에서 프롬프트를 먼저 시험할 이유를 비교표의 비용·준비 항목으로 설명
대면 (1시수)
Section titled “대면 (1시수)”미니 프로젝트 수행 순서
Section titled “미니 프로젝트 수행 순서”- 보고서·발표 기록 양식 다운로드
- 11주차에서 실행한 공개 모델과 제공된 환경 확인
- 같은 일반 모델·자료·질문·생성 설정을 고정하고 A 실행
- 같은 조건에서 예시 한 개만 더한 B 실행
- 공통 질문 세 개의 실제 결과를 원문 그대로 기록
- 주장별 근거를 대조하고 결과의 차이·판단 보류 사항 정리
- 보고서 작성 후 발표 표를 바탕으로 결과 공유
11주차의 일반 모델 실행 경로를 재사용하는 방식. 일반 모델과 추론형 모델까지 동시에 바꾸면 ‘프롬프트만 바꾼 비교’가 어려우므로 이 프로젝트에서는 한 모델로 고정.
제공된 실행 셀
Section titled “제공된 실행 셀”11주차 노트북을 먼저 끝까지 실행한 뒤, 마지막에 새 코드 셀 하나를 추가하고 아래 제공 코드를 그대로 붙여 실행. 코드 작성·수정과 새 TODO 없음. 별도 12주차 노트북 파일 없이 기존 제공 함수와 일반 모델 설정을 재사용하는 방식.
required = ("run_conditions", "GENERAL", "GENERAL_REVISION")if not all(name in globals() for name in required): raise RuntimeError("11주차 노트북을 먼저 끝까지 실행한 뒤 이 셀 실행")
sources = ( "[H] Hallasan. At 1,950 m above sea level, it is the highest mountain in South Korea.\n" "[O] Jeju Olle Trail Route 6 is an 11-kilometer coastal and urban trail.\n")common = ( "Purpose: Answer a visitor's question using only the supplied sources.\n" "Sources:\n" + sources + "Rules: Do not add facts absent from the sources.\n" 'If the sources do not answer the question, write "Not stated".\n' "Format: Answer | Source ID | Evidence\n")example = ( "Example:\n" "Question: What is the admission fee for Hallasan?\n" "Answer: Not stated | None | The supplied sources do not state a fee.\n")questions = [ "How high is Hallasan above sea level?", "How long is Jeju Olle Trail Route 6?", "How many hours does it take to walk Route 6?",]conditions = {}for index, question in enumerate(questions, start=1): for label, extra in (("A", ""), ("B", example)): prompt = common + extra + "Question: " + question + "\nAnswer:" conditions[f"{label}{index}"] = [{"role": "user", "content": prompt}]project_results = run_conditions(GENERAL, GENERAL_REVISION, conditions)for label, result in project_results.items(): print(label, result)A1/B1,A2/B2,A3/B3: 질문 번호별 zero-shot·few-shot 실제 실행 결과- 11주차의 일반 모델과 고정 버전·CPU·동일 생성 설정 사용. 6개 조건을 한 모델에서 순서대로 실행
status: ok: 실제 출력의raw·answer를 기록표로 옮긴 뒤 원문 대조status: truncated: 길이 제한에 도달한 불완전 출력으로 표시하고 잘린 출력도 그대로 기록status: unavailable: 오류와 미실행 상태 기록. 예상 답으로 대체 금지- 이 셀은 공개 자료를 손으로 제공하는 비교 실험. 검색 시스템이나 RAG 구현 아님
원문 대조 한 행 따라 읽기
Section titled “원문 대조 한 행 따라 읽기”A2나 B2를 실행한 뒤 실제 출력의 답 부분부터 표시. 아직 실행하지 않았다면 아래 순서는 원문 대조를 배우는 교육용 절차이며, 결과 표에 채울 모델의 답이 아님.
| 읽는 순서 | 확인할 자리 | 기록할 판단 |
|---|---|---|
| 1. 질문 확인 | 질문 2의 How long과 Route 6 | 길이를 묻는 질문인지 확인 |
| 2. 자료 확인 | O의 11-kilometer 표현 | 원문에 거리와 단위가 함께 있는지 확인 |
| 3. 실제 답 확인 | A2 또는 B2의 raw·answer | 모델이 실제로 적은 숫자·단위를 복사 |
| 4. 주장 대조 | 답의 거리와 O의 거리 | 일치·불일치·해당 답 없음 구분 |
| 5. 범위 확인 | 시간·요금 등 추가 주장 | 발췌 밖 정보가 덧붙었는지 별도 기록 |
| 6. 형식 확인 | Source ID와 Evidence | 내용 일치와 형식 준수를 따로 기록 |
예를 들어 단위를 기록하지 않은 출력은 원문에 거리 숫자가 있더라도 ‘단위 확인 필요’로 남길 자리. 출처 O를 붙였지만 다른 숫자가 나온 출력은 ‘출처 ID 있음, 내용 불일치’로 기록할 자리. 이는 출력에서 어떤 모양을 발견하면 어떻게 판단할지를 보여 주는 교육용 기준이며 실제 모델이 그런 답을 했다는 보고는 아님.
질문 3은 다른 종류의 행. 주어진 발췌에 소요시간 표현이 없으므로 원문에서 정답 시간을 찾는 활동이 아니라 답할 근거가 없는 질문을 모델이 어떻게 처리했는지 확인하는 활동. 실제 원문 전체에 다른 정보가 있어도 이번 실험에서 제공하지 않은 부분은 이 비교의 입력 근거로 사용할 수 없는 조건.
실제 결과 기록표
Section titled “실제 결과 기록표”| 질문 | A 실제 출력 | B 실제 출력 | 원문 근거 | 확인 상태 |
|---|---|---|---|---|
| 1: 한라산 높이 | 실행 후 기록 | 실행 후 기록 | H의 해당 표현 | 확인/불일치/확인 불가 |
| 2: 올레 거리 | 실행 후 기록 | 실행 후 기록 | O의 해당 표현 | 확인/불일치/확인 불가 |
| 3: 올레 소요시간 | 실행 후 기록 | 실행 후 기록 | 발췌에 없음 | 확인 불가 처리/추측 추가 |
검증 환경에서 실제로 관찰한 실패
Section titled “검증 환경에서 실제로 관찰한 실패”2026-10-11 제공된 실행 셀의 6개 조건을 CPU에서 실행해 얻은 결과. 같은 일반 모델의 고정 버전, 최대 64개 새 토큰, do_sample=False 사용. Torch 2.14.1·Transformers 4.57.6 환경. 아래는 실제 출력의 핵심 부분이며 위 학생 기록칸에는 각자 실행한 결과를 기록.
| 비교 | 실제로 나온 출력의 핵심 | 원문 대조 |
|---|---|---|
| A2: 거리 질문 | Answer: 11 kilometers, 근거에도 11-kilometer | O의 거리와 일치 |
| B2: 같은 거리 질문 | Answer: Not stated, 뒤에는 올레 6코스가 11km라는 근거 문장 | 답은 확인 불가, 근거에는 거리 있음. 출력 내부 모순 |
| A3: 소요시간 질문 | Not stated | 주어진 발췌에 시간 없음. 보류 내용은 맞지만 지정된 세 항목 형식은 미준수 |
| B3: 같은 소요시간 질문 | Answer: Not stated, 뒤에는 3-4 hours라는 시간 주장과 출처 O | 발췌에 없는 시간 추가. 출처를 붙여도 근거 없는 주장 |
6개 결과의 실행 상태는 모두 ok. 이는 추론이 종료되어 출력을 얻었다는 뜻, 정답이 확인되었다는 판정은 아님. B가 예시의 Not stated 형식을 따르는 듯해도 답·근거가 충돌하거나 자료 밖 정보를 덧붙인 사례. Few-shot이 항상 개선된다는 결론 대신 내용·형식·근거를 따로 대조할 이유를 보여 주는 작은 실험. 다른 환경·자료·모델까지의 성능 일반화는 불가.
자주 막히는 지점
Section titled “자주 막히는 지점”| 증상 | 원인 또는 확인 항목 | 진행 방법 |
|---|---|---|
| 11주차 먼저 실행하라는 오류 | 제공 함수·모델 설정이 아직 없는 상태 | 11주차를 위에서 끝까지 실행 후 제공 셀 재실행 |
| unavailable 상태 | 설치·다운로드·실행 오류 | error 기록, 환경 확인 후 재실행. 답 창작 금지 |
| truncated 상태 | 출력 길이 제한 도달 | 잘린 raw와 상태를 보존, 완성 답으로 해석 금지 |
| A와 B 답이 같음 | 예시의 유무가 이 질문에서 차이를 만들지 않음 | 차이 없음으로 기록, 내용을 고쳐 차이 만들기 금지 |
| 질문 대신 지시를 반복 | 모델이 요청 형식을 따르지 못한 실제 결과 | 지시 불이행과 근거 확인 가능 여부를 구분 |
| 원문과 맞지만 항목 구분 실패 | 내용 정확성과 형식 준수의 차이 | 두 기준을 각각 기록 |
세 질문의 작은 실험은 프롬프트 차이를 관찰하는 자료. 대표적인 실제 이용자 평가나 통계적 성능 검증과 구분. B가 나아 보이면 어떤 출력에서 어떤 항목이 달라졌는지 구체적으로 기술.
| 설명할 항목 | 발표에 담을 내용 |
|---|---|
| 목적과 자료 | 방문자 질문, 공개 자료 URL·열람일·가공 |
| 고정한 조건 | 모델·버전·질문·생성 설정 |
| 바꾼 부분 | A와 B 프롬프트, 예시 추가 위치 |
| 관찰한 결과 | 실제 출력 두 개 이상을 근거와 함께 비교 |
| 확인하지 못한 점 | 자료에 없는 정보, 실행 문제, 적용 범위 |
| 다음 선택 | 프롬프트 개선 또는 추가 평가가 필요한 이유 |
- 기본 단계: 제공된 A/B 실제 출력의 한 질문을 골라 숫자·단위·원문 근거를 대조하고, 내용과 형식의 확인 상태 기록
- 심화 단계: 같은 비교표에서 예시 추가 뒤 개선·차이 없음·악화 중 실제 관찰을 설명하고, 다른 모델·질문으로 넓힐 수 없는 한계 기록
[이론] 프롬프트 차이를 문맥학습으로 설명하고 학습 방식과 구분
- A와 B의 실제 프롬프트에서 공통 부분과 예시 추가 부분 표시
- 결과 차이가 있으면 어느 질문의 어떤 항목이 달라졌는지 기록
- 차이가 없다면 그 결과를 그대로 남기고 예시가 항상 효과를 내는 것은 아니라는 해석
- Few-shot이 SFT와 다른 이유를 ‘지금 입력의 문맥’과 ‘모델 가중치 학습’으로 설명
[구현] 제공된 실행 셀로 미니 프로젝트 수행, 보고서 작성과 발표
- 11주차 제공 환경을 먼저 실행하고 위 코드 셀을 그대로 붙여 6개 조건 실행
- 실제 프롬프트·모델 버전·생성 설정·실행 상태를 함께 보존
- 세 질문의 A/B 출력과 원문 대조 표 작성, 보고서와 발표 자료로 정리
- 정상 실행하지 못한 경우 오류·미실행 단계를 기록하고 무엇을 비교하려 했는지 명시
[실무] 인력·예산이 적은 도내 조직의 상정 조건에서 다음 선택 판단
- 이번 작은 비교에서 나온 실패 한 가지를 내용·형식·근거·실행 문제 중 해당 항목으로 구분
- 자료 보완·프롬프트 수정·추가 평가 중 그 실패를 먼저 확인할 방법과 이유 기술
- 미세조정을 바로 선택한다면 학습 자료·환경·검토·유지 비용을 준비해야 하는 이유 설명
- 최신 운영정보가 필요한 안내와 주어진 두 발췌만 쓰는 수업용 실험의 적용 범위 구분
제출과 발표
Section titled “제출과 발표”- 중간 프로젝트(20%): 프롬프트 엔지니어링 미니 프로젝트 보고서와 발표. 평가 비중은 수업계획서의 기존 기준
- 보고서: 공개 자료 출처·가공, 모델과 고정 조건, 프롬프트 A/B, 질문별 실제 출력, 근거 확인표, 결과 해석 포함
- 발표: 위 발표 표를 바탕으로 실제 결과와 확인하지 못한 한계 공유
- 제출 경로:
assignments/week-12/<학번>/. 폴더에 이름·연락처를 넣지 않는 원칙 - 코드 작성량이나 답의 길이보다 실제 출력과 근거의 구분에 초점
- 별도 12주차 노트북 제출 없음. 기록 양식을 바탕으로 작성한 보고서와 발표 자료 제출
자주 하는 오해 Q&A
Section titled “자주 하는 오해 Q&A”Q1. 프롬프트가 길고 자세하면 언제나 더 좋은가?
필요한 기준을 분명히 하는 것과 모든 설명을 길게 쓰는 것은 다른 작업. 자료·제약이 분명해져도 서로 충돌하는 지시나 무관한 내용이 많으면 무엇을 따를지 흐려질 가능성. 입력이 길어지면 처리 부담도 증가. 이번 활동에서는 길이가 아니라 필요한 기준과 실제 결과의 관계로 판단.
Q2. Few-shot 예시를 넣으면 모델이 새로운 사실을 영구히 기억하는가?
이번 실행은 모델의 가중치를 바꾸지 않는 추론. 예시는 현재 요청의 문맥으로 들어가며 다음 요청에서 빼면 그 문맥도 없는 구성. 예시를 학습 자료로 써 가중치를 조정하는 SFT와 구분. 입력을 본 적이 있다는 것과 모델을 다시 학습시켰다는 것은 다른 설명.
Q3. 예시를 넣었는데 답이 같으면 실패한 과제인가?
차이 없음도 비교 결과. 두 프롬프트에서 어떤 내용·형식·보류 처리가 같았는지 쓰는 활동. 예시가 이 모델의 이 질문에서는 효과를 보이지 않았다는 관찰과, 모든 모델·질문에서 쓸모없다는 일반화는 구분. 결과를 고쳐 예시의 효과를 만드는 것은 관찰과 다른 작업.
Q4. 답에 출처 ID가 있으면 사실 확인이 끝난 것인가?
출처 표시는 어디를 보라고 했는지 알려 주는 단서. 답에 O가 있어도 원문의 거리와 다른 숫자를 적을 가능성. 숫자·단위·해당 표현을 실제 원문과 대조해야 확인 완료. 형식을 잘 지키는 능력과 근거를 맞게 사용하는 능력은 각각 기록할 기준.
Q5. 올레의 거리를 알면 걷는 시간도 답할 수 있지 않은가?
거리만으로 걷는 시간을 정하려면 속도·휴식·경로 조건 등 추가 가정이 필요한 상황. 이번 발췌에는 그런 가정이나 시간 정보가 없으므로 주어진 자료만으로 확인 불가. 실제 여행 안내를 하려면 해당 정보의 공식 근거를 새로 확인해야 하지만, A/B 비교 중 한쪽에만 추가하면 같은 자료의 실험이 아니게 되는 조건.
Q6. 직접 원문을 넣었으니 RAG를 만든 것인가?
현재 활동에는 질문에 관련된 자료를 검색하는 단계 없음. 사람이 고른 두 발췌를 입력에 붙여 주는 실험. RAG의 개념과 연결되는 자료 제공 부분은 경험하지만, 검색과 생성을 결합한 시스템을 구현했다는 결과 보고와 구분. 자료를 넣어도 모델의 오독·추가 주장은 원문 대조가 필요한 항목.
Q7. 미세조정이나 사람 피드백 학습을 하면 환각은 없어지는가?
학습을 추가했다고 모든 답의 사실성이 보장되는 것은 아님. SFT의 예시나 RLHF의 사람 선호가 잘못된 정보와 함께 있을 가능성도 고려할 필요. 이번 주는 이름·목적 수준으로 구분하며, 어떤 방식으로 맞춘 모델도 중요한 정보는 출처를 확인한다는 기준 유지.
Q8. 작은 공개 모델이 지시를 못 따르면 더 큰 모델로 바꾸어 제출해야 하는가?
이번 프로젝트는 정해진 같은 모델에서 두 프롬프트를 비교하는 활동. 지시 불이행도 실제 출력으로 남길 결과. 모델을 바꾸어 다시 시험했다면 원래 A/B 비교와 별도 실험으로 표시할 필요. 더 큰 모델이 언제나 이 과제에 맞는다는 보장은 없고, CPU 자원·언어 지원·과제·근거 검토 비용을 함께 확인할 판단.
스스로 점검
Section titled “스스로 점검”- ‘제주 정보를 잘 알려 줘’라는 요청에서 목적·자료·제약·출력·근거 중 무엇이 빠졌는지 설명.
- A와 B가 공정한 비교가 되도록 고정할 조건 네 가지 이상 기록.
- B에 넣은 입장료 예시는 세 시험 질문의 정답을 알려 주는 예시인지 설명.
- A2/B2의 거리 답을 확인할 때 출처 ID 외에 읽을 항목 기록.
- 질문 3에 소요시간이 나왔다면 주어진 발췌로 확인할 수 있는지 판단.
- Few-shot과 SFT의 차이를 바꾸는 대상과 실행 단계로 설명.
- 현재 프로젝트와 RAG에서 서로 다른 단계를 기록.
- 작은 상정 조직이 미세조정 전에 준비할 평가·비용 항목 세 가지 기록.
정답 보기
- 대상·질문, 사용할 원문, 자료에 없는 내용의 처리, 답의 항목, 주장과 원문의 연결이 모두 불명확한 상태. 다섯 부분을 분명히 하는 것이 지시 설계의 출발점.
- 모델과 파일 버전, H·O의 실제 발췌 문자열, 세 질문, 출력 규칙, 생성 설정, 이전 대화 미포함 조건 유지. 변경은 B의 형식 예시 추가 한 가지.
- 입장료를 묻고 확인 불가로 답하는 형식 예시. 높이·거리·소요시간 세 시험 질문의 정답을 직접 주는 예시가 아님. 응답을 보류할 상황과 출력 구조를 보여 주는 목적.
- 실제 출력의 거리 숫자·단위, O 원문의 거리 표현, 추가된 다른 주장, Evidence의 실제 뒷받침 여부 확인. 형식 준수와 내용 일치는 별도로 기록.
- 확인 불가. 주어진 발췌에 시간 표현이나 속도·휴식 조건이 없어, 거리만으로 시간을 만들면 제공 자료 밖의 가정이 필요. 원문 전체에 다른 정보가 있어도 이번 입력 범위와 구분.
- Few-shot은 추론 시 입력 문맥에 예시를 추가하고 가중치 유지. SFT는 지시·응답 예시를 학습에 사용해 가중치 조정. 예시가 보인다는 공통점보다 사용 단계의 차이에 주목.
- RAG에는 관련 자료의 검색 단계가 있고, 현재 활동에서는 사람이 고른 발췌를 직접 제공. 자료가 생성의 근거로 쓰인다는 연결을 배우지만 검색 시스템 구현은 없음.
- 반복 실패 유형과 실제 출력 기록, 확인용 질문·정답 자료, 학습 자료 정리·학습 환경·사람 검토·유지 비용의 확인. 한 번의 출력만으로 새 학습의 필요성이나 효과를 단정하지 않는 순서.
이번 주 용어 정리
Section titled “이번 주 용어 정리”| 용어 | 한 줄 뜻 |
|---|---|
| 프롬프트 | 모델에 제공하는 지시·자료·질문 등의 입력 |
| 프롬프트 엔지니어링 | 목적·자료·제약·출력 기준을 지시로 구성하고 실제 결과 확인 |
| Zero-shot | 답변 예시 없이 지시와 자료만 제공 |
| Few-shot | 소수의 입력·답변 예시를 현재 요청의 문맥에 포함 |
| 문맥학습 | 현재 입력의 지시·예시를 활용하는 현상. 이번 실행에서는 가중치 유지 |
| 고정 조건 | 비교에서 바꾸지 않고 같게 유지하는 모델·자료·질문·설정 |
| 미세조정 | 추가 학습 자료로 기존 모델의 가중치 조정 |
| RAG | 관련 자료 검색과 답 생성을 결합하는 방식 |
| SFT | 지시·응답 예시로 응답 방식을 학습하는 지도 미세조정 |
| RLHF | 사람 피드백을 활용해 선호하는 응답 방향을 학습에 반영 |
| 근거 대조 | 출력의 주장을 실제 원문 표현·숫자·단위와 비교 |
| 확인 불가 | 현재 제공된 자료로 해당 주장을 뒷받침할 수 없는 상태 |
이번 주 읽기
Section titled “이번 주 읽기”주교재 7장 Large Language Models와 10장 Post-training의 10.1. 자세한 서지 정보는 강의계획서 참고.
- 7장에서는 입력 지시·예시를 사용해 모델을 활용하는 부분을 찾아 zero-shot과 few-shot 구분
- 10.1에서는 지시·응답 자료로 모델을 맞춘다는 목적을 읽고, 현재 프롬프트의 예시 추가와 비교
- 수식·학습 알고리즘은 넘어가고 사용 방식과 바꾸는 대상에 초점. 이번 주의 구현 범위는 제공된 추론 셀과 보고서·발표
- 11주차에서 문맥학습과 근거 확인, 10주차에서 사전학습·미세조정·추론의 구분 복습
- 제주 공개 데이터 출처의 공식 안내를 열어 발췌 위치와 열람일 확인
실습 노트북
Section titled “실습 노트북”12주차에는 별도 실습 노트북 없음. 수업계획서의 미니 프로젝트 수행·보고서·발표 주차에 따른 구성.
- 11주차 제공 노트북을 먼저 끝까지 실행하고, 이 문서의 제공된 실행 셀을 마지막 새 코드 셀에 그대로 붙여 실행
- 코드 작성·새 TODO 없이 같은 일반 모델에서 세 질문의 A/B 출력 확인
- 보고서·발표 기록 양식은 실행 코드 없는 Markdown 파일. 얻은 실제 출력과 근거를 정리하는 용도
- 제출물은 보고서와 발표 자료. 12주차 노트북 파일을 새로 작성해 제출하는 요구 없음