
"한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬 받아 작성된 서평입니다."
ChatGPT가 세상에 나온 지 2년이 넘었다. 그리고 어느 순간부터 개발자 커뮤니티에서는 단순한 LLM 호출 코드 이야기보다 '에이전트'라는 단어가 훨씬 자주 들리기 시작했다. AI가 스스로 판단하고, 도구를 선택하고, 작업을 완수한다는 개념이 더 이상 SF가 아닌 실무 이야기가 된 것이다. 그런데 막상 에이전트를 만들어보려고 하면 막막하다. 랭체인 공식 문서는 영어에 버전 변경도 잦고, 유튜브 튜토리얼은 "일단 따라 하면 됩니다"에서 끝나버린다. 왜 이렇게 구성하는지, 실무에서 어떻게 확장하는지는 알 수가 없다. 그 막막함을 느끼던 차에 이 책을 만났다. 『AI 에이전트 마스터 클래스』 제목이 꽤 강하다. 과연 이 제목에 걸맞은 내용인지 직접 읽어봤다.
챗봇과 에이전트, 뭐가 다른가?
이 책이 제일 먼저 하는 일이 흥미롭다. 대부분의 AI 책은 "자, 코드부터 봅시다"로 시작하는데, 이 책은 챕터 1 전체를 개념 정리에 쓴다. 'AI에서 AI 에이전트로의 진화'라는 제목이 붙은 이 챕터에서 저자는 단순 LLM 서비스와 에이전트의 구조적 차이를 먼저 짚는다.

사실 이게 생각보다 중요한 이야기다. 나도 처음엔 에이전트가 그냥 '더 똑똑한 챗봇' 정도라고 생각했다. 그런데 아니다. 에이전트는 목표가 주어지면 스스로 계획을 세우고, 어떤 도구를 쓸지 결정하고, 실행한 결과를 보고 다음 행동을 수정한다. 이 반복 루프가 핵심이다. 단순 LLM 호출은 입력 → 출력의 단방향 구조지만, 에이전트는 관찰 → 추론 → 행동 → 다시 관찰의 순환 구조다. 이 차이를 명확히 이해하고 나니 왜 랭체인이 필요한지, 왜 ReAct 패턴이 나왔는지가 자연스럽게 연결됐다. 개념 정리를 건너뛰고 싶은 마음이 굴뚝같겠지만, 이 부분은 꼭 읽어두길 권한다. 나중에 막혔을 때 여기서 답을 찾게 될 가능성이 높다.
랭체인과 LCEL, 기초를 제대로 다지는 방법
파트 1은 랭체인 기초와 LCEL을 다룬다. 솔직히 말하면 처음엔 '이런 내용이 왜 이렇게 많아?' 싶었다. PromptTemplate, ChatPromptTemplate, RunnableParallel, RunnableLambda... 비슷해 보이는 개념들이 챕터마다 쏟아진다. 그런데 읽다 보니 이게 다 이유가 있다.
LCEL(LangChain Expression Language)은 랭체인의 핵심 문법이다. 파이프라인을 구성하는 방식인데, 처음 보면 직관적이지 않다. chain = prompt | model | parser 이런 식으로 파이프(|) 연산자로 컴포넌트를 연결한다. 처음엔 '이게 뭔 문법이야' 싶은데, 이게 익숙해지면 코드가 훨씬 명확해진다. 책은 이걸 단계적으로 설명한다. 단순한 단일 체인부터 시작해서 다중 입력 처리, KeyError 같은 흔한 실수, 그리고 RunnableParallel로 병렬 처리까지. 단순히 "이렇게 쓰면 됩니다"가 아니라 어디서 오류가 나는지, 왜 이 순서가 중요한지를 짚어주는 게 좋았다. 실무에서 겪을 법한 실수들을 미리 보여주는 셈이다.
챕터 5의 메모리 관리도 인상적이었다. ChatMessageHistory, MessagesPlaceholder, RunnableWithMessageHistory 같은 개념들을 순서대로 설명하면서 '사용자별 대화 관리'까지 다룬다. 멀티 유저 환경에서 각 사용자의 대화 이력을 어떻게 분리할 것인가, 이건 실제 서비스를 만들 때 꼭 마주치는 문제인데 명확하게 정리해준 책이 별로 없었다.
Streamlit으로 서비스까지, 파트 1의 마무리가 탄탄하다
챕터 6은 Streamlit을 다룬다. 랭체인 챗봇을 실제 웹 서비스로 만드는 과정이다. 텍스트 요소, 데이터와 차트, 레이아웃, 위젯, 세션 상태까지 Streamlit의 주요 기능을 하나씩 짚은 다음, 실제로 범용 챗봇 서비스를 만드는 실습으로 마무리한다.
솔직히 이 챕터는 Streamlit을 처음 쓰는 사람에게 특히 유용하다. 나름 써봤다고 생각했는데, 내비게이션 구성이나 세션 상태 관리는 이 책을 보고서야 제대로 이해했다. 특히 멀티 페이지 앱의 내비게이션 구조를 설명하는 부분은 실무에서 바로 쓸 수 있었다. 파트 1만 끝내도 "프롬프트 엔지니어링부터 웹 서비스 배포까지" 하나의 흐름이 완성된다는 점에서 구성이 좋다.
에이전트의 심장, ReAct 패턴
파트 2부터 본격적인 에이전트 이야기가 시작된다. 챕터 7이 핵심이다. 도구(Tool)를 만들고, 에이전트를 생성하고, ReAct 패턴으로 에이전트가 실제로 어떻게 추론하는지 관찰하는 과정을 담았다.

ReAct는 Reasoning + Acting의 합성어다. 에이전트가 단순히 답을 출력하는 게 아니라, "어떤 도구가 필요한가 → 도구를 실행한다 → 결과를 보고 다음 행동을 결정한다"는 사이클을 반복하는 방식이다. 이 과정을 책에서는 실제 로그를 보여주면서 설명한다. 에이전트가 어떤 생각을 하고, 어떤 도구를 선택했으며, 왜 다음 행동이 그렇게 나왔는지를 눈으로 확인할 수 있다. 이게 생각보다 인사이트가 많다. 에이전트가 틀린 도구를 선택하거나 루프에 빠지는 패턴을 이해하면, 프롬프트와 도구 설계를 어떻게 개선해야 하는지 감이 잡힌다.
Pydantic 스키마로 구조화된 입력을 처리하는 부분도 실용적이다. 도구에 여러 파라미터가 필요할 때, 단순 문자열이 아니라 타입이 명확한 구조체로 받는 방식인데, 복잡한 도구를 만들 때 필수적인 패턴이다.
RAG와 체크포인터, 에이전트를 '쓸만하게' 만드는 기술들
챕터 8의 RAG는 AI 에이전트에 '지식'을 주입하는 과정이다. 벡터 임베딩의 개념부터 시작해서 Chroma 벡터 DB 구축, 유사도 검색, MMR 검색까지 단계적으로 설명한다. 특히 메타데이터 필터링으로 특정 조건의 문서만 검색하는 방법, 그리고 Top-k 설정이 왜 중요한지를 다루는 부분이 실무적으로 유용했다. 단순히 "벡터 DB에 넣고 검색하면 됩니다"가 아니라, 검색 품질을 어떻게 높일 것인가의 관점에서 접근한다.

챕터 9는 체크포인터다. 랭그래프 기반의 대화 이력 관리인데, 여기서 중요한 질문을 던진다. '왜 체인이 아니라 그래프인가?' 이 질문의 답을 이해하면 랭그래프가 왜 등장했는지, 기존의 RunnableWithMessageHistory와 무엇이 다른지가 명확해진다.
InMemorySaver로 간단히 시작해서 SqliteSaver로 대화 이력을 영구 저장하는 방식까지, 운영 가능한 서비스를 만들기 위한 실질적인 내용이다. SummarizationMiddleware로 장기 대화를 요약해서 토큰을 관리하는 패턴도 인상적이었다. 대화가 길어질수록 컨텍스트 윈도우가 넘쳐 성능이 떨어지는 문제, 실무에서 정말 자주 만나는 고민인데 명확한 해결책을 제시해줬다.
MCP, AI 에이전트 생태계의 표준
챕터 10이 이 책의 가장 현대적인 부분이다. MCP(Model Context Protocol)는 AI 에이전트가 외부 시스템과 통신하는 표준 프로토콜이다. 솔직히 MCP를 이렇게 실습 중심으로 다룬 한국어 책은 아직 거의 없다. FastMCP로 직접 서버를 만들고, 외부 MCP 서버를 에이전트에 연결하는 과정까지 다룬다. '왜 MCP가 필요한가'라는 질문에 대한 답도 명확하다. 에이전트마다 도구 인터페이스를 따로 구현하면 관리가 지옥이 된다. MCP는 이걸 표준화해서 어떤 에이전트든 동일한 방식으로 외부 시스템을 호출할 수 있게 한다. USB 포트가 다양한 기기를 연결할 수 있는 것처럼. 이 비유가 와닿았다.
실전 프로젝트: 와인 소믈리에 챗봇
챕터 11은 이 책의 하이라이트다. '똑똑한 와인 소믈리에 챗봇 만들기'라는 실전 프로젝트로, 앞에서 배운 모든 것을 하나의 서비스로 엮는다. 서비스 기획과 아키텍처 설계부터 시작해서 Streamlit UI, 랭체인 에이전트 설계, 벡터 스토어 구축, MCP 서버를 통한 도구 확장까지 전 과정을 담았다. 특히 좋았던 건 '설계 분리'를 강조한다는 점이다. 에이전트 설정, UI, 데이터 처리 로직을 각각 어떻게 모듈화할지 보여주는데, 단순한 기능 구현을 넘어서 유지보수 가능한 코드 구조를 가르쳐주는 셈이다. RAG 서버와 파일 관리 서버를 MCP로 연결해서 에이전트의 능력을 확장하는 방식은 '아, 이게 실제로 운영 가능한 AI 서비스구나' 싶게 만든다.
누가 읽으면 좋을까
파이썬 기본 문법은 알고 있어야 한다. 클래스, 데코레이터, 비동기 처리 정도를 이해하고 있으면 훨씬 수월하게 따라갈 수 있다. LLM API를 한 번이라도 호출해본 경험이 있으면 더 좋다.
반대로, 이미 랭체인으로 간단한 챗봇을 만들어봤지만 '이걸 어떻게 실제 서비스로 만들지'에서 막혀 있는 개발자에게 특히 추천한다. RAG, 에이전트, MCP를 따로 공부해봤지만 이것들을 하나의 시스템으로 통합하는 방법을 모르는 사람에게도 딱이다.
결론
AI 관련 기술 서적은 유통기한이 짧다는 말이 있다. 모델 버전이 바뀌고 라이브러리가 업데이트되면 금방 낡아버린다. 그런데 이 책은 특정 API 사용법보다는 설계 패턴과 원리를 중심에 두어 기본에 충실한 책이다. ReAct 패턴, 체크포인터, RAG 아키텍처, MCP 표준화. 이것들은 다음 버전 랭체인이 나와도, 다른 LLM 프레임워크로 갈아타도 여전히 유효한 개념들이다.
책을 다 읽고 나서 든 생각은 '에이전트 개발의 전체 그림이 그려졌다'는 것이었다. 코드 한줄부터 시작해서 실제 운영 가능한 서비스까지, 그 로드맵이 이 책 한 권에 담겨 있다. AI 에이전트를 처음 제대로 만들어보려는 사람, 혹은 PoC 수준을 넘어서 실제 서비스로 발전시키고 싶은 개발자에게는 굉장히 가치있는 책이다.
오늘도 찾아주셔서 감사합니다. :)
'책으로 여는 세상' 카테고리의 다른 글
| 스트레스는 피해야 할 적인가, 활용해야 할 연료인가 (0) | 2026.02.22 |
|---|---|
| Gemini CLI, Cursor AI의 대체재로 충분한가? (0) | 2026.02.18 |
| 부의 미래를 여는 열쇠, AI와 비즈니스의 본질을 말하다 (0) | 2026.02.11 |
| Cursor AI 를 앞서가는 클로드 코드 톺아보기 (2) | 2026.02.02 |
| 혼자가 편하지만, 관계가 필요할 때 (2) | 2026.01.25 |