본문 바로가기

프로그래밍/AI

[Agent] In-Context Learning (feat. prompt)

이 글은 AI의 중요한 학습 방법 중 하나인 In-Context Learning의 정의, 특징, 그리고 이를 활용하는 프롬프트 엔지니어링의 기초를 쉽게 설명합니다. 두 개념의 이해를 통해 AI agent의 작동 원리를 이해할 수 있습니다. 

 

In-Context Learning
  • 정의 :
    • 모델에게 새로운 작업을 가르치기 위해,
    • 프롬프트(입력 문맥) 안에 해당 작업의 예시(시범)을 자연어 형태로 직접 제공하는 방식.
  • 특징
    • 추가 훈련 불필요 : 별도로 모델의 가중치를 조정하는 복잡하고 시간이 많이 걸리는 파인튜닝(FineTuning) 과정 불필요
    • 추론 시 학습 : 모델이 응답을 생성하는 바로 그 순간(추론 시간)에, 프롬프트 속의 소수의 예시를 보고 새로운 작업을 학습
  • 장단점
    • 장점 : 
      • 파인튜닝이 필요없어 시간과 자원을 크게 절약(효율성
      • LLM(거대 언어 모델)을 특정 작업에 빠르게 적용(적응성
    • 단점 : 
      • 프롬프트에 제공할 수 있는 문맥의 길이에 제약이 있음. 
      • 매우 복잡한 작업의 경우 여전히 전통적인 기계 학습 훈련 과정이 필요
Prompt Engineering
  • 정의 : 입력(프롬프트)를 설계하고 다듬는 전문적인 과정
  • 핵심 요소 : 프롬프트는 AI에게 특정 작업을 수행하도록 안내하는 지침 또는 입력
    • 지침(Instructions) : AI 에게무엇을 해야 하는지 알려주는 명확하고 직접적인 명령 
    • 문맥(Context) : AI가 지침을 이해하는 데 필요한 배경 정보, 데이터, 또는 관련 세부 정보 
    • 입력 데이터(Input Data) : 모델이 실제로 처리할 데이터 
    • 출력 데이터(Output Indicator) : 모델이 응답을 시작할 위치를 명확히 표시 
  • 중요성 : 프롬프트 엔지니어링은 LLM의 성능을 극대화하는 핵심 기술입니다. 
    • 효과 및 정확도 증진 : LLM이 더 정확하고 효과적으로 작동하도록 직접적으로 영향을 줌. 
    • 관련성 정보 : 문맥에 딱 맞고 정밀하게 조정된 응답을 생성 가능
    • 지속적인 파인튜닝 불필요: In-context Learning과 결합하여 모델이 문맥 내에서 적응하고 학습하게 함. 
Application in AI agent
  • 배경 : 프롬프트 엔지니어링은 단순한 질의응답을 넘어, 자율적으로 행동하는 AI Agent를 구축하는데 필수적이다. 
  • 응용 예시
    • 역할 및 정체성 정의 : 시스템 프롬프트를 사용하여 에이전트의 역할과 행동 규칙을 명확히 설정
    • 고급 추론 및 계획 : CoT(Chain-of-Thoght) 같은 기법을 프롬프트로 강제하여, 에이전트가 단계적 사고 과정을 수행하도록 함. 
    • 도구 사용 오케스트레이션 : 프롬프트가 에이전트에게 사용 가능한 외부 도구(Tool) 목록과 언제 사용해야 하는지를 안내.
  • Agent의 특성 및 역할 (System Prompt) 
    • Role Definition : 에이전트의 정체성, 임무, 전문 분야, 그리고 전반적인 태도를 설정 
      • 정의 : 에이전트가 '누구'이며, '무엇을 해야하는지'에 대한 명확한 지시 -> 시스템 프롬프트
      • 목표 설정 : 에이전트가 달성해야 할 궁극적인 목표를 지정
    • Constraints/Guardrails : 제약/안전 장치는 에이전트가 '하지 말아야 할 것' 또는 '반드시 지켜야 할 규칙'을 명시
      • 금지 사항 : 에이전트가 절대로 수행하거나 말해서는 안 되는 행동을 정의 
      • 기능적 제한 : 에이전트가 자신의 역할 범위를 넘어서지 않도록 제한 
      • 보안 강화 : 프롬프트 주입(Prompt injection) 등 악의적인 입력에 대처하는 방법을 설정

-------------------------------------------------------------------------------------------

참고 : IBM RAG and Agentic AI - Develop Generative AI Applications: Get Started (Coursera) 

--------------------------------------------------------------------------------------------

'프로그래밍 > AI' 카테고리의 다른 글

[Agent] ReAct (Agent Prompt format)  (0) 2025.12.21
[Agent] LangChain for AI agent (Intro)  (0) 2025.12.16
[DB] MongoDB Atlas  (0) 2025.12.13
[DB] SQL vs NoSQL (feat.MongoDB)  (1) 2025.12.13
[자료구조] 파이썬 객체지향과 모듈  (0) 2025.08.16