생성형 AI의 부상 언어 모델에서 에이전트로
서민준 님 ← 내 서재
제 1 장 난이도 입문 예상 35분

생성형 AI의 부상

언어 모델에서 에이전트로

실험용 에이전트와 프로덕션 레벨 에이전트 사이에는 상당한 차이가 있다. 랭체인의 '에이전트 현황 보고서'에 따르면, 에이전트를 사용하는 기업의 절반 이상인 51%가 성능 품질을 가장 큰 관심사로 여기고 있으나, 정작 제대로 된 평가 시스템을 갖춘 기업은 39.8%에 불과했다.

이 책은 두 가지 측면에서 이러한 격차를 해소한다. 첫째, 랭체인과 랭스미스를 활용하여 강력한 테스트 및 모니터링 시스템을 구축하는 방법을 다룬다. 둘째, 랭그래프

개념 정의
그래프 기반 LLM 오케스트레이션 라이브러리. 노드와 엣지로 워크플로를 구성하며, 상태 관리와 조건부 분기, 휴먼인더루프를 1급 시민으로 다룬다.LangGraph의 상태 관리 기능을 활용하여 복잡하지만 안정적인 다중 에이전트 시스템을 만드는 방법을 설명한다.

이번 장에서는 LLM이 어떻게 에이전틱 AI

개념 정의
최소한의 인간 개입으로 독립적으로 의사결정을 내리고 행동하는 자율 시스템. LLM에 도구 사용·메모리·계획 능력을 결합해 능동적 행동을 가능하게 한다.Agentic AI 시스템의 기반으로 발전해왔는지를 탐구한다. 그리고 랭체인과 랭그래프 같은 프레임워크가 이러한 LLM을 어떻게 프로덕션 레벨 애플리케이션으로 진화시키는지 살펴본다.

이 장에서 다루는 핵심 내용
  • 현대 LLM 기술 동향
  • 단순 모델에서 에이전틱 애플리케이션으로의 진화 과정
  • 랭체인 소개와 생태계 구성

현대 LLM 현황

인공지능(AI)은 오랫동안 연구 대상이었지만, 최근 생성형 AI의 급격한 발전으로 이제는 주류 기술로 자리잡았다. 기존 AI가 데이터 분류와 예측에 집중했다면, 생성형 AI는 방대한 학습 데이터를 바탕으로 텍스트, 이미지, 코드 등 완전히 새로운 콘텐츠를 생산해낸다.

2017년 트랜스포머 아키텍처

개념 정의
셀프 어텐션 메커니즘을 도입해 시퀀스의 장거리 의존성을 효율적으로 학습하는 신경망 구조. GPT·BERT·LLaMA 등 현대 LLM의 공통 토대다.Transformer Architecture (2017)의 등장은 이 분야의 전환점이었다. 이 아키텍처는 모델이 텍스트의 맥락과 관계를 훨씬 더 깊이 이해하면서 처리할 수 있게 했다. 연구자들이 매개변수를 수백만에서 수십억 개로 늘려가자 놀라운 현상이 나타났다. 더 큰 모델은 단순히 조금씩 나아지는 수준이 아니라, 개발자가 의도하지 않았던 전혀 새로운 능력들을 스스로 갖추게 되었다.

UPDATE · 2026.04 · 웹 연계 콘텐츠 최신 동향: 2025년 말 DeepSeek R1·V3 출시 이후 오픈 웨이트 모델의 추론 성능이 OpenAI o1 수준에 근접했습니다. 본문 표 1.1의 마지막 행 이후 발전 사항은 웹 정오표에서 확인하세요.

언어 모델 발전 연대표

기술 환경은 라마(Llama)와 미스트랄(Mistral) 같은 모델이 주도한 오픈소스 혁명으로 다시 변화했다. 다음 표는 통계 모델에서 최신 추론 모델까지 주요 발전을 요약한 것이다.

연도주요 발전핵심 특징
1990sIBM 정렬 모델통계 기반 기계 번역(SMT)
2012딥러닝 부상신경망이 통계 모델을 능가
2017트랜스포머 아키텍처셀프 어텐션 메커니즘 도입, NLP 분야의 혁명
2018BERT · GPT-1트랜스포머 기반 언어 이해와 생성
2020GPT-3API 기반 접근, 최고 수준 성능
2022ChatGPTLLM의 대중화 시작
2024OpenAI o1강화된 추론 능력
2025DeepSeek R1오픈 웨이트 접근 방식과 대규모 AI 모델
표 1.1 언어 모델의 주요 발전 연대표
버전 차이 안내

이 책 초판은 랭체인 0.1.x 기준이었으나, 2판은 0.3.x를 기준으로 한다. 메모리 메커니즘이 랭그래프로 분리되었고 에이전트 생성 권장 경로가 변경되었다. 0.1 → 0.3 마이그레이션 가이드는 GitHub 저장소에서 확인할 수 있다.

기존 LLM의 한계

LLM은 고급 언어 기능을 갖추고 있지만 실무 애플리케이션에서 몇 가지 근본적인 한계에 직면한다. 가장 중요한 한계 다섯 가지를 짚어본다.

오류 가능 포인트

LLM이 "확신 있게" 답을 내놓더라도 그 출력이 사실인지 검증하는 절차는 별개의 시스템이 담당해야 한다. 환각(hallucination)은 모델 크기로 사라지지 않는다. 4장에서 다룰 RAG와 8장의 평가 프레임워크가 이 문제를 직접 다룬다.

랭체인 소개

랭체인은 오픈소스 프레임워크로, 2022년 해리슨 체이스가 처음 선보였다. 다음은 랭체인 0.3.x에서 가장 단순한 LLM 호출 형태다. 이후 장에서 이 코드를 점진적으로 확장한다.

python
예제 1.1 · 기초
123456789
# 랭체인 0.3.x: 기본 채팅 모델 호출
from langchain_openai import ChatOpenAI
from langchain_core.messages import HumanMessage

llm = ChatOpenAI(model="gpt-4o-mini", temperature=0.2)

response = llm.invoke([
    HumanMessage(content="랭체인을 한 문장으로 설명해줘")
])
print(response.content)
이 코드, 줄별로 자세히 보기
  1. langchain_openai 패키지에서 ChatOpenAI 클래스를 가져온다. 0.3부터는 공급자별 통합이 별도 패키지로 분리되었다.
  2. HumanMessage는 사용자 메시지를 표현하는 표준 메시지 타입이다. SystemMessage·AIMessage도 같은 모듈에 있다.
  3. temperature=0.2는 결정성에 가까운 출력을 유도한다. 코드 생성·정보 추출은 0.0~0.3, 창작은 0.7+ 가 일반적이다.
  4. invoke는 단일 입력에 단일 출력을 반환하는 동기 호출. 배치는 batch, 스트리밍은 stream을 쓴다.
  5. 응답 객체의 .content에 실제 텍스트가 담긴다. 메타데이터는 .response_metadata로 조회한다.

위 호출 한 번으로는 단일 LLM에 메시지를 보내고 받는 것 외에 할 수 있는 일이 없다. 실제 애플리케이션은 프롬프트 템플릿, 출력 파서, 메모리, 도구를 조합해 워크플로를 구성한다. 다음 코드는 LCEL(LangChain Expression Language)로 이를 표현한 예다.

python
예제 1.2 · 중급 · LCEL 체인
12345678910111213
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser
from langchain_openai import ChatOpenAI

prompt = ChatPromptTemplate.from_messages([
    ("system", "너는 한국어로 답변하는 기술 편집자다."),
    ("user", "{topic}을 200자 이내로 요약해줘"),
])

# LCEL 파이프 연산자로 체인 구성
chain = prompt | ChatOpenAI(model="gpt-4o-mini") | StrOutputParser()

print(chain.invoke({"topic": "검색 증강 생성(RAG)"}))
LCEL 파이프(|)는 무엇을 하는가?

파이프 연산자는 Runnable 인터페이스를 따르는 객체들을 합성해 하나의 체인으로 묶는다. 좌변의 출력이 우변의 입력으로 흐른다. 따라서 위 체인은 딕셔너리 → 프롬프트 메시지 → LLM 응답 → 문자열 순으로 흐른다. 이 합성성 덕분에 chain.stream()·chain.batch()·chain.ainvoke()가 모두 자동으로 동작한다.

실습 팁

API 키 없이도 위 코드를 실행해보고 싶다면 langchain-ollama로 로컬 모델을 쓰는 방법이 있다. 2장에서 Ollama 설정을 자세히 다룬다. temperaturemax_tokens를 조정해 출력 차이를 직접 확인해보자.

랭체인의 에이전트 실행 흐름

랭체인 에이전트가 도구를 호출하는 과정을 단계별로 따라가보자. 아래 다이어그램의 각 단계를 클릭하면 상세 설명이 펼쳐진다.

에이전트 도구 호출 워크플로
1
사용자 입력 수신
자연어 질의가 에이전트에 전달된다
input
예시: "지난주 서울 평균 기온은?"
이 단계에서 에이전트는 입력을 HumanMessage로 래핑하고, 시스템 프롬프트와 결합해 LLM이 다음에 무엇을 할지 결정할 수 있도록 컨텍스트를 구성한다.
2
LLM이 도구 선택
사용 가능한 도구 목록 중 적절한 것을 골라 호출 명령을 생성
reasoning
LLM은 tool_calls 배열을 출력한다. 각 항목에 namearguments가 들어 있다. 예: {"name": "weather", "arguments": {"city": "Seoul", "from": "2026-04-23"}}
3
ToolNode 실행
랭그래프가 실제 함수를 실행하고 결과를 반환
action
중요: 이 시점에서 외부 부작용(API 호출·DB 조회·파일 쓰기)이 발생한다. 따라서 권한·재시도·타임아웃을 이 노드에서 관리한다. 9장에서 프로덕션 패턴을 다룬다.
4
결과 합성 후 응답
도구 결과 + 원래 질의를 LLM이 최종 답변으로 종합
output
이 단계에서 에이전트는 다시 LLM을 호출해 도구 결과를 자연어로 풀어낸다. 도구 호출이 더 필요하다고 판단되면 2단계로 되돌아가 루프를 반복한다. 이 루프 종료 조건이 에이전트 신뢰성의 핵심이다.
그림 1.2 ReACT 패턴의 단순화된 4단계 — 클릭하면 단계별 설명이 펼쳐집니다
참고

실제 LangGraph 구현에서는 위 4단계가 START → agent → tools → agent → END 형태의 그래프로 표현된다. should_continue 같은 조건부 엣지가 루프 종료를 결정한다. 5장에서 이 그래프를 직접 작성한다.

역자주

파라미터와 하이퍼파라미터의 차이. 파라미터는 모델이 학습 과정에서 스스로 조정하는 가중치·편향이고, 하이퍼파라미터는 모델 구조와 학습 과정을 사람이 설정하는 외부 변수(학습률·배치 크기 등)다. 본문의 "매개변수"는 대부분 전자(파라미터)를 가리킨다.

Chapter 1 · Summary

이 장을 한 페이지로

  • 현대 LLM은 트랜스포머 이후 빠르게 진화해, 2022년 ChatGPT를 기점으로 대중화되었고 2025년 추론 모델(o1·DeepSeek R1)로 또 한 번 도약했다.
  • 원시 LLM은 진정한 의미 이해·추론·도구 사용에 한계가 있어, 그대로는 프로덕션에 쓰기 어렵다.
  • 이 격차를 메우기 위해 랭체인이 등장했고, 모듈식 컴포넌트(모델·프롬프트·체인·도구)와 LCEL로 합성성을 제공한다.
  • 0.3 버전부터 메모리·에이전트의 권장 경로는 랭그래프로 이동했다. 랭체인은 모델·도구·체인을 담당하고, 랭그래프는 상태와 워크플로를, 랭스미스는 관찰을 담당한다.
  • 다음 장에서는 개발 환경을 설정하고 첫 번째 LLM 호출과 LCEL 체인을 직접 만들어본다.
실습 체크리스트
0 / 5 완료
파이썬 3.10 이상 설치 확인 (python --version)
가상환경 생성 후 langchain langchain-openai 설치
OpenAI API 키 발급 후 .env 파일에 등록
예제 1.1 직접 실행해 응답 받기
예제 1.2의 topic을 다른 주제로 바꿔 실행해보기
Quiz · 자기 점검
랭체인 0.3에서 정교한 에이전트를 구축할 때 권장되는 도구는 무엇인가?
정답! 랭체인 0.3부터 정교한 에이전트는 LangGraph로 구축하는 것이 권장된다. AgentExecutor는 여전히 존재하지만, 상태 영속성·휴먼인더루프·조건부 분기 같은 프로덕션 기능은 LangGraph가 더 잘 다룬다.

다음 장에서는 개발 환경을 설정하고 첫 번째 LLM 호출을 직접 작성한다. 클라우드 모델과 로컬 모델을 모두 다루며, 멀티모달 입력까지 확장한다.

ESC
검색어를 입력하면 본문·코드·용어집을 함께 찾습니다
코드가 복사되었습니다