개념 잡동사니

인컨텍스트 러닝(In-Context Learning, ICL)

wikys 2026. 4. 22. 10:27

잘난 척을 위한 한 줄 요약

인컨텍스트 러닝은 모델의 파라미터를 다시 학습시키지 않고도, 프롬프트 안에 예시나 규칙을 같이 넣어 주면 그 자리에서 바로 새 작업 방식에 적응하게 만드는 능력이다.

 

인컨텍스트 러닝, AI는 왜 학습을 다시 안 해도 프롬프트만 보고 새 일을 할 수 있을까

먼저, 인컨텍스트 러닝이 뭔지부터

인컨텍스트 러닝(In-Context Learning, ICL)은 대형 언어모델이 추가 파라미터 업데이트 없이, 즉 별도의 재학습이나 파인튜닝 없이도, 프롬프트 안에 들어 있는 지시문·예시·패턴을 보고 바로 작업 방식을 맞추는 현상을 말한다. GPT-3 논문은 이 능력을 zero-shot, one-shot, few-shot 설정으로 보여 주었고, 이후 ICL은 대형 언어모델의 대표적 특성으로 자리 잡았다. 최근 서베이들도 ICL을 “문맥에 포함된 시연 예시를 바탕으로 다운스트림 작업에 적응하는 방식”으로 정의한다.

 

쉽게 말하면 이런 느낌이다.

  • 모델을 다시 훈련시키지 않는다
  • 대신 프롬프트 안에 예시를 몇 개 넣어 준다
  • 그러면 모델이 “아, 지금은 이런 규칙으로 답하면 되는구나” 하고 그 자리에서 맞춘다

 

즉, 인컨텍스트 러닝은 모델 내부를 바꾸는 학습이라기보다, 문맥 안에서 작업 규칙을 읽어내는 적응에 더 가깝다. Google의 머신러닝 자료도 프롬프트 엔지니어링은 모델 파라미터를 업데이트하지 않고, 프롬프트의 문맥을 통해 원하는 출력 방식을 유도한다고 설명한다.

 


왜 이게 그렇게 신기한 걸까?

원래 머신러닝에서는 새 작업을 잘하게 만들려면 보통 파인튜닝처럼 모델 가중치를 직접 바꾸는 과정이 필요했다. 그런데 ICL은 그걸 하지 않고도, 프롬프트만 잘 짜면 번역, 분류, 요약, 형식 변환 같은 작업을 꽤 잘 수행한다는 점이 놀라웠다. GPT-3 논문이 크게 주목받은 이유도 바로 이 few-shot 성능 때문이었다.

 

예를 들어 이런 식이다.

예시 프롬프트 느낌

  • 영어: apple → 한국어: 사과
  • 영어: car → 한국어: 자동차
  • 영어: river → 한국어: ?

 

이렇게 몇 개만 보여 줘도 모델은 “지금은 영어를 한국어로 번역하는 작업이구나”를 문맥에서 읽어내고 다음 답을 이어 간다. Google 자료도 이런 few-shot 예시를 프롬프트 안에 넣어 원하는 출력을 유도하는 방식을 설명한다.

 

즉, 인컨텍스트 러닝은 “모델을 다시 가르치는 것”이 아니라, “지금 이 순간 문제 푸는 방식만 문맥으로 알려 주는 것”이라고 보면 감이 맞다.

 


zero-shot, one-shot, few-shot은 어떻게 다른가

이 표현들도 인컨텍스트 러닝과 거의 세트처럼 나온다. GPT-3 논문이 이 구분을 널리 퍼뜨린 대표 사례다.

 

zero-shot

예시 없이 지시만 주는 방식이다.

  • “이 문장을 긍정/부정으로 분류해 줘.”

모델은 기존에 배운 일반 능력만으로 바로 대응한다.

 

one-shot

예시를 딱 1개만 보여 준다.

  • 예시 1개
  • 그다음 실제 문제

즉, 문맥 속 힌트를 아주 조금 주는 방식이다.

 

few-shot

예시를 몇 개 보여 준다.

  • 예시 3개, 5개, 10개 등
  • 그다음 실제 문제

보통 사람들이 인컨텍스트 러닝이라고 할 때 가장 먼저 떠올리는 건 이 few-shot 형태다. GPT-3 논문 제목 자체가 “Few-Shot Learners”다.

 

아주 짧게 정리하면 이렇다.

  • zero-shot: 설명만
  • one-shot: 예시 1개
  • few-shot: 예시 몇 개

 


인컨텍스트 러닝은 실제로 어떻게 작동할까?

이건 아직 연구가 완전히 끝난 주제는 아니다. 그래서 “정확히 내부에서 이렇게 일어난다”라고 단정하기보다는, 지금까지의 대표 해석을 이해하는 편이 좋다. 최근 서베이들은 ICL의 메커니즘이 여전히 완전히 명확하지 않다고 정리한다.

그래도 큰 감각은 이렇다.

 

1. 모델은 프롬프트 안의 패턴을 읽는다

예시 몇 개를 주면, 모델은 단순히 텍스트를 읽는 게 아니라
“입력 → 출력”의 형식을 함께 본다. 예를 들어 분류 문제라면 레이블 형식, 번역 문제라면 대응 형식, 요약 문제라면 요약 스타일을 읽는다.

 

2. 그 패턴을 현재 입력에 적용한다

마지막 입력이 들어오면, 앞의 예시에서 본 형식을 따라 다음 출력을 이어 간다. Google 자료도 예시를 넣으면 모델이 원하는 결과 형식을 더 잘 따르도록 유도된다고 설명한다.

 

3. 하지만 파라미터 자체는 바뀌지 않는다

이게 중요하다.
ICL은 문맥 속에서 적응하는 것이지, 모델 자체를 재학습시키는 것은 아니다. 구글 머신러닝 자료는 프롬프트 엔지니어링이 파라미터를 업데이트하지 않는다고 명시한다.

 

즉, 인컨텍스트 러닝은 외부 파일에 새로 저장되는 학습이 아니라, 현재 대화창 안에서만 작동하는 임시 적응에 더 가깝다.

 


왜 “학습”이라는 단어가 붙을까?

여기서 많은 사람이 헷갈린다.
파라미터를 안 바꾸는데 왜 learning이라고 부를까?

 

그 이유는 모델이 문맥 안의 예시를 보고 행동을 바꾸기 때문이다. 즉, 전통적인 의미의 훈련(training)은 아니지만, 입력된 예시를 활용해 현재 작업 성능이 달라지므로 “문맥 내 학습”이라고 부른다. 다만 최근 연구들은 이게 정말 새로운 규칙을 배우는 것인지, 아니면 사전학습 때 이미 익힌 패턴을 문맥에서 재인식(skill recognition) 하는 것인지에 대해 활발히 논의하고 있다. 2024년 서베이는 ICL을 “skill recognition”과 “skill learning” 관점에서 나눠 설명한다.

 

즉, 인컨텍스트 러닝은 학교에서 새 과목을 정식 수강하는 것보다는, 시험 직전에 예제 몇 개를 보고 문제 푸는 규칙을 잡는 것에 더 비슷하다.

 


프롬프트 엔지니어링이랑은 어떤 관계일까?

거의 붙어 다니는 개념이다.

프롬프트 엔지니어링은 모델이 더 잘 답하게 프롬프트를 설계하는 방법이고, 인컨텍스트 러닝은 그 안에서 예시를 활용해 모델 행동을 조정하는 대표 기법이다. Google 문서도 ICL을 프롬프트 안에 예시를 넣어 원하는 결과를 보여 주는 방식으로 설명한다.

 

즉,

  • 프롬프트 엔지니어링 = 큰 범주의 설계 기술
  • 인컨텍스트 러닝 = 그중 예시를 넣어 적응시키는 방식

이라고 보면 된다.

 


인컨텍스트 러닝의 장점은 뭘까?

1. 빠르다

모델을 다시 학습시키지 않으니, 새로운 작업을 시도할 때 훨씬 빠르다.
예시 몇 개만 넣으면 바로 실험할 수 있다. GPT-3 논문이 많은 작업을 zero/few-shot으로 평가한 것도 이 유연성 때문이었다.

 

2. 비용이 덜 든다

파인튜닝처럼 별도의 학습 인프라가 항상 필요한 건 아니다.
작은 실험이나 프로토타입 단계에서는 아주 강력하다.

 

3. 작업 전환이 쉽다

번역하다가 분류하고, 다시 요약하게 만드는 식으로 프롬프트만 바꿔도 역할을 바꿀 수 있다. 이 유연성이 LLM 시대의 핵심 매력 중 하나다.

 


하지만 한계도 분명하다

1. 예시 선택에 민감하다

어떤 예시를 넣느냐에 따라 성능이 꽤 달라질 수 있다. “What Makes Good In-Context Examples for GPT-3” 같은 연구도 바로 이 점을 다룬다. 즉, few-shot 예시는 아무거나 넣는다고 항상 잘 되는 게 아니다.

 

2. 프롬프트 길이 한계가 있다

예시를 많이 넣을수록 문맥 창(context window)을 더 먹고, 추론 비용도 올라간다. Google의 2025 문서도 ICL이 프롬프트를 길게 만들어 추론 시간을 늘릴 수 있다고 언급한다.

 

3. 진짜로 새 지식을 배운 건 아니다

세션이 끝나면 그 적응은 사라진다.
즉, 모델이 영구적으로 업데이트된 것은 아니다. Google의 설명처럼 파라미터 업데이트가 없기 때문이다.

 

4. 내부 원리는 아직 완전히 풀리지 않았다

ICL이 정확히 무엇을 하는지에 대해서는 아직도 연구가 많다. 최근 서베이 제목 자체가 “The Mystery of In-Context Learning”일 정도다.

 


예시를 잘 고르는 게 왜 중요할까?

이건 실전에서 정말 크다.

좋은 예시는 보통 이런 특징을 가진다.

  • 작업 형식이 분명하다
  • 입력과 출력 패턴이 일관된다
  • 너무 길지 않다
  • 실제 질문과 비슷한 유형이다

 

예시가 너무 들쭉날쭉하면 모델은 규칙을 읽기 어렵고, 반대로 너무 빡빡하면 일반화가 안 될 수 있다. 관련 연구와 서베이도 “demonstration selection”과 “retrieved demonstrations”를 중요한 연구 주제로 다룬다.

 

즉, 인컨텍스트 러닝은 예시를 주면 알아서 다 된다가 아니라, 어떤 예시를 어떤 순서로 넣느냐가 성능에 큰 영향을 준다는 점까지 포함한 기술이다.

 


파인튜닝과는 뭐가 다를까?

이것도 꼭 같이 알아야 한다.

 

인컨텍스트 러닝

  • 모델 파라미터는 그대로
  • 프롬프트 안 예시로만 적응
  • 빠르고 가볍지만 임시적

 

파인튜닝

  • 모델 파라미터를 실제로 업데이트
  • 학습 데이터와 학습 과정이 필요
  • 더 지속적이지만 비용과 시간이 든다

Google의 자료도 파인튜닝은 파라미터를 업데이트하고, 프롬프트 기반 방식은 그렇지 않다고 설명한다.

 

즉, 인컨텍스트 러닝은 “지금 이 대화 안에서만 적응”이고, 파인튜닝은 “모델 자체를 다시 훈련”이라고 보면 된다.

 


결국 핵심은 이것이다

인컨텍스트 러닝은 대형 언어모델이 추가 학습 없이도, 프롬프트 안에 포함된 예시와 규칙을 읽고 그 자리에서 새로운 작업 방식에 적응하는 능력이다. GPT-3가 이 특성을 대중적으로 보여 줬고, 이후 ICL은 프롬프트 엔지니어링과 LLM 활용의 핵심 개념이 됐다. 다만 이것은 파라미터를 바꾸는 진짜 재학습이라기보다, 문맥을 활용한 임시 적응에 더 가깝고, 예시 선택과 문맥 길이에 매우 민감하다.

 

아주 짧게 정리하면 이렇게 기억하면 된다.

인컨텍스트 러닝은 AI를 다시 가르치는 게 아니라, 프롬프트 안에서 “이 문제는 이렇게 풀어”라고 예시를 보여 주고 그 자리에서 바로 따라 하게 만드는 방식이다.

 


참고 자료

 

Language Models are Few-Shot Learners

Recent work has demonstrated substantial gains on many NLP tasks and benchmarks by pre-training on a large corpus of text followed by fine-tuning on a specific task. While typically task-agnostic in architecture, this method still requires task-specific fi

arxiv.org

 

A Survey on In-context Learning

With the increasing capabilities of large language models (LLMs), in-context learning (ICL) has emerged as a new paradigm for natural language processing (NLP), where LLMs make predictions based on contexts augmented with a few examples. It has been a sign

arxiv.org

 

A Survey to Recent Progress Towards Understanding In-Context Learning

In-Context Learning (ICL) empowers Large Language Models (LLMs) with the ability to learn from a few examples provided in the prompt, enabling downstream generalization without the requirement for gradient updates. Despite encouragingly empirical success,

arxiv.org

 

Gemini Nano 프롬프트 설계  |  ML Kit  |  Google for Developers

Gemini Nano 프롬프트 설계 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 프롬프트 API를 사용할 때는 프롬프트를 맞춤설정하고 최적의 결과를 얻기 위해 사용

developers.google.com

 

LLM: 미세 조정, 정제, 프롬프트 엔지니어링  |  Machine Learning  |  Google for Developers

정제, 미세 조정, 프롬프트 엔지니어링과 같은 기술을 사용하여 특정 사용 사례에 맞게 대규모 언어 모델 (LLM)을 맞춤설정하는 방법을 알아보세요.

developers.google.com

 

What Makes Good In-Context Examples for GPT-3?

GPT- Brown et al. (2020) has attracted lots of attention due to its superior performance across a wide range of NLP tasks, especially with its powerful and versatile in-context few-shot learning ability. Despite its su…

ar5iv.labs.arxiv.org

 


참고 영상

 

- YouTube

 

www.youtube.com

 

- YouTube

 

www.youtube.com

 

- YouTube

 

www.youtube.com

 

- YouTube

 

www.youtube.com

 

반응형

'개념 잡동사니' 카테고리의 다른 글

선행 PBR  (0) 2026.04.24
테스트 타임 스케일링(test-time scaling)  (0) 2026.04.23
어텐션 메커니즘(attention mechanism)  (0) 2026.04.21
워드 임베딩(word embedding)  (0) 2026.04.20
N-Gram  (0) 2026.04.19