
LLM 은 방대한 텍스트로 학습한 크고 범용적인 언어 모델이다.
LLM 의 예측력을 좌우하는 핵심은 트랜스포머 신경망 아키텍쳐이다.
트랜스포머 구조
문장이나 코드 등 데이터의 연속체를 처리하며, 연속체에서 가장 가능성이 높은 다음 단어를 예측한다.
문장 내의 각 단어와 다른 모든 단어의 관계를 고려해 문맥을 파악한다.
트랜스포머 구조를 통해 LLM 은 문장이나 단락 등이 서로 연결되어 나타내는 의미를 포괄적으로 이해한다.
LLM 관련 소프트웨어 엔지니어의 주된 임무는, LLM을 학습하거나 파인튜닝 하는 것이 아니라, 이미 존재하는 LLM 을 활용해 애플리케이션에 기능을 구현하는데에 초점을 맞추는 것이다.
'러닝 랭체인' 책 또한 랭체인을 활용해 LLM을 원하는 대로 작동시키는 프롬프트 엔지니어링 방법을 다루는 도서이다. 랭체인을 본격적으로 다루기 전에, 몇가지 프롬프트 작성 기법을 알아보자면,
▶ 프롬프트 작성 기법
제로샷 프롬프트
- 아주 단순하게 LLM 에 원하는 작업을 지시하는 방법이다.
- 학습 데이터에 질문의 답변이 이미 있다면 효과가 매우 좋다.
- 다만 신뢰할 수 있는 시스템을 구축하려면 프롬프트와 응답을 반복해 개선해야 한다.
사고의 연쇄 (CoT : Chain Of Thought)
- 프롬프트 앞에 LLM이 답에 도달하는 과정을 설명하도록 지시문을 삽입한다. 이 기법은 다양한 작업의 성능을 높인다.
- ex ) "단계별로 생각하자"
- 위와 같이 지시를 추가하면 LLM이 질문에 답하기 위해 따른 단계들을 순차적으로 출력한다.
검색 증강 생성 (RAG : Retrieval Augmented Generation)
- RAG 는 관련 있는 텍스트 조각을 찾아내, 해당 텍스트 조각을 컨텍스트라고 칭하며 프롬프트에 포함한다.
툴 호출 (tool calling)
- 프롬프트에 미리 LLM 이 사용할 수 있는 외부함수 목록과 각 함수의 용도, 출력에서 함수를 사용하고자 할 때 답변을 추력하는 방법을 포함한다.
퓨샷 프롬프트 (few shot prompt)
- LLM에 질문과 정답의 예제를 몇 가지 제공하여, 추가적인 훈련이나 파인튜닝을 거치지 않고도 새로운 작업을 수행하는 방법을 익히게 한다. 파인튜닝을 하기 전에 보통은 항상 퓨샷 프롬프트를 시도해보길 권장한다.
- 정적 퓨샷 프롬프트 : 가장 기본적인 퓨샷 프롬프트 작성 방법은 모든 프롬프트에 퐘할 동일한 예제를 전달한다.
- 동적 퓨샷 프롬프트 : 다수의 예제로 구성된 데이터셋을 준비할 때, 현재 프롬프트와 가장 관련성이 높은 예제를 전달한다.
위 설명한 프롬프트 작성 기법은 서로 결합할 때 가장 효과적이며, 랭체인은 이 아이디어를 기반으로 설계되었다.
※ 랭체인
랭체인은 LLM 프롬프트 구성 요소와 툴을 제공하는 오픈소스 라이브러리로, ML 배경 지식이 없는 소프트웨어 엔진니어도 랭체인을 사용해 AI 챗봇부터, 책임감 있게 추론하고 행동하는 AI 에이전트까지 다양한 애플리케이션을 구축할 수 있다.
▷ 추상화
- 랭체인은 각 주요 프롬프트 작성 기법을 간단한 추상화로 제공해 프롬프트를 쉽게 결합할 수 있다.
- 추상화란, 파이썬과 자바스크립트의 함수와 클래스를 통해 기술을 쉽게 사용할 수 있도록 캡슐화한 것을 의미한다. 각 추상화는 결합이 간단해 더 큰 LLM 애플리케이션을로 결합할 수 있다.
▷ 주요 LLM 통합
- 랭체인은 주요 LLM 제공업체 (오픈 AI, 엔트로픽, 구글 등) 및 오픈소스와의 통합을 제공한다.
- 각 LLM 과의 통합은 인터페이스를 공유해 새로운 LLM이 발표될 때마다 쉽게 호출할 수 있고, 애플리케이션이 LLM 제공업체 한 곳에 종속되지 않도록 한다.
▷ 프롬프트 템플릿
- 랭체인은 프롬프트 템플릿 추상화를 제공해 프롬프트를 여러번 재사용할 수 있다.
- 프롬프트 템플릿을 사용하면 전달할 고정된 텍스트의 특정 위치에 플레이스 홀더를 추가할 수 있다.
▷ 기타 ..
- 랭체인은 툴 호출 기법에서 사용하기 편한 표준 인터페이스를 제공한다.
- 랭체인은 RAG 를 구현할 수 있도록 주요 임베딩 모델, 벡터 저장소, 벡터 인덱스와의 통합을 제공한다.
- 랭체인은 랭그래프 라이브러리로 사고의 연쇄(CoT)를 통한 추론과 툴 호출을 결합해 에이전트 추상화를 제공한다.
랭체인을 통해 다음과 같은 작업을 수행하는 LLM 애플리케이션을 구축할수 있다.
- 문제를 해결할 단계를 추론한다.
- 각 단계를 외부 툴 호출로 변환한다.
- 툴 호출의 결과를 받는다.
- 작업이 완료될 때까지 반복한다.
'LangChain' 카테고리의 다른 글
| [LangChain] 임베딩과 코사인 유사도의 이해 (0) | 2026.04.28 |
|---|---|
| [LangChain] 랭체인의 LCEL 구성 컴파일 (0) | 2026.04.27 |
| [LangChain] LLM 에서 특정 형식의 답변 지정 (0) | 2026.04.27 |